|
-- 會員 / 註冊 --
|
|
|
|
Node.js設計模式(第2版) ( 簡體 字) |
作者:(愛爾蘭)Mario Casciaro(馬里奧?卡西羅), (意大利)Luciano Mammino(盧西安諾?馬米諾) | 類別:1. -> 程式設計 -> 網路編程 -> Node.js |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 48617 詢問書籍請說出此書號!【缺書】 NT售價: 540 元 |
出版日:2/1/2018 |
頁數:410 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121335228 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: |
目錄:第1 章歡迎來到Node.js 平臺. . . . . 1 Node.js 的哲學思想. . . . . 2 小核心. . . . . 2 小模組. . . . . 2 小接觸面. . . . . 3 簡單和實用3 認識Node.js 6 和ES2015. . . . . 4 let 和const 關鍵字. . . . . 5 箭頭函數. . . . . 6 類語法. . . . . 8 增強的對象字面量. . . . . 10 Map 和Set 集合. . . . . 11 WeakMap 和WeakSet 集合. . . . . 13 範本字面量. . . . . 14 其他ES2015 特性. . . . . 14 Reactor 模式. . . . . 15 I/O 是緩慢的. . . . . 15 阻塞I/O. . . . . 15 非阻塞I/O . . . . . 16 事件多路分解器. . . . . 17 Reactor 模式簡介. . . . . 19 Node.js-libuv 的非阻塞I/O 引擎. . . . . 20 Node.js 的秘訣. . . . . 21 總結. . . . . 21 第2 章Node.js 基礎設計模式. . . . . . 23 回檔模式. . . . . 24 CPS(Continuation Passing Style). . . . . 24 同步或非同步. . . . . 26 Node.js 回檔約定. . . . . 31 模組系統及其模式. . . . . 34 揭示模組模式. . . . . 34 Node.js 模組解釋. . . . . 35 模組定義模式. . . . . 42 觀察者模式. . . . . 49 EventEmitter 類. . . . . 49 創建和使用EventEmitter . . . . . 50 傳播錯誤. . . . . 51 使任何對象可觀察. . . . . 51 同步和非同步事件. . . . . 53 EventEmitter 與回檔. . . . . 54 組合回檔和EventEmitter . . . . . 55 總結. . . . . 55 第3 章非同步控制流模式之回呼函數. . . . 56 非同步程式設計的困難. . . . . 56 創建一個簡單的網路蜘蛛. . . . . 57 回檔地獄. . . . . 59 使用純JavaScript. . . . . 60 回檔規則. . . . . 60 應用回檔規則. . . . . 61 循序執行. . . . . 63 並存執行. . . . . 68 有限制的並存執行. . . . . 73 async 庫. . . . . 77 循序執行. . . . . 78 並存執行. . . . . 81 有限制的並存執行. . . . . 81 總結. . . . . 83 第4 章非同步控制流模式之ES2015 . . . . 84 promise . . . . . 84 什麼是promise . . . . . 85 Promises/A 實現. . . . . 87 Node.js 風格函數的promise 化. . . . . 88 循序執行. . . . . 90 並存執行. . . . . 93 有限制的並存執行. . . . . 93 在公共API 中暴露callback 和promise. . . . . 95 generator . . . . . 97 generator 基礎. . . . . 97 generator 的非同步控制流. . . . . 100 循序執行. . . . . 104 並存執行. . . . . 106 有限制的並存執行. . . . . 108 使用Babel 的async await. . . . . 111 安裝和運行Babel . . . . . 112 比較. . . . . 113 總結. . . . . 114 第5 章流程式設計. . . . . . . 115 流的重要性. . . . . 115 緩衝和流. . . . . 116 空間效率. . . . . 117 時間效率. . . . . 118 組合性. . . . . 121 開始學習流. . . . . 122 流的分類. . . . . 122 可讀流. . . . . 123 可寫流. . . . . 127 雙向流(Duplex stream). . . . . 132 變換流. . . . . 132 使用管道拼接流. . . . . 135 使用流處理非同步流程. . . . . 137 循序執行. . . . . 138 無序並存執行. . . . . 139 無序有限制的並存執行. . . . . 143 順序並存執行. . . . . 145 管道模式. . . . . 146 組合流. . . . . 146 複製流. . . . . 149 合併流. . . . . 150 複用和分解. . . . . 152 總結. . . . . 159 第6 章設計模式. . . . . . . 160 工廠模式. . . . . 161 創建物件的通用介面. . . . . 161 一種封裝的機制. . . . . 162 構建一個簡單的代碼分析器. . . . . 164 可組合的工廠函數. . . . . 166 擴展. . . . . 169 揭示構造函數. . . . . 170 唯讀事件觸發器. . . . . 171 擴展. . . . . 172 代理模式. . . . . 173 實現代理模式的方法. . . . . 174 不同方法的比較. . . . . 176 創建日誌記錄的寫入流. . . . . 176 生態系統中的代理模式——函數鉤子與面向行為程式設計(AOP). . . . . 178 ES2015 中的Proxy 物件. . . . . 178 擴展. . . . . 180 裝飾者模式(Decorator). . . . . 180 實現裝飾者模式的方法. . . . . 181 裝飾一個LevelUP 資料庫. . . . . 182 擴展. . . . . 185 適配器模式(Adapter) . . . . . 185 通過檔案系統API 來使用LevelUP 資料庫. . . . . 186 擴展. . . . . 189 策略模式(Strategy). . . . . 189 支援多種格式的配置物件. . . . . 190 擴展. . . . . 193 狀態模式. . . . . 193 實現一個基本的自動防故障通訊端. . . . . 194 範本模式(Template). . . . . 199 配置管理器範本. . . . . 199 擴展. . . . . 201 中介軟體(Middleware) . . . . . 202 Express 中的中介軟體. . . . . 202 設計模式中的中介軟體. . . . . 203 為?MQ 創建中介軟體框架. . . . . 204 在Koa 中使用生成器的中介軟體. . . . . 210 命令模式(Command). . . . . 213 靈活的設計模式. . . . . 214 總結. . . . . 218 第7 章連接模組. . . . . . . 220 模組和依賴. . . . . 221 Node.js 中最常見的依賴. . . . . 221 內聚和耦合. . . . . 222 有狀態的模組. . . . . 222 連接模組模式. . . . . 224 硬編碼依賴. . . . . 224 依賴注入. . . . . 229 服務定位器. . . . . 234 依賴注入容器. . . . . 239 連接外掛程式. . . . . 243 外掛程式作為包. . . . . 243 擴展點. . . . . 245 外掛程式控制與應用程式控制的擴展. . . . . 245 實現註銷外掛程式. . . . . 248 總結. . . . . 256 第8 章通用JavaScript 的Web 應用程式. . . . 257 與流覽器端共用代碼. . . . . 258 共用模組. . . . . 258 Webpack 簡介. . . . . 262 Webpack 的魔力. . . . . 263 Webpack 的優點. . . . . 264 使用ES2015 和Webpack . . . . . 265 跨平臺開發基礎. . . . . 267 運行時代碼分支. . . . . 268 構建時代碼分支. . . . . 269 模組交換. . . . . 271 用於跨平臺開發的設計模式. . . . . 273 React 介紹. . . . . 274 第一個React 組件. . . . . 275 JSX 是什麼. . . . . 277 配置Webpack 以實現JSX 轉換. . . . . 279 在流覽器中渲染. . . . . 280 React 路由庫. . . . . 281 創建通用JavaScript 應用程式. . . . . 286 創建可用的組件. . . . . 287 服務端渲染. . . . . 289 通用渲染和路由. . . . . 293 通用資料檢索. . . . . 294 總結. . . . . 304 第9 章高級非同步程式設計技巧. . . . . . 305 需要非同步初始化的模組. . . . . 305 規範解決方案. . . . . 306 預初始化佇列. . . . . 307 題外話. . . . . 311 非同步批次處理和緩存. . . . . 312 實現沒有緩存或批次處理的伺服器. . . . . 312 非同步請求批次處理. . . . . 314 非同步請求緩存. . . . . 316 使用promise 進行批次處理和緩存. . . . . 319 運行CPU 綁定的任務. . . . . 322 解決子集和問題. . . . . 322 交叉使用setImmediate . . . . . 325 使用多進程. . . . . 328 總結. . . . . 335 第10 章擴展與架構模式. . . . . 336 應用程式擴展介紹. . . . . 337 擴展Node.js 應用程式. . . . . 337 可擴展性的三個維度. . . . . 337 克隆和負載均衡. . . . . 339 集群模組. . . . . 340 處理有狀態通信. . . . . 348 使用反向代理進行擴展. . . . . 350 使用服務註冊表. . . . . 354 對等負載均衡. . . . . 360 分解複雜的應用程式. . . . . 362 單體式架構. . . . . 362 微服務架構. . . . . 364 微服務架構中的集成模式. . . . . 367 總結. . . . . 372 第11 章消息傳遞與集成模式. . . . . 374 消息系統的基礎. . . . . 375 單向和請求/接聽模式. . . . . 375 消息類型. . . . . 376 非同步消息和佇列. . . . . 377 對等或基於代理的消息. . . . . 378 發佈/訂閱模式. . . . . 379 構建簡約的即時聊天應用程式. . . . . 380 使用Redis 作為消息代理. . . . . 383 使用?MQ 對等發佈/訂閱. . . . . 385 持久訂閱者. . . . . 389 管道和任務分配模式. . . . . 396 ?MQ 扇出/扇入模式. . . 397 使用AMQP 實現管道和競爭消費者模式. 401 請求/接聽模式. 406 關聯識別字. 406 返回地址. 410 總結. 415
|
序: |
|