图书介绍
Node.js高级编程PDF|Epub|txt|kindle电子书版本网盘下载
![Node.js高级编程](https://www.shukui.net/cover/78/35098549.jpg)
- (美)特谢拉著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302344414
- 出版时间:2013
- 标注页数:351页
- 文件大小:169MB
- 文件页数:368页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Node.js高级编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 概述和安装3
第1章 安装Node3
1.1在Windows上安装Node4
1.2在MAC OS X上安装Node6
1.3使用源代码安装Node7
1.3.1选择Node的版本7
1.3.2下载Node源代码7
1.3.3编译Node8
1.3.4安装Node8
1.3.5运行Node8
1.4安装和应用Node包管理器9
1.5本章小结14
第2章 Node简介15
2.1事件驱动编程风格介绍16
2.2 Node和JavaScript如何简化异步应用程序的编写17
2.2.1什么是闭包17
2.2.2闭包如何辅助异步编程18
2.3本章小结19
第Ⅱ部分 Node核心API基础23
第3章 加载模块23
3.1理解Node如何加载模块24
3.2导出模块24
3.3加载模块25
3.3.1加载核心模块25
3.3.2加载文件模块26
3.3.3加载文件夹模块26
3.3.4从node modules文件夹加载26
3.3.5缓存模块27
3.4本章小结28
第4章 应用缓冲区处理、编码和解码二进制数据29
4.1创建缓冲区30
4.2在缓冲区中获取和设置数据30
4.3切分缓冲区31
4.4复制缓冲区32
4.5缓冲区解码32
4.6本章小结33
第5章 使用事件发射器模式简化事件绑定35
5.1理解标准回调模式35
5.2理解事件发射器模式36
5.3理解事件类型37
5.4应用事件发生器API38
5.4.1使用.addListener()或.on()绑定回调函数38
5.4.2绑定多个事件监听器39
5.4.3使用.removeListener()从事件发射器中删除一个事件监听器40
5.4.4使用.once()使回调函数最多执行一次40
5.4.5使用.removeAllisteners()从事件发射器删除所有事件监听器41
5.5创建事件发射器41
5.5.1从Node事件发射器继承41
5.5.2发射事件42
5.6本章小结42
第6章 使用定时器制定函数执行计划45
6.1使用setTimeout推迟函数执行46
6.2使用clearTimeout取消函数执行46
6.3制定和取消函数的重复执行计划47
6.4使用process.nextTick将函数执行推迟到下一轮事件循环47
6.5阻塞事件循环48
6.6退出事件循环49
6.7使用setTimeout代替setInterval强制函数串行执行49
6.8本章小结50
第Ⅲ部分 文件、进程、流和网络53
第7章 查询和读写文件53
7.1处理文件路径54
7.1.1规范化路径54
7.1.2连接路径54
7.1.3解析路径55
7.1.4查找两个绝对路径之间的相对路径55
7.1.5提取路径的组成部分55
7.1.6确定路径是否存在56
7.2 fs模块简介57
7.3打开文件58
7.4读取文件58
7.4.1写入文件59
7.4.2关闭文件60
7.5本章小结62
第8章 创建和控制外部进程63
8.1执行外部命令63
8.2生成子进程68
8.2.1创建子进程68
8.2.2监听子进程的输出数据69
8.2.3向子进程发送数据69
8.2.4当子进程退出时获得通知71
8.3向进程发送信号并终止进程72
8.4本章小结73
第9章 读写数据流75
9.1使用可读流76
9.1.1等待数据76
9.1.2暂停与恢复流76
9.1.3了解流何时终止77
9.2使用可写流77
9.2.1将数据写入流77
9.2.2等待流被清空78
9.3考虑几个流的例子78
9.3.1创建文件系统流78
9.3.2理解网络流80
9.4避免慢客户端问题以及80
挽救服务器80
9.4.1理解慢客户端问题80
9.4.2避免慢客户端问题81
9.4.3应用stream pipe()避免慢客户端问题与使用pipe()集成可读流和可写流81
9.5本章小结82
第10章 构建TCP服务器83
10.1创建TCP服务器83
10.1.1应用套接字对象85
10.1.2理解空闲套接字86
10.1.3设置保持运行87
10.1.4应用延时或非延时87
10.1.5监听连接88
10.1.6关闭服务器88
10.1.7处理错误88
10.2构建一个简单的TCP聊天服务器89
10.2.1接受连接89
10.2.2从连接中读取数据89
10.2.3聚合所有客户端90
10.2.4广播数据91
10.2.5删除被关闭的连接91
10.2.6使用TCP聊天服务器92
10.3本章小结93
第11章 构建HTTP服务器95
11.1理解http.ServerRequest对象96
11.2理解http.ServerResponse对象98
11.2.1写入响应头98
11.2.2修改或设置响应头98
11.2.3删除响应头99
11.2.4写入一块响应主体99
11.3以流的形式传送HTTP分块响应99
11.3.1传送文件99
11.3.2传送其他进程的输出100
11.4关闭服务器100
11.5示例1:构建提交静态文件的服务器101
11.6示例2:使用HTTP分块响应和定时器102
11.7本章小结102
第12章 构建TCP客户端103
12.1连接服务器104
12.2发送和接收数据104
12.3终止连接105
12.4处理错误106
12.5创建命令行TCP客户端的示例106
12.5.1连接服务器107
12.5.2向服务器发送命令行107
12.5.3打印服务器消息107
12.5.4在连接终止时重新连接108
12.5.5关闭连接110
12.5.6前述内容综合111
12.6本章小结112
第13章 创建HTTP请求113
13.1创建GET请求113
13.2使用其他HTTP动词114
13.2.1查看响应对象115
13.2.2获取响应主体116
13.2.3以流的方式传送响应主体116
13.3使用HTTP.Agent维护套接字池116
13.4应用第三方请求模块简化HTTP请求118
13.4.1安装和应用request模块118
13.4.2创建测试服务器119
13.4.3跟随重定向121
13.4.4设置请求选项122
13.4.5对请求体进行编码125
13.4.6 流式传送126
13.4.7使用Cookie Jar127
13.5本章小结127
第14章 使用用户数据报129
14.1理解用户数据报129
14.2理解用户数据报的使用130
14.3构建数据报服务器130
14.3.1监听消息130
14.3.2测试服务器131
14.3.3查看附加的消息信息132
14.4创建简单的数据报回送服务器132
14.4.1等待消息132
14.4.2向发送端发回消息132
14.4.3前述内容综合133
14.5构建数据报客户端133
14.5.1创建客户端134
14.5.2发送消息134
14.5.3关闭套接字134
14.6创建一个简单的数据报命令行客户端134
14.6.1读取命令行135
14.6.2向服务器发送数据135
14.6.3从服务器接收数据135
14.6.4前述内容综合136
14.7理解和使用数据报多播136
14.7.1接收多播消息137
14.7.2发送多播消息137
14.7.3理解数据报最大容量138
14.8本章小结138
第15章 用TLS/SSL保证服务器的安全性139
15.1理解私钥和公钥139
15.1.1产生私钥140
15.1.2产生公钥140
15.2构建TLS服务器140
15.2.1初始化服务器141
15.2.2监听连接141
15.2.3从客户端读取数据142
15.2.4向客户端发送数据142
15.2.5终止连接142
15.3构建TLS客户端142
15.3.1初始化客户端143
15.3.2连接服务器143
15.3.3验证服务器证书143
15.3.4向服务器发送数据144
15.3.5从服务器读取数据144
15.3.6终止连接144
15.4创建几个示例144
15.4.1创建TLS聊天服务器145
15.4.2创建TLS命令行聊天客户端146
15.4.3验证客户端证书147
15.5本章小结148
第16章 用HTTPS保证HTTP服务器的安全性149
16.1构建安全的HTTP服务器149
16.1.1设置服务器选项150
16.1.2监听连接150
16.1.3验证HTTPS客户端证书151
16.2创建HTTPS客户端152
16.2.1初始化客户端152
16.2.2创建请求152
16.2.3验证HTTPS服务器证书153
16.3本章小结154
第Ⅳ部分 构建与调试模块及应用程序157
第17章 测试模块及应用程序157
17.1应用测试运行工具157
17.1.1编写测试158
17.1.2运行测试159
17.2使用断言测试模块159
17.2.1使用断言模块159
17.2.2使用Node-Tap中的内置断言函数161
17.3测试异步模块163
17.4本章小结166
第18章 调试模块及应用程序167
18.1使用console.log167
18.2使用Node内置调试器169
18.3使用Node检查器173
18.4本章小结175
第19章 控制回调流程177
19.1理解飞去来器效应177
19.2通过声明函数避免飞去来器效应179
19.3使用ASYNC流程控制库183
19.3.1串行执行184
19.3.2并行执行185
19.3.3连续传递186
19.3.4排队187
19.3.5迭代189
19.3.6映射190
19.3.7规约191
19.3.8过滤192
19.3.9检测193
19.4本章小结194
第Ⅴ部分 构建Web应用程序197
第20章 构建和使用HTTP中间件197
20.1理解Connect HTTP中间件框架198
20.2构建自定义HTTP中间件198
20.2.1创建异步中间件199
20.2.2在中间件内部注册回调函数201
20.2.3在中间件内处理错误202
20.3使用捆绑在Connect中的HTTP中间件206
20.3.1记录请求206
20.3.2处理错误208
20.3.3提交静态文件209
20.3.4解析查询字符串210
20.3.5解析请求主体211
20.3.6解析Cookies212
20.3.7使用会话213
20.3.8其他可用的中间件216
20.4本章小结216
第21章 用Express.js创建Web应用程序217
21.1初始化Express.js应用程序218
21.2在应用程序中设置中间件220
21.3路由请求222
21.3.1处理路由222
21.3.2使用会话229
21.3.3使用路由中间件234
21.4本章小结238
第22章 使用Socket.IO创建通用的实时Web应用程序241
22.1理解WebSockets如何工作242
22.2使用Socket.IO创建WebSocket应用程序243
22.2.1在服务器上安装和运行Socket.IO243
22.2.2使用Socket.IO创建实时网络聊天应用程序245
22.2.3扩展聊天应用程序250
22.2.4检测连接断开253
22.2.5将用户分隔到聊天室中255
22.2.6使用名称空间259
22.2.7使用Redis分布运行服务器端应用程序260
22.3本章小结263
第Ⅵ部分 连接数据库267
第23章 使用node-mysql连接MySQL数据库267
23.1应用库与MySQL数据库进行连接和通信267
23.2向数据库添加数据时请记住安全性269
23.3高效读取数据272
23.4本章小结276
第24章 使用Nano连接CouchDB数据库277
24.1安装Nano278
24.2连接和创建数据库281
24.3存储文档285
24.4创建和使用CouchDB视图286
24.5将文件附加到CouchDB文档上299
24.6本章小结312
第25章 使用 Mongoose连接MongoDB数据库313
25.1安装Mongoose315
25.2理解Mongoose如何使用模型封装对数据库的访问315
25.3连接MongoDB数据库316
25.4定义模式316
25.5定义模型316
25.5.1使用验证器326
25.5.2使用修改器332
25.5.3使用取值器333
25.5.4使用虚拟属性334
25.5.5使用默认值340
25.5.6定义索引341
25.5.7使用DB Refs引用其他文档343
25.5.8定义实例方法349
25.5.9定义静态方法350
25.6本章小结351