注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合深入淺出Node.js

深入淺出Node.js

深入淺出Node.js

定 價:¥69.00

作 者: 樸靈 著
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 編程語言與程序設(shè)計 計算機(jī)與互聯(lián)網(wǎng)

ISBN: 9787115335500 出版時間: 2013-12-01 包裝: 平裝
開本: 16開 頁數(shù): 348 字?jǐn)?shù):  

內(nèi)容簡介

  《深入淺出Node.js》從不同的視角介紹了 Node 內(nèi)在的特點(diǎn)和結(jié)構(gòu)。由首章Node 介紹為索引,涉及Node 的各個方面,主要內(nèi)容包含模塊機(jī)制的揭示、異步I/O 實現(xiàn)原理的展現(xiàn)、異步編程的探討、內(nèi)存控制的介紹、二進(jìn)制數(shù)據(jù)Buffer 的細(xì)節(jié)、Node 中的網(wǎng)絡(luò)編程基礎(chǔ)、Node 中的Web 開發(fā)、進(jìn)程間的消息傳遞、Node 測試以及通過Node 構(gòu)建產(chǎn)品需要的注意事項。最后的附錄介紹了Node 的安裝、調(diào)試、編碼規(guī)范和NPM 倉庫等事宜?!渡钊霚\出Node.js》適合想深入了解 Node 的人員閱讀。

作者簡介

  樸靈,真名田永強(qiáng),文藝型碼農(nóng),就職于阿里巴巴數(shù)據(jù)平臺,資深工程師,Node.js布道者,寫了多篇文章介紹Node.js的細(xì)節(jié)?;钴S于CNode社區(qū),是線下會議NodeParty的組織者和JSConf China(滬JS和京JS)的組織者之一。熱愛開源,多個Node.js模塊的作者。

圖書目錄

