了不起的 JavaScript 工程師:從前端到全端高級進階
朱德龍
- 出版商: 電子工業
- 出版日期: 2019-08-01
- 定價: $474
- 售價: 8.5 折 $403
- 語言: 簡體中文
- ISBN: 7121371294
- ISBN-13: 9787121371295
-
相關分類:
JavaScript
已絕版
買這商品的人也買了...
-
$420$332 -
$1,200$948 -
$580$458 -
$580$290 -
$450$383 -
$520$411 -
$403SPA 設計與架構:理解單頁面 Web 應用 (SPA Design and Architecture: Understanding Single Page Web Applications)
-
$450$356 -
$250微軟互聯網信息服務(IIS)最佳實踐 (The Best Practices for Microsoft internet information Services)
-
$580$458 -
$607Effective Java, 3/e (簡體中文版)
-
$414$393 -
$480$379 -
$354$336 -
$534$507 -
$301特徵工程入門與實踐 (Feature Engineering Made Easy)
-
$594$564 -
$550$429 -
$620$490 -
$780$616 -
$450$356 -
$580$493 -
$600$450 -
$580$290 -
$580$458
商品描述
本書講述了開發者使用JavaScript在各種Web開發場景下所需要掌握的重點知識和概念。從最基礎的開發工具講起,再到開發思維方式和前端頁面開發,然後擴展到小程序開發和開發工具的混合應用,再講解前後端交互最常用的網絡協議及API設計,最後講解了使用Node.js開發服務器端應用程序所需要掌握的核心概念。全書以數據鏈為線索,對重要概念進行精練的分析和對比,從而幫助讀者更好地理解和記憶。本書既包括知識技能,又包括設計思想,“道”與“術”並重,讓讀者“知行合一”,既能“坐而論道”,也能“起而行之”。
作者簡介
多年web開發經驗,熟悉前後端開發以及Docker容器技術,喜歡前端,熱愛JavaScript。“開發者頭條”top10專欄作者。“慕課網”認證作者、精英講師。2次擔任w3ctech長沙分享會主講嘉賓。中科院人才中心評審委員會認證軟件工程師CNCF認證CKA
目錄大綱
第1章開發環境1
1.1代碼編寫工具2
1.1.1 IDE 2
1.1.2編輯器3
1.1.3最佳選擇3
1.2 Docker容器5
1.2.1 Docker概述5
1.2.2 Docker重要概念6
1.2.3 Docker使用場景11
1.2.4 Docker擴展15
1.3代碼管理15
1.3.1什麼是代碼倉庫16
1.3.2版本管理的意義16
1.3.3版本管理的常用操作16
1.3.4分支管理的意義17
1.3.5分支管理的常用操作17
1.3.6分支管理流程18
1.4其他軟件23
1.4.1文件夾管理軟件23
1.4.2快速搜索工具24
1.4.3終端管理軟件25
1.4.4 Chrome中的插件25
1.5硬件提升26
1.5.1提升程序運行速度26
1.5.2減少程序切換時間27
1.6小結28
第2章Web頁面與多頁應用29
2.1 Web頁面的運行環境——瀏覽器29
2.1.1渲染引擎30
2.1.2 JavaScript引擎38
2.1.3數據持久層40
2.2 HTML 41
2.3模板42
2.3.1模板的意義42
2.3.2常用模板分類42
2.3. 3模板的重要功能42
2.4 CSS盒模型45
2.5 CSS 46
2.6 CSS佈局47
2.6.1普通文檔流47
2.6.2浮動57
2.6.3定位61
2.6.4彈性盒模型62
2.7 CSS預處理68
2.7.1預處理的意義68
2.7.2預處理的重要功能69
2.7.3樣式文件規劃72
2.7.4樣式類命名73
2.8 JavaScript 77
2.8.1實現功能邏輯77
2.8.2操作頁面或瀏覽器78
2.8.3進行網絡通信79
2.8.4第三方JavaScript庫——jQuery 84
2.8.5 JavaScript簡史84
2.9自動化構建工具85
2.9.1自動化構建工具的作用85
2.9.2常用的自動化構建工具85
2.10小結86
第3章高效編寫/組織代碼的心法87
3.1拆分方式89
3.1.1按文件類型拆分89
3.1.2按功能類型拆分90
3.1.3按關注點拆分90
3.2抽象原則91
3.2.1第一原則:DRY 91
3.2.2第二原則:YAGNI 92
3.2.3第三原則:The Rule of Three 93
3.3不止於代碼94
3.4小結94
第4章模塊96
4.1模塊的意義96
4.2 ECMAScript 5中的模塊96
4.2.1立即執行函數表達式(Immediately-Invoked Function Expression) 97
4.2.2顯式模塊聲明97
4.2.3異步模塊定義98
4.2.4共同模塊定義99
4.2.5 CommonJS 100
4.2.6通用模塊定義101
4.3 ECMAScript 6中的模塊102
4.4模塊打包工具103
4.5小結107
第5章單頁應用(SPA) 108
5.1框架109
5.2視圖與數據110
5.2.1雙向數據綁定111
5.2.2單向數據流115
5.3路由116
5.3.1 hash 116
5.3.2 history 117
5.4組件119
5.4.1原生組件119
5.4.2第三方組件121
5.5小結123
第6章JavaScript的幾個趨勢124
6.1接口與數據類型125
6.2更好的異步解決方案127
6.3面向對象與類132
6.3.1封裝132
6.3.2繼承134
6.3.3多態135
6.4模塊化138
6.5小結141
第7章小程序概述142
7.1常見的App 142
7.2 JavaScript開發者的一雙翅膀143
7.3小程序的發展144
7.4小結144
第8章小程序與Web頁面145
8.1 WXML 145
8.1.1 WXML與HTML的相同之處145
8.1.2 WXML與HTML的不同之處146
8.2 WXSS 149
8.2.1 WXSS與CSS的相同點149
8.2.2 WXSS與CSS的不同點149
8.3 JavaScript與WXS 155
8.4 JSON 155
8.4.1 app.json 155
8.4.2 project.config .json 156
8.4.3 page.json 157
8.4.4 component.json 158
8.5小結158
第9章小程序與單頁應用159
9.1路由159
9.1.1路由配置159
9.1.2路由跳轉160
9.1.3路由監聽161
9.2組件162
9.2.1組件與頁面162
9.2.2小程序組件與單頁應用組件164
9.3 web-view 165
9.3.1作用165
9.3.2交互165
9.4小結165
第10章小程序的框架與插件166
10.1 RxWX 166
10.2 WePY 168
10.3 mpvue 171
10.4 Taro 171
10.5小結171
第11章小程序的開發工具與發布173
11.1開發者工具組成173
11.1.1模擬器174
11.1.2調試器174
11.1.3編輯器176
11.1.4其他功能176
11.2發布流程177
11.2.1小程序的版本177
11.2.2用戶身份與權限178
11.3小結178
第12章其他混合應用簡介180
12.1流應用180
12.2桌面應用181
12.3小結182
第13章HTTP協議與Web網站183
13.1 HTTP的歷史183
13.2 HTTP的通信方式183
13.3 HTTP的狀態184
13.4小結184
第14章HTTP協議內容185
14.1請求行/狀態行186
14.1.1 URL 186
14.1.2請求方法188
14.1.3狀態碼/狀態信息188
14.2頭部192
14.2.1通用頭部字段192
14.2.2請求頭部字段194
14.2.3響應頭部字段196
14.2.4主體頭部字段196
14.2.5其他頭部字段197
14.3主體198
14.4 Cookie 199
14.4.1 Cookie的分類199
14.4.2 Cookie的使用199
14.4. 3 Cookie的缺陷200
14.4.4 Cookie與存儲201
14.5 Cookie與狀態204
14.5.1狀態存儲205
14.5.2狀態獲取207
14.5.3基於token的認證方式更好207
14.6小結208
第15章HTTP請求優化209
15.1減少連接/請求數209
15.1.1減少請求209
15.1.2減少連接210
15.2緩存數據210
15.3減少傳輸數據量210
15.4優化網絡鏈路210
15.4.1減少域名211
15.4.2使用CDN 211
15.5小結211
第16章HTTP/2協議212
16.1多路復用212
16.2壓縮214
16.3支持TLS 215
16.4應用層協議協商215
16.5服務器端推送215
16.6流控制216
16.7小結216
第17章HTTPS協議217
17.1 HTTP的缺點217
17.1.1通信使用明文217
17.1.2不驗證通信方身份218
17.1.3無法證明報文的完整性218
17.2理解HTTPS 219
17.2.1 HTTPS通信流程219
17.2.2密碼學基礎221
17.2.3摘要與簽名221
17.2.4 X.509與證書222
17.3小結223
第18章WebSocket協議224
18.1 WebSocket與HTTP 224
18.2 WebSocket的使用224
18.2.1客戶端225
18.2.2服務器端226
18.3小結227
第19章API 228
19.1 REST 228
19.1.1 REST API設計228
19.1.2 REST API工具230
19.2 GraphQL 231
19.2.1 GraphQL設計232
19.2.2 GraphQL工具234
19.3小結235
第20章Node.js概述237
20.1為什麼要學習Node.js 237
20.2什麼是Node.js 238
20.3 Node.js的歷史239
20.4 Node.js的結構240
20.5 Node.js的運行機制241
20.5.1單線程241
20.5.2事件循環242
20.6學習Node.js的三個挑戰244
20.6.1 I/O回調244
20.6.2代碼性能244
20.6.3多進程協作245
20.7小結245
第21章用Node.js編寫Web服務器端246
21.1處理請求246
21.1.1創建服務器端246
21.1.2解析請求247
21.2響應結果250
21.2.1狀態信息250
21.2.2響應頭部251
21.2.3響應主體251
21.3路由解析253
21.4 I/O操作260
21.4.1文件260
21.4.2數據庫264
21.4.3網絡請求267
21.5 Web框架270
21.5.1 Express 271
21.5.2 Koa 271
21.6小結271
第22章Node.js內存控制273
22.1內存限制273
22.2內存管理276
22.2.1內存分配276
22.2.2內存回收276
22.3內存洩漏277
22.3.1緩存277
22.3.2不斷增長的數組279
22.3.3重複的事件監聽279
22.4大內存處理281
22.5小結283
第23章Node.js多進程284
23.1 PM2模塊284
23.1.1安裝與使用285
23.1.2進程通信286
23.1.3進程管理287
23.2 cluster模塊290
23.2.1基本使用291
23.2.2進程通信294
23.2.3進程管理294
23.3 child_process模塊298
23.3.1基本使用298
23.3.2進程通信298
23.3.3進程管理302
23.4 worker_threads模塊303
23.4.1基本使用303
23.4.2線程通信304
23.4.3線程管理305
23.5小結306
第24章Node.js調試與測試307
24.1開發工具307
24.2調試工具307
24.2.1 debug模塊308
24.2.2 Node Inspector 309
24.3單元測試312
24.3.1單元測試的意義312
24.3.2單元測試代碼編寫原則312
24.3.3測試框架314
24.3.4測試風格316
24.3.5測試指標317
24.4 小結 319 ㄒ