注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Vue.js+Django高性能全棧論道

Vue.js+Django高性能全棧論道

Vue.js+Django高性能全棧論道

定 價(jià):¥138.00

作 者: 顧鮑爾
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787302577386 出版時(shí)間: 2022-12-01 包裝: 平裝-膠訂
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)并非簡(jiǎn)單地介紹兩種語(yǔ)言和框架API相關(guān)的圖書(shū),而是以Django與Vue.js為載體,詮釋前、后端技術(shù)生態(tài)中**的優(yōu)化方案和思路。 本書(shū)主要內(nèi)容包括網(wǎng)絡(luò)編程與異步并發(fā)的基礎(chǔ),軟件工程的設(shè)計(jì)模式在前端技術(shù)中的演進(jìn),從Vue.js的核心開(kāi)發(fā)指南到Webpack編譯打包的優(yōu)化經(jīng)驗(yàn)分享,Web/Service Workers與WebSocket為Vue.js實(shí)現(xiàn)多線程離線加速,揭秘Vue.js全方位異步惰性加載優(yōu)化,Django、PyPy、WSGI和Gevent的全套異步方案實(shí)戰(zhàn),Asyncio、gRPC、Channels與Django的分布式應(yīng)用實(shí)戰(zhàn),Python Agent技術(shù)分享。 本書(shū)內(nèi)容豐富、案例眾多,適合想了解全棧技術(shù)的前、后端開(kāi)發(fā)人員學(xué)習(xí)使用,也可作為相關(guān)培訓(xùn)機(jī)構(gòu)、開(kāi)設(shè)相關(guān)專(zhuān)業(yè)課程院校的教材。

作者簡(jiǎn)介

  顧鮑爾(Boyle Gu),擁有4項(xiàng)國(guó)家發(fā)明專(zhuān)利,出版《Lua Love2d教程》一書(shū),目前就職于中國(guó)兵器和阿里巴巴合資成立的千尋位置,負(fù)責(zé)基礎(chǔ)架構(gòu)體系平臺(tái)建設(shè)工作。曾任職于韓國(guó)NCSOFT、搜狐暢游、上汽集團(tuán)。2015年在深圳大學(xué)百人禮堂分享Python及其企業(yè)應(yīng)用。組織過(guò)Golang在線直播培訓(xùn)。工作之余熱衷開(kāi)源,開(kāi)發(fā)并維護(hù)著“Regal灰度發(fā)布引擎” “SpringBoot-vue”“Sanic-vue”和“vue-lazyload-text”等開(kāi)源項(xiàng)目。

圖書(shū)目錄

篇 基礎(chǔ)篇
第1章 現(xiàn)代Web應(yīng)用開(kāi)發(fā):全新的紀(jì)元 2
1.1 單頁(yè)應(yīng)用概述 2
1.1.1 從此不必刷新瀏覽器 2
1.1.2 前端需要深入業(yè)務(wù) 3
1.1.3 SPA如何工作 4
1.1.4 閑聊MVVM設(shè)計(jì)模式 11
1.1.5 與服務(wù)器端通信 12
1.1.6 SPA的優(yōu)點(diǎn)和缺點(diǎn) 18
1.2 異步與協(xié)程 20
1.2.1 程序、進(jìn)程、線程與協(xié)程 20
1.2.2 并發(fā)基礎(chǔ) 23
1.2.3 I/O漫聊 25
1.2.4 反應(yīng)式模式:epoll與Event Loop 26
1.3 HTTP那些事兒27
1.3.1 HTTP 2的重要性 27
1.3.2 大話協(xié)議 28
1.3.3 HTTP 2的六板斧 28
1.3.4 下一代的革命:HTTP 3 30
第2章 ECMAScript與Python 3 31
2.1 JavaScript簡(jiǎn)史31
2.2 初識(shí)ECMAScript 2015 32
2.2.1 ECMAScript與JavaScript的不同 32
2.2.2 ECMAScript 2015有哪些變化 32
2.2.3 不可不知的DOM 39
2.2.4 BOM簡(jiǎn)介 40
2.3 新一代Python簡(jiǎn)述 40
2.3.1 經(jīng)驗(yàn)之談:為什么是Python 40
2.3.2 新版本的性能改進(jìn) 41
2.3.3 深究CPython 3.6的垃圾回收與建議 43
第3章 ECMAScript 2015 47
3.1 搭建運(yùn)行ECMAScript開(kāi)發(fā)環(huán)境 47
3.1.1 包管理工具NPM 47
3.1.2 安裝ECMAScript 2015開(kāi)發(fā)環(huán)境 48
3.1.3 配置JavaScript編輯器 51
 
