RustWeb開發檢視原始碼討論檢視歷史
《RustWeb開發》,[德] 巴斯蒂安·格魯伯(Bastian Gruber) 著,趙永,鄒松廷,盧賢潑 譯,出版社: 清華大學出版社。
清華大學出版社成立於1980年6月,是教育部主管、清華大學主辦的綜合性大學出版社[1]。清華社現年出版圖書、音像製品、電子出版物等近3000種,銷售規模和綜合實力以及在高等教育教材市場、科技圖書市場、館配圖書市場占有率均名列前茅[2]。
內容簡介
主要內容
● 在異步環境中處理借用檢查器
● 創建Web API並處理JSON
● 組建一個用於Rust異步開發的技術棧
● 優雅地處理錯誤
● 測試、追蹤、記錄和調試
● 在多個環境中部署Rust應用
目錄
第Ⅰ部分 Rust介紹
第1章 為什麼使用Rust 3
1.1 開箱即用:Rust提供的工具 4
1.2 Rust編譯器 8
1.3 Rust用於Web服務 10
1.4 Rust應用程序的可維護性 15
1.5 本章小結 15
第2章 建立基礎 17
2.1 遵循Rust規範 18
2.1.1 使用結構體對資源進行建模 19
2.1.2 理解Option 21
2.1.3 使用文檔解決錯誤 22
2.1.4 在Rust中處理字符串 27
2.1.5 深入理解移動、借用和所有權 28
2.1.6 使用和實現trait 31
2.1.7 處理結果 39
2.2 創建Web服務器 40
2.2.1 同時處理多個請求 41
2.2.2 Rust的異步環境 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 本章小結 49
第Ⅱ部分 開始
第3章 創建第一個路由函數 53
3.1 認識Web框架:Warp 54
3.1.1 Warp包括哪些內容 54
3.1.2 Warp的過濾器系統 55
3.2 獲取第一個JSON響應 56
3.2.1 與你的框架理念保持一致 57
3.2.2 處理正確的路由 58
3.2.3 使用Serde庫 59
3.2.4 優雅地處理錯誤 61
3.3 處理CORS頭信息 65
3.3.1 在應用層面返回CORS頭信息 66
3.3.2 測試CORS響應 67
3.4 本章小結 70
第4章 實現具象狀態傳輸API 73
4.1 從內存中獲取問題 74
4.1.1 設置一個模擬數據庫 75
4.1.2 準備一組測試數據 78
4.1.3 從模擬數據庫中讀取 80
4.1.4 解析查詢參數 84
4.1.5 返回自定義錯誤 88
4.2 創建、更新和刪除問題 92
4.2.1 在線程安全的情況下更新數據 92
4.2.2 添加一個問題 96
4.2.3 更新問題 98
4.2.4 處理錯誤的請求 100
4.2.5 從存儲中刪除問題 101
4.3 通過url表單創建問題 103
4.3.1 url表單和JSON的區別 104
4.3.2 通過url表單添加答案 104
4.4 本章小結 107
第5章 清理代碼庫 109
5.1 將代碼模塊化 109
5.1.1 使用Rust的內置模塊系統 110
5.1.2 針對不同用例的文件夾結構 116
5.1.3 創建庫和sub-crate 120
5.2 為代碼創建文件 124
5.2.1 使用文檔注釋和私有注釋 124
5.2.2 在注釋中添加代碼 126
5.3 檢測和格式化代碼庫 128
5.3.1 安裝和使用Clippy 128
5.3.2 使用Rustfmt格式化代碼 131
5.4 本章小結 132
第6章 記錄、追蹤和調試 133
6.1 在Rust應用中記錄日誌 134
6.1.1 在Web服務中實現日誌記錄 136
6.1.2 記錄HTTP請求日誌 142
6.1.3 創建結構化的日誌 145
6.2 異步應用中的追蹤 152
6.2.1 引入Tracing crate 153
6.2.2 集成Tracing到應用 154
6.3 調試Rust應用 158
6.3.1 在命令行上使用GDB 159
6.3.2 使用LLDB調試Web服務 160
6.3.3 使用Visual Studio和LLDB 162
6.4 本章小結 165
第7章 為應用添加數據庫 167
7.1 設置示例數據庫 168
7.2 創建第一個表 168
7.3 使用數據庫crate 171
7.4 重新實現路由函數 177
7.5 處理錯誤和追蹤數據庫交互 192
7.6 集成SQL遷移 198
7.7 案例研究:切換數據庫管理系統 201
7.8 本章小結 204
第8章 集成第三方API 205
8.1 準備代碼庫 207
8.2 將JSON響應反序列化為結構體 219
8.3 向API發送問題和答案 226
8.4 處理超時和同時發生的多個請求 231
8.5 本章小結 238
第Ⅲ部分 投入生產
第9章 添加認證和授權 241
9.1 為Web服務添加認證 243
9.2 添加授權中間件 265
9.3 未涵蓋的內容 275
9.4 本章小結 276
第10章 部署應用程序 277
10.1 通過環境變量設置應用程序 277
10.2 根據不同環境編譯Web服務 288
10.3 在構建流程中使用build.rs 291
10.4 創建正確的Web服務Docker鏡像 294
10.5 本章小結 303
第11章 測試Rust應用程序 305
11.1 業務邏輯的單元測試 306
11.2 測試Warp過濾器 321
11.3 創建集成測試配置 325
11.4 本章小結 339
附錄 關於安全的思考 341
參考文獻
- ↑ 我國出版社的等級劃分和分類標準,知網出書,2021-03-01
- ↑ 企業簡介,清華大學出版社有限公司