Node.js高級編程

Node.js高級編程 pdf epub mobi txt 電子書 下載2025

出版者:清華大學齣版社
作者:特謝拉 (Pedro Teixeria)
出品人:
頁數:351
译者:鬍訓強
出版時間:2013-12-1
價格:CNY 58.00
裝幀:平裝
isbn號碼:9787302344414
叢書系列:
圖書標籤:
  • Node.js
  • 前端
  • node.js
  • nodejs
  • 計算機
  • 編程
  • 服務器端
  • a
  • Node
  • js
  • 後端開發
  • JavaScript
  • 服務器端
  • Web開發
  • 異步編程
  • 事件驅動
  • 模塊化
  • 高性能
  • 實戰
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

Node.js是一種主流框架,它允許你使用JavaScript快速構建具有高度可伸縮性的網絡程序。可是,它有自己的學習麯綫,這本較為深入的指南性圖書首先介紹瞭Node.js平颱的安裝,然後重點關注:創建和加載模塊;使用緩衝區對二進製數據進行處理、編碼和編碼;用事件發射器 模式簡化事件綁定等。本書還涵蓋瞭從使用定時器製定函數執行計劃到創建和控製外部進程等內容,可以讓你為運行、構建和測試自定義模塊做好準備。

主要內容

介紹瞭查詢和讀寫文件

研究瞭流、文件係統、網絡和自動化單元測試

詳細描述瞭如何讀寫數據流

從零開始構建TCP和HTTP服務器與客戶端

介紹使用數據報、測試和調試模塊以及控製迴調流程

展示瞭如何用Connect、Express和Socke.IO開發實時Web應用程序

引導你連接到MySQL、CouchDB和MongoDB數據庫 .

著者簡介

Pedro Teixeria是一位高産的開源項目程序員,同時也是眾多Node.js模塊的構建者。他是Node公司的創始人之一,同時也是Nodejitsu公司的高級程序員,Nodejitsu公司是以Node.js平颱作為服務的領頭羊。

自從在14年前獲得軟件工程學位後,他從事過的職業包括谘詢師和程序員,並且他還是世界知名的Node.js社區活躍成員。此外,他還是廣受歡迎的Node Tuts視頻的製作者。

圖書目錄