3.2 ECMAScript 2015必知54
3.2.1 let和const 54
3.2.2 for循環(huán) 55
3.2.3 箭頭函數(shù) 57
3.2.4 默認(rèn)參數(shù) 57
3.2.5 參數(shù)的擴(kuò)展—Spread操作符 58
3.2.6 數(shù)據(jù)結(jié)構(gòu)Map和原生對(duì)象59
第二篇Vue篇
3.2.7 數(shù)據(jù)結(jié)構(gòu)Set 61
3.2.8 迭代器工具 61
3.2.9 詳解生成器 63
3.2.10 面向?qū)ο缶幊?65
3.2.11 面向?qū)ο缶幊踢M(jìn)階 70
3.2.12 實(shí)戰(zhàn):利用ES 2015開(kāi)發(fā)仿“反恐精英
CS”游戲 74
第4章 Vue.js化繁為簡(jiǎn) 82
4.1 初見(jiàn)Vue.js 82
4.1.1 解決了什么問(wèn)題 82
4.1.2 Vue.js與jQuery的區(qū)別 83
4.1.3 揭秘虛擬DOM 84
4.2 上手Vue.js 86
4.2.1 簡(jiǎn)化安裝 86
4.2.2 分析由Vue.js構(gòu)建網(wǎng)頁(yè)87
4.2.3 數(shù)據(jù)如何渲染 91
4.2.4 必須了解的生命周期93
4.3 常用模板語(yǔ)法指令 98
4.3.1 v-if/v-else/v-else-if指令 98
4.3.2 v-show指令 100
4.3.3 v-for指令 100
4.3.4 v-bind指令102
4.3.5 v-on指令 103
4.4 一招學(xué)會(huì)事件處理器 104
4.5 不得不懂的計(jì)算屬性和偵聽(tīng)器 105
4.5.1 計(jì)算屬性 105
4.5.2 偵聽(tīng)器 106
4.6 常用的表單處理 107
4.6.1 v-model指令 107
4.6.2 省力的修飾符 110
第5章 Vue.js進(jìn)階 111
5.1 深入組件 111
5.1.1 快速入門(mén) 111
5.1.2 父組件與子組件間的數(shù)據(jù)通信 113
5.1.3 不同組件間的數(shù)據(jù)通信117
5.2 掌握狀態(tài)管理Vuex 118
5.2.1 初始化Vuex 118
5.2.2 state、mutation、action 119
5.2.3 getter的使用 125
5.2.4 Vuex輔助函數(shù)126
5.2.5 Vuex的經(jīng)驗(yàn)之談128
5.3 SPA:路由130
5.3.1 Vue 路由基礎(chǔ)130
5.3.2 常規(guī)路由匹配 131
5.3.3 路由匹配 135
5.3.4 編程式導(dǎo)航 136
第6章前端工程化Webpack 4及部署 137
6.1 vue-cli打包編譯 137
6.2 取代CLI,從“零”揭秘Webpack 4 138
 
