图书介绍

Node.js高级编程PDF|Epub|txt|kindle电子书版本网盘下载

Node.js高级编程
  • (美)特谢拉著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302344414
  • 出版时间:2013
  • 标注页数:351页
  • 文件大小:169MB
  • 文件页数:368页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

热门推荐