前端开发

Yahoo!团队实践分享:网站性能优化的34条黄金守则

自古美人都是妖i 提交于 2020-03-02 06:13:36
Yahoo! 的 Exceptional Performance 团队为改善 Web 性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。 原文地址: http://developer.yahoo.com/performance/rules.html Excetional Performance 团队总结出了一系列可以提高网站速度的方法。可以分为 7 大类 34 条。 包括 内容 、 服务器 、 CSS 、 JavaScript 、 Cookie 、 图片 、 移动应用 ,七部分。 其中内容部分一共十条建议: 一、内容部分 尽量减少 HTTP 请求 减少 DNS 查找 避免跳转 缓存 Ajxa 推迟加载 提前加载 减少 DOM 元素数量 用域名划分页面内容 使 frame 数量最少 避免 404 错误 1 、尽量减少 HTTP 请求次数 终端用户响应的时间中,有 80% 用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、 Flash 等。通过减少页面中的元素可以减少 HTTP 请求的次数。这是提高网页速度的关键步骤。 减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少 HTTP

Vue 技术栈 快速学习 前端面试

大憨熊 提交于 2020-03-01 20:27:06
起因 一直想着要写一定深度的文章,然后觉得学习Vue是一个好的过程,本文将带你走进Vue的世界,支持国内框架! 如果看完本文还不懂Vue是什么的小伙伴,可以随便打博主!(斜眼笑),前方高能,本文可能篇幅比较长,建议收藏在闲暇时间学习,也欢迎伙伴们讨论留言学习! Vue -渐进式JavaScript框架 介绍 vue 中文网 vue github Vue.js 是一套构建用户界面(UI)的渐进式JavaScript框架 库和框架的区别 提问!你真的懂 前端框架(framework ) 与 库(library) 怎么区别吗? Library 库,本质上是一些函数的集合。每次调用函数,实现一个特定的功能,接着把控制权交给使用者 代表:jQuery jQuery这个库的核心:DOM操作,即:封装DOM操作,简化DOM操作 Framework 框架,是一套完整的解决方案,使用框架的时候,需要把你的代码放到框架合适的地方,框架会在合适的时机调用你的代码 框架规定了自己的编程方式,是一套完整的解决方案 使用框架的时候,由框架控制一切,我们只需要按照规则写代码 主要区别 You call Library, Framework calls you 核心点:谁起到主导作用(控制反转) 框架中控制整个流程的是框架 使用库,由开发人员决定如何调用库中提供的方法(辅助) 好莱坞原则:Don’t call

软工实践Alpha冲刺(5/10)

末鹿安然 提交于 2020-03-01 18:15:27
队名:起床一起肝活队 组长博客: 博客链接 作业博客: 班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 已经解决登录注册等基本功能的界面。 完成了主界面的基本布局 展示GitHub当日代码/文档签入记录: 暂无 接下来的计划 制作部分前端 监制所有前端制作与合理化修改 还剩下哪些任务 进一步完善UI设计与交互设计 进一步学习前端知识,并进行统筹规划 燃尽图: 有哪些困难: 前端制作的进一步学习 有哪些收获和疑问 学会了一定的安卓开发经验 与队友共同研究了前端 组员2:林志华 过去两天完成了哪些任务 描述: 前端知识学习 按钮监听事件的学习 展示GitHub当日代码/文档签入记录: 接下来的计划 深入学习前端知识 人机交互部分完成 还剩下哪些任务 和后端的对接 获取前端信息 燃尽图: 团队共享 有哪些困难: 不知如何和后端对接 有哪些收获和疑问 学习了按钮空间和滚动项控件的使用 与队友共同研究了前端如何编写 组员3:李麒 过去两天完成了哪些任务 描述: 正在搭建后台。 展示GitHub当日代码/文档签入记录: 暂无 接下来的计划 实现各类接口 还剩下哪些任务 部分的接口 TCP交互的实现 燃尽图: 组内共享 有哪些困难: 第一次搭建后端、写接口,不熟悉,从头开始学习会显得吃力 对接口的定义必须保证准确 有哪些收获和疑问

10个顶级的CSS3代码生成器

