[保加利亚] Stoyan Stefanov《web性能实践日志》

[保加利亚] Stoyan Stefanov《web性能实践日志》

作者:[保加利亚] Stoyan Stefanov

出版社:人民邮电出版社

出版年:2014-5

评分:8.3

ISBN:9787115347909

所属分类:网络科技

书刊介绍

内容简介

《Web性能实践日志》包含了众多领域专家的关于 Web 性能的文章。其中包括了许多性能相关的主题,如开源工具、缓存、移动网络和应用、自动化、用户体验优化、HTML5、JavaScript、CSS3、指标、ROI和网络协议。本书的视野并不仅仅局限于常规的前端性能优化主题,还涉及了网络环境甚至协议对性能的影响等内容;同时,《Web性能实践日志》也探讨了若干移动端的性能问题及优化方案。

《Web性能实践日志》的作者都是全球知名的Web开发和性能维护方面的专家甚至大师,包括Nicholas Zakas、Steve Souders、Stoyan Stefanov等。因此,本书是Web性能领域的百家之言和智慧结晶。

《Web性能实践日志》适合有一定经验的Web开发者阅读,尤其适合那些致力于全面提升Web性能的专业开发者阅读参考。

作品目录

第1章 WebPageTest内部原理 1

1.1 函数拦截 2

1.2 代码注入 2

1.3 决定浏览器架构 3

1.4 获取代码 4

1.5 浏览器的发展 4

第2章 localStorage读取性能 5

2.1 基准测试 6

2.2 这是怎么回事 6

2.3 优化策略 7

2.4 跟进 8

第3章 内联不是万能的 10

3.1 没有浏览器缓存 10

3.2 没有边缘缓存 11

3.3 没有按需加载 12

3.4 浏览器预加载失效 13

3.5 不完美的方案:只在第一次访问时采用内联方式 13

3.6 总结和建议 14

第4章 加载异步脚本的艺术 16

4.1 Facebook插件JS SDK 16

4.2 设计原则和标准 18

4.3 代码片段 18

4.4 插入脚本的其他方案 20

4.5 终于…… 21

4.6 我们遗漏了什么 21

4.7 如果我是代码片段的使用者 22

4.8 离别感言:站在巨人的肩膀上 22

第5章 运营商网络:钻进兔子洞 24

5.1 多样化 24

5.2 延迟 25

5.3 编码变换 25

5.4 这是一座金山 26

5.5 4G也不能拯救我们 26

5.6 我们要去向何方 27

5.7 隧道尽头的光 27

第6章 并行化 29

6.1 介绍:滚下楼梯 29

6.2 目前最佳实践:绕过 30

6.3 实验:深入研究 Archive 31

6.4 结果:大量的连续请求序列 32

6.5 推荐:是时候修改协议了 32

第7章 自动化网站性能优化 34

第8章 前端单点故障 36

8.1 Business Insider网站 36

8.2 ET网站 37

8.3 O’Reilly Radar网站 39

8.4 引起前端单点故障的原因 40

8.5 避免前端单点故障 41

8.6 行动起来 41

第9章 关于YSlow 43

第10章 高性能原生移动应用 46

10.1 注意你的瀑布流 47

10.2 压缩这些资源 47

10.3 不要重复下载 48

10.4 太多图片会减慢你的速度么 49

10.5 后记 50

第11章 纯CSS3图片?哼,也许晚点再说吧 51

11.1 挑战 51

11.2 动手写CSS3 52

11.3 跨浏览器效果 52

11.4 基准测试 54

11.4.1 加载成本 55

11.4.2 渲染 55

11.5 达到我们的目标了么 57

11.6 附录:代码目录 57

11.6.1 HTML 57

11.6.2 css 59

第12章 Android中下载无用背景图片 63

12.1 Android下的问题 63

12.2 无法解决 64

第13章 网络计时 65

第14章 我对的理解/思考 71

14.1 icy 71

14.2 一些细节 71

14.3 演练 71

14.4 待办事项 77

14.5 前进道路 80

14.6 我想要的圣诞礼物 80

第15章 使用智能缓存避免机器人性能开销 81

第16章 导航计时API实践 84

