以下書況,主觀上皆可閱讀,若收到後不滿意,『都可退書退款』。
書況補充說明: B自然泛黃書斑、髒污、書皮有破損、有摺頁。
【購買須知】
(1)照片皆為現貨實際拍攝,請參書況說明。
(2)『賣場標題、內容簡介』為出版社原本資料,若有疑問請留言,但人力有限,恕不提供大量詢問。
(3)『附件或贈品』,不論標題或內容簡介是否有標示,請都以『沒有附件,沒有贈品』為參考。
(4)訂單完成即『無法加購、修改、合併』,請確認品項、優惠後,再下訂結帳。如有疑問請留言告知。
(5)二手書皆為獨立商品,下訂即刪除該品項,故『取消』後無法重新訂購,須等系統安排『2個月後』重新上架。
(6)收到書籍後,若不滿意,或有缺漏,『都可退書退款』。
[商品主貨號] U102596654
[代售商品編號] 102780300219
[ISBN-13碼] 9787115335500
[ISBN] 7115335508
[作者] 朴靈
[出版社] 人民郵電出版社
[出版日期] 2013/12/01
[裝訂/規格] 平裝 / 331頁 / 16k / 19 x 26 x 1 cm / 普通級 / 單色印刷 / 1-1
[目錄]
第1章Node簡介1
1.1 Node的誕生歷程1
1.2 Node的命名與起源1
1.2.1 為什麼是JavaScript2
1.2.2 為什麼叫Node2
1.3 Node給JavaScript帶來的意義2
1.4 Node的特點4
1.4.1 非同步I/O4
1.4.2 事件與回呼函數6
1.4.3 單執行緒7
1.4.4 跨平臺7
1.5 Node的應用場景8
1.5.1 I/O密集型8
1.5.2 是否不擅長CPU密集型業務8
1.5.3 與遺留系統和平共處10
1.5.4 分散式應用10
1.6 Node的使用者10
1.7 參考資源11
第2章模組機制12
2.1 CommonJS規範13
2.1.1 CommonJS的出發點13
2.1.2 CommonJS的模組規範14
2.2 Node的模組實現15
2.2.1 優先從緩存載入16
2.2.2 路徑分析和檔定位16
2.2.3 模組編譯18
2.3 核心模組20
2.3.1 JavaScript核心模組的編譯過程21
2.3.2 C/C 核心模組的編譯過程22
2.3.3 核心模組的引入流程25
2.3.4 編寫核心模組25
2.4 C/C 擴展模組27
2.4.1 前提條件28
2.4.2 C/C 擴展模組的編寫29
2.4.3 C/C 擴展模組的編譯30
2.4.4 C/C 擴展模組的載入31
2.5 模組調用棧32
2.6 包與NPM33
2.6.1 包結構34
2.6.2 包描述檔與NPM34
2.6.3 NPM常用功能37
2.6.4 局域NPM42
2.6.5 NPM潛在問題43
2.7 前後端共用模組44
2.7.1 模組的側重點44
2.7.2 AMD規範44
2.7.3 CMD規範45
2.7.4 相容多種模組規範45
2.8 總結46
2.9 參考資源46
第3章非同步I/O47
3.1 為什麼要非同步I/O47
3.1.1 用戶體驗48
3.1.2 資源配置49
3.2 非同步I/O實現現狀50
3.2.1 非同步I/O與非阻塞I/O50
3.2.2 理想的非阻塞非同步I/O54
3.2.3 現實的非同步I/O54
3.3 Node的非同步I/O56
3.3.1 事件迴圈56
3.3.2 觀察者56
3.3.3 請求對象57
3.3.4 執行回檔59
3.3.5 小結60
3.4 非I/O的非同步API60
3.4.1 計時器60
3.4.2 process.nextTick()61
3.4.3 setImmediate()62
3.5 事件驅動與高性能伺服器63
3.6 總結65
3.7 參考資源65
第4章非同步程式設計66
4.1 函數式程式設計66
4.1.1 高階函數66
4.1.2 偏函數用法67
4.2 非同步程式設計的優勢與難點68
4.2.1 優勢69
4.2.2 難點70
4.3 非同步程式設計解決方案74
4.3.1 事件發佈/訂閱模式74
4.3.2 Promise/Deferred模式82
4.3.3 流程控制庫93
4.4 非同步併發控制105
4.4.1 bagpipe的解決方案105
4.4.2 async的解決方案109
4.5 總結110
4.6 參考資源110
第5章記憶體控制111
5.1 V8的垃圾回收機制與記憶體限制111
5.1.1 Node與V8112
5.1.2 V8的記憶體限制112
5.1.3 V8的對象分配112
5.1.4 V8的垃圾回收機制113
5.1.5 查看垃圾回收日誌119
5.2 高效使用記憶體121
5.2.1 作用域121
5.2.2 閉包123
5.2.3 小結124
5.3 記憶體指標124
5.3.1 查看記憶體使用情況124
5.3.2 堆外記憶體126
5.3.3 小結127
5.4 記憶體洩漏127
5.4.1 慎將記憶體當做緩存127
5.4.2 關注佇列狀態130
5.5 記憶體洩漏排查130
5.5.1 node-heapdump131
5.5.2 node-memwatch132
5.5.3 小結135
5.6 大記憶體應用135
5.7 總結136
5.8 參考資源136
第6章 理解Buffer137
6.1 Buffer結構137
6.1.1 模組結構137
6.1.2 Buffer對象138
6.1.3 Buffer記憶體分配139
6.2 Buffer的轉換141
6.2.1 字串轉Buffer141
6.2.2 Buffer轉字串142
6.2.3 Buffer不支援的編碼類型142
6.3 Buffer的拼接143
6.3.1 亂碼是如何產生的144
6.3.2 setEncoding()與string_decoder()144
6.3.3 正確拼接Buffer145
6.4 Buffer與性能146
6.5 總結149
6.6 參考資源149
第7章網路程式設計150
7.1 構建TCP服務150
7.1.1 TCP150
7.1.2 創建TCP伺服器端151
7.1.3 TCP服務的事件153
7.2 構建UDP服務154
7.2.1 創建UDP通訊端154
7.2.2 創建UDP伺服器端154
7.2.3 創建UDP用戶端155
7.2.4 UDP通訊端事件155
7.3 構建HTTP服務155
7.3.1 HTTP156
7.3.2 http模組157
7.3.3 HTTP用戶端161
7.4 構建WebSocket服務163
7.4.1 WebSocket握手164
7.4.2 WebSocket資料傳輸167
7.4.3 小結169
7.5 網路服務與安全169
7.5.1 TLS/SSL170
7.5.2 TLS服務172
7.5.3 HTTPS服務173
7.6 總結175
7.7 參考資源176
第8章構建Web應用177
8.1 基礎功能177
8.1.1 請求方法178
8.1.2 路徑解析179
8.1.3 查詢字串180
8.1.4 Cookie181
8.1.5 Session184
8.1.6 緩存190
8.1.7 Basic認證193
8.2 數據上傳195
8.2.1 表單數據195
8.2.2 其他格式196
8.2.3 附件上傳197
8.2.4 資料上傳與安全199
8.3 路由解析201
8.3.1 檔路徑型202
8.3.2 MVC202
8.3.3 RESTful207
8.4 中介軟體210
8.4.1 異常處理214
8.4.2 中介軟體與性能215
8.4.3 小結216
8.5 頁面渲染217
8.5.1 內容回應217
8.5.2 視圖渲染219
8.5.3 範本220
8.5.4 Bigpipe231
8.6 總結235
8.7 參考資源235
第9章玩轉進程236
9.1 服務模型的變遷236
9.1.1 石器時代:同步236
9.1.2 青銅時代:複製進程237
9.1.3 白銀時代:多執行緒237
9.1.4 黃金時代:事件驅動237
9.2 多進程架構238
9.2.1 創建子進程239
9.2.2 進程間通信240
9.2.3 控制碼傳遞242
9.2.4 小結247
9.3 集群穩定之路248
9.3.1 進程事件248
9.3.2 自動重啟249
9.3.3 負載均衡254
9.3.4 狀態共用255
9.4 Cluster模組257
9.4.1 Cluster工作原理258
9.4.2 Cluster事件259
9.5 總結259
9.6 參考資源260
第10章測試261
10.1 單元測試261
10.1.1 單元測試的意義261
10.1.2 單元測試介紹263
10.1.3 工程化與自動化276
10.1.4 小結277
10.2 性能測試278
10.2.1 基準測試278
10.2.2 壓力測試280
10.2.3 基準測試驅動開發281
10.2.4 測試資料與業務資料的轉換283
10.3 總結284
10.4 參考資源284
第11章產品化285
11.1 專案工程化285
11.1.1 目錄結構285
11.1.2 構建工具286
11.1.3 編碼規範289
11.1.4 代碼審查289
11.2 部署流程290
11.2.1 部署環境291
11.2.2 部署操作291
11.3 性能293
11.3.1 動靜分離293
11.3.2 啟用緩存294
11.3.3 多進程架構294
11.3.4 讀寫分離295
11.4 日誌295
11.4.1 訪問日誌295
11.4.2 異常日誌296
11.4.3 日誌與資料庫299
11.4.4 分割日誌299
11.4.5 小結299
11.5 監控報警299
11.5.1 監控300
11.5.2 報警的實現302
11.5.3 監控系統的穩定性303
11.6 穩定性303
11.7 異構共存304
11.8 總結305
11.9 參考資源305
附錄A 安裝Node306
A.1 Windows系統下的Node安裝306
A.2 Mac系統下Node的安裝307
A.3 Linux系統下Node的安裝308
A.4 總結309
A.5 參考資源309
附錄B 調試Node310
B.1 Debugger310
B.2 Node Inspector311
B.2.1 安裝Node Inspector312
B.2.2 錯誤堆疊312
B.3 總結313
附錄C Node編碼規範314
C.1 根源314
C.2 編碼規範315
C.2.1 空格與格式315
C.2.2 命名規範317
C.2.3 比較操作318
C.2.4 字面量318
C.2.5 作用域318
C.2.6 陣列與物件319
C.2.7 非同步320
C.2.8 類與模組320
C.2.9 注解規範321
C.3 最佳實踐321
C.3.1 衝突的解決原則321
C.3.2 給編輯器設置檢測工具321
C.3.3 版本控制中的hook322
C.3.4 持續集成322
C.4 總結322
C.5 參考資源323
附錄D 搭建局域NPM倉庫324
D.1 NPM倉庫的安裝325
D.1.1 安裝Erlang和CouchDB325
D.1.2 搭建NPM倉庫326
D.2 高階應用328
D.2.1 鏡像倉庫328
D.2.2 私有模組應用328
D.2.3 純私有倉庫329
D.3 總結331
D.4 參考資源332)
[內容簡介] (出版商制式文字, 不論標題或內容簡介是否有標示, 請都以『沒有附件、沒有贈品』為參考。)
本書從不同的視角介紹了 Node 內在的特點和結構。由首章Node 介紹為索引,涉及Node的各個方面,主要內容包含模組機制的揭示、非同步I/O 實現原理的展現、非同步編程的探討、記憶體控制的介紹、二進位資料Buffer的細節、Node 中的網路編程基礎、Node 中的Web 開發、進程間的消息傳遞、Node 測試以及通過Node構建產品需要的注意事項。最後的附錄介紹了Node 的安裝、調試、編碼規範和NPM 倉庫等事宜。
本書適合想深入瞭解 Node 的人員閱讀。
樸靈
真名田永強,文藝型碼農,就職於數據平臺,資深工程師,Node.js佈道者,寫了多篇文章介紹Node.js的細節。活躍于CNode社區,是線下會議NodeParty的組織者和JSConfChina(滬JS和京JS)的組織者之一。熱愛開源,多個Node.js模組的作者。叩首問路,碼夢為生。)
-----------------------------------------------------------
分享閱讀 書籍狀態請詳看圖示