注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡圖形圖像、多媒體、網(wǎng)頁制作Rust Web開發(fā)

Rust Web開發(fā)

Rust Web開發(fā)

定 價:¥98.00

作 者: 巴斯蒂安·格魯伯(Bastian Gruber) 著
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302658238 出版時間: 2024-04-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  主要內(nèi)容● 在異步環(huán)境中處理借用檢查器● 創(chuàng)建Web API并處理JSON● 組建一個用于Rust異步開發(fā)的技術?!?優(yōu)雅地處理錯誤● 測試、追蹤、記錄和調(diào)試● 在多個環(huán)境中部署Rust應用

作者簡介

  巴斯蒂安·格魯伯(Bastian Gruber)是Centrifuge的協(xié)議工程師。他曾經(jīng)是Rust官方異步工作組的一員,并創(chuàng)建了Rust and Tell Berlin MeetUp小組。

圖書目錄

第Ⅰ部分  Rust介紹
第1章  為什么使用Rust 3
1.1  開箱即用:Rust提供的工具 4
1.2  Rust編譯器 8
1.3  Rust用于Web服務 10
1.4  Rust應用程序的可維護性 15
1.5  本章小結(jié) 15
第2章  建立基礎 17
2.1  遵循Rust規(guī)范 18
2.1.1  使用結(jié)構體對資源進行建模 19
2.1.2  理解Option 21
2.1.3  使用文檔解決錯誤 22
2.1.4  在Rust中處理字符串 27
2.1.5  深入理解移動、借用和所有權 28
2.1.6  使用和實現(xiàn)trait 31
2.1.7  處理結(jié)果 39
2.2  創(chuàng)建Web服務器 40
2.2.1  同時處理多個請求 41
2.2.2  Rust的異步環(huán)境 42
2.2.3  Rust處理async/await 43
2.2.4  使用Rust Future類型 44
2.2.5  選擇運行時 45
2.2.6  選擇Web框架 46
2.3  本章小結(jié) 49
第Ⅱ部分  開始
第3章  創(chuàng)建第一個路由函數(shù) 53
3.1  認識Web框架:Warp 54
3.1.1  Warp包括哪些內(nèi)容 54
3.1.2  Warp的過濾器系統(tǒng) 55
3.2  獲取第一個JSON響應 56
3.2.1  與你的框架理念保持一致 57
3.2.2  處理正確的路由 58
3.2.3  使用Serde庫 59
3.2.4  優(yōu)雅地處理錯誤 61
3.3  處理CORS頭信息 65
3.3.1  在應用層面返回CORS頭信息 66
3.3.2  測試CORS響應 67
3.4  本章小結(jié) 70
第4章  實現(xiàn)具象狀態(tài)傳輸API 73
4.1  從內(nèi)存中獲取問題 74
4.1.1  設置一個模擬數(shù)據(jù)庫 75
4.1.2  準備一組測試數(shù)據(jù) 78
4.1.3  從模擬數(shù)據(jù)庫中讀取 80
4.1.4  解析查詢參數(shù) 84
4.1.5  返回自定義錯誤 88
4.2  創(chuàng)建、更新和刪除問題 92
4.2.1  在線程安全的情況下更新數(shù)據(jù) 92
4.2.2  添加一個問題 96
4.2.3  更新問題 98
4.2.4  處理錯誤的請求 100
4.2.5  從存儲中刪除問題 101
4.3  通過url表單創(chuàng)建問題 103
4.3.1  url表單和JSON的區(qū)別 104
4.3.2  通過url表單添加答案 104
4.4  本章小結(jié) 107
第5章  清理代碼庫 109
5.1  將代碼模塊化 109
5.1.1  使用Rust的內(nèi)置模塊系統(tǒng) 110
5.1.2  針對不同用例的文件夾結(jié)構 116
5.1.3  創(chuàng)建庫和sub-crate 120
5.2  為代碼創(chuàng)建文件 124
5.2.1  使用文檔注釋和私有注釋 124
5.2.2  在注釋中添加代碼 126
5.3  檢測和格式化代碼庫 128
5.3.1  安裝和使用Clippy 128
5.3.2  使用Rustfmt格式化代碼 131
5.4  本章小結(jié) 132
第6章  記錄、追蹤和調(diào)試 133
6.1  在Rust應用中記錄日志 134
6.1.1  在Web服務中實現(xiàn)日志記錄 136
6.1.2  記錄HTTP請求日志 142
6.1.3  創(chuàng)建結(jié)構化的日志 145
6.2  異步應用中的追蹤 152
6.2.1  引入Tracing crate 153
6.2.2  集成Tracing到應用 154
6.3  調(diào)試Rust應用 158
6.3.1  在命令行上使用GDB 159
6.3.2  使用LLDB調(diào)試Web服務 160
6.3.3  使用Visual Studio和LLDB 162
6.4  本章小結(jié) 165
第7章  為應用添加數(shù)據(jù)庫 167
7.1  設置示例數(shù)據(jù)庫 168
7.2  創(chuàng)建第一個表 168
7.3  使用數(shù)據(jù)庫crate 171
7.3.1  將SQLx添加到項目中 173
7.3.2  將Store連接到數(shù)據(jù)庫 174
7.4  重新實現(xiàn)路由函數(shù) 177
7.4.1  在get_questions中添加數(shù)據(jù)庫 178
7.4.2  重新實現(xiàn)add_question路由函數(shù) 185
7.4.3  問題處理函數(shù)的更新和刪除 187
7.4.4  更新add_answer路由 190
7.5  處理錯誤和追蹤數(shù)據(jù)庫交互 192
7.6  集成SQL遷移 198
7.7  案例研究:切換數(shù)據(jù)庫管理系統(tǒng) 201
7.8  本章小結(jié) 204
第8章  集成第三方API 205
8.1  準備代碼庫 207
8.1.1  選擇一個API 208
8.1.2  了解HTTP庫 209
8.1.3  添加一個使用Reqwest的HTTP調(diào)用示例 211
8.1.4  處理外部API請求的錯誤 213
8.2  將JSON響應反序列化為結(jié)構體 219
8.2.1  收集API響應信息 220
8.2.2  為API響應創(chuàng)建類型 221
8.3  向API發(fā)送問題和答案 226
8.3.1  重構add_question路由函數(shù) 226
8.3.2  進行敏感詞檢查以更新問題 229
8.3.3  更新add_answer路由函數(shù) 230
8.4  處理超時和同時發(fā)生的多個請求 231
8.4.1  實現(xiàn)外部HTTP調(diào)用的重試機制 232
8.4.2  并發(fā)或并行執(zhí)行future 236
8.5  本章小結(jié) 238
第Ⅲ部分  投入生產(chǎn)
第9章  添加認證和授權 241
9.1  為Web服務添加認證 243
9.1.1  創(chuàng)建用戶概念 243
9.1.2  遷移數(shù)據(jù)庫 245
9.1.3  添加注冊端點 247
9.1.4  對密碼進行哈希處理 250
9.1.5  處理重復賬戶錯誤 252
9.1.6  有狀態(tài)認證與無狀態(tài)認證 258
9.1.7  添加登錄端點 259
9.1.8  為令牌添加有效期 263
9.2  添加授權中間件 265
9.2.1  遷移數(shù)據(jù)庫表 265
9.2.2  創(chuàng)建令牌驗證中間件 266
9.2.3  擴展現(xiàn)有路由以處理賬戶ID 270
9.3  未涵蓋的內(nèi)容 275
9.4  本章小結(jié) 276
第10章  部署應用程序 277
10.1  通過環(huán)境變量設置應用程序 277
10.1.1  設置配置文件 279
10.1.2  在程序中接收命令行參數(shù) 281
10.1.3  在Web服務中讀取和解析環(huán)境變量 283
10.2  根據(jù)不同環(huán)境編譯Web服務 288
10.2.1  構建二進制文件時的development和release標志 289
10.2.2  針對不同環(huán)境交叉編譯二進制文件 290
10.3  在構建流程中使用build.rs 291
10.4  創(chuàng)建正確的Web服務Docker鏡像 294
10.4.1  創(chuàng)建靜態(tài)鏈接的Docker鏡像 295
10.4.2  使用docker-compose建立本地Docker環(huán)境 296
10.4.3  將Web服務器的配置提取到一個新模塊中 299
10.5  本章小結(jié) 303
第11章  測試Rust應用程序 305
11.1  業(yè)務邏輯的單元測試 306
11.1.1  測試分頁邏輯和處理自定義錯誤 307
11.1.2  使用環(huán)境變量測試配置模塊 310
11.1.3  使用新創(chuàng)建的模擬服務器測試profanity模塊 314
11.2  測試Warp過濾器 321
11.3  創(chuàng)建集成測試配置 325
11.3.1  將代碼庫拆分為lib.rs和二進制文件 327
11.3.2  創(chuàng)建集成測試crate和單發(fā)服務器實現(xiàn) 330
11.3.3  添加注冊測試 332
11.3.4  發(fā)生錯誤時進行堆棧展開 336
11.3.5  測試登錄和發(fā)布問題 337
11.4  本章小結(jié) 339
附錄  關于安全的思考 341
 
 

本目錄推薦

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