- 博客(17)
- 收藏
- 关注
原创 渲染性能
这篇文章主要关注的是资源加载之后的性能,因为大多数用户关注的不是应用如何加载而是具体的使用。所以要快速响应用户,尤其是无线端,我们有必要了解浏览器渲染性能。RAIL 性能模型首先一个需要思考的问题,怎样的网站是顺畅的?我们可能可以给一个大概的感觉,如:秒级响应等。其实,也可以给出一个很讨巧的答案:用户觉得顺畅的网站它就是顺畅的。因为几乎所有网站都希望将用户留在页面上,当然以用户为中心建立性能模型是必
2016-09-30 14:51:00
1950
原创 错过了愚人节,还有清明节
愚人节表白简直弱爆了,清明节表白才是王道。 因为万一被拒绝,可以说:“不好意思,刚才被附体了。”愚人节已经过去,是不是还在后悔没来的及向女神表白?别怕,错过了愚人节还有清明节!清明节表白才是王道。既然是清明节表白,当然需要寻找一份和这个节日匹配的礼物。作为一名资深技术屌,自己动手才更有诚意。细想和清明节有关联的元素,脑海中迅速浮现了一大堆形容词,最终选了两个比较有代表的形容词:蓝光和诡异。
2016-04-04 13:02:32
1579
原创 编写第一个 Arduino 程序
点亮LED上一节介绍了 Ardunio UNO 的硬件结构,这一节将会写一个 UNO 的 “hello word” 程序,在软件领域通常会以输出 “hello word” 作为开始,而在硬件领域通常是以点亮 LED 灯作为开始。搭建环境首先,在编写程序之前,需要下载编译环境和安装驱动。这里以mac为例,具体的下载过程可以参考官方的Getting Started w/ Arduino on Mac O
2016-03-19 15:45:39
39556
1
原创 Arduino Uno 硬件电路
Arduino UNO硬件介绍这一章会对照开发板简单讲解一下硬件原理图,如果你想深入了解硬件原理图,这里附上官网的PDF版 。下图是一张原理图和开发板的概览图:)稳压电路外接电源输入进来的电压可能在5V附近,为了保证更加精准的5V电压,防止电压过高穿透芯片。这里选用的是 NCP117ST50T3G 稳压芯片,这款稳压芯片输出电压可调范围是1.5-12V。稳压电路的连接方式及计算公式可查此链接。下载电
2016-03-19 15:15:28
32836
原创 Arduino 简介
ArduinoArduino 是一款比较流行的开源硬件,相对于传统的硬件平台,Arduino 所具有的优势就是采用 Creative Commons 许可。 Creative Commons(CC)是为保护开放版权行为而出现的类似GPL的一种许可(license)。在 Creative Commons许 可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。Arduino 其
2016-03-19 02:45:03
9003
原创 Javascript之Function
Function 函数包含一组语句,它们是JavaScript的基础模块单元,用于代码的复用、信息隐藏和组合调用。函数用于指定对象的行为。一般来说,所谓编程,就是将一组需求分解成函数与数据结构的技能。JavaScript中函数被作为“一等公民”,函数也属于对象,不同的是只有函数可以被调用。函数声明与表达式函数声明function foo() {}上面的方法会在执行前被 解析(hoisted),
2016-03-06 17:47:30
2384
原创 运动和地理位置API
本篇学习DeviceMotionEvent,DeviceOrientationEvent和Geolocation三个API,目前各浏览器对这三个API的支持还算可以。 DeviceMotionEventDeviceMotionEvent,顾名思义,是监听设备运动事件。运动主要包括x,y,z轴的加速度,包含重力加速的加速度,以及角加速度。特性加速度acceleration,加速度反悔的事设备在x
2016-03-06 17:46:07
1615
原创 WebSocket
The WebSocket Protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code. The securit
2016-03-06 17:44:40
1243
原创 Promise
Promise实现状态机Promise实际是一个状态机,从后面需要用到的状态开始实现Promise.var PENDING = 0;var FULFILLED = 1;var REJECTED = 2;function Promise() { //存储三种状态:PENDING, FULFILLED, REJECTED.初始状态是PENDING var state = PENDI
2016-03-06 17:41:58
1073
原创 Web Animations
Web Animations? Web Animations defines a model for supporting animation and synchronization on the Web platform.
2015-10-18 01:03:17
1367
原创 javascript异步编程
异步机制JavaScript的执行环境是单线程的,单线程的好处是执行环境简单,不用去考虑诸如资源同步,死锁等多线程阻塞式编程等所需要面对的恼人的问题。但带来的坏处是当一个任务执行时间较长时,后面的任务会等待很长时间。在浏览器端就会出现浏览器假死,鼠标无法响应等情况。所以在浏览器端,耗时很长的操作都应该异步执行,避免浏览器失去响应。所谓异步执行,不同于同步执行(程序的执行顺序与任务的排列顺序是一致的、
2015-06-27 07:23:43
2931
1
翻译 一个一百行内的现代的javascript路由
时下流行的单页的应用无处不在。有了这样的应用意味着你需要一个坚实的路由机制。像Emberjs框架是真正建立在一个路由器类的顶部。我真不知道,这是我喜欢的一个概念,但我绝对相信AbsurdJS应该有一个内置的路由器。而且,与一切都在这个小库,它应该是小的,简单的类。让我们来看看这样的模块可能长什么样。要求路由应该是:在一百行以内。支持hash类型的 URLs如: like http://site.
2015-06-23 16:23:12
548
原创 Flexbox布局
Flexbox简介 In the flex layout model, the children of a flex container can be laid out in any direction, and can “flex” their sizes, either growing to fill unused space or shrinking to avoid overflowin
2015-06-14 22:50:23
1034
原创 JavaScript命名空间
什么是命名空间命名空间(英语:Namespace)表示标识符(identifier)的可见范围。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其它命名空间中。(维基百科)命名空间的作用当一个工程很大时,既有自身的代码,又有引用的外部库,当自身库和外部库中的对象重名时,没有命名
2015-03-08 16:55:08
926
原创 CSS高级特性
Visual formatting modelVisual formatting model介绍W3C Recommendation中给出的定义是: how user agents process the document tree for visual media. user agents: 一般为浏览器。 document tree: 源文档中元素树的编码。 visVisual formatting modelVisual
2015-03-08 15:48:28
764
原创 Facade Design Pattern
Provide a unified interface to a set of interfaces in a subsystem. Facade Pattern defines a higher-level interface that makes the subsystem easier to use.
2014-09-22 18:10:07
579
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人