注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計了不起的JavaScript工程師:從前端到全端高級進階

了不起的JavaScript工程師:從前端到全端高級進階

了不起的JavaScript工程師:從前端到全端高級進階

定 價:¥79.00

作 者: 朱德龍 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121371295 出版時間: 2019-08-01 包裝: 平裝
開本: 16開 頁數(shù): 336 字數(shù):  

內(nèi)容簡介

  本書講述了開發(fā)者使用JavaScript在各種Web開發(fā)場景下所需要掌握的重點知識和概念。從zui基礎(chǔ)的開發(fā)工具講起,再到開發(fā)思維方式和前端頁面開發(fā),然后擴展到小程序開發(fā)和開發(fā)工具的混合應(yīng)用,再講解前后端交互zui常用的網(wǎng)絡(luò)協(xié)議及API設(shè)計,zui后講解了使用Node.js開發(fā)服務(wù)器端應(yīng)用程序所需要掌握的核心概念。 全書以數(shù)據(jù)鏈為線索,對重要概念進行精練的分析和對比,從而幫助讀者更好地理解和記憶。本書既包括知識技能,又包括設(shè)計思想,“道”與“術(shù)”并重,讓讀者“知行合一”,既能“坐而論道”,也能“起而行之”。 本書適合初級和中級前端開發(fā)者用來提升技術(shù)水平與視野,建立較為完備的開發(fā)技能和可遷移的學(xué)習(xí)能力,幫助讀者擁有全端的技術(shù)和全局的視野,成為“了不起的JavaScript工程師”。

作者簡介

  朱德龍 多年web開發(fā)經(jīng)驗,熟悉前后端開發(fā)以及Docker容器技術(shù),喜歡前端,熱愛JavaScript。 “開發(fā)者頭條”top10專欄作者。 “慕課網(wǎng)”認證作者、精英講師。 2次擔(dān)任w3ctech長沙分享會主講嘉賓。 中科院人才中心評審委員會認證軟件工程師。 CNCF認證CKA。

圖書目錄

