本书主要是介绍Node.js技术栈,内容涉及Node.js的基础知识、核心编程、网络编程、数据存储、综合应用等五大部分。其中综合应用部分,更是以一个真实的“新闻头条”互联网应用作为案例,可以令读者从0开始掌握Node.js
本书案例丰富、技术新颖,除了Node.js技术外,还讲述了Express、Socket.IO、Angular、MySQL、MongoDB、Redis等热门技术的应用。全书分为以下部分:? 基础知识(第1-3章):介绍Node.js的基础知识,包括模块化、测试等;核心编程(第4-9章):介绍Node.js的缓冲区、事件、定时、文件、进程、流等方面的处理;网络编程(第10-17章)介绍Node.js的TCP、UDP、HTTP、WebSocket、TSL/SSL、中间件、Angular、响应式编程等方面的内容;数据存储(第18-20章)介绍Node.js关于MySQL、MongoDB、Redis等数据存储的操作;综合应用(第21-22章)介绍Node.js实现“新闻头条”互联网应用的完整过程。
柳伟卫,关注编程、系统架构、性能优化。在 IT 公司担任多项目经理、架构师、高级开发顾问等职位,拥有数十年Java开发经验,具有丰富的软件开发管理及系统架构经验。主导及参与过多个省、国家级大型分布式系统的设计与研发,在实际工作中,积累了大量的分布式系统、微服务架构经验。是 CSDN、 开源中国、云栖社区等技术社区专家。已出版《分布式系统常用技术及案例分析》《Spring Boot 企业级应用开发实战》《Spring Cloud 微服务架构开发实战》《Spring 5开发大全》《Cloud Native分布式架构原理与实践》等专著。
第1章 Node.js概述?1
1.1 当前互联网应用的特征 2
1.2 Node.js简介 5
1.3 Node.js的特点 8
1.4 安装Node.js及IDE?12
1.5 实战:第一个Node.js应用 14
第2章 模块化?16
2.1 理解模块化机制 17
2.2 使用npm管理模块 22
2.3 核心模块 25
第3章 测试?26
3.1 使用断言 27
3.2 第三方测试工具 32
第4章 Buffer(缓冲区)?36
4.1 了解Buffer 37
4.2 创建缓冲区?39
4.3 切分缓冲区 42
4.4 连接缓冲区 43
4.5 比较缓冲区 44
4.6 缓冲区编解码 45
第5章 事件处理?48
5.1 理解事件和回调?49
5.2 事件发射器 50
5.3 事件类型 53
5.4 事件的操作 56
第6章 定时处理?60
6.1 定时处理常用类 61
6.2 定时调度 62
6.3 取消定时 65
第7章 文件处理?66
7.1 了解fs模块 67
7.2 处理文件路径?69
7.3 打开文件 72
7.4 实战:读取文件 75
7.5 实战:写入文件?78
第8章 进程?82
8.1 执行外部命令 83
8.2?子进程ChildProcess?88
8.3 终止进程 90
第9章 流?91
9.1 流概述 92
9.2 可读流 93
9.3 可写流 101
9.4 双工流与转换流 105
第10章 TCP?108
10.1 创建TCP服务器 109
10.2 监听连接 112
10.3 发送和接收数据 114
10.4 关闭TCP服务器 117
第11章 UDP?120
11.1 创建UDP服务器 121
11.2 监听连接 122
11.3 发送和接收数据 123
11.4 关闭UDP服务器 125
11.5 实战:UDP服务器的例子 126
第12章 HTTP?129
12.1 创建HTTP服务器 130
12.2 处理HTTP常用操作 132
12.3 请求对象和响应对象 133
12.4 REST概述 140
12.5 成熟度模型 142
1248
第13章 WebSocket?156
13.1 创建WebSocket服务器 157
13.2 监听连接 159
13.3 发送和接收数据 160
13.4 准备的状态 162
13.5 关闭WebSocket服务器 162
132
第14章 TLS/SSL?167
14.1 了解TLS/SSL 168
14.2 Node.js中的TLS/SSL 174
14.3 产生私钥 174
16
第15章 常用Web中间件?179
15.1 Express 180
15.2 Socket.IO 187
第16章 UI编程?192
16.1 常见UI框架 193
16.2 Angular的下载安装?196
16.3 Angular CLI的常用操作?196
1198
第17章 响应式编程?204
17.1 了解Observable机制 205
17.2 了解RxJS技术 211
17.3 了解Angular中的Observable 215
第18章 操作MySQL?219
18.1 下载安装MySQL 220
18.2 MySQL的基本操作 222
18.3 实战:使用Node.js操作MySQL 223
18.4 深入理解mysql模块 227
第19章 操作MongoDB?233
19.1 下载安装MongoDB 234
19.2 MongoDB的基本操作 237
19.3 实战:使用Node.js操作MongoDB 244
19.4 深入理解mongodb模块 247
第20章 操作Redis?267
20.1 下载安装Redis 268
20.2 Redis的数据类型及基本操作 270
20.3 实战:使用Node.js操作Redis?276
第21章 实战:“用户管理”客户端的实现?281
21.1 “用户管理”应用概述?282
21.2 修改AppComponent组件?285
21.3 实现用户编辑器?287
21.4 展示用户列表?293
21.5 多组件化开发?300
21.6 使用服务?303
21.7 使用路由?311
21.8 使用HTTP?326
第22章 实战:“用户管理”服务端的实现?343
22.1 服务端概述?344
22.2 创建REST API?346
22.3 客户端访问服务端 358
参考文献?366