9787121304026

Node.js硬實戰:115個核心技巧

Alex R. Young,Marc Harter

  • 出版商: 電子工業
  • 出版日期: 2016-12-31
  • 台幣定價: $654
  • 售價: $654
  • 語言: 簡體中文
  • 頁數: 486
  • ISBN: 7121304023
  • ISBN-13: 9787121304026

立即出貨

買這商品的人也買了...

產品描述

<內容簡介>

Node.js 是一個持續走熱的供開發人員開發服務器端應用的平台,但是目前Node.js is的相關實例仍明顯不足,尤其與實踐差距較大。本書匯總了115種Node實踐中的實用技術,書中所有代碼都是經過測試、立即可用且相互關聯的。內容包括基於事件編程、為什麼及如何使用閉包、如何利用端到端的JavaScript應用構建自己的應用程序,等等。代碼段註釋豐富,非常便於讀者理解,而精心設計的交叉引用則提示了某一技術與其他技術之間的聯繫。

 

<章節目錄>

第一部分Node基礎
1入門2
1.1Node入門3
1.1.1為什麼使用Node3
1.1.2Node的主要特性5
1.2構建一個Node應用7
1.2.1創建一個新的Node項目8
1.2.2創建一個流的類9
1.2 .3使用流10
1.2.4編寫測試11
1.3總結13
2全局變量:Node環境15
2.1模塊16
技巧1安裝與加載模塊16
技巧2創建與管理模塊17
技巧3加載一組相關的模塊20
技巧4使用路徑22
2.2標準I/O以及console對象23
技巧5標準I/O流的讀寫24
技巧6打印日誌消息25
技巧7基準測試27
2.3操作系統與命令行29
技巧8獲取平台信息29
技巧9傳遞命令行參數30
技巧10退出程序31
技巧11響應信號量33
2.4使用timer延遲執行35
技巧12通過setTimeout延遲執行函數35
技巧13通過定時器定時調用回調函數37
技巧14安全的操作異步接口38
2.5總結41
3Buffers :使用比特、字節以及編碼43
3.1修改數據編碼44
技巧15Buffer轉換為其他格式44
技巧16使用Buffers來修改字符串編碼46
3.2二進製文件轉換為JSON49
技巧17使用Buffer來轉換原始數據49
3.3創建你自己的二進制協議65
技巧18創建自己的網絡協議65
3.4總結71
4Events:玩轉EventEmitter72
4.1基礎用法73
技巧19從EventEmitter繼承73
技巧20混合EventEmitter76
4.2異常處理78
技巧21管理異常78
技巧22通過domains管理異常80
4.3高級模式82
技巧23反射82
技巧24探索EventEmitter85
技巧25組織事件名稱87
4.4第三方模塊以及擴展88
技巧26EventEmitter的替代方案89
4.5總結91
5流:最強大和最容易誤解的功能93
5.1流的介紹94
5.1.1流的類型94
5.1.2什麼時候使用流94
5.1.3歷史95
5.1.4第三方模塊中的流96
5.1.5流繼承事件97
5.2內置流98
技巧27使用內置的流來實現靜態web服務器98
技巧28流的錯誤處理101
5.3第三方模塊和流102
技巧29使用流的第三方模塊102
5.4使用流基類105
技巧30正確地從流的基類繼承105
技巧31實現一個可讀流107
技巧32實現一個可寫流111
技巧33使用雙工流轉換和接收數據113
技巧34使用轉換流解析數據114
5.5高級模式和優化118
技巧35流的優化118
技巧36使用老的流API121
技巧37基於功能的流適配123
技巧38測試流125
5.6總結128
6文件系統:通過異步和同步的方法處理文件129
6.1fs模塊概述130
6.1.1POSIX文件系統包裝器130
6.1.2流132
6.1.3批量文件操作133
6.1.4文件監視133
6.1.5同步的替代方案133
技巧39讀取配置文件134
技巧40使用文件描述136
技巧41使用文件鎖137
技巧42遞歸文件操作142
技巧43編寫文件數據庫147
技巧44監視文件以及文件夾151
6.2總結154
7網絡:Node真正的“Hello,World”156
7.1Node中的網絡156
7.1.1網絡技術157
7.1.2Node網絡模塊161
7.1.3非阻塞網絡和線程池162
7.2 TCP客戶端和服務端163
技巧45創建TCP服務端和客戶端163
技巧46使用客戶端測試TCP服務端165
技巧47改進實時性低的應用168
7.3UDP客戶端和服務端170
技巧48通過UDP傳輸文件170
技巧49UDP客戶端服務應用174
7.4HTTP客戶端和服務端179
技巧50HTTP服務器179
技巧51重定向181
技巧52HTTP代理186
7.5創建DNS請求189
技巧53創建DNS請求189
7.6加密191
技巧54一個加密的TCP服務器192
技巧55加密的Web服務器和客戶端196
7.7總結198
8子進程:利用Node整合外部應用程序200
8.1執行外部應用程序202
技巧56執行外部應用程序202
8.1.1路徑和Path的環境變量203
8.1. 2執行外部程序時候出現的異常204
技巧57流和外部應用程序205
8.1.3外部應用程序的串聯調用206
技巧58在shell中執行命令208
8.1.4安全性和shell命令執行209
技巧59分離子進程210
8.1.5父進程和子進程之間的I/O處理211
8.1.6引用計數和子進程213
8.2執行Node程序213
技巧60執行Node程序214
技巧61ForkingNode模塊216
技巧62運行作業218
8.2.1工作池220
8.2.2使用池模塊222
8.3同步運行223
技巧63同步子進程223
8.4總結227
第二部分實踐中的技巧
9網絡:構建精簡的網絡應用230
9.1前端技術231
技巧64快速的靜態網站服務器231
技巧65在Node中使用DOM236
技巧66在瀏覽器端使用Node模塊238
9.2服務端技術241
技巧67Express路由分離241
技巧68自動重啟服務器245
技巧69配置web應用248
技巧70優雅地處理錯誤253
技巧71RESTfulweb應用257
技巧72使用自定義的中間件267
技巧73使用事件進行解耦273
技巧74使用WebSockets來處理sessions276
技巧75升級Express3到4281
9.3web應用程序的測試285
技巧76測試路由286
技巧77為中間件注入創建seams288
技巧78測試依賴遠程服務的應用291
9.4全棧框架297
9.5實時服務299
9.6總結300
10測試:編寫健壯代碼的關鍵301
10.1Node測試的相關介紹303
10.2使用斷言編寫簡單的測試304
技巧79用內置的模塊編寫測試305
技巧80編寫驗證異常的測試308
技巧81創建自定義的斷言312
10.3測試裝置314
技巧82使用一個測試裝置組織測試314
10.4測試框架318
技巧83使用Mocha編寫測試319
技巧84使用Mocha測試web應用323
技巧85萬能測試協議(TAP)328
10.5測試工具331
技巧86持續集成331
技巧87數據庫裝置335
10.6擴展閱讀343
10.7總結343
11調試:用於發現和解決問題344
11.1內省345
11.1.1顯式異常345
11.1.2隱藏的異常346
11.1.3錯誤事件346
11.1.4錯誤參數347
技巧88處理未捕獲的異常348
技巧89檢查我們的Node代碼351
11.2問題的調試352
技巧90使用Node內置的調試器352
技巧91使用NodeInspector359
技巧92對Node應用進行性能分析361
技巧93內存洩漏的調試365
技巧94使用REPL來檢測運行中的程序370
技巧95跟踪系統調用377
11.3總結381
12生產環境中的Node:安全地部署應用程序382
12.1部署383
技巧96將Node程序部署到雲端383
技巧97使用Apache和Ngnix部署Node程序389
技巧98在80端口上安全地運行Node程序392
技巧99保持Node進程一直運行394
技巧100在生產環境中使用WebSockets396
12.2Node程序的緩存和擴展性402
技巧101HTTP緩存402
技巧102為程序的路由和擴展使用Node代理404
技巧103使用集群保持程序的擴展性和彈性408
12.3維護413
技巧104包的優化413
技巧105日誌和日誌服務415
12.4更多關於Node程序的擴展性和彈性的備註418
12.5總結419
第三部分編寫模塊
13編寫模塊,掌握Node的所有422
13.1頭腦風暴424
13.1.1更快的斐波那契模塊424
技巧106計劃編寫我們的模塊425
技巧107驗證我們模塊的想法427
13.2創建package.json文件433
技巧108創建package.json文件433
技巧109依賴處理436
技巧110語義化版本號441
13.3用戶體驗444
技巧111添加可執行腳本444
技巧112在本地測試模塊446
技巧113在不同版本Node中測試448
13.4發布451
技巧114發布模塊451
技巧115使用私有模塊453
13.5總結455
A社區457