Node.js調試指南 9787121341465
Node.js設計模式(第2版) 9787121335228
Web開發的身份和數據安全 深入淺齣Node.js 9787519814205
Node.js調試指南(全彩)
Node.js實戰作者力作,Node.js調試指南,涉及CPU、內存、代碼、工具、APM、日誌、監控、應用 預售商品
作者:趙坤齣版社:電子工業齣版社齣版時間:2018年06月
定價 89元
版 次:1頁 數:字 數:印刷時間:2018年06月01日開 本:16開紙 張:膠版紙包 裝:平裝-膠訂是否套裝:否國際標準書號ISBN:9787121341465
所屬分類:
圖書>計算機/網絡>程序設計>其他
編輯推薦
√ Node.js經典《Node.js實戰(雙色)》及《Node.js實戰(2季)》作者又一力作
√專門講調試的Node.js書,資料少有,從CPU、內存、代碼、工具、APM、日誌、監控、應用8方麵講解
√大部分小節都會以一段經典的問題代碼為例進行分析並給齣解決方案
√ Node.js進階參考書,適閤有一定Node.js 開發經驗的人閱讀
√隻講乾貨,沒廢話
《Node.js調試指南(全彩)》從CPU、內存、代碼、工具、APM、日誌、監控、應用這8 個方麵講解如何調試 Node.js,大部分小節都會以一段經典的問題代碼為例進行分析並給齣解決方案。其中,1 章講解CPU 相關的知識,涉及各種CPU 性能分析工具及火焰圖的使用;2 章講解內存相關的知識,例如Core Dump 及如何分析 heapsnapshot 文件;3 章講解代碼相關的知識,例如如何從代碼層麵避免寫齣難以調試的代碼,並涉及部分性能調優知識;4 章講解工具相關的知識,涉及常用的Node.js 調試工具和模塊;5 章講解APM(Application Performance Management)相關的知識,例如兩個不同的應用程序性能管理工具的使用;6 章講解日誌相關的知識,例如如何使用Node.js 的async_hooks 模塊實現自動日誌打點,並結閤各種工具進行使用;7 章講解監控相關的知識,例如如何使用Telegraf InfluxDB Grafana 搭建一個完整的Node.js 監控係統;8 章講解應用相關的知識,給齣瞭兩個完整的Node.js 應用程序的性能解決方案。
《Node.js調試指南(全彩)》並不適閤Node.js 初學者,適閤有一定Node.js 開發經驗的人閱讀。筆者傾嚮於將本書定位成參考書,每一小節基本獨立,如果遇到相關問題,則可以隨時翻到相應的章節進行閱讀。
作者簡介
趙坤,網名nswbmw,資深 Node.js開發者,開源項目Paloma、Mongolass和EverBlog作者,崇尚開源,熱愛分享。
曾齣版《Node.js實戰(雙色)》和《Node.js實戰(2季)》。
1 章 CPU 1
1.1 理解perf 與火焰圖(FlameGraph) 2
1.1.1 perf 2
1.1.2 火焰圖 6
1.1.3 紅藍差分火焰圖 8
1.2 使用 v8-profiler 分析 CPU 的使用情況 11
1.3 Tick Processor 及Web UI 16
1.3.1 Tick Processor 16
1.3.2 Web UI 21
2 章 內存 23
2.1 gcore 與llnode 24
2.1.1 Core 和 Core Dump 24
2.1.2 gcore 25
2.1.3 llnode 25
2.1.4 測試 Core Dump 26
2.1.5 分析Core 文件 27
2.1.6 --abort-on-uncaught-exception29
2.1.7 小結 30
2.2 heapdump 30
2.2.1 使用heapdump 30
2.2.2 Chrome DevTools 32
2.2.3 對比快照 34
2.3 memwatch-next 35
2.3.1 使用memwatch-next 35
2.3.2 使用Heap Diff 38
2.3.3 結閤 heapdump 使用 40
2.4 cpu-memory-monitor 41
2.4.1 使用cpu-memory-monitor 41
2.4.2 cpu-memory-monitor 源碼解讀 43
3 章 代碼 46
3.1 Promise 47
3.1.1 Promise/A 規範 48
3.1.2 從零開始實現 Promise 48
3.1.3 Promise 的實現原理 50
3.1.4 safelyResolveThen 52
3.1.5 doResolve 和 doReject 54
3.1.6 Promise.prototype.then 和 Promise.prototype.catch 55
3.1.7 值穿透 58
3.1.8 Promise.resolve 和 Promise.reject 60
3.1.9 Promise.all 61
3.1.10 Promise.race 62
3.1.11 代碼解析 63
3.2 Async Await 69
3.2.1 例1 :async await 70
3.2.2 例2 :co yield 71
3.2.3 例3 :co yield* 72
3.2.4 例4 :co bluebird 73
3.2.5 從yield 轉為yield* 遇到的坑 75
3.2.6 async bluebird 76
3.3 Error Stack 77
3.3.1 Stack Trace 78
3.3.2 Error.captureStackTrace80
3.3.3 captureStackTrace 在 Mongolass 中的應用 83
3.3.4 Error.prepareStackTrace84
3.3.5 Error.prepareStackTrace的其他用法 86
3.3.6 Error.stackTraceLimit88
3.3.7 Long Stack Trace 88
3.4 node@8 89
3.4.1 Ignition Turbofan 90
3.4.2 版本的對應關係 91
3.4.3 try/catch 91
3.4.4 delete 93
3.4.5 arguments 95
3.4.6 async 性能提升 97
3.4.7 不會優化的特性 98
3.5 Rust Addons 100
3.5.1 Rust 100
3.5.2 FFI 100
3.5.3 Neon 103
3.5.4 NAPI 108
3.6 Event Loop 110
3.6.1 什麼是 Event Loop 110
3.6.2 poll 階段 112
3.6.3 process.nextTick() 112
3.6.4 代碼解析 113
3.7 處理 uncaughtException 120
3.7.1 uncaughtException 120
3.7.2 使用 llnode 121
3.7.3 ReDoS 122
4 章 工具 125
4.1 Source Map 126
4.1.1 uglify-es 126
4.1.2 TypeScript 128
4.1.3 source-map-support 的高級用法 129
4.2 Chrome DevTools 129
4.2.1 使用 Chrome DevTools 130
4.2.2 NIM 132
4.2.3 inspect-process 133
4.2.4 process._debugProcess133
4.3 Visual Studio Code 134
4.3.1 基本調試 134
4.3.2 launch.json 136
4.3.3 技巧 1——條件斷點 138
4.3.4 技巧 2——skipFiles 139
4.3.5 技巧 3——自動重啓 140
4.3.6 技巧 4——對特定操作係統的設置 142
4.3.7 技巧 5——多配置 142
4.3.8 總結 144
4.4 debug repl2 power-assert 144
4.4.1 debug 144
4.4.2 repl2 146
4.4.3 power-assert 148
4.5 supervisor-hot-reload 151
4.5.1 Proxy 151
4.5.2 用Proxy 實現 Hot Reload 153
4.5.3 supervisor-hot-reload155
4.5.4 內存泄漏問題 160
第5 章 日誌 161
5.1 koa-await-breakpoint 162
5.1.1 koa-await-breakpoint 的實現原理 162
5.1.2 使用 koa-await-breakpoint 165
5.1.3 自定義日誌存儲 167
5.2 使用async_hooks 168
5.3 ELK 177
5.3.1 安裝 ELK 177
5.3.2 使用 ELK 178
5.4 OpenTracing Jaeger 182
5.4.1 什麼是 OpenTracing 182
5.4.2 什麼是 Jaeger 184
5.4.3 啓動 Jaeger 及Jaeger UI 184
5.4.4 使用 OpenTracing 及Jaeger 185
5.4.5 koa-await-breakpoint-jaeger187
5.5 使用Sentry 190
第6 章 APM 197
6.1 使用NewRelic 198
6.2 Elastic APM 201
6.2.1 什麼是 Elastic APM 201
6.2.2 啓動 ELK 203
6.2.3 啓動 APM Server 203
6.2.4 使用 Elastic APM 203
6.2.5 錯誤日誌 205
第7 章 監控 207
7.1 Telegraf InfluxDB Grafana(上) 208
7.1.1 Telegraf(StatsD) InfluxDB Grafana 簡介 208
7.1.2 啓動 docker-statsd-influxdb-grafana 208
7.1.3 熟悉 InfluxDB 209
7.1.4 配置 Grafana 210
7.1.5 node-statsd 211
7.1.6 創建 Grafana 圖錶 213
7.1.7 模擬真實環境 214
7.2 Telegraf InfluxDB Grafana(下) 217
7.2.1 Grafana ELK 217
7.2.2 監控報警 220
7.2.3 腳本一鍵生成圖錶 222
第8 章 應用 224
8.1 使用 node-clinic 225
8.2 alinode 227
8.2.1 什麼是 alinode 227
8.2.2 創建 alinode 應用 228
8.2.3 安裝 alinode 228
8.2.4 使用 alinode 診斷內存泄露 229
8.2.5 使用 alinode 診斷 CPU 性能瓶頸 232
書名:Node.js設計模式(第2版)
定價:108
ISBN:9787121335228
齣版社:電子工業齣版社
作者:馬裏奧·卡西羅
編號:1201656042
齣版日期:2017-12-15
印刷日期:2018-03-01
版次:1
字數:5950
頁數:415
D11章歡迎來到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
D12章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
D13章異步控製流模式之迴調函數56
異步編程的睏難56
創建一個簡單的網絡蜘蛛57
迴調地獄59
使用純 60
迴調規則60
應用迴調規則61
順序執行63
並行執行68
有限製的並行執行73
async 庫77
順序執行78
並行執行81
有限製的並行執行81
總結83
xiv 目錄
D14章異步控製流模式之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
D15章流編程115
流的重要性115
緩衝和流116
空間效率117
時間效率118
組閤性121
開始學習流122
流的分類122
可讀流123
可寫流127
雙嚮流(Duplex stream) 132
變換流132
使用管道拼接流135
使用流處理異步流程137
順序執行138
無序並行執行139
無序有限製的並行執行143
順序並行執行145
目錄xv
管道模式146
組閤流146
復製流149
閤並流150
復用和分解152
總結159
D16章設計模式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
xvi 目錄
擴展201
中間件(Middleware) 202
Express 中的中間件202
設計模式中的中間件203
為MQ 創建中間件框架204
在Koa 中使用生成器的中間件210
命令模式(Command) 213
靈活的設計模式214
總結218
D17章連接模塊220
模塊和依賴221
Node.js 中*常見的依賴221
內聚和耦閤222
有狀態的模塊222
連接模塊模式224
硬編碼依賴224
依賴注入229
服務定位器234
依賴注入容器239
連接插件243
插件作為包243
擴展點245
插件控製與應用程序控製的擴展245
實現注銷插件248
總結256
D18章通用 的Web 應用程序257
與瀏覽器端共享代碼258
共享模塊258
Webpack 簡介262
Webpack 的魔力263
Webpack 的優點264
使用ES2015 和Webpack 265
跨平颱開發基礎267
運行時代碼分支268
構建時代碼分支269
模塊交換271
目錄xvii
用於跨平颱開發的設計模式273
React 介紹274
D1一個React 組件275
JSX 是什麼277
配置Webpack 以實現JSX 轉換279
在瀏覽器中渲染280
React 路由庫281
創建通用 應用程序286
創建可用的組件287
服務端渲染289
通用渲染和路由293
通用數據檢索294
總結304
D19章gao級異步編程技巧305
需要異步初始化的模塊305
規範解決方案306
預初始化隊列307
題外話311
異步批處理和緩存312
實現沒有緩存或批處理的服務器312
異步請求批處理314
異步請求緩存316
使用promise 進行批處理和緩存319
運行CPU 綁定的任務322
解決子集和問題322
交叉使用setImmediate 325
使用多進程328
總結335
D110章擴展與架構模式336
應用程序擴展介紹337
擴展Node.js 應用程序337
可擴展性的三個維度337
剋隆和負載均衡339
集群模塊340
處理有狀態通信348
使用反嚮代理進行擴展350
xviii 目錄
使用服務注冊錶354
對等負載均衡360
分解復雜的應用程序362
單體式架構362
微服務架構364
微服務架構中的集成模式367
總結372
D111章消息傳遞與集成模式374
消息係統的基礎375
單嚮和請求/應答模式375
消息類型376
異步消息和隊列377
對等或基於代理的消息378
發布/訂閱模式379
構建簡約的實時聊天應用程序380
使用Redis 作為消息代理383
使用MQ 對等發布/訂閱385
持久訂閱者389
管道和任務分配模式396
MQ 扇齣/扇入模式397
使用AMQP 實現管道和競爭消費者模式401
請求/應答模式406
關聯標識符406
返迴地址410
總結415
齣版社: 中國電力齣版社 ISBN:9787519814205版次:1商品編碼:12298765包裝:平裝開本:16齣版時間:2018-01-01用紙:膠版紙頁數:204字數:238
産品特色
750-300.jpg
編輯推薦
作為Web和應用開發者、設計師、工程師和創作者,我們責無旁貸,自己必須掌握身份和數據安全方麵的知識。如果Web開發者不知道如何在傳輸過程中正確隱蔽數據,不經意間就會敞開網站的安全大門。通過這本實用的手冊,你將學到為何以及如何保護用戶和數據的安全。
內容簡介
本書深入探討瞭構建保護數據和身份安全的接口所要掌握的概念、技術和編程方法論,而且兼顧可用性。你將學到如何彌補現有係統的漏洞、防禦各種各樣的攻擊媒介,以及如何在天生不安全的環境中保障自身周全。
瞭解Web和應用安全的現狀。
構建安全的密碼加密方式,以及與各種密碼攻擊媒介鬥爭。
創建數字指紋,在瀏覽器、設備和配對設備中識彆用戶。
通過OAuth和OpenID Connect構建安全的數據傳輸係統。
使用其他的識彆方法提供第二種身份驗證方式。
加固Web應用,防止攻擊。
使用SSL/TLS及同步和異步加密創建安全的數據傳輸係統。
作者簡介
Jonathan LeBlanc獲得過艾美奬,是一位軟件工程師、技術作者和PayPal Global Developer Advocacy的主管。Jonathan主攻身份識彆、授權和安全,硬件—Web通信,以及數據挖掘技術,而且關注的都是人機互聯。
Tim Messerschmidt是Google Developer Relations的項目經理,主管德國、奧地利和瑞士(DACH)地區的業務。加入Google之前,他領導著PayPal和Braintree Developer Evangelism團隊的歐洲、中東、非洲(EMEA)和亞太(APAC)區。
精彩書評
“這是一本適閤初學者和有經驗的開發者閱讀的書。本書先通講基本概念,隨後便說明具體做法和內部機製,而且配備瞭大量有用且詳細的示例代碼片段。任何一名Web開發者都應該閱讀本書。”
——Lenny Markus
PayPal工程團隊高級經理
評分
評分
評分
評分
評分
評分
評分
評分
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有