全面系統的入門教程——評《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日
相關文章
- 通用漏洞評分系統 (CVSS)系統入門指南
- 【Android開發入門教程】三.Activity入門指南!Android
- 【URLOS開發入門】docker官方系統映象——Alpine入門教程Docker
- 【入門指南】node.jsNode.js
- 最新Python雲端系統開發入門視訊教程Python
- 以太坊DApp開發入門教程——區塊鏈投票系統APP區塊鏈
- 全面的Docker快速入門教程Docker
- 敏捷開發入門教程敏捷
- Maven 教程之入門指南Maven
- Babel 外掛開發入門指南Babel
- Babel外掛開發入門指南Babel
- Java 開發者的 Python 快速入門指南JavaPython
- 開心檔-軟體開發入門教程網之Node.js 回撥函式Node.js函式
- Python開發的入門教程(五)-setPython
- 極簡 Node.js 入門 - 1.2 模組系統Node.js
- Golang 新手教程:入門速成指南Golang
- 獨立遊戲開發入門指南遊戲開發
- Python開發的入門教程(六)-函式Python函式
- Unity3D開發入門教程(二)—— Lua入門Unity3D
- 我的學習經歷——Linux系統入門教程Linux
- git 入門教程之協同開發Git
- 系統架構基礎知識入門指南-下架構
- 系統架構基礎知識入門指南-上架構
- Go 快速入門指南 - 實現系統錯誤介面Go
- MongoDB 入門教程系列之一:開發環境搭建以及 Node.js 和 Java 的讀寫訪問MongoDB開發環境Node.jsJava
- Deno 執行時入門教程:Node.js 的替代品Node.js
- 簡易的伺服器介面開發入門教程伺服器
- odoo 開發入門教程系列-QWeb簡史OdooWeb
- Flutter入門教程(二)開發環境搭建Flutter開發環境
- odoo 開發入門教程系列-約束(Constraints)OdooAI
- odoo 開發入門教程系列-繼承(Inheritance)Odoo繼承
- OSDev Wiki——作業系統開發入門基礎(一)dev作業系統
- 鴻蒙系統應用開發之入門解說鴻蒙
- 教程:Apache Spark SQL入門及實踐指南!ApacheSparkSQL
- 從零開始:蘋果手機免越獄群控系統的快速入門指南蘋果
- 對標小程式 ? "快應用"開發入門指南
- PyCharm入門級使用指南,Python開發必備!PyCharmPython
- 開心檔-Node.js入門篇2Node.js
- 用友開發者中心全新升級,YonBuilder移動開發入門指南UI移動開發