第1章 Node簡介
1.1  Node的誕生歷程
1.2  Node的命名與起源
1.2.1  為什么是JavaScript
1.2.2  為什么叫Node
1.3  Node給JavaScript帶來的意義
1.4  Node的特點(diǎn)
1.4.1  異步I/O
1.4.2  事件與回調(diào)函數(shù)
1.4.3  單線程
1.4.4  跨平臺
1.5  Node的應(yīng)用場景
1.5.1  I/O密集型
1.5.2  是否不擅長CPU密集型業(yè)務(wù)
1.5.3  與遺留系統(tǒng)和平共處
1.5.4  分布式應(yīng)用
1.6  Node的使用者
1.7  參考資源
第2章 模塊機(jī)制
2.1  CommonJS規(guī)范
2.1.1  CommonJS的出發(fā)點(diǎn)
2.1.2  CommonJS的模塊規(guī)范
2.2  Node的模塊實現(xiàn)
2.2.1  優(yōu)先從緩存加載
2.2.2  路徑分析和文件定位
2.2.3  模塊編譯
2.3  核心模塊
2.3.1  JavaScript核心模塊的編譯過程
2.3.2  C/C++核心模塊的編譯過程
2.3.3  核心模塊的引入流程
2.3.4  編寫核心模塊
2.4  C/C++擴(kuò)展模塊
2.4.1  前提條件
2.4.2  C/C++擴(kuò)展模塊的編寫
2.4.3  C/C++擴(kuò)展模塊的編譯
2.4.4  C/C++擴(kuò)展模塊的加載
2.5  模塊調(diào)用棧
2.6  包與NPM
2.6.1  包結(jié)構(gòu)
2.6.2  包描述文件與NPM
2.6.3  NPM常用功能
2.6.4  局域NPM
2.6.5  NPM潛在問題
2.7  前后端共用模塊
2.7.1  模塊的側(cè)重點(diǎn)
2.7.2  AMD規(guī)范
2.7.3  CMD規(guī)范
2.7.4  兼容多種模塊規(guī)范
2.8  總結(jié)
2.9  參考資源
第3章 異步I/O
3.1  為什么要異步I/O
3.1.1  用戶體驗
3.1.2  資源分配
3.2  異步I/O實現(xiàn)現(xiàn)狀
3.2.1  異步I/O與非阻塞I/O
3.2.2  理想的非阻塞異步I/O
3.2.3  現(xiàn)實的異步I/O
3.3  Node的異步I/O
3.3.1  事件循環(huán)
3.3.2  觀察者
3.3.3  請求對象
3.3.4  執(zhí)行回調(diào)
3.3.5  小結(jié)
3.4  非I/O的異步API
3.4.1  定時器
3.4.2  process.nextTick()
3.4.3  setImmediate()
3.5  事件驅(qū)動與高性能服務(wù)器
3.6  總結(jié)
3.7  參考資源
第4章 異步編程
4.1  函數(shù)式編程
4.1.1  高階函數(shù)
4.1.2  偏函數(shù)用法
4.2  異步編程的優(yōu)勢與難點(diǎn)
4.2.1  優(yōu)勢
4.2.2  難點(diǎn)
4.3  異步編程解決方案
4.3.1  事件發(fā)布/訂閱模式
4.3.2  Promise/Deferred模式
4.3.3  流程控制庫
4.4  異步并發(fā)控制
4.4.1  bagpipe的解決方案
4.4.2  async的解決方案
4.5  總結(jié)
4.6  參考資源
第5章 內(nèi)存控制
5.1  V8的垃圾回收機(jī)制與內(nèi)存限制
5.1.1  Node與V8
5.1.2  V8的內(nèi)存限制
5.1.3  V8的對象分配
5.1.4  V8的垃圾回收機(jī)制
5.1.5  查看垃圾回收日志
5.2  高效使用內(nèi)存
5.2.1  作用域
5.2.2  閉包
5.2.3  小結(jié)
5.3  內(nèi)存指標(biāo)
5.3.1  查看內(nèi)存使用情況
5.3.2  堆外內(nèi)存
5.3.3  小結(jié)
5.4  內(nèi)存泄漏
5.4.1  慎將內(nèi)存當(dāng)做緩存
5.4.2  關(guān)注隊列狀態(tài)
5.5  內(nèi)存泄漏排查
5.5.1  node-heapdump
5.5.2  node-memwatch
5.5.3  小結(jié)
5.6  大內(nèi)存應(yīng)用
5.7  總結(jié)
5.8  參考資源
第6章  理解Buffer
6.1  Buffer結(jié)構(gòu)
6.1.1  模塊結(jié)構(gòu)
6.1.2  Buffer對象
6.1.3  Buffer內(nèi)存分配
6.2  Buffer的轉(zhuǎn)換
6.2.1  字符串轉(zhuǎn)Buffer
6.2.2  Buffer轉(zhuǎn)字符串
6.2.3  Buffer不支持的編碼類型
6.3  Buffer的拼接
6.3.1  亂碼是如何產(chǎn)生的
6.3.2  setEncoding()與string_decoder()
6.3.3  正確拼接Buffer
6.4  Buffer與性能
6.5  總結(jié)
6.6  參考資源
第7章 網(wǎng)絡(luò)編程
7.1  構(gòu)建TCP服務(wù)
7.1.1  TCP
7.1.2  創(chuàng)建TCP服務(wù)器端
7.1.3  TCP服務(wù)的事件
7.2  構(gòu)建UDP服務(wù)
7.2.1  創(chuàng)建UDP套接字
7.2.2  創(chuàng)建UDP服務(wù)器端
7.2.3  創(chuàng)建UDP客戶端
7.2.4  UDP套接字事件
7.3  構(gòu)建HTTP服務(wù)
7.3.1  HTTP
7.3.2  http模塊
7.3.3  HTTP客戶端
7.4  構(gòu)建WebSocket服務(wù)
7.4.1  WebSocket握手
7.4.2  WebSocket數(shù)據(jù)傳輸
7.4.3  小結(jié)
7.5  網(wǎng)絡(luò)服務(wù)與安全
7.5.1  TLS/SSL
7.5.2  TLS服務(wù)
7.5.3  HTTPS服務(wù)
7.6  總結(jié)
7.7  參考資源
第8章 構(gòu)建Web應(yīng)用
8.1  基礎(chǔ)功能
8.1.1  請求方法
8.1.2  路徑解析
8.1.3  查詢字符串
8.1.4  Cookie
8.1.5  Session
8.1.6  緩存
8.1.7  Basic認(rèn)證
8.2  數(shù)據(jù)上傳
8.2.1  表單數(shù)據(jù)
8.2.2  其他格式
8.2.3  附件上傳
8.2.4  數(shù)據(jù)上傳與安全
8.3  路由解析
8.3.1  文件路徑型
8.3.2  MVC
8.3.3  RESTful
8.4  中間件
8.4.1  異常處理
8.4.2  中間件與性能
8.4.3  小結(jié)
8.5  頁面渲染
8.5.1  內(nèi)容響應(yīng)
8.5.2  視圖渲染
8.5.3  模板
8.5.4  Bigpipe
8.6  總結(jié)
8.7  參考資源
第9章 玩轉(zhuǎn)進(jìn)程
9.1  服務(wù)模型的變遷
9.1.1  石器時代:同步
9.1.2  青銅時代:復(fù)制進(jìn)程
9.1.3  白銀時代:多線程
9.1.4  黃金時代:事件驅(qū)動
9.2  多進(jìn)程架構(gòu)
9.2.1  創(chuàng)建子進(jìn)程
9.2.2  進(jìn)程間通信
9.2.3  句柄傳遞
9.2.4  小結(jié)
9.3  集群穩(wěn)定之路
9.3.1  進(jìn)程事件
9.3.2  自動重啟
9.3.3  負(fù)載均衡
9.3.4  狀態(tài)共享
9.4  Cluster模塊
9.4.1  Cluster工作原理
9.4.2  Cluster事件
9.5  總結(jié)
9.6  參考資源
第10章 測試
10.1  單元測試
10.1.1  單元測試的意義
10.1.2  單元測試介紹
10.1.3  工程化與自動化
10.1.4  小結(jié)
10.2  性能測試
10.2.1  基準(zhǔn)測試
10.2.2  壓力測試
10.2.3  基準(zhǔn)測試驅(qū)動開發(fā)
10.2.4  測試數(shù)據(jù)與業(yè)務(wù)數(shù)據(jù)的轉(zhuǎn)換
10.3  總結(jié)
10.4  參考資源
第11章 產(chǎn)品化
11.1  項目工程化
11.1.1  目錄結(jié)構(gòu)
11.1.2  構(gòu)建工具
11.1.3  編碼規(guī)范
11.1.4  代碼審查
11.2  部署流程
11.2.1  部署環(huán)境
11.2.2  部署操作
11.3  性能
11.3.1  動靜分離
11.3.2  啟用緩存
11.3.3  多進(jìn)程架構(gòu)
11.3.4  讀寫分離
11.4  日志
11.4.1  訪問日志
11.4.2  異常日志
11.4.3  日志與數(shù)據(jù)庫
11.4.4  分割日志
11.4.5  小結(jié)
11.5  監(jiān)控報警
11.5.1  監(jiān)控
11.5.2  報警的實現(xiàn)
11.5.3  監(jiān)控系統(tǒng)的穩(wěn)定性
11.6  穩(wěn)定性
11.7  異構(gòu)共存
11.8  總結(jié)
11.9  參考資源
附錄A  安裝Node
A.1  Windows系統(tǒng)下的Node安裝
A.2  Mac系統(tǒng)下Node的安裝
A.3  Linux系統(tǒng)下Node的安裝
A.4  總結(jié)
A.5  參考資源
附錄B  調(diào)試Node
B.1  Debugger
B.2  Node Inspector
B.2.1  安裝Node Inspector
B.2.2  錯誤堆棧
B.3  總結(jié)
附錄C  Node編碼規(guī)范
C.1  根源
C.2  編碼規(guī)范
C.2.1  空格與格式
C.2.2  命名規(guī)范
C.2.3  比較操作
C.2.4  字面量
C.2.5  作用域
C.2.6  數(shù)組與對象
C.2.7  異步
C.2.8  類與模塊
C.2.9  注解規(guī)范
C.3  最佳實踐
C.3.1  沖突的解決原則
C.3.2  給編輯器設(shè)置檢測工具
C.3.3  版本控制中的hook
C.3.4  持續(xù)集成
C.4  總結(jié)
C.5  參考資源
附錄D  搭建局域NPM倉庫
D.1  NPM倉庫的安裝
D.1.1  安裝Erlang和CouchDB
D.1.2  搭建NPM倉庫
D.2  高階應(yīng)用
D.2.1  鏡像倉庫
D.2.2  私有模塊應(yīng)用
D.2.3  純私有倉庫
D.3  總結(jié)
D.4  參考資源

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號