时光怂恿深爱的人放手 提交于 2020-03-01 16:08:44
10个顶级的CSS3代码生成器 新出来的在线工具和 web 应用允许开发人员快速创建网站,而无需手动一行一行地编写代码。当前,不断有新的框架和代码库涌现在前端开发这个领域里。 但是,这也让许多开发人员忘记了代码生成器以及它们在构建网站时的作用。以下资源是完全免费的 web 应用,可用于生成图案、渐变、甚至浏览器前缀属性的 CSS3 代码。如果你写的是前端代码,然后这些资源可以为你节省大量的时间,并为今后的项目工作提供可重复片段。 CSS3 Generator 大家最喜爱的用于代码生成的 web 应用之一就是 CSS3 Generator。对于不同类别的代码生成器,包括 RGBa,transform,flexbox 等等,它有不同的页面。另外,每个代码生成器还包括用于解释哪个浏览器版本完全支持该属性的图标。 Enjoy CSS 想要更动态的应用程序,那么试试 Enjoy CSS 网站。它意味着一个完整的代码生成器,可用于动态项目中自定义的输入域或 CSS3 按钮。它可提供定制的代码,用于转换和过渡,并预建项,如 CSS3 按钮这样常见的页面元素。 Patternify 除非你已经学习过 Photoshop,否则再从头开始学的话,难免会成为你一个很大的难点。值得庆幸的是,Patternify 是一个免费工具,可生成你平铺 CSS 模式所需要的一切。 使用 Base64 代码添加到

前端框架easyUI

故事扮演 提交于 2020-03-01 16:06:05
简介 easyUI:是一种基于jQuery的用户界面插件集合。easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能。使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以定义用户界面。easyui是个完美支持HTML5网页的完整架。easyui节省您网页开发的时间和规模。easyui很简单但功能强大的。 中文官网 http://www.jeasyui.net/ 下载和安装 下载地址: http://www.jeasyui.net/download/ 解压后: 在项目中使用easyUI将相关内容拷贝到项目的根目录:先创建一个easyui文件夹,在创建一个js文件夹在easyui下面创建两个文件夹js和themes。 新建一个html文件,引入以下内容: 布局 边框布局(border layout)提供五个区域:east、west、north、south、center。以下是一些通常用法: north 区域可以用来显示网站的标语。 south 区域可以用来显示版权以及一些说明。 west 区域可以用来显示导航菜单。 east 区域可以用来显示一些推广的项目。 center 区域可以用来显示主要的内容。 < body class = "easyui-layout" > < div data-options = "region:'north

10个顶级的CSS3代码生成器

 ̄綄美尐妖づ 提交于 2020-03-01 15:37:17
10个顶级的CSS3代码生成器 新出来的在线工具和 web 应用允许开发人员快速创建网站,而无需手动一行一行地编写代码。当前,不断有新的框架和代码库涌现在前端开发这个领域里。 但是,这也让许多开发人员忘记了代码生成器以及它们在构建网站时的作用。以下资源是完全免费的 web 应用,可用于生成图案、渐变、甚至浏览器前缀属性的 CSS3 代码。如果你写的是前端代码,然后这些资源可以为你节省大量的时间,并为今后的项目工作提供可重复片段。 CSS3 Generator 大家最喜爱的用于代码生成的 web 应用之一就是 CSS3 Generator。对于不同类别的代码生成器,包括 RGBa,transform,flexbox 等等,它有不同的页面。另外,每个代码生成器还包括用于解释哪个浏览器版本完全支持该属性的图标。 Enjoy CSS 想要更动态的应用程序,那么试试 Enjoy CSS 网站。它意味着一个完整的代码生成器,可用于动态项目中自定义的输入域或 CSS3 按钮。它可提供定制的代码,用于转换和过渡,并预建项,如 CSS3 按钮这样常见的页面元素。 Patternify 除非你已经学习过 Photoshop,否则再从头开始学的话,难免会成为你一个很大的难点。值得庆幸的是,Patternify 是一个免费工具,可生成你平铺 CSS 模式所需要的一切。 使用 Base64 代码添加到

分享到朋友圈前端配置组件