6.3 基礎(chǔ)配置 141
6.4 配置開(kāi)發(fā)服務(wù)器 145
6.5 配置生產(chǎn)的編譯構(gòu)建環(huán)境 148
6.6 基于HTTP 2的Nginx部署 153
第7章 加速Vue.js項(xiàng)目 155
7.1 打包優(yōu)化與異步Vue.js 155
7.1.1 Webpack打包的工作機(jī)制 155
7.1.2 惰性加載 156
7.1.3 動(dòng)態(tài)導(dǎo)入 157
7.1.4 異步組件 157
7.1.5 異步路由 159
7.1.6 大型項(xiàng)目中異步Vuex解決方案 159
7.1.7 打包優(yōu)化中的反模式 165
7.2 圖片惰性加載的實(shí)現(xiàn)原理 167
7.2.1 IntersectionObserver API介紹 167
7.2.2 在Vue.js中如何實(shí)現(xiàn) 168
7.2.3 性能之談 169
7.3 大文本惰性加載實(shí)戰(zhàn) 171
7.3.1 定制組件 172
7.3.2 指令:v-lazyload-text 173
7.3.3 與服務(wù)器端對(duì)接 173
7.4 優(yōu)化資源優(yōu)先級(jí) 174
7.5 進(jìn)擊的性能Web Workers 176
7.5.1 Web Workers與線程 176
7.5.2 在Vue.js中如何實(shí)現(xiàn) 176
7.5.3 Vue.js多線程實(shí)戰(zhàn) 178
7.5.4 Web Workers的限制 183
7.6 離線優(yōu)先Service Worker 184
7.6.1 編寫(xiě)Service Worker注冊(cè)腳本 188
7.6.2 構(gòu)建Service Worker 191
7.6.3 運(yùn)行和調(diào)試 193
7.6.4 Service Workers與Web Workers的
 區(qū)別 194
7.7 新一代圖片格式WebP 194
7.7.1 WebP及其優(yōu)缺點(diǎn) 194
7.7.2 在Vue.js中如何實(shí)現(xiàn) 195
7.8 Web性能監(jiān)測(cè)利器:Lighthouse 196
7.8.1 在開(kāi)發(fā)者工具中運(yùn)行 197
7.8.2 在命令行中運(yùn)行 197
7.8.3 在Chrome擴(kuò)展程序中運(yùn)行 198
第三篇 Django篇
第8章 認(rèn)識(shí)Django 200
8.1 解讀Django架構(gòu) 200
8.1.1 全新視角的松耦合設(shè)計(jì) 200
8.1.2 Django“視圖”的正確理解 201
8.1.3 Django項(xiàng)目結(jié)構(gòu)實(shí)踐 202
8.1.4 創(chuàng)建自己的Django應(yīng)用程序 205
8.1.5 URLconfs—Django路由 206
8.1.6 快速開(kāi)發(fā)HTTP接口 207
8.2 正確入手:Django ORM 209
8.2.1 從社交應(yīng)用程序中掌握ORM 209
8.2.2 模型定義的實(shí)踐 213
8.2.3 QuerySets基礎(chǔ) 215
8.2.4 教你手寫(xiě)Active Record設(shè)計(jì)模式 217
第9章 理解Django REST Framework 219
9.1 為什么使用DRF 219
9.2 核心速學(xué)手冊(cè) 220
 
