Node.js-強力優勢
◆ 含有一系列內置模組,開發出的程式可作為獨立伺服器執行。
◆ 採用Google V8 JavaScript引擎讓開發效能極度提升。
◆ 前端與後端開發都使用相同的JavaScript,不需學多種語言就可編寫。
PHP不支援MVC架構,Python+Django上的套件太少、Rails的速度慢,這些問題在Node.js中全部獲得解決。
前後端都使用一樣的JavaScript,讓你可以不需要學多種語言就一統Fullstack。只要會JavaScript,將不再限制你的能力在前端的展現了。
學習Node.js是前端工程師邁向全端的最後一塊拼圖,更是傳統php工程師昇級為更高級的MVC架構師,再加上豐富原生JavaScript的Framework支援,學一種語言而統一天下,非Node.js莫屬!
目錄
前言
Chpater 01 Node非同步程式設計範式
1.1 同步與非同步的比較
1.2 Node非同步的實現
1.3 事件驅動
Chpater 02 架設自己的開發環境
2.1 Node的編譯與安裝
2.2 開發與偵錯
2.3 單元測試
Chpater 03 使用Docker部署Node服務
3.1 Docker基礎
3.2 在Docker中執行Node
3.3 匯出設定好的容器
Chpater 04 Node模組
4.1 程式入口
4.2 VM模組
4.3 模組載入與快取
4.4 模組分類
4.5 正確匯出模組
4.6 小心使用全域變數
Chpater 05 V8引擎
5.1 JavaScript程式的編譯與最佳化
5.2 垃圾回收與記憶體控制
Chpater 06 Promise物件
6.1 Promise的含義
6.2 基本用法
6.3 then的鏈式寫法
6.4 bluebird函數庫
Chpater 07 用ES6 Generator解決回呼金字塔
7.1 Node非同步實現流程
7.2 用Generator實現非同步呼叫與多平行處理
7.3 嚴格模式下執行
7.4 了解執行過程
7.5 本章結語
Chpater 08 LoopBack開放原始碼架構
8.1 安裝與執行
8.2 路由與許可權控制
8.3 增加新模型
8.4 初始化資料庫
8.5 鉤子機制
8.6 中介軟體
8.7 模型關係
8.8 使用cluster模式執行服務
Chpater 09 撰寫C++擴充
9.1 使用C++撰寫擴充模組
9.2 執行緒模型與CPU密集型工作
9.3 執行緒物件
9.4 本章結語
Appendix A JavaScript嚴格模式
Appendix B JavaScript編碼標準
Chpater 01 Node非同步程式設計範式
1.1 同步與非同步的比較
1.2 Node非同步的實現
1.3 事件驅動
Chpater 02 架設自己的開發環境
2.1 Node的編譯與安裝
2.2 開發與偵錯
2.3 單元測試
Chpater 03 使用Docker部署Node服務
3.1 Docker基礎
3.2 在Docker中執行Node
3.3 匯出設定好的容器
Chpater 04 Node模組
4.1 程式入口
4.2 VM模組
4.3 模組載入與快取
4.4 模組分類
4.5 正確匯出模組
4.6 小心使用全域變數
Chpater 05 V8引擎
5.1 JavaScript程式的編譯與最佳化
5.2 垃圾回收與記憶體控制
Chpater 06 Promise物件
6.1 Promise的含義
6.2 基本用法
6.3 then的鏈式寫法
6.4 bluebird函數庫
Chpater 07 用ES6 Generator解決回呼金字塔
7.1 Node非同步實現流程
7.2 用Generator實現非同步呼叫與多平行處理
7.3 嚴格模式下執行
7.4 了解執行過程
7.5 本章結語
Chpater 08 LoopBack開放原始碼架構
8.1 安裝與執行
8.2 路由與許可權控制
8.3 增加新模型
8.4 初始化資料庫
8.5 鉤子機制
8.6 中介軟體
8.7 模型關係
8.8 使用cluster模式執行服務
Chpater 09 撰寫C++擴充
9.1 使用C++撰寫擴充模組
9.2 執行緒模型與CPU密集型工作
9.3 執行緒物件
9.4 本章結語
Appendix A JavaScript嚴格模式
Appendix B JavaScript編碼標準
序
前言
本書寫給那些打算或正在使用Node.js(簡稱Node,後文均用此簡稱)建立Web應用的開發者。眾所皆知,JavaScript的靈活好用以及V8引擎的加速,再加上活躍的社區支援,使得用Node開發應用的成本低,收益大。2015年ES6標準的確立,為JavaScript成為企業級開發語言掃除了不確定性。本書的選材契合這個領域最新的技術進展,深淺適宜地介紹了Node技術堆疊的全貌。
全書共分9章。第1章概述,介紹Node非同步實現的原理,涵蓋Node實現非同步的兩種方式。這部分參考了Node原始程式,以求邏輯清晰與內容充實。第2章~第7章是站在JavaScript的角度,介紹了用Node開發應用的各方面,包含編輯與偵錯、測試技術、Docker部署、模組機制、V8引擎與程式最佳、Promise 和ES6 generator等內容。第8章介紹LoopBack開放原始碼架構的使用。本書沒有介紹Express(可能讀者早已熟悉),因為本書希望為讀者引薦一個更加強大好用的企業級Web架構。第9章則從C++的角度介紹Node擴充模組的撰寫,這部分適合那些想要了解V8引擎的讀者,可以說C++是Node技術堆疊的基礎。本書希望向讀者呈現組成Node 技術堆疊的JavaScript和C++全貌。
本書不假設讀者有Node研發經驗,但需熟悉JavaScript。如果讀者最近才接觸程式設計,建議選一本更初階的教學書,或先到W3School(http://www.w3school.com/js/index.asp)上看看。本書每一章都有原始程式範例,這些範例大部分可以在Node支援的任何系統上執行,但也有例外。建議使用本書第3章介紹的容器。
飲半盞湖水,當知江河滋味;拾一片落葉,盡享人間秋涼。希望本書成為讀者熟練掌握Node 技術堆疊的那一盞湖水、一片落葉。
✤ 致謝
感謝CNode社區,它提供一個非常好的平台,本書的一些章節從中獲得了積極的回饋,使筆者有了繼續寫下去的動力。劉曉蓮同學審閱本書的初稿,提出的一些見解,使得本書在內容安排上更合理,更容易看懂,在此表示感謝。
筆者的一些同事也閱讀了部分初稿並列出積極的回饋,在此一併謝過!
作者電子郵件
[email protected]
本書寫給那些打算或正在使用Node.js(簡稱Node,後文均用此簡稱)建立Web應用的開發者。眾所皆知,JavaScript的靈活好用以及V8引擎的加速,再加上活躍的社區支援,使得用Node開發應用的成本低,收益大。2015年ES6標準的確立,為JavaScript成為企業級開發語言掃除了不確定性。本書的選材契合這個領域最新的技術進展,深淺適宜地介紹了Node技術堆疊的全貌。
全書共分9章。第1章概述,介紹Node非同步實現的原理,涵蓋Node實現非同步的兩種方式。這部分參考了Node原始程式,以求邏輯清晰與內容充實。第2章~第7章是站在JavaScript的角度,介紹了用Node開發應用的各方面,包含編輯與偵錯、測試技術、Docker部署、模組機制、V8引擎與程式最佳、Promise 和ES6 generator等內容。第8章介紹LoopBack開放原始碼架構的使用。本書沒有介紹Express(可能讀者早已熟悉),因為本書希望為讀者引薦一個更加強大好用的企業級Web架構。第9章則從C++的角度介紹Node擴充模組的撰寫,這部分適合那些想要了解V8引擎的讀者,可以說C++是Node技術堆疊的基礎。本書希望向讀者呈現組成Node 技術堆疊的JavaScript和C++全貌。
本書不假設讀者有Node研發經驗,但需熟悉JavaScript。如果讀者最近才接觸程式設計,建議選一本更初階的教學書,或先到W3School(http://www.w3school.com/js/index.asp)上看看。本書每一章都有原始程式範例,這些範例大部分可以在Node支援的任何系統上執行,但也有例外。建議使用本書第3章介紹的容器。
飲半盞湖水,當知江河滋味;拾一片落葉,盡享人間秋涼。希望本書成為讀者熟練掌握Node 技術堆疊的那一盞湖水、一片落葉。
✤ 致謝
感謝CNode社區,它提供一個非常好的平台,本書的一些章節從中獲得了積極的回饋,使筆者有了繼續寫下去的動力。劉曉蓮同學審閱本書的初稿,提出的一些見解,使得本書在內容安排上更合理,更容易看懂,在此表示感謝。
筆者的一些同事也閱讀了部分初稿並列出積極的回饋,在此一併謝過!
作者電子郵件
[email protected]
網路書店
類別
折扣
價格
-
二手書63折$310
-
新書79折$387
-
新書85折$417
-
新書85折$417
-
新書9折$441
-
新書9折$441
-
新書93折$456