Node.js企業(yè)級應(yīng)用開發(fā)實(shí)戰(zhàn)
本書主要是介紹Node.js技術(shù)棧,內(nèi)容涉及Node.js的基礎(chǔ)知識、核心編程、網(wǎng)絡(luò)編程、數(shù)據(jù)存儲、綜合應(yīng)用等五大部分。其中綜合應(yīng)用部分,更是以一個真實(shí)的“新聞頭條”互聯(lián)網(wǎng)應(yīng)用作為案例,可以令讀者從0開始掌握Node.js
本書案例豐富、技術(shù)新穎,除了Node.js技術(shù)外,還講述了Express、Socket.IO、Angular、MySQL、MongoDB、Redis等熱門技術(shù)的應(yīng)用。全書分為以下部分:? 基礎(chǔ)知識(第1-3章):介紹Node.js的基礎(chǔ)知識,包括模塊化、測試等;核心編程(第4-9章):介紹Node.js的緩沖區(qū)、事件、定時、文件、進(jìn)程、流等方面的處理;網(wǎng)絡(luò)編程(第10-17章)介紹Node.js的TCP、UDP、HTTP、WebSocket、TSL/SSL、中間件、Angular、響應(yīng)式編程等方面的內(nèi)容;數(shù)據(jù)存儲(第18-20章)介紹Node.js關(guān)于MySQL、MongoDB、Redis等數(shù)據(jù)存儲的操作;綜合應(yīng)用(第21-22章)介紹Node.js實(shí)現(xiàn)“新聞頭條”互聯(lián)網(wǎng)應(yīng)用的完整過程。
柳偉衛(wèi),關(guān)注編程、系統(tǒng)架構(gòu)、性能優(yōu)化。在 IT 公司擔(dān)任多項(xiàng)目經(jīng)理、架構(gòu)師、高級開發(fā)顧問等職位,擁有數(shù)十年Java開發(fā)經(jīng)驗(yàn),具有豐富的軟件開發(fā)管理及系統(tǒng)架構(gòu)經(jīng)驗(yàn)。主導(dǎo)及參與過多個省、國家級大型分布式系統(tǒng)的設(shè)計與研發(fā),在實(shí)際工作中,積累了大量的分布式系統(tǒng)、微服務(wù)架構(gòu)經(jīng)驗(yàn)。是 CSDN、 開源中國、云棲社區(qū)等技術(shù)社區(qū)專家。已出版《分布式系統(tǒng)常用技術(shù)及案例分析》《Spring Boot 企業(yè)級應(yīng)用開發(fā)實(shí)戰(zhàn)》《Spring Cloud 微服務(wù)架構(gòu)開發(fā)實(shí)戰(zhàn)》《Spring 5開發(fā)大全》《Cloud Native分布式架構(gòu)原理與實(shí)踐》等專著。
第1章 Node.js概述?1
1.1 當(dāng)前互聯(lián)網(wǎng)應(yīng)用的特征 2
1.2 Node.js簡介 5
1.3 Node.js的特點(diǎn) 8
1.4 安裝Node.js及IDE?12
1.5 實(shí)戰(zhàn):第一個Node.js應(yīng)用 14
第2章 模塊化?16
2.1 理解模塊化機(jī)制 17
2.2 使用npm管理模塊 22
2.3 核心模塊 25
第3章 測試?26
3.1 使用斷言 27
3.2 第三方測試工具 32
第4章 Buffer(緩沖區(qū))?36
4.1 了解Buffer 37
4.2 創(chuàng)建緩沖區(qū)?39
4.3 切分緩沖區(qū) 42
4.4 連接緩沖區(qū) 43
4.5 比較緩沖區(qū) 44
4.6 緩沖區(qū)編解碼 45
第5章 事件處理?48
5.1 理解事件和回調(diào)?49
5.2 事件發(fā)射器 50
5.3 事件類型 53
5.4 事件的操作 56
第6章 定時處理?60
6.1 定時處理常用類 61
6.2 定時調(diào)度 62
6.3 取消定時 65
第7章 文件處理?66
7.1 了解fs模塊 67
7.2 處理文件路徑?69
7.3 打開文件 72
7.4 實(shí)戰(zhàn):讀取文件 75
7.5 實(shí)戰(zhàn):寫入文件?78
第8章 進(jìn)程?82
8.1 執(zhí)行外部命令 83
8.2?子進(jìn)程ChildProcess?88
8.3 終止進(jìn)程 90
第9章 流?91
9.1 流概述 92
9.2 可讀流 93
9.3 可寫流 101
9.4 雙工流與轉(zhuǎn)換流 105
第10章 TCP?108
10.1 創(chuàng)建TCP服務(wù)器 109
10.2 監(jiān)聽連接 112
10.3 發(fā)送和接收數(shù)據(jù) 114
10.4 關(guān)閉TCP服務(wù)器 117
第11章 UDP?120
11.1 創(chuàng)建UDP服務(wù)器 121
11.2 監(jiān)聽連接 122
11.3 發(fā)送和接收數(shù)據(jù) 123
11.4 關(guān)閉UDP服務(wù)器 125
11.5 實(shí)戰(zhàn):UDP服務(wù)器的例子 126
第12章 HTTP?129
12.1 創(chuàng)建HTTP服務(wù)器 130
12.2 處理HTTP常用操作 132
12.3 請求對象和響應(yīng)對象 133
12.4 REST概述 140
12.5 成熟度模型 142
1248
第13章 WebSocket?156
13.1 創(chuàng)建WebSocket服務(wù)器 157
13.2 監(jiān)聽連接 159
13.3 發(fā)送和接收數(shù)據(jù) 160
13.4 準(zhǔn)備的狀態(tài) 162
13.5 關(guān)閉WebSocket服務(wù)器 162
132
第14章 TLS/SSL?167
14.1 了解TLS/SSL 168
14.2 Node.js中的TLS/SSL 174
14.3 產(chǎn)生私鑰 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章 響應(yīng)式編程?204
17.1 了解Observable機(jī)制 205
17.2 了解RxJS技術(shù) 211
17.3 了解Angular中的Observable 215
第18章 操作MySQL?219
18.1 下載安裝MySQL 220
18.2 MySQL的基本操作 222
18.3 實(shí)戰(zhàn):使用Node.js操作MySQL 223
18.4 深入理解mysql模塊 227
第19章 操作MongoDB?233
19.1 下載安裝MongoDB 234
19.2 MongoDB的基本操作 237
19.3 實(shí)戰(zhàn):使用Node.js操作MongoDB 244
19.4 深入理解mongodb模塊 247
第20章 操作Redis?267
20.1 下載安裝Redis 268
20.2 Redis的數(shù)據(jù)類型及基本操作 270
20.3 實(shí)戰(zhàn):使用Node.js操作Redis?276
第21章 實(shí)戰(zhàn):“用戶管理”客戶端的實(shí)現(xiàn)?281
21.1 “用戶管理”應(yīng)用概述?282
21.2 修改AppComponent組件?285
21.3 實(shí)現(xiàn)用戶編輯器?287
21.4 展示用戶列表?293
21.5 多組件化開發(fā)?300
21.6 使用服務(wù)?303
21.7 使用路由?311
21.8 使用HTTP?326
第22章 實(shí)戰(zhàn):“用戶管理”服務(wù)端的實(shí)現(xiàn)?343
22.1 服務(wù)端概述?344
22.2 創(chuàng)建REST API?346
22.3 客戶端訪問服務(wù)端 358
參考文獻(xiàn)?366