◇◆丶佛笑我妖孽 提交于 2020-03-01 14:52:10
这配置分享到朋友圈,需要前后端配合才能完成 后端开发通过token验证生成返回4个参数: 前端根据这4个参数初始化微信分享 得到这几个参数一般可以向后台请求一个连接,如果跨域可以使用jsonp请求, wx.config初始化完成后,会调用wx.ready配置具体分享参数。 完整代码如下: var ShareToWx = window.ShareToWx || {}; (function(){ ShareToWx = function(options){ var options = options || {}; this.shareTitle = options.shareTitle || '';//设置分享标题,如果为空,微信会取页面title,document.title this.shareFriTitle = options.shareFriTitle || '';//设置分享给朋友标题,如果为空,取shareTitle 或者取页面title,document.title this.shareDesc = options.shareDesc || '';//设置分享描述 this.shareUrl = options.shareUrl || location.href.split('#')[0];//设置分享链接 this.shareImg = options

可视化前端测试

假装没事ソ 提交于 2020-03-01 14:02:38
背景 相信进行过前端开发的同学都知道,前端测试不仅仅涉及到功能的测试,而且也需要考虑到界面样式测试、多浏览器兼容性测试、性能测试。本文主要讨论分析目前前端测试的现状,并讨论目前流行的测试工具,下篇文章将会介绍工具的使用方法 前端测试分类 前端测试主要分三大方向测试,而这三大方向也分很多小方向测试,首先简单的介绍每个方向的概念 界面样式测试 固定界面样式测试:主要针对文字内容不变的区域,例如页面的页头,页脚这类结构、内容不变的区域,而测试一般通过截图对比解决。 结构不变界面样式测试:主要针对结构不变的区域,例如新闻区域这类结构不变,内容变化的区域,这类测试一般通过DOM元素对比解决。 计算样式测试:主要针对计算样式不变的区域,这类测试一般通过比较计算样式解决,但是这种测试不推荐,因为测试成本比较大。 功能测试 服务器数据预期测试:主要针对用户在前端界面进行某种操作后,提交数据给后台后,测试后台能否返回预期的数据 界面功能测试:主要针对用户在前端界面进行某种交互性操作后,测试能否获取预期的功能、界面交互 多浏览器测试 多浏览器测试:基于界面样式测试、功能测试的基础上来进行不同浏览器的的测试。 性能测试 白屏时间:用户浏览器输入网址后至浏览器出现至少1px画面为止。 首屏时间:用户浏览器首屏内所有的元素呈现所花费时间。 用户可操作时间(dom ready) :网站某些功能可以使用的时间。

前端大文件传输断点续传源码

て烟熏妆下的殇ゞ 提交于 2020-03-01 12:27:22
核心原理: 该项目核心就是文件分块上传。前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题。 * 如何分片; * 如何合成一个文件; * 中断了从哪个分片开始。 如何分,利用强大的js库,来减轻我们的工作,市场上已经能有关于大文件分块的轮子,虽然程序员的天性曾迫使我重新造轮子。但是因为时间的关系还有工作的关系,我只能罢休了。最后我选择了百度的WebUploader来实现前端所需。 如何合,在合之前,我们还得先解决一个问题,我们如何区分分块所属那个文件的。刚开始的时候,我是采用了前端生成了唯一uuid来做文件的标志,在每个分片请求上带上。不过后来在做秒传的时候我放弃了,采用了Md5来维护分块和文件关系。 在服务端合并文件,和记录分块的问题,在这方面其实行业已经给了很好的解决方案了。参考迅雷,你会发现,每次下载中的时候,都会有两个文件,一个文件主体,另外一个就是文件临时文件,临时文件存储着每个分块对应字节位的状态。 这些都是需要前后端密切联系才能做好,前端需要根据固定大小对文件进行分片,并且请求中要带上分片序号和大小。前端发送请求顺利到达后台后,服务器只需要按照请求数据中给的分片序号和每片分块大小(分片大小是固定且一样的)算出开始位置,与读取到的文件片段数据,写入文件即可。 为了便于开发,我 将服务端的业务逻辑进行了如下划分,分成初始化

Django基础七之Ajax

为君一笑 提交于 2020-03-01 10:41:29
一 Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。     AJAX 不是新的编程语言,而是一种使用现有标准的新方法。     AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。(这一特点给用户的感受是在不知不觉中完成请求和响应过程) AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。       a.同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;       b.异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。   优点:AJAX除了 异步 的特点外,还有一个就是:浏览器页面 局部刷新 ;(这一特点给用户的感受是在不知不觉中完成请求和响应过程 示例   页面输入两个整数,通过AJAX传输到后端计算出结果并返回。     html文件名称为ajax_demo1.html,内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http