高性能的 Web 应用是获得伟大用户体验的关键。随着 Web 应用越来越复杂,要想建立吸引人的用户体验,了解性能的影响是至关重要的。在过去的几年中,浏览器中也新增了许多 API 来帮助我们分析网络性能、页面加载时间等。但这些并没有给出详尽的足够灵活的方式,来帮助我们分析具体是什么降低了我们网站的性能。User Timing API 提供了一套机制来帮助我们测量我们的应用,从而找到应用中耗时的部分。在本文中,我将介绍这个 API 并提供一些如何使用它的例子。
你不能优化那些不能被测量的东西
给运行缓慢的应用提速的第一步是,找到应用中耗时的部位。要想找到这些烫手山药,最理想的方式就是对 JavaScript 代码进行区域性的运行时间
继续阅读 »
唠叨
还有一周2016就要过去了,时间过得太快,压抑的一年,好像什么都没做,闭目冥思,反思自我得失...我勒个去,文采不好,再唠叨真成大妈了。
这一年听到最多的声音就是房价涨了,房价涨了,房价上蹿上蹿,一路飙升,疯了,全国都疯了,我也疯了,房租涨了,工资没涨,不好意思,我又禁不住
啰嗦了两句,还是聊技术吧,只有技术最可靠。
最近看了几篇关于table-cell的用法,觉得旭神总结的还不错,于是乎我就抄袭,不对,是模仿,也不合适,
其实是微微扩展了以下,增加几点需要注意的地方。
支持度
从下图可以看出,所有浏览器都支持的很好嘛。
特性(Peculiarities)
table-cell的特征就是跟table的td表现是
继续阅读 »
前言
每次写文章都想在前面提提~~事实~~时事,今天想说的是:*******,如果你看到的是星号,那很抱歉,“福利”被和谐了,你可以更换浏览器试试。本文对setTimeout、setImmediate、process.nextTick的区别做了简单阐述,如有疑问,请留言。
api介绍
setTimeout(callback, delay):经过delay时间后只执行一次callback,但是并不能保证时间点的精确性。delay的意思是,告诉callback可以被执行了,如果callback所在队列前面还有任务没执行,那它也得稍等等。
**setImmediate(callback)**:执行callback的时机是在IO
继续阅读 »
像素涂鸦
像素风格涂鸦应用,全部一个人完成,累死了。。。
1.2.1升级主要添加了些提示信息,比如需要登录,下载中之类的,并且修复了点bug,比如取色器在不同页面多次调取出现的空白。
演示视频 v1.2.1:
您的浏览器不支持 video 标签。
继续阅读 »
Greasy Fork 简介
用户脚本为您增强对浏览体验的控制权。在安装之后,它们可自动为您访问的网站添加功能,或使其更加易用、更加清新。在 Greasy Fork 上的用户脚本是由其他用户编写并向全世界发表的,您可以免费和轻松地安装。
如何使用 Greasy Fork
第一步:安装一个用户脚本管理器
要使用用户脚本,您首先需要安装一个用户脚本管理器。根据您使用的浏览器不同,可用的用户脚本管理器也有所不同。
Tampermonkey,支持Chrome, Firefox, Microsoft Edge, Safari, Opera Next, Maxthon
Greasemonkey,支持Firefox
more
第二步:安
继续阅读 »
现在的公司很多大部分产品都做成了单页应用的形式。
单页应用是指在浏览器中运行的应用,它们在使用期间不会重新加载页面,从而获得比较良好的用户体验。
也就是说,单页面应用是仅包含单个网页的应用,目的是为了提供类似于本地应用的流畅用户体验。
继续阅读 »
Nginx 配置 HTTPS
介绍
可信任的 SSL 证书
自签名 SSL 证书
介绍
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。
继续阅读 »
概述
除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。
设立"严格模式"的目的,主要有以下几个:
消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
消除代码运行的一些不安全之处,保证代码运行的安全;
提高编译器效率,增加运行速度;
为未来新版本的Javascript做好铺垫。
"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。
另一方面,同样的代码,在"严格模式"中,可能会有不一样的运
继续阅读 »
你可能知道,Javascript语言的执行环境是"单线程"(single thread)。
所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。
more
这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。
为了解决这个问题,Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous)。
继续阅读 »
做Android 5年多了,第一次在Fragment中使用WebView,先将Activity中的代码复制过来改改,没有想到,竟然无法正常显示,而是打开手机浏览器渲染WebView,返回后,Fragment一片空白。这还能忍受?Google一把,说是要继承WebViewFragment,但是一旦继承,就破坏了我的框架结构。然后看了下WebViewFragment的源码,并不复杂。所以就将相关的源码合并到现有的fragment中,本以为可以妥妥地解决问题,结果还是那样。最后在stackoverflow上解决了终极解决办法,那就是需要设置特殊的WebViewClient。
java
private class H5WebVie
继续阅读 »