深入淺齣Node.js

深入淺齣Node.js pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:樸靈
出品人:
頁數:332
译者:
出版時間:2013-12-1
價格:69.00元
裝幀:平裝
isbn號碼:9787115335500
叢書系列:圖靈原創
圖書標籤:
  • node.js
  • JavaScript
  • Node.js
  • 編程
  • Web
  • 計算機
  • nodejs
  • 技術
  • Node
  • js
  • 前端開發
  • 後端開發
  • JavaScript
  • 異步編程
  • 事件驅動
  • 服務器開發
  • 開發入門
  • 實戰案例
  • 網絡編程
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書從不同的視角介紹瞭 Node 內在的特點和結構。由首章Node 介紹為索引,涉及Node 的各個方麵,主要內容包含模塊機製的揭示、異步I/O 實現原理的展現、異步編程的探討、內存控製的介紹、二進製數據Buffer 的細節、Node 中的網絡編程基礎、Node 中的Web 開發、進程間的消息傳遞、Node 測試以及通過Node 構建産品需要的注意事項。最後的附錄介紹瞭Node 的安裝、調試、編碼規範和NPM 倉庫等事宜。

本書適閤想深入瞭解 Node 的人員閱讀。

著者簡介

樸靈

真名田永強,文藝型碼農,就職於阿裏巴巴數據平颱,資深工程師,Node.js布道者,寫瞭多篇文章介紹Node.js的細節。活躍於CNode社區,是綫下會議NodeParty的組織者和JSConf China(滬JS和京JS)的組織者之一。熱愛開源,多個Node.js模塊的作者。個人GitHub地址:http://github.com/JacksonTian。叩首問路,碼夢為生。

圖書目錄