9.2.1 序列化 221
9.2.2 DRF的視圖與路由 222
9.2.3 ModelSerializer源碼揭秘與更多實(shí)例224
9.2.4 認(rèn)證與權(quán)限 231
9.2.5 DRF動(dòng)態(tài)繪制表單的設(shè)計(jì)模式 235
9.3 實(shí)戰(zhàn):用于SPA的無(wú)狀態(tài)RESTful服務(wù)
器端接口239
9.3.1 介紹 239
9.3.2 JWT用戶認(rèn)證 244
9.3.3 分頁(yè) 247
9.3.4 正確返回及錯(cuò)誤輸出249
9.3.5 單元測(cè)試 250
9.3.6 性能檢測(cè) 252
第10章 Django生產(chǎn)部署的藝術(shù) 253
10.1 準(zhǔn)備 253
10.1.1 剪裁Django253
10.1.2 生產(chǎn)/測(cè)試開(kāi)發(fā)環(huán)境隔離 255
10.1.3 日志 258
10.2 部署 259
10.2.1 WSGI介紹 260
10.2.2 uWSGI基礎(chǔ) 261
10.2.3 uWSGI加速與KSM技術(shù)內(nèi)存
抗泄 263
10.2.4 深入理解uWSGI啟動(dòng)的機(jī)制 266
10.2.5 結(jié)合Nginx與輕量化測(cè)試wrk 268
10.3 換臺(tái)“發(fā)動(dòng)機(jī)”—PyPy 3 270
10.3.1 Stackless的無(wú)堆棧與PyPy 3
新特性 271
10.3.2 PyPy 3 uWSGI Django 2生產(chǎn)實(shí)戰(zhàn)
心得 274
第11章終極優(yōu)化Django 280
11.1 WSGI與Django 280
11.1.1 WSGI內(nèi)存管理與OOM現(xiàn)象 280
11.1.2 一種內(nèi)存預(yù)熱的方式:重構(gòu)WSGI282
11.2 QuerySets優(yōu)化與設(shè)計(jì)模式 286
11.2.1 QuerySets深度優(yōu)化287
11.2.2 解讀Django 2QuerySets
源碼 291
11.2.3 設(shè)計(jì)“單例模型”減少數(shù)據(jù)庫(kù)
連接 295
11.2.4 有限狀態(tài)機(jī)在Django模型中的
實(shí)踐 297
11.3 Django REST Framework優(yōu)化指南 303
11.3.1 適當(dāng)簡(jiǎn)化DRF 303
11.3.2 Varnish每秒進(jìn)擊45K并發(fā) 305
11.3.3 DRF 3.10.3版本的高性能揭秘 306
11.4 第二代Django Channels 308
11.4.1 Asyncio基礎(chǔ) 308
11.4.2 Asyncio高并發(fā)實(shí)踐 310
11.4.3 再談Asyncio與Gevent 312
11.4.4 Asyncio與Django 313
11.4.5 理解Django Channels 313
11.5 Django 3的異步驅(qū)動(dòng)314
 
第四篇 綜合案例篇
第12章 打造企業(yè)級(jí)分布式應(yīng)用服務(wù) 318
12.1 功能與需求介紹 318
12.2 系統(tǒng)架構(gòu)設(shè)計(jì)及環(huán)境說(shuō)明 319
12.3 構(gòu)建前端頁(yè)面 320
12.3.1 用戶交互設(shè)計(jì) 321
12.3.2 Vue.js開(kāi)發(fā)環(huán)境搭建 321
12.3.3 構(gòu)建頁(yè)面布局 323
12.3.4 創(chuàng)建Vue.js路由 327
12.3.5 前端組件開(kāi)發(fā)及通信 328
12.3.6 表單驗(yàn)證 337
12.4 客戶端Agent技術(shù) 339
12.4.1 守護(hù)進(jìn)程與后臺(tái)程序 339
12.4.2 編寫(xiě)Agent框架 340
12.4.3 實(shí)現(xiàn)aiohttp異步Web服務(wù) 344
12.4.4 開(kāi)發(fā)HTTP接口 345
12.4.5 Agent嵌入異步Web服務(wù) 346
12.4.6 asyncio.gather的妙用 348
12.5 gRPC服務(wù) 350
12.5.1 編寫(xiě)ProtoBuf生成原型文件 350
12.5.2 服務(wù)器端開(kāi)發(fā) 352
12.5.3 Agent的gRPC客戶端開(kāi)發(fā) 353
12.5.4 Asyncio異步gRPC 355
12.6 Django應(yīng)用服務(wù)器 357
12.6.1 搭建Django項(xiàng)目腳手架 357
12.6.2 REST接口 358
12.6.3 前、后端接口交互 359
12.7 Django Channels實(shí)戰(zhàn) 361
12.7.1 架構(gòu)機(jī)制 361
12.7.2 安裝與Channels路由配置 362
12.7.3 開(kāi)發(fā)Consumer 364
12.7.4 gRPC與Django Channels的融合 365
12.7.5 Web應(yīng)用編程接口:WebSocket API 366
12.7.6 Channels部署方式及集群 368
12.8 更多的討論 369
12.8.1 gRPC負(fù)載均衡與性能測(cè)試實(shí)踐 369
12.8.2 服務(wù)注冊(cè)與發(fā)現(xiàn) 371
12.8.3 Agent性能 372
12.8.4 Django與MongoDB 372
后記373
 

本目錄推薦

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