Web 性能实践日志
Stoyan Stefanov
王玉林, 吴英杰, 庄婷婷, 唐云飞 译
出版时间:2014年03月
页数:200
性能对于任何网站的成功至关重要,而优化的关键是借助当今的新工具。
本书的作者都是全球知名的Web开发和性能维护方面的专家甚至大师,包括Nicholas Zakas、Steve Souders、Stoyan Stefanov等。在本书中,32位著名的网络性能专家提供实用的技巧、技术和建议,以改进网站用户体验,提升网站整体性能。本书堪称Web性能领域的百家之言和智慧结晶。
本书所涵盖的这一系列文章,最初发表在Planet Performance网站(http://calendar.perfplanet.com)。无论你是网页开发、移动开发,还是网页设计师,这些文章都会启发你提升网站性能。
按照先后顺序,本书中收集了如下作者的文章:
Patrick Meenan
Nicholas Zakas
Guy Podjarny
Stoyan Stefanov
Tim Kadlec
Brian Pane
Josh Fraser
Steve Souders
Betty Tso
Israel Nir
Marcel Duran
Eric Daspet
Alois Reitbauer
Matthew Prince
Buddy Brewer
Alexander Podelko
Estelle Weyl
Aaron Peters
Tony Gentilcore
Matthew Steele
Bryan McQuade
Tobie Langel
Billy Hoffman
Joshua Bixby
Sergey Chernyshev
JP Castro
Pavel Paulau
David Calhoun
Nicole Sullivan
James Pearce
Tom Hughes-Croucher
Dave Artz
  1. 第1章 WebPageTest内部原理 
  2. 1.1 函数拦截 
  3. 1.2 代码注入 
  4. 1.3 决定浏览器架构 
  5. 1.4 获取代码 
  6. 1.5 浏览器的发展 
  7. 第2章 localStorage读取性能 
  8. 2.1 基准测试 
  9. 2.2 这是怎么回事 
  10. 2.3 优化策略 
  11. 2.4 跟进 
  12. 第3章 内联不是万能的
  13. 3.1 没有浏览器缓存
  14. 3.2 没有边缘缓存
  15. 3.3 没有按需加载
  16. 3.4 浏览器预加载失效
  17. 3.5 不完美的方案:只在第一次访问时采用内联方式
  18. 3.6 总结和建议
  19. 第4章 加载异步脚本的艺术
  20. 4.1 Facebook插件JS SDK 
  21. 4.2 设计原则和标准
  22. 4.3 代码片段
  23. 4.4 插入脚本的其他方案
  24. 4.5 终于……  
  25. 4.6 我们遗漏了什么
  26. 4.7 如果我是代码片段的使用者
  27. 4.8 离别感言:站在巨人的肩膀上
  28. 第5章 运营商网络:钻进兔子洞
  29. 5.1 多样化
  30. 5.2 延迟
  31. 5.3 编码变换
  32. 5.4 这是一座金山
  33. 5.5 4G也不能拯救我们
  34. 5.6 我们要去向何方
  35. 5.7 隧道尽头的光
  36. 第6章 HTTP并行化
  37. 6.1 介绍:滚下楼梯
  38. 6.2 目前最佳实践:绕过HTTP 
  39. 6.3 实验:深入研究HTTP Archive 
  40. 6.4 结果:大量的连续请求序列
  41. 6.5 推荐:是时候修改协议了
  42. 第7章 自动化网站性能优化
  43. 第8章 前端单点故障
  44. 8.1 Business Insider网站
  45. 8.2 CNET网站
  46. 8.3 O’Reilly Radar网站
  47. 8.4 引起前端单点故障的原因
  48. 8.5 避免前端单点故障
  49. 8.6 行动起来
  50. 第9章 关于YSlow 
  51. 第10章 高性能原生移动应用
  52. 10.1 注意你的瀑布流
  53. 10.2 压缩这些资源
  54. 10.3 不要重复下载
  55. 10.4 太多图片会减慢你的速度么
  56. 10.5 后记
  57. 第11章 纯CSS3图片?哼,也许晚点再说吧
  58. 11.1 挑战
  59. 11.2 动手写CSS3 
  60. 11.3 跨浏览器效果
  61. 11.4 基准测试
  62. 11.4.1 加载成本
  63. 11.4.2 渲染
  64. 11.5 达到我们的目标了么
  65. 11.6 附录:代码目录
  66. 11.6.1 HTML 
  67. 11.6.2 css 
  68. 第12章 Android中下载无用背景图片
  69. 12.1 Android下的问题
  70. 12.2 无法解决
  71. 第13章 网络计时
  72. 第14章 我对HTTP的理解/思考
  73. 14.1 icy 
  74. 14.2 一些细节
  75. 14.3 演练
  76. 14.4 待办事项
  77. 14.5 前进道路
  78. 14.6 我想要的圣诞礼物
  79. 第15章 使用智能缓存避免机器人性能开销
  80. 第16章 导航计时API实践
  81. 16.1 为什么要关心这些
  82. 16.2 收集导航计时时间戳并将它们转为有用的度量值
  83. 16.3 使用Google分析作为性能数据仓库
  84. 16.4 Google分析中的性能报告
  85. 16.5 限制
  86. 16.6 最后的思考
  87. 第17章 响应时间对业务的影响
  88. 第18章 考虑移动界面的性能
  89. 18.1 电池寿命
  90. 18.2 延迟
  91. 18.3 嵌入CSS和JS:最佳实践
  92. 18.4 内存
  93. 18.4.1 优化图片
  94. 18.4.2 权衡CSS的好处
  95. 18.4.3 GPU的好处及陷阱
  96. 18.4.4 视口:眼不见,心还是得为它“烦” 
  97. 18.4.5 最小化DOM 
  98. 18.5 UI响应
  99. 18.6 总结
  100. 第19章 别再浪费时间使用Google Analytics的站点速度报告了
  101. 19.1 问题:Firefox中关于Navigation Timing API的一个bug 
  102. 19.2 解决方案:在Google Analytics中滤除Firefox的时间
  103. 19.3 好消息:这个bug已在Firefox 9中修复
  104. 19.4 结语
  105. 第20章 超越Web开发者工具:Strace
  106. 20.1 其他平台怎么办
  107. 20.2 开始
  108. 20.3 校正
  109. 20.4 示例:本地存储
  110. 20.5 我们才刚触及皮毛
  111. 第21章 mod_spdy介绍:Apache HTTP Server的SPDY模块
  112. 21.1 mod_spdy入门
  113. 21.2 SPDY和Apache 
  114. 21.3 帮助改进mod_spdy 
  115. 第22章 CommonJS模块的惰性求值
  116. 22.1 深入理解Text/JavaScript类型
  117. 22.2 懒加载
  118. 22.3 用延迟执行来挽救
  119. 22.4 在CommonJS模块中创建懒执行
  120. 第23章 关于接受建议的建议
  121. 第24章 为什么你对性能测试结果的解读可能是错误的(至少你在大公司里工作)
  122. 24.1 测试方法
  123. 24.2 测试结果
  124. 24.3 结论
  125. 24.4 为什么这个问题如此重要
  126. 24.5 几个重要的点
  127. 第25章 有损图像压缩
  128. 第26章 基于Selenium和JavaScript的性能测试 
  129. 26.1 记录数据
  130. 26.2 收集和分析数据
  131. 26.3 示例结果
  132. 26.4 帮助/益处
  133. 26.5 结束语
  134. 26.6 致谢
  135. 第27章 一个评估网站性能的简单方法
  136. 27.1 概念
  137. 27.2 优势
  138. 27.3 局限
  139. 27.4 结束语
  140. 第28章 超越带宽:UI性能
  141. 28.1 引言
  142. 28.2 页面加载后:UI层
  143. 28.3 UI性能分析工具
  144. 28.4 CSS压力测试
  145. 28.5 CSS性能分析器
  146. 28.6 CSS Lint 
  147. 28.7 DOM Monster 
  148. 28.8 对速度的感知/速度感
  149. 28.9 花絮
  150. 28.10 呼吁关注UI性能
  151. 第29章 CSS Selector性能改变了(变得更好了) 
  152. 29.1 样式共享(Style Sharing)
  153. 29.2 规则哈希(Rule Hashes)
  154. 29.3 父过滤器(Ancestor filters)
  155. 29.4 快速路径(Fast Path) 
  156. 29.5 还有什么仍然很慢呢
  157. 第30章 大胆尝试PhantomJS和confess.js 
  158. 30.1 性能概要
  159. 30.2 应用程序缓存清单(App Cache Manifest) 
  160. 30.3 发展和完善
  161. 第31章 两次测量一次优化
  162. 31.1 识别需要优化的页面/部分
  163. 31.2 识别需要优化的功能
  164. 31.3 优化
  165. 第32章 后端问题检测
  166. 32.1 适当的后端时间该是多少
  167. 32.2 搞清楚是怎么回事
  168. 32.3 修复
  169. 32.4 最后
  170. 第33章 Web字体性能:@font-face及其他解决方案间的权衡
  171. 33.1 字体托管服务与自主开发
  172. 33.1.1 字体托管服务
  173. 33.1.2 DIY方式
  174. 33.2 FOUT是什么
  175. 33.3 移除多余的字体字形
  176. 33.4 JavaScript字体加载器
  177. 33.5 Boot.getFont介绍:一种快速、小巧的Web字体加载器
  178. 33.6 Gentlefonts,启动你的引擎
  179. 33.7 我的观察
  180. 33.8 一些想法
书名:Web 性能实践日志
作者:Stoyan Stefanov
译者:王玉林, 吴英杰, 庄婷婷, 唐云飞 译
国内出版社:人民邮电出版社
出版时间:2014年03月
页数:200
书号:978-7-115-34790-9
原版书书名:Web Performance Daybook Volume 2
原版书出版商:O'Reilly Media
Stoyan Stefanov
 
Stoyan Stefanov是一名Facebook工程师,Yahoo的用户体验设计师,YSlow 2.0性能工具的架构师,还是smush.it图像优化工具的开发者。
他是JavaScript Patterns (O’Reilly)、Object-Oriented JavaScript (PacktPublishing)和The Book of Speed (在线图书)的作者,还是High Performance JavaScript (O’Reilly)和Even Faster Web Sites (O’Reilly)的撰稿人。
Stoyan是一名Zend认证的工程师,其博客是phpied.com和jspatterns.com,并且是世界各地的会议(Velocity、JSConf、Web Directions、Fronteers,以及其他)的演讲者。
作为一名保加利亚和加拿大双重国籍的人,Stoyan现在和他的妻子及女儿居住在洛杉矶,并且将自己的时光消磨在家、办公室、海边之间骑自行车、参加乐队排练、飞行课程,以及孩子的生日派对上。