注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計Vue.js+Django高性能全棧論道

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

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

定 價:¥138.00

作 者: 顧鮑爾
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302577386 出版時間: 2022-12-01 包裝: 平裝-膠訂
開本: 16開 頁數: 字數:  

內容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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