本書正在進行第 3 版的改版工程
這是一本 Node.js Fullstack 的入門電子書,它的目標是成為優質的 Beginner to Beginner 教材。
本書內容定位為《從零到一》的基礎教學,並使用在我的 Node.js Fullstack 培訓課程。這更是一本「初學者寫給初學者」的教材:
- 每個主題都從基本觀念(Zero)開始講述,並介紹到能撰寫簡單的程式為止(One)
- 希望在學習的過程中,培養同學「寫程式的修煉」
寫程式的修煉是本書的宗旨,也是一直以來我做培訓的理念。這份教材使用在我的培訓課程,內容多以步驟化方式引導入門,但更重要的是,希望在 zero-to-one 的過程,培養「Thinking」的能力,而不是只學習如何照本宣科地寫程式。有了 Thinking 的能力後,會有另一個重要的收獲:能開始閱讀豐富的網路文件,還能在拜讀優質電子書的過程中,對大神分享的內容產生共鳴。
Jollen(陳俊宏),Moko365 Inc 創辦人暨講師、Mokoversity Inc 開放創新學院創辦人與 Devify Inc 發起人。興趣是 Web Fullstack 技術、Android Framework、Linux 驅動程式、軟體架構設計、研發管理與產品規劃。近期的研究計畫有 WoT.City、DevifyPlatform 與 Flowchain,目前參與 2 個 Blockchain 相關新創團隊。
- Email:jollen@jollen.org
- Blog:http://www.jollen.org/blog
- Github:https://github.com/jollen
- 移除 ARM mbed 教學
- 加入 MediaTek LinkIt Smart 7688 教學
- 加入 Serverless 教學
- 加入 P2P 教學
- 第 1~13 章進行季度校對
- 加入 IoT 初體驗
- 預計在完成 Roadmap 後正式公開發佈本書 (目前本書為試讀階段)
- 預計 2017.1.1 發表
- 你可以在 Mokoversity Fullstack IoT 2017 申請成為 Fullstack IoT 2017 的種子講師,並使用本教材於演講、教學與其它非商業性質活動
- 2016-10-04:開始進行第 3 版改版工程
- 2015-12-23:開始進行第 2 版改版工程
本著作係採用創用 CC 姓名標示-非商業性 4.0 國際 授權條款授權
感謝 @Hierom、@benshiue 提交的貢獻與協助錯誤修正。
這是我在課堂中使用的練習題,可搭配本書使用。
- 1.1 Object
- 1.2 宣告 Class
- 1.3 使用 Factory Pattern
- 1.4 Constructor Pattern
- 1.5 Design Pattern for Front-End
- 1.6 Module Pattern
- 1.7 jQuery Pattern
- 1.8 選擇器模式
- 1.9 Prototype Pattern
- 1.10 其它模式
- 2.1 HTML5 的 Runtime 是瀏覽器
- 2.2 從 Chrome 瀏覽器談起
- 2.3 Web Fullstack 軟體開發的概念
- 2.4 JavaScript 也能開發雲端服務
- 2.5 Data Push 設計模式
- 2.6 Device API 的革命時代
- 2.7 重要的資訊交換格式:JSON
- 5.1 Lambda
- 5.2 Callback Function
- 5.3 從 TypeScript 談起
- 5.4 Arrow Function 初體驗
- 6.1 再探 HTTP API
- 6.2 REST
- 6.3 認識 HTTP 協定
- 7.1 認識 Non-blocking IO
- 7.2 非同步式讀取多個檔案
- 7.3 深入淺出 Asynchronous
- 7.4 淺談 Callback Hell 與 Promise
- 7.5 Promise 初體驗
- 8.1 Express.js 初體驗
- 8.2 MVC 與 HTML Template Engine
- 8.3 解析 app.js
- 8.4 Express URL Routing
- 8.5 Middleware 的觀念
- 10.1 服務導向架構
- 10.2 關於 SOA 與 3-Tier 架構
- 10.3 Presenetation 在 Client 端
- 10.4 Express.js 與 REST API
- 10.5 Node.js Chat Client
- 10.6 CORS 與 Preflight Request
- 12.1 Backbone Way
- 12.2 認識 View.$el
- 12.3 認識 Backbone.Model
- 12.4 認識 Backbone.Model.fetch
- 12.5 認識 Backbone.Model.save
- 15.1 物聯網學習體系
- 15.2 ARM mbed 作業系統
- 15.3 ARM mbed Networking
- 15.4 使用 NTP-Network Time Protocol
- 15.5 WoT 裝置的 Use Case
- 16.1 前後端整合初體驗
- 16.2 淺談 Flux 架構模式
- 16.3 前端入門初體驗 - 使用 React.js
- 20.1 Decentralized vs Distributed
- 20.2 常見的 Peer-to-Peer 協定
- 20.3 認識 Bitcoin Networks 與 P2P 交易
- 20.4 認識 Distributed Ledgers
- 20.5 深入淺出 Transaction 技術
- 21.1 安裝 WebTorrent
- 21.2 實作 P2P 檔案傳輸
- 22.3 使用 WebTorrent 模組
- 22.1 認識 Merkle Tree
- 22.2 SHA256 與 Genesis Block
- 22.3 建立 Merkle Tree
- 23.1 為什麼要 Mining?
- 23.1 簡單易懂的 Mining 演算法設計
- 23.3 Transaction 實作初體驗
- 23.4 認識 OP_RETURN
- 24.1 實作 Node.js Live Web App (視訊直播前端)
- 24.2 實作 Node.js Streamming Server (視訊直播後端)
- 24.3 實作 Broker Server (雲端架構)
- 24.4 實作 Bitcoin Transaction (身份認證)
- 24.5 實作 Blockchain (交易認證)
- 24.6 實作 Live Streaming (P2P 直播)