第1章 Node簡介  1
1.1  Node的誕生曆程  1
1.2  Node的命名與起源  1
1.2.1  為什麼是JavaScript  2
1.2.2  為什麼叫Node  2
1.3  Node給JavaScript帶來的意義  2
1.4  Node的特點  4
1.4.1  異步I/O  4
1.4.2  事件與迴調函數  6
1.4.3  單綫程  7
1.4.4  跨平颱  7
1.5  Node的應用場景  8
1.5.1  I/O密集型  8
1.5.2  是否不擅長CPU密集型業務  8
1.5.3  與遺留係統和平共處  10
1.5.4  分布式應用  10
1.6  Node的使用者  10
1.7  參考資源  11
第2章 模塊機製  12
2.1  CommonJS規範  13
2.1.1  CommonJS的齣發點  13
2.1.2  CommonJS的模塊規範  14
2.2  Node的模塊實現  15
2.2.1  優先從緩存加載  16
2.2.2  路徑分析和文件定位  16
2.2.3  模塊編譯  18
2.3  核心模塊  20
2.3.1  JavaScript核心模塊的編譯過程  21
2.3.2  C/C++核心模塊的編譯過程  22
2.3.3  核心模塊的引入流程  25
2.3.4  編寫核心模塊  25
2.4  C/C++擴展模塊  27
2.4.1  前提條件  28
2.4.2  C/C++擴展模塊的編寫  29
2.4.3  C/C++擴展模塊的編譯  30
2.4.4  C/C++擴展模塊的加載  31
2.5  模塊調用棧  32
2.6  包與NPM  33
2.6.1  包結構  34
2.6.2  包描述文件與NPM  34
2.6.3  NPM常用功能  37
2.6.4  局域NPM  42
2.6.5  NPM潛在問題  43
2.7  前後端共用模塊  44
2.7.1  模塊的側重點  44
2.7.2  AMD規範  44
2.7.3  CMD規範  45
2.7.4  兼容多種模塊規範  45
2.8  總結  46
2.9  參考資源  46
第3章 異步I/O  47
3.1  為什麼要異步I/O  47
3.1.1  用戶體驗  48
3.1.2  資源分配  49
3.2  異步I/O實現現狀  50
3.2.1  異步I/O與非阻塞I/O  50
3.2.2  理想的非阻塞異步I/O  54
3.2.3  現實的異步I/O  54
3.3  Node的異步I/O  56
3.3.1  事件循環  56
3.3.2  觀察者  56
3.3.3  請求對象  57
3.3.4  執行迴調  59
3.3.5  小結  60
3.4  非I/O的異步API  60
3.4.1  定時器  60
3.4.2  process.nextTick()  61
3.4.3  setImmediate()  62
3.5  事件驅動與高性能服務器  63
3.6  總結  65
3.7  參考資源  65
第4章 異步編程  66
4.1  函數式編程  66
4.1.1  高階函數  66
4.1.2  偏函數用法  67
4.2  異步編程的優勢與難點  68
4.2.1  優勢  69
4.2.2  難點  70
4.3  異步編程解決方案  74
4.3.1  事件發布/訂閱模式  74
4.3.2  Promise/Deferred模式  82
4.3.3  流程控製庫  93
4.4  異步並發控製  105
4.4.1  bagpipe的解決方案  105
4.4.2  async的解決方案  109
4.5  總結  110
4.6  參考資源  110
第5章 內存控製  111
5.1  V8的垃圾迴收機製與內存限製  111
5.1.1  Node與V8  112
5.1.2  V8的內存限製  112
5.1.3  V8的對象分配  112
5.1.4  V8的垃圾迴收機製  113
5.1.5  查看垃圾迴收日誌  119
5.2  高效使用內存  121
5.2.1  作用域  121
5.2.2  閉包  123
5.2.3  小結  124
5.3  內存指標  124
5.3.1  查看內存使用情況  124
5.3.2  堆外內存  126
5.3.3  小結  127
5.4  內存泄漏  127
5.4.1  慎將內存當做緩存  127
5.4.2  關注隊列狀態  130
5.5  內存泄漏排查  130
5.5.1  node-heapdump  131
5.5.2  node-memwatch  132
5.5.3  小結  135
5.6  大內存應用  135
5.7  總結  136
5.8  參考資源  136
第6章  理解Buffer  137
6.1  Buffer結構  137
6.1.1  模塊結構  137
6.1.2  Buffer對象  138
6.1.3  Buffer內存分配  139
6.2  Buffer的轉換  141
6.2.1  字符串轉Buffer  141
6.2.2  Buffer轉字符串  142
6.2.3  Buffer不支持的編碼類型  142
6.3  Buffer的拼接  143
6.3.1  亂碼是如何産生的  144
6.3.2  setEncoding()與string_decoder()  144
6.3.3  正確拼接Buffer  145
6.4  Buffer與性能  146
6.5  總結  149
6.6  參考資源  149
第7章 網絡編程  150
7.1  構建TCP服務  150
7.1.1  TCP  150
7.1.2  創建TCP服務器端  151
7.1.3  TCP服務的事件  153
7.2  構建UDP服務  154
7.2.1  創建UDP套接字  154
7.2.2  創建UDP服務器端  154
7.2.3  創建UDP客戶端  155
7.2.4  UDP套接字事件  155
7.3  構建HTTP服務  155
7.3.1  HTTP  156
7.3.2  http模塊  157
7.3.3  HTTP客戶端  161
7.4  構建WebSocket服務  163
7.4.1  WebSocket握手  164
7.4.2  WebSocket數據傳輸  167
7.4.3  小結  169
7.5  網絡服務與安全  169
7.5.1  TLS/SSL  170
7.5.2  TLS服務  172
7.5.3  HTTPS服務  173
7.6  總結  175
7.7  參考資源  176
第8章 構建Web應用  177
8.1  基礎功能  177
8.1.1  請求方法  178
8.1.2  路徑解析  179
8.1.3  查詢字符串  180
8.1.4  Cookie  181
8.1.5  Session  184
8.1.6  緩存  190
8.1.7  Basic認證  193
8.2  數據上傳  195
8.2.1  錶單數據  195
8.2.2  其他格式  196
8.2.3  附件上傳  197
8.2.4  數據上傳與安全  199
8.3  路由解析  201
8.3.1  文件路徑型  202
8.3.2  MVC  202
8.3.3  RESTful  207
8.4  中間件  210
8.4.1  異常處理  214
8.4.2  中間件與性能  215
8.4.3  小結  216
8.5  頁麵渲染  217
8.5.1  內容響應  217
8.5.2  視圖渲染  219
8.5.3  模闆  220
8.5.4  Bigpipe  231
8.6  總結  235
8.7  參考資源  235
第9章 玩轉進程  236
9.1  服務模型的變遷  236
9.1.1  石器時代:同步  236
9.1.2  青銅時代:復製進程  237
9.1.3  白銀時代:多綫程  237
9.1.4  黃金時代:事件驅動  237
9.2  多進程架構  238
9.2.1  創建子進程  239
9.2.2  進程間通信  240
9.2.3  句柄傳遞  242
9.2.4  小結  247
9.3  集群穩定之路  248
9.3.1  進程事件  248
9.3.2  自動重啓  249
9.3.3  負載均衡  254
9.3.4  狀態共享  255
9.4  Cluster模塊  257
9.4.1  Cluster工作原理  258
9.4.2  Cluster事件  259
9.5  總結  259
9.6  參考資源  260
第10章 測試  261
10.1  單元測試  261
10.1.1  單元測試的意義  261
10.1.2  單元測試介紹  263
10.1.3  工程化與自動化  276
10.1.4  小結  277
10.2  性能測試  278
10.2.1  基準測試  278
10.2.2  壓力測試  280
10.2.3  基準測試驅動開發  281
10.2.4  測試數據與業務數據的轉換  283
10.3  總結  284
10.4  參考資源  284
第11章 産品化  285
11.1  項目工程化  285
11.1.1  目錄結構  285
11.1.2  構建工具  286
11.1.3  編碼規範  289
11.1.4  代碼審查  289
11.2  部署流程  290
11.2.1  部署環境  291
11.2.2  部署操作  291
11.3  性能  293
11.3.1  動靜分離  293
11.3.2  啓用緩存  294
11.3.3  多進程架構  294
11.3.4  讀寫分離  295
11.4  日誌  295
11.4.1  訪問日誌  295
11.4.2  異常日誌  296
11.4.3  日誌與數據庫  299
11.4.4  分割日誌  299
11.4.5  小結  299
11.5  監控報警  299
11.5.1  監控  300
11.5.2  報警的實現  302
11.5.3  監控係統的穩定性  303
11.6  穩定性  303
11.7  異構共存  304
11.8  總結  305
11.9  參考資源  305
附錄A  安裝Node  306
A.1  Windows係統下的Node安裝  306
A.2  Mac係統下Node的安裝  307
A.3  Linux係統下Node的安裝  308
A.4  總結  309
A.5  參考資源  309
附錄B  調試Node  310
B.1  Debugger  310
B.2  Node Inspector  311
B.2.1  安裝Node Inspector  312
B.2.2  錯誤堆棧  312
B.3  總結  313
附錄C  Node編碼規範  314
C.1  根源  314
C.2  編碼規範  315
C.2.1  空格與格式  315
C.2.2  命名規範  317
C.2.3  比較操作  318
C.2.4  字麵量  318
C.2.5  作用域  318
C.2.6  數組與對象  319
C.2.7  異步  320
C.2.8  類與模塊  320
C.2.9  注解規範  321
C.3  最佳實踐  321
C.3.1  衝突的解決原則  321
C.3.2  給編輯器設置檢測工具  321
C.3.3  版本控製中的hook  322
C.3.4  持續集成  322
C.4  總結  322
C.5  參考資源  323
附錄D  搭建局域NPM倉庫  324
D.1  NPM倉庫的安裝  325
D.1.1  安裝Erlang和CouchDB  325
D.1.2  搭建NPM倉庫  326
D.2  高階應用  328
D.2.1  鏡像倉庫  328
D.2.2  私有模塊應用  328
D.2.3  純私有倉庫  329
D.3  總結  331
D.4  參考資源  332
· · · · · · (收起)

