全面系統的入門教程——評《Node.js 開發指南》
全面系統的入門教程——評《Node.js 開發指南》
作者 BYVoid 想必是很多 OIer 熟知的神牛了。作為中學學弟(當然並沒有實際見過幾次面),我是很仰慕他的。作為 NOI 金牌獲得者,他不僅在資訊學競賽上頗有造詣,也涉獵於程式設計開發,同時在漢語言文字上研究頗深。高中時期他就為學校用 PHP 編寫了一個功能強大的線上評測系統(Online Judge)——CmYkRgB123 Online Grading System (COGS),其即時評測並顯示各測試點結果的 NOI 系列式評測方式深受同學們喜愛,曾經在外網開放過也獲得相當好評。此後更以 MVC 框架寫出了新的 Vakuum 線上評測系統。他還開發了高質量的繁簡轉換工具 OpenCC ,解決了長期困擾中文領域的漢字轉換問題,並參與了 Linux 下 iBus 輸入法專案,還在漢典網站上做了大量工作。近期他又上線了韻典網,為查詢檢索古代音韻提供了方便。等等如此,不一而足。
說到 Node.js ,我們不得不談到 Google Chrome 。作為忠實的 Google 粉絲,我從其測試版就開始使用,甚至在沒有 Linux 版本時也在用 wine 模擬器使用,原因只有一個——快。它如此快速,這是因為使用了 V8 JavaScript 引擎。自此,基於解釋的語言開始擺脫了龜速的宿命,並由此發展出了本書的主角 Node.js 。當然它是基於 JavaScript 的(不是 Java!),作者貼心地為不熟悉 JavaScript 的讀者專門編寫了一章附錄以熟悉 JS 。
學習一門程式語言需要首先熟悉其程式設計環境和編譯器。作者在書中為 Windows 使用者、Linux 使用者和 Mac OS X 使用者詳細描述了安裝配置過程,並給出了常見問題的解決方案。書中還介紹了包管理器(類似於 Ubuntu 的軟體中心、TeXlive 的 tlmgr 等) npm ,描述了包的多版本控制,並介紹了常用的模組和包的用法。書中還介紹了 Node.js 的除錯方法以及其在 Eclipse 環境中的配置使用。
與一般程式語言不同,Node.js 是非同步 I/O 的,故此初入門時很難以理解。作者用直截了當的例項和準確有力的語言解釋了非同步式 I/O 和事件式程式設計的相關概念。書中詳細講述了 Node.js 的物件的變數概念,介紹了常用工具 util 、事件驅動 events 、檔案系統 fs 和 http 伺服器模組。作者更以一個微博網站的例項,從零開始一步一步教會讀者網站開發的各種方法步驟,涉及到工程規劃、模型-檢視-控制器開發模式、基於 Bootstrap 的網頁前端設計、基於 MongoDB 的資料庫操作、Session 和 Cookies 的控制訪問、前後端互動、日誌記錄等各種網站開發中需要掌握的知識和方法。
貼心的附錄介紹了 JavaScript 的高階特性,包括作用域、閉包、物件等知識,為函數語言程式設計鋪墊道路。還給出了一些約定俗成的程式設計規範,從縮排到變數函式命名都給出了十分有用的建議。書末的索引更是方便了專業名詞的查詢。每章結束都會給出參考文獻,不僅方便讀者參閱,也體現了作者嚴謹認真的寫作態度。
總的來說,作為國內第一本 Node.js 相關的書籍,此書雖為入門,但全面系統,開闢了一條正確清晰的道路。如果你想學習這樣一個嶄新先進的網頁開發語言,請把《Node.js 開發指南》買回家吧,閒時可以打發時間,用時可以速查速記,學時可以輕鬆掌握。或許有一天會出電子版,但一本書拿在手裡的感覺是電子版無論如何比不得上的。有什麼問題可以到 Node.js 中文社群 http://cnodejs.org/ 提問,通過社交網路的力量充實自己。
同時也希望作者能乘風破萬里浪,以後更有佳作出。
王者自由 2012年8月1日
相關文章
- 《Node.js開發指南》——Node.js入門Node.js
- Node.js 原生開發入門完全教程Node.js
- 【Android開發入門教程】三.Activity入門指南!Android
- 通用漏洞評分系統 (CVSS)系統入門指南
- 【URLOS開發入門】docker官方系統映象——Alpine入門教程Docker
- 【入門指南】node.jsNode.js
- 最新Python雲端系統開發入門視訊教程Python
- 敏捷開發入門教程敏捷
- 全面的Docker快速入門教程Docker
- 以太坊DApp開發入門教程——區塊鏈投票系統APP區塊鏈
- 獨立遊戲開發入門指南遊戲開發
- Babel外掛開發入門指南Babel
- Babel 外掛開發入門指南Babel
- Node.js基本入門級教程Node.js
- Maven 教程之入門指南Maven
- 極簡 Node.js 入門 - 1.2 模組系統Node.js
- 開心檔-軟體開發入門教程網之Node.js 回撥函式Node.js函式
- Golang 新手教程:入門速成指南Golang
- CMake入門指南-編譯教程編譯
- Python開發的入門教程(五)-setPython
- 最全面的前端開發指南前端
- Unity3D開發入門教程(二)—— Lua入門Unity3D
- VR開發教程:Unity開發VR眼鏡中文入門教程四VRUnity
- git 入門教程之協同開發Git
- Apple Watch開發快速入門教程APP
- OUYA遊戲開發快速入門教程遊戲開發
- AngularJS開發實戰入門教程AngularJS
- Python開發的入門教程(六)-函式Python函式
- 鴻蒙系統應用開發之入門解說鴻蒙
- 系統底層開發的評價! (轉)
- Node.js開發入門—Stream(流)基本用法詳解Node.js
- Java實用系統開發指南Java
- ?HealthKit開發快速入門教程大學霸內部教程
- 簡易的伺服器介面開發入門教程伺服器
- Flutter入門教程(二)開發環境搭建Flutter開發環境
- odoo 開發入門教程系列-繼承(Inheritance)Odoo繼承
- odoo 開發入門教程系列-模組互動Odoo
- odoo 開發入門教程系列-QWeb簡史OdooWeb