图书介绍

深入浅出Node.jspdf电子书版本下载

深入浅出Node.js
  • 朴灵编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115335500
  • 出版时间:2013
  • 标注页数:332页
  • 文件大小:72MB
  • 文件页数:350页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

深入浅出Node.jsPDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Node简介 1

1.1 Node的诞生历程 1

1.2 Node的命名与起源 1

1.2.1 为什么是JavaScript 2

1.2.2 为什么叫Node 2

1.3 Node给JavaScript带来的意义 2

1.4 Node的特点 4

1.4.1 异步I/O 4

1.4.2 事件与回调函数 6

1.4.3 单线程 7

1.4.4 跨平台 7

1.5 Node的应用场景 8

1.5.1 I/O密集型 8

1.5.2 是否不擅长CPU密集型业务 8

1.5.3 与遗留系统和平共处 10

1.5.4 分布式应用 10

1.6 Node的使用者 10

1.7 参考资源 11

第2章 模块机制 12

2.1 CommonJS规范 13

2.1.1 CommonJS的出发点 13

2.1.2 CommonJS的模块规范 14

2.2 Node的模块实现 15

2.2.1 优先从缓存加载 16

2.2.2 路径分析和文件定位 16

2.2.3 模块编译 18

2.3 核心模块 20

2.3.1 JavaScript核心模块的编译过程 21

2.3.2 C/C+++核心模块的编译过程 22

2.3.3 核心模块的引入流程 25

2.3.4 编写核心模块 25

2.4 C/C++扩展模块 27

2.4.1 前提条件 28

2.4.2 C/C+++扩展模块的编写 29

2.4.3 C/C+++扩展模块的编译 30

2.4.4 C/C+++扩展模块的加载 31

2.5 模块调用栈 32

2.6 包与NPM 33

2.6.1 包结构 34

2.6.2 包描述文件与NPM 34

2.6.3 NPM常用功能 37

2.6.4 局域NPM 42

2.6.5 NPM潜在问题 43

2.7 前后端共用模块 44

2.7.1 模块的侧重点 44

2.7.2 AMD规范 44

2.7.3 CMD规范 45

2.7.4 兼容多种模块规范 45

2.8 总结 46

2.9 参考资源 46

第3章 异步I/O 47

3.1 为什么要异步I/O 47

3.1.1 用户体验 48

3.1.2 资源分配 49

3.2 异步I/O实现现状 50

3.2.1 异步I/O与非阻塞I/O 50

3.2.2 理想的非阻塞异步I/O 54

3.2.3 现实的异步I/O 54

3.3 Node的异步I/O 56

3.3.1事件循环 56

3.3.2观察者 56

3.3.3请求对象 57

3.3.4执行回调 59

3.3.5小结 60

3.4非I/O的异步API 60

3.4.1定时器 60

3.4.2 process.nextTick() 61

3.4.3 setImmediate() 62

3.5事件驱动与高性能服务器 63

3.6总结 65

3.7参考资源 65

第4章 异步编程 66

4.1函数式编程 66

4.1.1高阶函数 66

4.1.2偏函数用法 67

4.2异步编程的优势与难点 68

4.2.1优势 69

4.2.2难点 70

4.3异步编程解决方案 74

4.3.1事件发布/订阅模式 74

4.3.2 Promise/Deferred模式 82

4.3.3流程控制库 93

4.4异步并发控制 105

4.4.1 bagpipe的解决方案 105

4.4.2 async的解决方案 109

4.5总结 110

4.6参考资源 110

第5章 内存控制 111

5.1 V8的垃圾回收机制与内存限制 111

5.1.1 Node与V8 112

5.1.2 V8的内存限制 112

5.1.3 V8的对象分配 112

5.1.4 V8的垃圾回收机制 113

5.1.5查看垃圾回收日志 119

5.2高效使用内存 121

5.2.1作用域 121

5.2.2闭包 123

5.2.3小结 124

5.3内存指标 124

5.3.1查看内存使用情况 124

5.3.2堆外内存 126

5.3.3小结 127

5.4内存泄漏 127

5.4.1慎将内存当做缓存 127

5.4.2关注队列状态 130

5.5内存泄漏排查 130

5.5.1 node-heapdump 131

5.5.2 node-memwatch 132

5.5.3小结 135

5.6大内存应用 135

5.7总结 136

5.8参考资源 136

第6章 理解Buffer 137

6.1 Buffer结构 137

6.1.1模块结构 137

6.1.2 Buffer对象 138

6.1.3 Buffer内存分配 139

6.2 Buffer的转换 141

6.2.1字符串转Buffer 141

6.2.2 Buffer转字符串 142

6.2.3 Buffer不支持的编码类型 142

6.3 Buffer的拼接 143

6.3.1乱码是如何产生的 144

6.3.2 setEncoding()与string_decoder() 144

6.3.3正确拼接Buffer 145

6.4 Buffer与性能 146

6.5总结 149

6.6参考资源 149

