PHP不支援MVC架構,Python+Django上的套件太少、Rails的速度慢,這些問題在Node.js中全部獲得解決。
前後端都使用一樣的JavaScript,讓你可以不需要學多種語言就一統Fullstack。只要會JavaScript,將不再限制你的能力在前端的展現了。
學習Node.js是前端工程師邁向全端的最後一塊拼圖,更是傳統php工程師昇級為更高級的MVC架構師,再加上豐富原生JavaScript的Framework支援,學一種語言而統一天下,非Node.js莫屬!
作者序
【前言】
本書寫給那些打算或正在使用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社區,它提供一個非常好的平台,本書的一些章節從中獲得了積極的回饋,使筆者有了繼續寫下去的動力。劉曉蓮同學審閱本書的初稿,提出的一些見解,使得本書在內容安排上更合理,更容易看懂,在此表示感謝。
筆者的一些同事也閱讀了部分初稿並列出積極的回饋,在此一併謝過!
作者電子郵件
classfellow@qq.com
【前言】
本書寫給那些打算或正在使用Node.js(簡稱Node,後文均用此簡稱)建立Web應用的開發者。眾所皆知,JavaScript的靈活好用以及V8引擎的加速,再加上活躍的社區支援,使得用Node開發應用的成本低,收益大。2015年ES6標準的確立,為JavaScript成為企業級開發語言掃除了不確定性。本書的選材契合這個領域最新的技術進展,深淺適宜地介紹了Node技術堆疊的全貌。
全書共分9章。第1章概述,介紹Node非同步實現的原理,涵蓋Node實現非同步的兩種方式。這部分參考了Node原始程式,以求邏輯清晰與內容充實。第2章~第7章是站在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編碼標準
前言
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 ...
商品資料
出版社:佳魁資訊股份有限公司出版日期:2019-06-25ISBN/ISSN:9789863797562 語言:繁體中文For input string: ""
裝訂方式:平裝頁數:208頁開數:17*23
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。