3dwoo大學簡體電腦書店
Node.js開發指南
( 簡體 字)
作者:李鍇類別:1. -> 程式設計 -> 網路編程 -> Node.js
出版社:人民郵電出版社Node.js開發指南 3dWoo書號: 53855
詢問書籍請說出此書號!
有庫存
NT售價: 300
出版日:12/1/2020
頁數:244
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787115542373 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章 概述 1
1.1 了解Node.js 1
1.2 安裝 1
1.2.1 源代碼安裝 2
1.2.2 驗證安裝 2
1.3 hello world 3
1.4 其他準備工作 3
1.4.1 準備一個開發環境 4
1.4.2 準備一份源代碼 4
1.4.3 準備一個類Linux環境 4
1.4.4 熟悉控制臺 4
1.4.5 準備一份文檔 5
第2章 了解npm 6
2.1 package.json 7
2.1.1 生成package.json 7
2.1.2 第三方模塊 8
2.2 使用npm install 8
2.3 node_modules 10
2.4 控制模塊版本 11
2.4.1 子模塊的版本 12
2.4.2 package-lock.json 12
2.5 使用npm構建項目 13
2.6 關于版本升級 15
小結 15
思考與問題 16
第3章 JavaScript核心 17
3.1 基本類型 18
3.1.1 布爾值 18
3.1.2 數字 19
3.1.3 字符串 19
3.1.4 正則表達式 21
3.1.5 比較相等 23
3.2 數據結構 24
3.2.1 數組 24
3.2.2 TypedArray 28
3.2.3 棧 29
3.2.4 鏈表 29
3.2.5 二叉樹 30
3.2.6 Set 31
3.2.7 Map 32
3.3 變量與作用域 33
3.3.1 聲明變量 33
3.3.2 變量提升 34
3.3.3 作用域 36
3.3.4 this 37
3.4 函數 37
3.4.1 箭頭函數 37
3.4.2 覆蓋原生函數 38
3.4.3 閉包 39
3.4.4 函數式編程 40
3.5 對象 45
3.5.1 創建對象 45
3.5.2 Symbol屬性 47
3.5.3 對象遍歷器 48
3.6 類與繼承 51
3.6.1 定義一個類 51
3.6.2 繼承 52
3.7 實戰:編寫字節碼執行器 53
3.7.1 指令集 53
3.7.2 編寫執行器 56
小結 59
思考與問題 59
第4章 編寫結構化程序 60
4.1 module 63
4.1.1 哪些模塊需要引入 64
4.1.2 require()及其運行機制 64
4.1.3 ES6 module 67
4.2 process 67
4.2.1 屬性和方法 67
4.2.2 預定義事件 69
4.3 Events 70
4.3.1 使用 70
4.3.2 事件監聽的實現原理 70
4.3.3 繼承Events模塊 71
4.4 文件系統 71
4.4.1 源碼實現 71
4.4.2 文件系統API 72
4.4.3 同步和異步 74
4.4.4 關于文件路徑 75
4.5 Stream 76
4.5.1 流式數據 76
4.5.2 Stream API 77
4.5.3 可讀流 77
4.5.4 可寫流 79
4.5.5 和文件系統API的比較 82
4.6 Child Process 84
4.6.1 spawn() 84
4.6.2 fork() 85
4.7 處理CPU密集型任務 87
4.8 實戰:控制CPU占用曲線 89
4.8.1 單核環境 90
4.8.2 適應多核 91
4.8.3 精準控制 92
4.8.4 獲取CPU占用率 94
4.9 C++擴展 95
4.9.1 V8 API 96
4.9.2 N-API 98
4.9.3 封裝bitset 99
4.9.4 封裝sleep函數 102
小結 104
思考與問題 104
第5章 組織異步代碼 105
5.1 回調函數 106
5.1.1 回調函數的執行過程 106
5.1.2 回調的返回值 106
5.2 Promise 107
5.2.1 什么是Promise 108
5.2.2 then 109
5.2.3 使用Promise處理異步任務 110
5.2.4 使用Promise封裝現有方法 114
5.2.5 運行多個Promise 115
5.2.6 更多API 118
5.3 async/await 118
5.3.1 背景 118
5.3.2 async函數 119
5.3.3 await關鍵字 119
5.3.4 錯誤處理 121
5.3.5 循環中的async 121
5.3.6 事件循環與async 122
5.4 動手實現Promise 122
5.4.1 從外到內 122
5.4.2 適應異步過程 123
5.4.3 實現鏈式調用 124
5.4.4 連續異步操作 126
小結 128
思考與問題 128
第6章 Web應用 129
6.1 Web服務器 129
6.1.1 使用HTTP模塊 130
6.1.2 server/request/response 131
6.1.3 處理HTTP請求 135
6.1.4 模板引擎與頁面渲染 140
6.1.5 數據庫的交互 143
6.2 使用express 144
6.2.1 基本概念 145
6.2.2 靜態文件服務 148
6.2.3 路由服務 148
6.2.4 中間件系統 150
6.2.5 迷你express 154
6.2.6 cookie 156
6.2.7 session 158
6.2.8 OAuth 161
6.2.9 與前端應用的整合 165
6.2.10 提高服務器性能 167
6.3 集群和進程管理 169
6.3.1 使用Cluster模塊 169
6.3.2 負載均衡 171
6.3.3 服務器安全 173
6.4 HTTPS 175
6.4.1 對稱加密和非對稱加密 176
6.4.2 升級HTTPS服務器 177
6.5 全雙工通信 177
6.5.1 輪詢和長連接 177
6.5.2 使用WebSocket 178
6.5.3 WebSocket握手 179
6.5.4 HTTP/2 180
6.6 HTTP客戶端 181
6.7 API文檔 183
6.7.1 Swagger UI 183
6.7.2 API描述文件 184
小結 186
思考與問題 187
第7章 圖形化應用 188
7.1 桌面應用 188
7.1.1 Java Swing 188
7.1.2 WPF 189
7.1.3 Qt 190
7.2 Electron 190
7.2.1 快速開始 191
7.2.2 頁面和后臺的交互 194
7.2.3 實現菜單欄 195
7.2.4 多窗口管理 199
小結 200
思考與問題 200
第8章 測試與調試 201
8.1 測試框架 201
8.1.1 斷言系統 201
8.1.2 使用jasmine 202
8.1.3 覆蓋率測試 208
8.1.4 壓力測試 209
8.2 調試 210
8.2.1 調試Node代碼 211
8.2.2 調試C++源代碼 211
8.2.3 CPU profile 212
小結 215
思考與問題 215
附錄A 基礎概念 216
A.1 編程語言和運行時 216
A.1.1 編程語言的產生 217
A.1.2 什么是運行時 217
A.1.3 為什么是JavaScript 217
A.1.4 編譯Node源碼 217
A.1.5 Node架構 218
A.1.6 js2c 220
A.2 關于操作系統 221
A.2.1 進程和線程 221
A.2.2 理解高并發 222
A.2.3 理解非阻塞 222
A.3 事件循環 222
A.3.1 各階段概述 223
A.3.2 阻塞事件循環 224
A.3.3 process.nextTick 225
A.3.4 模擬事件循環 227
A.3.5 microTask 和macroTask/task 228
附錄B 網絡通信基礎 232
B.1 發生了什么 232
B.1.1 尋址 232
B.1.2 建立連接 232
B.1.3 通信 233
B.2 socket接口 233
B.2.1 創建socket 234
B.2.2 建立連接 234
B.2.3 接收消息 234
B.3 socket與并發 234
B.3.1 select和poll 235
B.3.2 epoll 236
附錄C Node和其他語言的比較 237
C.1 面向對象 237
C.2 C語言中的Stream 238
C.3 關于I/O的處理 239
C.4 C# Task 239
附錄D Docker 241
D.1 容器技術 241
D.1.1 鏡像 241
D.1.2 容器與鏡像 242
D.1.3 運行 242
D.2 運行MySQL 243
D.3 使用MongoDB 243
D.4 Dockerfile 244
本書跟隨了Node.js的標準與行業的發展趨勢,在介紹新標準與新技術的同時兼顧了理論基礎和實際應用,主要內容分為基礎和應用兩部分,基礎部分內容包含了Node.js環境配置,npm項目管理,JavaScript語法基礎,Node.js基本模塊的原理與使用,異步代碼的編寫與組織,應用部分包含了網絡編程,桌面應用開發以及測試和調試。
本書講解與示例并重,由淺入深地剖析了Node.js模塊與語言原理,并通過各種實際場景下的用例來引導讀者進行思考,使讀者在學習編程語言的同時增進對語言本身的了解。
本書適用于高等院校計算機相關課程作為基礎教材使用,也可以供對Node.js語言感興趣的讀者自學使用。
pagetop