第7章 网络编程 150

7.1构建TCP服务 150

7.1.1 TCP 150

7.1.2创建TCP服务器端 151

7.1.3 TCP服务的事件 153

7.2构建UDP服务 154

7.2.1创建UDP套接字 154

7.2.2创建UDP服务器端 154

7.2.3创建UDP客户端 155

7.2.4 UDP套接字事件 155

7.3构建HTTP服务 155

7.3.1 HTTP 156

7.3.2 http模块 157

7.3.3 HTTP客户端 161

7.4构建WebSocket服务 163

7.4.1 WebSocket握手 164

7.4.2 WebSocket数据传输 167

7.4.3小结 169

7.5网络服务与安全 169

7.5.1 TLS/SSL 170

7.5.2 TLS服务 172

7.5.3 HTTPS服务 173

7.6总结 175

7.7参考资源 176

第8章 构建Web应用 177

8.1基础功能 177

8.1.1请求方法 178

8.1.2路径解析 179

8.1.3查询字符串 180

8.1.4 Cookie 181

8.1.5 Session 184

8.1.6缓存 190

8.1.7 Basic认证 193

8.2数据上传 195

8.2.1表单数据 195

8.2.2其他格式 196

8.2.3附件上传 197

8.2.4数据上传与安全 199

8.3路由解析 201

8.3.1文件路径型 202

8.3.2 MVC 202

8.3.3 RESTful 207

8.4中间件 210

8.4.1异常处理 214

8.4.2中间件与性能 215

8.4.3小结 216

8.5页面渲染 217

8.5.1内容响应 217

8.5.2视图渲染 219

8.5.3模板 220

8.5.4 Bigpipe 231

8.6总结 235

8.7参考资源 235

第9章 玩转进程 236

9.1服务模型的变迁 236

9.1.1石器时代:同步 236

9.1.2青铜时代:复制进程 237

9.1.3白银时代:多线程 237

9.1.4黄金时代:事件驱动 237

9.2多进程架构 238

9.2.1创建子进程 239

9.2.2进程间通信 240

9.2.3句柄传递 242

9.2.4小结 247

9.3集群稳定之路 248

9.3.1进程事件 248

9.3.2自动重启 249

9.3.3负载均衡 254

9.3.4状态共享 255

9.4 Cluster模块 257

9.4.1 Cluster工作原理 258

9.4.2 Cluster事件 259

9.5总结 259

9.6参考资源 260

第10章 测试 261

10.1单元测试 261

10.1.1单元测试的意义 261

10.1.2单元测试介绍 263

10.1.3工程化与自动化 276

10.1.4小结 277

10.2性能测试 278

10.2.1基准测试 278

10.2.2压力测试 280

10.2.3基准测试驱动开发 281

10.2.4测试数据与业务数据的转换 283

10.3总结 284

10.4参考资源 284

第11章 产品化 285

11.1项目工程化 285

11.1.1目录结构 285

11.1.2构建工具 286

11.1.3编码规范 289

11.1.4代码审查 289

11.2部署流程 290

11.2.1部署环境 291

11.2.2部署操作 291

11.3性能 293

11.3.1动静分离 293

11.3.2启用缓存 294

11.3.3多进程架构 294

11.3.4读写分离 295

11.4日志 295

11.4.1访问日志 295

11.4.2异常日志 296

11.4.3日志与数据库 299

11.4.4分割日志 299

11.4.5小结 299

11.5监控报警 299

11.5.1监控 300

11.5.2报警的实现 302

11.5.3监控系统的稳定性 303

11.6稳定性 303

11.7异构共存 304

11.8总结 305

11.9参考资源 305

附录A 安装Node 306

A.1 Windows系统下的Node安装 306

A.2 Mac系统下Node的安装 307

A.3 Linux系统下Node的安装 308

A.4总结 309

A.5参考资源 309

附录B 调试Node 310

B.1 Debugger 310

B.2 Node Inspector 311

B.2.1安装Node Inspector 312

B.2.2错误堆栈 312

B.3总结 313

附录C Node编码规范 314

C.1根源 314

C.2编码规范 315

C.2.1空格与格式 315

C.2.2命名规范 317

C.2.3 比较操作 318

C.2.4字面量 318

C.2.5作用域 318

C.2.6数组与对象 319

C.2.7异步 320

C.2.8类与模块 320

C.2.9注解规范 321

C.3最佳实践 321

C.3.1冲突的解决原则 321

C.3.2给编辑器设置检测工具 321

C.3.3版本控制中的hook 322

C.3.4持续集成 322

C.4总结 322

C.5参考资源 323

附录D 搭建局域NPM仓库 324

D.1 NPM仓库的安装 325

D.1.1安装Erlang和CouchDB 325

D.1.2搭建NPM仓库 326

D.2高阶应用 328

D.2.1镜像仓库 328

D.2.2私有模块应用 328

D.2.3纯私有仓库 329

D.3总结 331

D.4参考资源 332

精品推荐