• Posts tagged "笔记"

Blog Archives

卓有成效的程序员 读书笔记

卓有成效的程序员 读书笔记

第二章:加速法则

1.mac使用spotlight进行快速查找
2. 优秀的IDE快捷键
总之:使用各种工具或者快捷点或者技巧提升开发效率

第三章:专注法则

1: 关掉不需要的提示,邮件,qq等
2:Spotlight找到一个文件后,回车键打开,apple+回车 打开目录
3:用虚拟桌面拆分工作空间 ,从而划分工作区间
排除干扰
隔离策略
关掉不需要的提示
创造安静的时间
搜索优于导航
使用多屏显示器
(更多…)

高性能网站建设读书笔记

规则1:减少http请求

  • 图片地图
  • css sprites
  • 内联图片

可以通过data:URL模式在web页面中包含图片无需任何http请求。

缺点:IE不支持,大小受限。base64编码会增加图片大小,故整体下载量会增大

格式:data:[[;base64],[data]]

合并脚本和样式表。可以使用一些css开发工具来合并css, 比如compass,less,sass等,合并javascript.理想的状态是一次请求只获取一个样式表和一个javascript脚本

规则二:使用内容发布系统(CDN)

规则三:添加expires头

  • 对脚本,样式表添加expires头,(一般通过web服务器做,nginx,apache)来做这部分工作。设置后可在一定的时间减少http请求。
  • max-age && mod_expires

expires头有一个限制,他要求客户端同服务器时间严格同步。

Cache-Control:max-age=xxx 可以指定组件被缓存多久。

如果expires头和max-age同时存在,会以max-age重写expires头

mod_expires Apache模块可以使expires头像max-age一样以相对时间来设置expires头

规则四:压缩组建

  • 使用gzip压缩效果比较好
  • 一般压缩最常见的是html文档和脚本,样式表等。
  • 优点:减少带宽。提高网页加载速度,提升用户体验

配置:apache

http://httpd.apache.org/docs/2.2/mod/mod_deflate.html

配置:nginx

http://wiki.nginx.org/HttpGzipModule

  • 代理缓存.设置 Vary: Accept-Encoding 来解决代理缓存多份问题
  • 有些浏览器是不支持gzip压缩的,比如ie6, 这时就需要web服务器不进行gzip压缩

规则五:将样式表放在顶部

规则六:将脚本放在底部

  1. 脚本的并行下载 对响应时间影响最大的是页面中组件的数量。当缓存为空时,都会产生一个http请求。
  2. 将脚本的域名换为子域名 优点:1.并行下载 2.去除脚本的cookie等

规则七:避免css表达式

有些css规则用于处理页面加载之后会产生性能问题。

规则八:使用外部javascript 和 css

相比较:内联的要快于外部的。因为内联可以节约多个http请求所带来的开销

但是我们还是要用外部: 原因: 1. js,css有机会被浏览器缓存起来 2. 减少文档大小

规则九: 减少DNS查找

可以通过keep-alive和较少的域名减少DNS查找

规则十: 精简JavaScript

压缩JavaScript

规则十一:避免重定向

规则十二:移除重复脚本

确保脚本只被包含一次

规则十三:配置ETag

规则十四:使Ajax可缓存

确保ajax请求遵循性能知道,尤其应该具有长久的Expires头,或者设置max-age