第1章 開發(fā)環(huán)境 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 小結(jié) 28
第2章 Web頁面與多頁應(yīng)用 29
2.1 Web頁面的運行環(huán)境――瀏覽器 29
2.1.1 渲染引擎 30
2.1.2 JavaScript引擎 38
2.1.3 數(shù)據(jù)持久層 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預(yù)處理 68
2.7.1 預(yù)處理的意義 68
2.7.2 預(yù)處理的重要功能 69
2.7.3 樣式文件規(guī)劃 72
2.7.4 樣式類命名 73
2.8 JavaScript 77
2.8.1 實現(xiàn)功能邏輯 77
2.8.2 操作頁面或瀏覽器 78
2.8.3 進行網(wǎng)絡(luò)通信 79
2.8.4 第三方JavaScript庫――jQuery 84
2.8.5 JavaScript簡史 84
2.9 自動化構(gòu)建工具 85
2.9.1 自動化構(gòu)建工具的作用 85
2.9.2 常用的自動化構(gòu)建工具 85
2.10 小結(jié) 86
第3章 高效編寫/組織代碼的心法 87
3.1 拆分方式 89
3.1.1 按文件類型拆分 89
3.1.2 按功能類型拆分 90
3.1.3 按關(guān)注點拆分 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 小結(jié) 94
第4章 模塊 96
4.1 模塊的意義 96
4.2 ECMAScript 5中的模塊 96
4.2.1 立即執(zhí)行函數(shù)表達式(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 小結(jié) 107
第5章 單頁應(yīng)用(SPA) 108
5.1 框架 109
5.2 視圖與數(shù)據(jù) 110
5.2.1 雙向數(shù)據(jù)綁定 111
5.2.2 單向數(shù)據(jù)流 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 小結(jié) 123
第6章 JavaScript的幾個趨勢 124
6.1 接口與數(shù)據(jù)類型 125
6.2 更好的異步解決方案 127
6.3 面向?qū)ο笈c類 132
6.3.1 封裝 132
6.3.2 繼承 134
6.3.3 多態(tài) 135
6.4 模塊化 138
6.5 小結(jié) 141
第7章 小程序概述 142
7.1 常見的App 142
7.2 JavaScript開發(fā)者的一雙翅膀 143
7.3 小程序的發(fā)展 144
7.4 小結(jié) 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 小結(jié) 158
第9章 小程序與單頁應(yīng)用 159
9.1 路由 159
9.1.1 路由配置 159
9.1.2 路由跳轉(zhuǎn) 160
9.1.3 路由監(jiān)聽 161
9.2 組件 162
9.2.1 組件與頁面 162
9.2.2 小程序組件與單頁應(yīng)用組件 164
9.3 web-view 165
9.3.1 作用 165
9.3.2 交互 165
9.4 小結(jié) 165
第10章 小程序的框架與插件 166
10.1 RxWX 166
10.2 WePY 168
10.3 mpvue 171
10.4 Taro 171
10.5 小結(jié) 171
第11章 小程序的開發(fā)工具與發(fā)布 173
11.1 開發(fā)者工具組成 173
11.1.1 模擬器 174
11.1.2 調(diào)試器 174
11.1.3 編輯器 176
11.1.4 其他功能 176
11.2 發(fā)布流程 177
11.2.1 小程序的版本 177
11.2.2 用戶身份與權(quán)限 178
11.3 小結(jié) 178
第12章 其他混合應(yīng)用簡介 180
12.1 流應(yīng)用 180
12.2 桌面應(yīng)用 181
12.3 小結(jié) 182
第13章 HTTP協(xié)議與Web網(wǎng)站 183
13.1 HTTP的歷史 183
13.2 HTTP的通信方式 183
13.3 HTTP的狀態(tài) 184
13.4 小結(jié) 184
第14章 HTTP協(xié)議內(nèi)容 185
14.1 請求行/狀態(tài)行 186
14.1.1 URL 186
14.1.2 請求方法 188
14.1.3 狀態(tài)碼/狀態(tài)信息 188
14.2 頭部 192
14.2.1 通用頭部字段 192
14.2.2 請求頭部字段 194
14.2.3 響應(yīng)頭部字段 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與狀態(tài) 204
14.5.1 狀態(tài)存儲 205
14.5.2 狀態(tài)獲取 207
14.5.3 基于token的認證方式更好 207
14.6 小結(jié) 208
第15章 HTTP請求優(yōu)化 209
15.1 減少連接/請求數(shù) 209
15.1.1 減少請求 209
15.1.2 減少連接 210
15.2 緩存數(shù)據(jù) 210
15.3 減少傳輸數(shù)據(jù)量 210
15.4 優(yōu)化網(wǎng)絡(luò)鏈路 210
15.4.1 減少域名 211
15.4.2 使用CDN 211
15.5 小結(jié) 211
第16章 HTTP/2協(xié)議 212
16.1 多路復(fù)用 212
16.2 壓縮 214
16.3 支持TLS 215
16.4 應(yīng)用層協(xié)議協(xié)商 215
16.5 服務(wù)器端推送 215
16.6 流控制 216
16.7 小結(jié) 216
第17章 HTTPS協(xié)議 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 密碼學(xué)基礎(chǔ) 221
17.2.3 摘要與簽名 221
17.2.4 X.509與證書 222
17.3 小結(jié) 223
第18章 WebSocket協(xié)議 224
18.1 WebSocket與HTTP 224
18.2 WebSocket的使用 224
18.2.1 客戶端 225
18.2.2 服務(wù)器端 226
18.3 小結(jié) 227
第19章 API 228
19.1 REST 228
19.1.1 REST API設(shè)計 228
19.1.2 REST API工具 230
19.2 GraphQL 231
19.2.1 GraphQL設(shè)計 232
19.2.2 GraphQL工具 234
19.3 小結(jié) 235
第20章 Node.js概述 237
20.1 為什么要學(xué)習(xí)Node.js 237
20.2 什么是Node.js 238
20.3 Node.js的歷史 239
20.4 Node.js的結(jié)構(gòu) 240
20.5 Node.js的運行機制 241
20.5.1 單線程 241
20.5.2 事件循環(huán) 242
20.6 學(xué)習(xí)Node.js的三個挑戰(zhàn) 244
20.6.1 I/O回調(diào) 244
20.6.2 代碼性能 244
20.6.3 多進程協(xié)作 245
20.7 小結(jié) 245
第21章 用Node.js編寫Web服務(wù)器端 246
21.1 處理請求 246
21.1.1 創(chuàng)建服務(wù)器端 246
21.1.2 解析請求 247
21.2 響應(yīng)結(jié)果 250
21.2.1 狀態(tài)信息 250
21.2.2 響應(yīng)頭部 251
21.2.3 響應(yīng)主體 251
21.3 路由解析 253
21.4 I/O操作 260
21.4.1 文件 260
21.4.2 數(shù)據(jù)庫 264
21.4.3 網(wǎng)絡(luò)請求 267
21.5 Web框架 270
21.5.1 Express 271
21.5.2 Koa 271
21.6 小結(jié) 271
第22章 Node.js內(nèi)存控制 273
22.1 內(nèi)存限制 273
22.2 內(nèi)存管理 276
22.2.1 內(nèi)存分配 276
22.2.2 內(nèi)存回收 276
22.3 內(nèi)存泄漏 277
22.3.1 緩存 277
22.3.2 不斷增長的數(shù)組 279
22.3.3 重復(fù)的事件監(jiān)聽 279
22.4 大內(nèi)存處理 281
22.5 小結(jié) 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 小結(jié) 306
第24章 Node.js調(diào)試與測試 307
24.1 開發(fā)工具 307
24.2 調(diào)試工具 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 測試風(fēng)格 316
24.3.5 測試指標 317
24.4 小結(jié) 319

本目錄推薦

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