《Node.js進階之路》是於2017年1月清華大學出版社出版的一本圖書,作者是尤嘉
基本介紹
- 書名:Node.js進階之路
- 作者:尤嘉
- ISBN:9787302456933
- 定價:35
- 出版社:清華大學出版社
- 出版時間:2017-1
前言,圖書簡介,目錄,
前言
本書寫給那些打算或者正在使用Node.js(簡稱Node,後文均用此簡稱)創建Web套用的開發者。眾所周知,JavaScript的靈活易用以及V8引擎的加速,再加上活躍的社區支持,使得用Node開發套用的成本低,收益大。2015年ES6標準的確立,為JavaScript成為企業級開發語言掃除了不確定性。這本書的選材契合這個領域最新的技術進展,深淺適宜地介紹了Node技術棧的全貌。
圖書簡介
本書內容涵蓋了Node.js高並發的原理、源碼分析以及使用Node.js開發套用所需要的不同層面的技術實踐。具體來講,本書包括Node.js異步機制(配以源碼分析)、編輯與調試、測試技術、Docker部署、模組機制、V8引擎與代碼最佳化、Promise和ES6Generator、LoopBack開源框架、使用C++編寫擴展、JavaScript嚴格模式、編碼規範等內容。在LoopBack章節,本書詳細介紹了使用此框架開發企業級Web套用的步驟,幫助讀者迅速掌握使用這個強大框架的訣竅。最後一章詳細介紹了編寫不同類型的C++模組的知識,並對堆記憶體管理等內容做了深入探討。
目錄
第1章Node異步編程範式1
1.1同步與異步的比較2
1.2Node異步的實現7
1.2.1HTTP請求——完全異步的例子8
1.2.2本地磁碟I/O——多執行緒模擬17
1.3事件驅動18
參考資料19
第2章搭建自己的開發環境21
2.1Node的編譯與安裝22
2.2開發與調試23
2.3單元測試29
2.3.1Mocha測試框架29
2.3.2TDD風格32
2.3.3BDD風格34
2.3.4生成不同形式的測試報告35
2.3.5代碼覆蓋率工具Istanbul36
參考資料40
第3章使用Docker部署Node服務43
3.1Docker基礎44
3.2在Docker中運行Node45
3.3導出配置好的容器47
參考資料48
第4章Node模組49
4.1程式入口50
4.2VM模組50
4.3模組載入與快取52
4.4模組分類54
4.5正確導出模組55
4.6小心使用全局變數56
第5章V8引擎57
5.1JavaScript代碼的編譯與最佳化58
5.1.1即時編譯58
5.1.2隱藏類59
5.1.3內聯快取60
5.1.4最佳化回退61
5.1.5寫出更具親和性的代碼62
5.1.6藉助TypeScript63
5.2垃圾回收與記憶體控制65
5.2.1V8的垃圾回收算法65
5.2.2使用Buffer67
5.2.3避免記憶體泄漏70
參考資料77
V
第6章Promise對象79
6.1Promise的含義80
6.2基本用法80
6.3then的鏈式寫法82
6.4bluebird庫85
參考資料86
第7章用ES6Generator解決回調金字塔87
7.1Node異步實現流程88
7.2用Generator實現異步調用與多並發89
7.3嚴格模式下運行99
7.4理解執行過程100
7.5本章結語106
第8章LoopBack開源框架107
8.1安裝與運行108
8.2路由與許可權控制113
8.3添加新模型121
8.4初始化資料庫131
8.5鉤子機制134
8.6中間件137
8.7模型關係139
8.8使用cluster模式運行服務141
參考資料144
第9章編寫C++擴展145
9.1使用C++編寫擴展模組146
9.1.1導出對象146
9.1.2導出函式149
9.1.3導出構造函式151
9.2執行緒模型與CPU密集型任務164
9.3執行緒對象164
9.4本章結語170
參考資料170
附錄171
附錄AJavaScript嚴格模式172
附錄BJavaScript編碼規範182
參考資料195