图书介绍

深入浅出Node.jsPDF|Epub|txt|kindle电子书版本网盘下载

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

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用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 为什么是JavaScript2

1.2.2 为什么叫Node2

1.3 Node给JavaScript带来的意义2

1.4 Node的特点4

1.4.1 异步I/O4

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 包与NPM33

2.6.1 包结构34

2.6.2 包描述文件与NPM34

2.6.3 NPM常用功能37

2.6.4 局域NPM42

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/O47

3.1 为什么要异步I/O47

3.1.1 用户体验48

3.1.2 资源分配49

3.2 异步I/O实现现状50

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

3.2.2 理想的非阻塞异步I/O54

3.2.3 现实的异步I/O54

3.3 Node的异步I/O56

3.3.1事件循环56

3.3.2观察者56

3.3.3请求对象57

3.3.4执行回调59

3.3.5小结60

3.4非I/O的异步API60

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与V8112

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-heapdump131

5.5.2 node-memwatch132

5.5.3小结135

5.6大内存应用135

5.7总结136

5.8参考资源136

第6章 理解Buffer137

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字符串转Buffer141

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正确拼接Buffer145

6.4 Buffer与性能146

6.5总结149

6.6参考资源149

第7章 网络编程150

7.1构建TCP服务150

7.1.1 TCP150

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 HTTP156

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/SSL170

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 Cookie181

8.1.5 Session184

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 MVC202

8.3.3 RESTful207

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 Bigpipe231

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 安装Node306

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

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

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

A.4总结309

A.5参考资源309

附录B 调试Node310

B.1 Debugger310

B.2 Node Inspector311

B.2.1安装Node Inspector312

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版本控制中的hook322

C.3.4持续集成322

C.4总结322

C.5参考资源323

附录D 搭建局域NPM仓库324

D.1 NPM仓库的安装325

D.1.1安装Erlang和CouchDB325

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

热门推荐