第Ⅰ部分 概述和安裝
第1章 安裝Node 3
1.1 在Windows上安裝Node 4
1.2 在MAC OS X上安裝Node 6
1.3 使用源代碼安裝Node 7
1.3.1 選擇Node的版本 7
1.3.2 下載Node源代碼 7
1.3.3 編譯Node 8
1.3.4 安裝Node 8
1.3.5 運行Node 8
1.4 安裝和應用Node包管理器 9
1.5 本章小結 14
第2章 Node簡介 15
2.1 事件驅動編程風格介紹 16
2.2 Node和JavaScript如何簡化異步應用程序的編寫 17
2.2.1 什麼是閉包 17
2.2.2 閉包如何輔助異步編程 18
2.3 本章小結 19
第Ⅱ部分 Node核心API基礎
第3章 加載模塊 23
3.1 理解Node如何加載模塊 24
3.2 導齣模塊 24
3.3 加載模塊 25
3.3.1 加載核心模塊 25
3.3.2 加載文件模塊 26
3.3.3 加載文件夾模塊 26
3.3.4 從node_modules文件夾加載 26
3.3.5 緩存模塊 27
3.4 本章小結 28
第4章 應用緩衝區處理、編碼和解碼二進製數據 29
4.1 創建緩衝區 30
4.2 在緩衝區中獲取和設置數據 30
4.3 切分緩衝區 31
4.4 復製緩衝區 32
4.5 緩衝區解碼 32
4.6 本章小結 33
第5章 使用事件發射器模式簡化事件綁定 35
5.1 理解標準迴調模式 35
5.2 理解事件發射器模式 36
5.3 理解事件類型 37
5.4 應用事件發生器API 38
5.4.1 使用.addListener( )或.on( )綁定迴調函數 38
5.4.2 綁定多個事件監聽器 39
5.4.3 使用.removeListener( )從事件發射器中刪除一個事件監聽器 40
5.4.4 使用.once()使迴調函數最多執行一次 40
5.4.5 使用.removeAllListeners()從事件發射器刪除所有事件監聽器 41
5.5 創建事件發射器 41
5.5.1 從Node事件發射器繼承 41
5.5.2 發射事件 42
5.6 本章小結 42
第6章 使用定時器製定函數執行計劃 45
6.1 使用setTimeout推遲函數執行 46
6.2 使用clearTimeout取消函數執行 46
6.3 製定和取消函數的重復執行計劃 47
6.4 使用process.nextTick將函數執行推遲到下一輪事件循環 47
6.5 阻塞事件循環 48
6.6 退齣事件循環 49
6.7 使用setTimeout代替setInterval強製函數串行執行 49
6.8 本章小結 50
第Ⅲ部分 文件、進程、流和網絡
第7章 查詢和讀寫文件 53
7.1 處理文件路徑 54
7.1.1 規範化路徑 54
7.1.2 連接路徑 54
7.1.3 解析路徑 55
7.1.4 查找兩個絕對路徑之間的相對路徑 55
7.1.5 提取路徑的組成部分 55
7.1.6 確定路徑是否存在 56
7.2 fs模塊簡介 57
7.3 打開文件 58
7.4 讀取文件 58
7.4.1 寫入文件 59
7.4.2 關閉文件 60
7.5 本章小結 62
第8章 創建和控製外部進程 63
8.1 執行外部命令 63
8.2 生成子進程 68
8.2.1 創建子進程 68
8.2.2 監聽子進程的輸齣數據 69
8.2.3 嚮子進程發送數據 69
8.2.4 當子進程退齣時獲得通知 71
8.3 嚮進程發送信號並終止進程 72
8.4 本章小結 73
第9章 讀寫數據流 75
9.1 使用可讀流 76
9.1.1 等待數據 76
9.1.2 暫停與恢復流 76
9.1.3 瞭解流何時終止 77
9.2 使用可寫流 77
9.2.1 將數據寫入流 77
9.2.2 等待流被清空 78
9.3 考慮幾個流的例子 78
9.3.1 創建文件係統流 78
9.3.2 理解網絡流 80
9.4 避免慢客戶端問題以及挽救服務器 80
9.4.1 理解慢客戶端問題 80
9.4.2 避免慢客戶端問題 81
9.4.3 應用stream.pipe()避免慢客戶端問題與使用pipe()集成可讀流和可寫流 81
9.5 本章小結 82
第10章 構建TCP服務器 83
10.1 創建TCP服務器 83
10.1.1 應用套接字對象 85
10.1.2 理解空閑套接字 86
10.1.3 設置保持運行 87
10.1.4 應用延時或非延時 87
10.1.5 監聽連接 88
10.1.6 關閉服務器 88
10.1.7 處理錯誤 88
10.2 構建一個簡單的TCP聊天服務器 89
10.2.1 接受連接 89
10.2.2 從連接中讀取數據 89
10.2.3 聚閤所有客戶端 90
10.2.4 廣播數據 91
10.2.5 刪除被關閉的連接 91
10.2.6 使用TCP聊天服務器 92
10.3 本章小結 93
第11章 構建HTTP服務器 95
11.1 理解http.ServerRequest對象 96
11.2 理解http.ServerResponse對象 98
11.2.1 寫入響應頭 98
11.2.2 修改或設置響應頭 98
11.2.3 刪除響應頭 99
11.2.4 寫入一塊響應主體 99
11.3 以流的形式傳送HTTP分塊響應 99
11.3.1 傳送文件 99
11.3.2 傳送其他進程的輸齣 100
11.4 關閉服務器 100
11.5 示例1:構建提交靜態文件的服務器 101
11.6 示例2:使用HTTP分塊響應和定時器 102
11.7 本章小結 102
第12章 構建TCP客戶端 103
12.1 連接服務器 104
12.2 發送和接收數據 104
12.3 終止連接 105
12.4 處理錯誤 106
12.5 創建命令行TCP客戶端的示例 106
12.5.1 連接服務器 107
12.5.2 嚮服務器發送命令行 107
12.5.3 打印服務器消息 107
12.5.4 在連接終止時重新連接 108
12.5.5 關閉連接 110
12.5.6 前述內容綜閤 111
12.6 本章小結 112
第13章 創建HTTP請求 113
13.1 創建GET請求 113
13.2 使用其他HTTP動詞 114
13.2.1 查看響應對象 115
13.2.2 獲取響應主體 116
13.2.3 以流的方式傳送響應主體 116
13.3 使用HTTP.Agent維護套接字池 116
13.4 應用第三方請求模塊簡化HTTP請求 118
13.4.1 安裝和應用request模塊 118
13.4.2 創建測試服務器 119
13.4.3 跟隨重定嚮 121
13.4.4 設置請求選項 122
13.4.5 對請求體進行編碼 125
13.4.6 流式傳送 126
13.4.7 使用Cookie Jar 127
13.5 本章小結 127
第14章 使用用戶數據報 129
14.1 理解用戶數據報 129
14.2 理解用戶數據報的使用 130
14.3 構建數據報服務器 130
14.3.1 監聽消息 130
14.3.2 測試服務器 131
14.3.3 查看附加的消息信息 132
14.4 創建簡單的數據報迴送服務器 132
14.4.1 等待消息 132
14.4.2 嚮發送端發迴消息 132
14.4.3 前述內容綜閤 133
14.5 構建數據報客戶端 133
14.5.1 創建客戶端 134
14.5.2 發送消息 134
14.5.3 關閉套接字 134
14.6 創建一個簡單的數據報命令行客戶端 134
14.6.1 讀取命令行 135
14.6.2 嚮服務器發送數據 135
14.6.3 從服務器接收數據 135
14.6.4 前述內容綜閤 136
14.7 理解和使用數據報多播 136
14.7.1 接收多播消息 137
14.7.2 發送多播消息 137
14.7.3 理解數據報最大容量 138
14.8 本章小結 138
第15章 用TLS/SSL保證服務器的安全性 139
15.1 理解私鑰和公鑰 139
15.1.1 産生私鑰 140
15.1.2 産生公鑰 140
15.2 構建TLS服務器 140
15.2.1 初始化服務器 141
15.2.2 監聽連接 141
15.2.3 從客戶端讀取數據 142
15.2.4 嚮客戶端發送數據 142
15.2.5 終止連接 142
15.3 構建TLS客戶端 142
15.3.1 初始化客戶端 143
15.3.2 連接服務器 143
15.3.3 驗證服務器證書 143
15.3.4 嚮服務器發送數據 144
15.3.5 從服務器讀取數據 144
15.3.6 終止連接 144
15.4 創建幾個示例 144
15.4.1 創建TLS聊天服務器 145
15.4.2 創建TLS命令行聊天客戶端 146
15.4.3 驗證客戶端證書 147
15.5 本章小結 148
第16章 用HTTPS保證HTTP服務器的安全性 149
16.1 構建安全的HTTP服務器 149
16.1.1 設置服務器選項 150
16.1.2 監聽連接 150
16.1.3 驗證HTTPS客戶端證書 151
16.2 創建HTTPS客戶端 152
16.2.1 初始化客戶端 152
16.2.2 創建請求 152
16.2.3 驗證HTTPS服務器證書 153
16.3 本章小結 154
第Ⅳ部分 構建與調試模塊及應用程序
第17章 測試模塊及應用程序 157
17.1 應用測試運行工具 157
17.1.1 編寫測試 158
17.1.2 運行測試 159
17.2 使用斷言測試模塊 159
17.2.1 使用斷言模塊 159
17.2.2 使用Node-Tap中的內置斷言函數 161
17.3 測試異步模塊 163
17.4 本章小結 166
第18章 調試模塊及應用程序 167
18.1 使用console.log 167
18.2 使用Node內置調試器 169
18.3 使用Node檢查器 173
18.4 本章小結 175
第19章 控製迴調流程 177
19.1 理解飛去來器效應 177
19.2 通過聲明函數避免飛去來器效應 179
19.3 使用ASYNC流程控製庫 183
19.3.1 串行執行 184
19.3.2 並行執行 185
19.3.3 連續傳遞 186
19.3.4 排隊 187
19.3.5 迭代 189
19.3.6 映射 190
19.3.7 規約 191
19.3.8 過濾 192
19.3.9 檢測 193
19.4 本章小結 194
第Ⅴ部分 構建Web應用程序
第20章 構建和使用HTTP中間件 197
20.1 理解Connect HTTP中間件框架 198
20.2 構建自定義HTTP中間件 198
20.2.1 創建異步中間件 199
20.2.2 在中間件內部注冊迴調函數 201
20.2.3 在中間件內處理錯誤 202
20.3 使用捆綁在Connect中的HTTP中間件 206
20.3.1 記錄請求 206
20.3.2 處理錯誤 208
20.3.3 提交靜態文件 209
20.3.4 解析查詢字符串 210
20.3.5 解析請求主體 211
20.3.6 解析Cookies 212
20.3.7 使用會話 213
20.3.8 其他可用的中間件 216
20.4 本章小結 216
第21章 用Express.js創建Web應用程序 217
21.1 初始化Express.js應用程序 218
21.2 在應用程序中設置中間件 220
21.3 路由請求 222
21.3.1 處理路由 222
21.3.2 使用會話 229
21.3.3 使用路由中間件 234
21.4 本章小結 238
第22章 使用Socket.IO創建通用的實時Web應用程序 241
22.1 理解WebSockets如何工作 242
22.2 使用Socket.IO創建WebSocket應用程序 243
22.2.1 在服務器上安裝和運行Socket.IO 243
22.2.2 使用Socket.IO創建實時網絡聊天應用程序 245
22.2.3 擴展聊天應用程序 250
22.2.4 檢測連接斷開 253
22.2.5 將用戶分隔到聊天室中 255
22.2.6 使用名稱空間 259
22.2.7 使用Redis分布運行服務器端應用程序 260
22.3 本章小結 263
第Ⅵ部分 連接數據庫
第23章 使用node-mysql連接MySQL數據庫 267
23.1 應用庫與MySQL數據庫進行連接和通信 267
23.2 嚮數據庫添加數據時請記住安全性 269
23.3 高效讀取數據 272
23.4 本章小結 276
第24章 使用Nano連接CouchDB數據庫 277
24.1 安裝Nano 278
24.2 連接和創建數據庫 281
24.3 存儲文檔 285
24.4 創建和使用CouchDB視圖 286
24.5 將文件附加到CouchDB文檔上 299
24.6 本章小結 312
第25章 使用Mongoose連接MongoDB 數據庫 313
25.1 安裝Mongoose 315
25.2 理解Mongoose如何使用模型封裝對數據庫的訪問 315
25.3 連接MongoDB數據庫 316
25.4 定義模式 316
25.5 定義模型 316
25.5.1 使用驗證器 326
25.5.2 使用修改器 332
25.5.3 使用取值器 333
25.5.4 使用虛擬屬性 334
25.5.5 使用默認值 340
25.5.6 定義索引 341
25.5.7 使用DB Refs引用其他文檔 343
25.5.8 定義實例方法 349
25.5.9 定義靜態方法 350
25.6 本章小結 351
· · · · · · (收起)

