注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)循序漸進Node.js企業(yè)級開發(fā)實踐

循序漸進Node.js企業(yè)級開發(fā)實踐

循序漸進Node.js企業(yè)級開發(fā)實踐

定 價:¥89.00

作 者: 柳偉衛(wèi)
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302675556 出版時間: 2024-12-01 包裝: 平裝
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  《循序漸進Node.js企業(yè)級開發(fā)實踐》結合作者多年一線開發(fā)實踐,系統(tǒng)地介紹了Node.js技術棧及其在企業(yè)級開發(fā)中的應用。全書共分5部分,第1部分基礎知識(第1~3章),介紹Node.js的基礎知識,包括模塊化、測試等;第2部分核心編程(第4~9章),介紹Node.js的緩沖區(qū)、事件、定時、文件、進程、流等方面的處理;第3部分網(wǎng)絡編程(第10~16章),介紹Node.js的TCP、UDP、HTTP、WebSocket、TSL/SSL、常用Web中間件、Vue.js與響應式編程等方面的內容;第4部分數(shù)據(jù)存儲(第17~19章),介紹Node.js關于MySQL、MongoDB、Redis等數(shù)據(jù)存儲的操作;第5部分綜合應用(第20章),介紹Node.js實現(xiàn)即時聊天應用的完整過程。除了Node.js技術外,本書還講述了Express、Socket.IO、Vue.js、MySQL、MongoDB、Redis等熱門技術的應用。本節(jié)還精心設計了26個實戰(zhàn)案例和43個上機練習,所有練習都提供了操作步驟,便于讀者實操演練,快速上手?!堆驖u進Node.js企業(yè)級開發(fā)實踐》技術新穎,實例豐富,理論講解與代碼實現(xiàn)相結合,既適合作為Node.js的初學者和進階讀者的自學用書,也適合作為培訓機構或高校相關專業(yè)的教學用書。