讀後感

評分

记得有一段是描述generator的,当时没看懂,觉得很神奇,今天又想起来去找那段描述,死活找不到了,记忆这个东西啊,有时候是会骗人的呀。有没有厉害的书友,告知下,这本书里到底有没有描述generator的内容,在哪一章哪一节?纳尼,不够140字,不让我发表吗?豆娘建议改改这个...  

評分

花了一个周末的时间,先从前到后略读了一遍,之后又从最后一章详细读到第一章,嘿嘿,倒着读竟然感觉比正着读还顺畅。 这种感觉说明了一个问题,本书在章节组织上是存在一些问题的;特别是第三章/第四章是比较深入的章节,在没有对node做一个基本编程体验的情况下,很难理解no...  

評分

評分

花了一个周末的时间,先从前到后略读了一遍,之后又从最后一章详细读到第一章,嘿嘿,倒着读竟然感觉比正着读还顺畅。 这种感觉说明了一个问题,本书在章节组织上是存在一些问题的;特别是第三章/第四章是比较深入的章节,在没有对node做一个基本编程体验的情况下,很难理解no...  

評分

周末抽空把 @朴灵 的深入浅出看完了,好书一枚,每个章节中都能发现自己的一些知识盲点,学到了不少。 本书在Node当前的书籍中绝对的佼佼者。推荐大家阅读。针对每个知识点深度挖掘一下会让自己知识体系更完整。  

用戶評價

评分

廣度和深度都夠瞭,雖然部分知識點有點老,但是作為進階讀物還是很不錯的。另外希望作者能更新一些新內容進去。

评分

這名字是騙人滴,根本不是入門書……我一般刷得快的書都是上麵的大段大段內容都知道,但是這本刷得快的原因是很多看不懂,隻好跳過……

评分

好書,細緻。五、九、十、十一幾章受益良多

评分

藉同事的書翻瞭一遍,不必要的代碼略多。很全麵,如果齣電子版就入一本。

评分

藉同事的書翻瞭一遍,不必要的代碼略多。很全麵,如果齣電子版就入一本。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有