讀後感

評分

在我看来,这本书的内容比较基础。而且因为出版时间的原因,阅读的时候你还得注意 Node.js API 的变更。比如,可能很容易就漏掉一些重要内容,像Chapter 8 Creating and Controlling External Processes,只讲了 exec 和 spawn,而没有讲到 fork 这个专门执行 Node.js 文件的方...

評分

在我看来,这本书的内容比较基础。而且因为出版时间的原因,阅读的时候你还得注意 Node.js API 的变更。比如,可能很容易就漏掉一些重要内容,像Chapter 8 Creating and Controlling External Processes,只讲了 exec 和 spawn,而没有讲到 fork 这个专门执行 Node.js 文件的方...

評分

在我看来,这本书的内容比较基础。而且因为出版时间的原因,阅读的时候你还得注意 Node.js API 的变更。比如,可能很容易就漏掉一些重要内容,像Chapter 8 Creating and Controlling External Processes,只讲了 exec 和 spawn,而没有讲到 fork 这个专门执行 Node.js 文件的方...

評分

在我看来,这本书的内容比较基础。而且因为出版时间的原因,阅读的时候你还得注意 Node.js API 的变更。比如,可能很容易就漏掉一些重要内容,像Chapter 8 Creating and Controlling External Processes,只讲了 exec 和 spawn,而没有讲到 fork 这个专门执行 Node.js 文件的方...

評分

在我看来,这本书的内容比较基础。而且因为出版时间的原因,阅读的时候你还得注意 Node.js API 的变更。比如,可能很容易就漏掉一些重要内容,像Chapter 8 Creating and Controlling External Processes,只讲了 exec 和 spawn,而没有讲到 fork 这个专门执行 Node.js 文件的方...

用戶評價

评分

有些內容已經過時,結閤相關資源 API 查看

评分

還可以,不過有些地方比較突兀,深度其實很淺

评分

還可以,不過有些地方比較突兀,深度其實很淺

评分

何止淺顯,每一章隻有短短的幾頁。閉包和事件驅動介紹的雲裏霧裏。爛書一本。

评分

有些內容已經過時,結閤相關資源 API 查看

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

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