作者簡介

  柳偉衛(wèi),網(wǎng)名老衛(wèi)、waylau,在IT公司擔任過項目經(jīng)理、架構師、高級技術顧問等職位,擁有十余年開發(fā)經(jīng)驗,具有豐富的軟件開發(fā)管理及系統(tǒng)架構經(jīng)驗。主導過多個省、國家級大型分布式系統(tǒng)的設計與研發(fā),參與過面向全球的供應鏈系統(tǒng)服務化改造。在實際工作中,積累了大量的分布式系統(tǒng)、微 服務架構以及性能調優(yōu)經(jīng)驗。業(yè)余時間創(chuàng)建了 waylau.com 網(wǎng)站,用于分享個人技術心得。喜歡開源,長期躍于各大開源社區(qū),編著了《跟老衛(wèi)學HarmonyOS開發(fā)》《Netty 實戰(zhàn)(精髓)》等近30余本開源技術教程(見 https://waylau.com/books/),廣受網(wǎng)友好評,是 CSDN、 開源中國、阿里云開發(fā)者、華為開發(fā)者等技術社區(qū)專家,慕課網(wǎng)、華為開發(fā)者聯(lián)盟社區(qū)認證講師。已出版包括《HarmonyOS應用開發(fā)入門》《分布式系統(tǒng)常用技術及案例分析》《Java核心編程》《輕量級Java EE企業(yè)應用開發(fā)實戰(zhàn)》《Node.js Express MongoDB Vue.js全棧開發(fā)實戰(zhàn)》《循序漸進Spark大數(shù)據(jù)應用實踐》等在內的幾十本專著。

圖書目錄

第 1 章  走進Node.js的世界 1
1.1  認識Node.js 1
1.1.1  Node.js簡介 1
1.1.2  Node.js的特點 2
1.2  安裝Node.js及IDE 6
1.2.1  安裝Node.js和npm 6
1.2.2  Node.js與npm的關系 6
1.2.3  安裝npm鏡像 6
1.2.4  選擇合適的IDE 7
1.3  實戰(zhàn):第一個Node.js應用 7
1.3.1  創(chuàng)建Node.js應用 7
1.3.2  運行Node.js應用 7
1.3.3  小結 8
1.4  實戰(zhàn):在Node.js應用中使用TypeScript 8
1.4.1  創(chuàng)建TypeScript版本的Node.js應用 8
1.4.2  運行TypeScript應用 9
1.5  上機演練 9
1.6  本章小結 11
第 2 章  模塊化 12
2.1  理解模塊化機制 12
2.1.1  理解CommonJS規(guī)范 12
2.1.2  理解ECMAScript模塊 14
2.1.3  CommonJS和ECMAScript模塊的異同點 16
2.1.4  Node.js的模塊實現(xiàn) 16
2.2  使用npm管理模塊 18
2.2.1  使用npm命令安裝模塊 18
2.2.2  全局安裝與本地安裝 18
2.2.3  查看安裝信息 19
2.2.4  卸載模塊 19
2.2.5  更新模塊 19
2.2.6  搜索模塊 19
2.2.7  創(chuàng)建模塊 20
2.3  核心模塊 20
2.3.1  核心模塊介紹 20
2.3.2  實戰(zhàn):核心模塊fs的簡單示例 20
2.4  上機演練 21
2.5  本章小結 22
第 3 章  測試 23
3.1  使用斷言 23
3.1.1  什么是斷言測試 23
3.1.2  嚴格模式和遺留模式 24
3.1.3  實戰(zhàn):斷言的使用 25
3.1.4  了解AssertionError 27
3.1.5  實戰(zhàn):deepStrictEqual示例 27
3.2  第三方測試工具 29
3.2.1  Nodeunit 30
3.2.2  Mocha 31
3.2.3  Vows 31
3.3  上機演練 33
練習一:使用Node.js的斷言功能進行簡單的單元測試 33
練習二:使用.js的AssertionError 34
練習三:使用Node.js的第三方測試工具 34
3.4  本章小結 35
第 4 章  緩沖區(qū) 36
4.1  了解緩沖區(qū) 36
4.1.1  了解TypedArray 36
4.1.2  Buffer類 37
4.2  創(chuàng)建緩沖區(qū) 38
4.2.1  初始化緩沖區(qū)的API 39
4.2.2  理解數(shù)據(jù)的安全性 39
4.2.3  啟用零填充 40
4.2.4  指定字符編碼 40
4.3  切分緩沖區(qū) 41
4.4  連接緩沖區(qū) 42
4.5  比較緩沖區(qū) 43
4.6  緩沖區(qū)編解碼 44
4.6.1  解碼器和編碼器 44
4.6.2  緩沖區(qū)解碼 44
4.6.3  緩沖區(qū)編碼 45
4.7  上機演練 46
練習一:創(chuàng)建緩沖區(qū) 46
練習二:切分緩沖區(qū) 46
練習三:連接緩沖區(qū) 47
練習四:緩沖區(qū)編解碼 47
4.8  本章小結 48
第 5 章  事件處理 49
5.1  理解事件和回調 49
5.1.1  事件循環(huán) 50
5.1.2  事件驅動 50
5.2  事件發(fā)射器 51
5.2.1  將參數(shù)和this傳遞給監(jiān)聽器 51
5.2.2  異步與同步 52
5.2.3  僅處理事件一次 52
5.3  事件類型 53
5.3.1  事件類型的定義 53
5.3.2  內置的事件類型 54
5.3.3  error事件 54
5.4  事件的操作 56
5.4.1  實戰(zhàn):設置最大監(jiān)聽器 56
5.4.2  實戰(zhàn):獲取已注冊的事件的名稱 56
5.4.3  實戰(zhàn):獲取監(jiān)聽器數(shù)組的副本 57
5.4.4  實戰(zhàn):將事件監(jiān)聽器添加到監(jiān)聽器數(shù)組的開頭 57
5.4.5  實戰(zhàn):移除監(jiān)聽器 58
5.5  上機演練 60
5.6  本章小結 61
第 6 章  定時處理 62
6.1  定時處理常用類 62
6.1.1  Immediate 62
6.1.2  Timeout 63
6.2  定時調度 64
6.2.1  setImmediate 64
6.2.2  setInterval 65
6.2.3  setTimeout 65
6.2.4  setInterval和setTimeout的異同 66
6.3  取消定時 67
6.4  上機演練 69
6.5  本章小結 70
第 7 章  文件處理 71
7.1  了解node:fs模塊 71
7.1.1  同步與異步操作文件 71
7.1.2  文件描述符 73
7.2  處理文件路徑 74
7.2.1  字符串形式的路徑 74
7.2.2  Buffer形式的路徑 74
7.2.3  URL對象的路徑 75
7.3  打開文件 76
7.3.1  文件系統(tǒng)標志 77
7.3.2  實戰(zhàn):打開當前目錄下的文件 78
7.4  實戰(zhàn):讀取文件 79
7.4.1  fs.read 79
7.4.2  fs.readdir 80
7.4.3  fs.readFile 80
7.5  實戰(zhàn):寫入文件 82
7.5.1  將buffer寫入文件 82
7.5.2  將字符串寫入文件 83
7.5.3  將數(shù)據(jù)寫入文件 84
7.6  上機演練 85
7.7  本章小結 86
第 8 章  進程 87
8.1  執(zhí)行外部命令 87
8.1.1  spawn() 87
8.1.2  exec() 89
8.1.3  execFile() 90
8.2  子進程ChildProcess 92
8.2.1  生成子進程 92
8.2.2  進程間通信 92
8.3  終止進程 94
8.4  上機演練 94
練習一:執(zhí)行外部命令 94
練習二:進程間通信 95
練習三:終止進程 95
8.5  本章小結 96
第 9 章  流 97
9.1  流的概述 97
9.1.1  流的類型 97
9.1.2  對象模式 97
9.1.3  流中的緩沖區(qū) 98
9.2  可讀流 98
9.2.1  stream.Readable類事件 99
9.2.2  stream.Readable類方法 101
9.2.3  異步迭代器 104
9.2.4  兩種讀取模式 105
9.3  可寫流 105
9.3.1  stream.Writable類事件 106
9.3.2  stream.Writable類方法 107
9.4  雙工流與轉換流 110
9.4.1  實現(xiàn)雙工流 110
9.4.2  實戰(zhàn):雙工流的例子 110
9.4.3  對象模式的雙工流 111
9.4.4  實現(xiàn)轉換流 112
9.5  上機演練 112
練習一:使用可讀流讀取文件 112
練習二:使用可寫流寫入文件 113
練習三:實現(xiàn)一個簡單的雙工流 113
9.6  本章小結 114
第 10 章  TCP 115
10.1  創(chuàng)建TCP服務器 115
10.1.1  了解TCP 115
10.1.2  了解socket 116
10.1.3  node:net模塊 117
10.1.4  實戰(zhàn):創(chuàng)建TCP服務器 117
10.2  監(jiān)聽連接 118
10.2.1  server.listen(handle[, backlog][, callback]) 119
10.2.2  server.listen(options[, callback]) 119
10.3  發(fā)送和接收數(shù)據(jù) 120
10.3.1  創(chuàng)建socket對象 120
10.3.2  創(chuàng)建socket對象來發(fā)送和接收數(shù)據(jù) 121
10.3.3  實戰(zhàn):TCP服務器的例子 121
10.4  關閉TCP服務器 122
10.4.1  socket.end() 123
10.4.2  server.close() 124
10.5  上機演練 125
練習一:創(chuàng)建TCP服務器 125
練習二:發(fā)送和接收數(shù)據(jù) 126
練習三:關閉TCP服務器 127
10.6  本章小結 128
第 11 章  UDP 129
11.1  創(chuàng)建UDP服務器 129
11.1.1  了解UDP 129
11.1.2  TCP與UDP的區(qū)別 130
11.1.3  實戰(zhàn):創(chuàng)建UDP服務器 130
11.2  監(jiān)聽連接 131
11.3  發(fā)送和接收數(shù)據(jù) 131
11.3.1  message事件 131
11.3.2  socket.send()方法 132
11.4  關閉UDP服務器 133
11.5  實戰(zhàn):UDP服務器通信 134
11.5.1  UDP服務器 134
11.5.2  UDP客戶端 135
11.5.3  運行應用 135
11.6  上機演練 136
練習一:創(chuàng)建UDP服務器 136
練習二:發(fā)送和接收數(shù)據(jù) 137
練習三:關閉UDP服務器 137
11.7  本章小結 138
第 12 章  HTTP 139
12.1  創(chuàng)建HTTP服務器 139
12.1.1  使用http.Server類創(chuàng)建服務器 139
12.1.2  http.Server事件 140
12.2  處理HTTP的常用操作 142
12.3  請求對象和響應對象 142
12.3.1  http.ClientRequest類 142
12.3.2  http.ServerResponse類 146
12.4  REST概述 149
12.4.1  REST定義 149
12.4.2  REST設計原則 150
12.5  成熟度模型 151
12.5.1  第0級:使用HTTP作為傳輸方式 151
12.5.2  第1級:引入資源的概念 153
12.5.3  第2級:根據(jù)語義使用HTTP動詞 153
12.5.4  第3級:使用HATEOAS 155
12.6  實戰(zhàn):構建REST服務 157
12.6.1  新增用戶 157
12.6.2  修改用戶 158
12.6.3  刪除用戶 159
12.6.4  響應請求 160
12.6.5  運行應用 161
12.7  上機演練 163
練習一:創(chuàng)建一個簡單的HTTP服務器 163
練習二:實現(xiàn)一個簡單的RESTful API服務 164
12.8  本章小結 165
第 13 章  WebSocket 166
13.1  創(chuàng)建WebSocket服務器 166
13.1.1  常見的Web推送技術 166
13.1.2  使用ws創(chuàng)建WebSokcet服務器 168
13.2  監(jiān)聽連接 168
13.3  發(fā)送和接收數(shù)據(jù) 169
13.3.1  發(fā)送數(shù)據(jù) 169
13.3.2  發(fā)送ping和pong 170
13.3.3  接收數(shù)據(jù) 170
13.4  準備的狀態(tài) 171
13.5  關閉WebSocket服務器 171
13.6  實戰(zhàn):WebSocket聊天服務器 171
13.6.1  聊天服務器的需求 172
13.6.2  服務器的實現(xiàn) 172
13.6.3  客戶端的實現(xiàn) 173
13.6.4  運行應用 174
13.7  上機演練 175
練習一:創(chuàng)建一個簡單的WebSocket服務器 175
練習二:實現(xiàn)一個簡單的聊天室功能 176
練習三:實現(xiàn)客戶端與服務器的實時通信 177
13.8  本章小結 178
第 14 章  TLS/SSL 179
14.1  了解TLS/SSL 179
14.1.1  加密算法 179
14.1.2  安全通道 182
14.1.3  TLS/SSL握手過程 182
14.1.4  HTTPS 185
14.2  Node.js中的TLS/SSL 186
14.3  產(chǎn)生私鑰 186
14.4  實戰(zhàn):構建TLS服務器和客戶端 187
14.4.1  構建TLS服務器 187
14.4.2  構建TLS客戶端 188
14.4.3  運行應用 189
14.5  上機演練 190
練習一:生成自簽名SSL證書和私鑰 190
練習二:構建TLS服務器和客戶端 191
14.6  本章小結 192
第 15 章  常用Web中間件 193
15.1  Express 193
15.1.1  安裝Express 193
15.1.2  實戰(zhàn):編寫“Hello World”應用 195
15.1.3  運行“Hello World”應用 195
15.1.4  實戰(zhàn):使用Express構建REST API 195
15.1.5  測試Express的REST API 198
15.2  Socket.IO 201
15.2.1  Socket.IO的主要特點 201
15.2.2  安裝Socket.IO 202
15.2.3  實戰(zhàn):編寫Socket.IO服務器 203
15.2.4  實戰(zhàn):編寫Socket.IO客戶端 204
15.2.5  運行應用 205
15.3  上機演練 206
練習一:使用Express構建REST服務 206
練習二:使用Socket.IO實現(xiàn)一個簡單的實時聊天應用 207
15.4  本章小結 209
第 16 章  Vue.js與響應式編程 210
16.1  常見UI框架Vue.js 210
16.1.1  Vue.js與jQuery的不同 210
16.1.2  Vue.js的下載和安裝 212
16.1.3  實戰(zhàn):創(chuàng)建Vue.js應用 214
16.2  了解Observable機制 217
16.2.1  了解Observable的基本概念 218
16.2.2  定義觀察者 218
16.2.3  執(zhí)行訂閱 219
16.2.4  創(chuàng)建Observable對象 220
16.2.5  實現(xiàn)多播 221
16.2.6  處理錯誤 223
16.3  了解RxJS技術 224
16.3.1  創(chuàng)建Observable對象的函數(shù) 224
16.3.2  了解操作符 225
16.3.3  處理錯誤 226
16.4  了解Vue.js中的reactive 227
16.5  上機演練 229
練習一:探索Vue.js與jQuery的不同 229
練習二:使用create-vue創(chuàng)建并運行Vue.js應用 231
練習三:理解Vue.js中的響應式和Observable機制 231
16.6  本章小結 232
第 17 章  操作MySQL 233
17.1  下載安裝MySQL 233
17.1.1  下載安裝包 233
17.1.2  解壓安裝包 233
17.1.3  創(chuàng)建my.ini 234
17.1.4  初始化安裝 234
17.1.5  啟動MySQL Server 234
17.1.6  使用MySQL客戶端 235
17.1.7  關閉MySQL Server 235
17.2  MySQL的基本操作 236
17.3  實戰(zhàn):使用Node.js操作MySQL 237
17.3.1  安裝mysql模塊 237
17.3.2  實現(xiàn)簡單的查詢 239
17.3.3  運行應用 239
17.4  深入理解mysql模塊 242
17.4.1  建立連接 242
17.4.2  連接選項 243
17.4.3  關閉連接 244
17.4.4  執(zhí)行CURD 245
17.5  上機演練 247
練習一:安裝并配置MySQL 247
練習二:使用Node.js操作MySQL進行基本數(shù)據(jù)庫操作 248
練習三:深入理解mysql模塊的使用 250
17.6  本章小結 251
第 18 章  操作MongoDB 252
18.1  安裝MongoDB 252
18.1.1  MongoDB簡介 252
18.1.2  下載和安裝MongoDB 253
18.1.3  啟動MongoDB服務 254
18.1.4  連接到MongoDB服務器 254
18.2  MongoDB的基本操作 255
18.2.1  顯示已有的數(shù)據(jù)庫 255
18.2.2  創(chuàng)建和使用數(shù)據(jù)庫 255
18.2.3  插入文檔 256
18.2.4  查詢文檔 259
18.2.5  修改文檔 264
18.2.6  刪除文檔 269
18.3  實戰(zhàn):使用Node.js操作MongoDB 270
18.3.1  安裝mongodb模塊 270
18.3.2  實現(xiàn)訪問MongoDB 272
18.3.3  運行應用 272
18.4  深入理解mongodb模塊 273
18.4.1  建立連接 273
18.4.2  插入文檔 273
18.4.3  查找文檔 274
18.4.4  修改文檔 276
18.4.5  刪除文檔 277
18.5  上機演練 278
練習一:安裝MongoDB并連接查看數(shù)據(jù)庫 278
練習二:在Node.js應用中操作MongoDB 278
練習三:深入理解Node.js中的mongodb模塊操作 279
18.6  本章小結 280
第 19 章  操作Redis 281
19.1  下載和安裝Redis 281
19.1.1  Redis簡介 281
19.1.2  在Linux平臺上安裝Redis 282
19.1.3  在Windows平臺上安裝Redis 283
19.2  Redis的數(shù)據(jù)類型及基本操作 284
19.2.1  Redis key 284
19.2.2  Redis String 285
19.2.3  修改和查詢key空間 286
19.2.4  Redis超時 287
19.2.5  Redis List 287
19.2.6  使用Redis List的第一步 288
19.2.7  List常見的用例 289
19.2.8  限制列表 289
19.3  實戰(zhàn):使用Node.js操作Redis 290
19.3.1  安裝redis模塊 290
19.3.2  實現(xiàn)訪問Redis 291
19.3.3  運行應用 292
19.4  上機演練 293
練習一:安裝Redis并測試連接 293
練習二:使用Redis存儲和檢索數(shù)據(jù) 293
練習三:使用Redis List實現(xiàn)消息隊列 294
19.5  本章小結 295
第 20 章  綜合實戰(zhàn):基于WebSocket的即時聊天應用 296
20.1  應用概述 296
20.2  實現(xiàn)后臺服務器 297
20.2.1  初始化websocket-chat 297
20.2.2  訪問靜態(tài)文件資源 298
20.2.3  事件處理 299
20.3  實現(xiàn)前臺客戶端 300
20.3.1  頁面HTML及樣式設計 300
20.3.2  業(yè)務邏輯 302
20.4  運行效果 309
20.5  上機演練 313
練習一:初始化WebSocket聊天應用 313
練習二:配置靜態(tài)文件服務和事件處理 314
練習三:完善前臺客戶端 315
20.6  本章小結 316
參考文獻 317

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號