16.1 为什么要关心这些 84

16.2 收集导航计时时间戳并将它们转为有用的度量值 85

16.3 使用Google分析作为性能数据仓库 85

16.4 Google分析中的性能报告 86

16.5 限制 86

16.6 最后的思考 87

第17章 响应时间对业务的影响 88

第18章 考虑移动界面的性能 91

18.1 电池寿命 91

18.2 延迟 92

18.3 嵌入CSS和JS:最佳实践 92

18.4 内存 94

18.4.1 优化图片 95

18.4.2 权衡CSS的好处 96

18.4.3 GPU的好处及陷阱 96

18.4.4 视口:眼不见,心还是得为它“烦” 97

18.4.5 最小化DOM 97

18.5 UI响应 97

18.6 总结 98

第19章 别再浪费时间使用Google Analytics的站点速度报告了 99

19.1 问题:Firefox中关于Navigation Timing API的一个bug 99

19.2 解决方案:在Google Analytics中滤除Firefox的时间 100

19.3 好消息:这个bug已在Firefox 9中修复 101

19.4 结语 101

第20章 超越Web开发者工具:Strace 102

20.1 其他平台怎么办 102

20.2 开始 103

20.3 校正 103

20.4 示例:本地存储 103

20.5 我们才刚触及皮毛 104

第21章 mod_spdy介绍:Apache Server的SPDY模块 105

21.1 mod_spdy入门 105

21.2 SPDY和Apache 105

21.3 帮助改进mod_spdy 107

第22章 CommonJS模块的惰性求值 108

22.1 深入理解Text/JavaScript类型 108

22.2 懒加载 110

22.3 用延迟执行来挽救 110

22.4 在CommonJS模块中创建懒执行 112

第23章 关于接受建议的建议 114

第24章 为什么你对性能测试结果的解读可能是错误的(至少你在大公司里工作) 118

24.1 测试方法 119

24.2 测试结果 119

24.3 结论 120

24.4 为什么这个问题如此重要 120

24.5 几个重要的点 120

第25章 有损图像压缩 122

第26章 基于Selenium和JavaScript的性能测试 126

26.1 记录数据 127

26.2 收集和分析数据 128

26.3 示例结果 129

26.4 帮助/益处 130

26.5 结束语 130

26.6 致谢 131

第27章 一个评估网站性能的简单方法 132

27.1 概念 132

27.2 优势 133

27.3 局限 133

27.4 结束语 134

第28章 超越带宽:UI性能 135

28.1 引言 135

28.2 页面加载后:UI层 136

28.3 UI性能分析工具 136

28.4 CSS压力测试 136

28.5 CSS性能分析器 137

28.6 CSS Lint 137

28.7 DOM Monster 137

28.8 对速度的感知/速度感 138

28.9 花絮 138

28.10 呼吁关注UI性能 139

第29章 CSS Selector性能改变了(变得更好了) 141

29.1 样式共享(Style Sharing) 142

29.2 规则哈希(Rule Hashes) 142

29.3 父过滤器(Ancestor filters) 142

29.4 快速路径(Fast Path) 143

29.5 还有什么仍然很慢呢 143

第30章 大胆尝试PhantomJS和confess.js 145

30.1 性能概要 145

30.2 应用程序缓存清单(App Cache Manifest) 147

30.3 发展和完善 148

第31章 两次测量一次优化 149

31.1 识别需要优化的页面/部分 150

31.2 识别需要优化的功能 151

31.3 优化 151

第32章 后端问题检测 153

32.1 适当的后端时间该是多少 154

32.2 搞清楚是怎么回事 155

32.3 修复 158

32.4 最后 158

第33章 Web字体性能:@font-face及其他解决方案间的权衡 159

33.1 字体托管服务与自主开发 159

33.1.1 字体托管服务 159

33.1.2 DIY方式 160

33.2 FOUT是什么 160

33.3 移除多余的字体字形 161

33.4 JavaScript字体加载器 162

33.5 Boot.getFont介绍:一种快速、小巧的Web字体加载器 163

33.6 Gentlefonts,启动你的引擎 164

33.7 我的观察 168

33.8 一些想法 168

相关推荐

微信二维码