-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
RUST WEB開發 版權信息
- ISBN:9787302658238
- 條形碼:9787302658238 ; 978-7-302-65823-8
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
RUST WEB開發 本書特色
如果你厭倦了緩慢、占用大量資源且不穩定的模板化Web開發工具,Rust就是你的解決方案。Rust服務提供了穩定的安全保證、非凡的開發經驗,以及能夠自動防止常見錯誤的編譯器。
《Rust Web開發》教你使用Rust以及重要的Rust庫(如異步運行時的Tokio、用于Web服務器和API的Warp,以及運行外部HTTP請求的Reqwest)來創建服務端的Web應用。《Rust Web開發》包含大量的代碼示例以及專業的提示,以幫助你創建項目和組織代碼。隨著學習的深入,你將創建一個完整的Q&A Web服務并逐章迭代你的代碼,就像參與了真實的項目開發一樣。
RUST WEB開發 內容簡介
主要內容 ● 在異步環境中處理借用檢查器 ● 創建Web API并處理JSON ● 組建一個用于Rust異步開發的技術棧 ● 優雅地處理錯誤 ● 測試、追蹤、記錄和調試 ● 在多個環境中部署Rust應用
RUST WEB開發 目錄
第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.3.1 將SQLx添加到項目中 173
7.3.2 將Store連接到數據庫 174
7.4 重新實現路由函數 177
7.4.1 在get_questions中添加數據庫 178
7.4.2 重新實現add_question路由函數 185
7.4.3 問題處理函數的更新和刪除 187
7.4.4 更新add_answer路由 190
7.5 處理錯誤和追蹤數據庫交互 192
7.6 集成SQL遷移 198
7.7 案例研究:切換數據庫管理系統 201
7.8 本章小結 204
第8章 集成第三方API 205
8.1 準備代碼庫 207
8.1.1 選擇一個API 208
8.1.2 了解HTTP庫 209
8.1.3 添加一個使用Reqwest的HTTP調用示例 211
8.1.4 處理外部API請求的錯誤 213
8.2 將JSON響應反序列化為結構體 219
8.2.1 收集API響應信息 220
8.2.2 為API響應創建類型 221
8.3 向API發送問題和答案 226
8.3.1 重構add_question路由函數 226
8.3.2 進行敏感詞檢查以更新問題 229
8.3.3 更新add_answer路由函數 230
8.4 處理超時和同時發生的多個請求 231
8.4.1 實現外部HTTP調用的重試機制 232
8.4.2 并發或并行執行future 236
8.5 本章小結 238 第Ⅲ部分 投入生產
第9章 添加認證和授權 241
9.1 為Web服務添加認證 243
9.1.1 創建用戶概念 243
9.1.2 遷移數據庫 245
9.1.3 添加注冊端點 247
9.1.4 對密碼進行哈希處理 250
9.1.5 處理重復賬戶錯誤 252
9.1.6 有狀態認證與無狀態認證 258
9.1.7 添加登錄端點 259
9.1.8 為令牌添加有效期 263
9.2 添加授權中間件 265
9.2.1 遷移數據庫表 265
9.2.2 創建令牌驗證中間件 266
9.2.3 擴展現有路由以處理賬戶ID 270
9.3 未涵蓋的內容 275
9.4 本章小結 276
第10章 部署應用程序 277
10.1 通過環境變量設置應用程序 277
10.1.1 設置配置文件 279
10.1.2 在程序中接收命令行參數 281
10.1.3 在Web服務中讀取和解析環境變量 283
10.2 根據不同環境編譯Web服務 288
10.2.1 構建二進制文件時的development和release標志 289
10.2.2 針對不同環境交叉編譯二進制文件 290
10.3 在構建流程中使用build.rs 291
10.4 創建正確的Web服務Docker鏡像 294
10.4.1 創建靜態鏈接的Docker鏡像 295
10.4.2 使用docker-compose建立本地Docker環境 296
10.4.3 將Web服務器的配置提取到一個新模塊中 299
10.5 本章小結 303
第11章 測試Rust應用程序 305
11.1 業務邏輯的單元測試 306
11.1.1 測試分頁邏輯和處理自定義錯誤 307
11.1.2 使用環境變量測試配置模塊 310
11.1.3 使用新創建的模擬服務器測試profanity模塊 314
11.2 測試Warp過濾器 321
11.3 創建集成測試配置 325
11.3.1 將代碼庫拆分為lib.rs和二進制文件 327
11.3.2 創建集成測試crate和單發服務器實現 330
11.3.3 添加注冊測試 332
11.3.4 發生錯誤時進行堆棧展開 336
11.3.5 測試登錄和發布問題 337
11.4 本章小結 339
附錄 關于安全的思考 341
RUST WEB開發 作者簡介
巴斯蒂安·格魯伯(Bastian Gruber)是Centrifuge的協議工程師。他曾經是Rust官方異步工作組的一員,并創建了Rust and Tell Berlin MeetUp小組。
- >
上帝之肋:男人的真實旅程
- >
小考拉的故事-套裝共3冊
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
詩經-先民的歌唱
- >
伊索寓言-世界文學名著典藏-全譯本
- >
苦雨齋序跋文-周作人自編集
- >
有舍有得是人生
- >
姑媽的寶刀