Rust全棧開發 Rust Servers, Services, and Apps
[美] 帕布·埃什瓦拉(Prabhu Eshwarla)著 王志強 劉暢 譯
- 出版商: 清華大學
- 出版日期: 2025-03-01
- 定價: $588
- 售價: 8.5 折 $500
- 語言: 簡體中文
- ISBN: 7302681716
- ISBN-13: 9787302681717
-
相關分類:
Rust 語言、程式語言
- 此書翻譯自: Rust Servers, Services, and Apps (Paperback)
下單後立即進貨 (約4週~6週)
相關主題
商品描述
"用Rust構建快速、穩定、安全的Web服務器!在內存管理與並發機制上獨樹一幟的Rust語言,憑借其精準把控底層細節的能力,助你打造運行迅捷且零缺陷的應用程序。當你在生產環境中部署Web服務等核心組件時,Rust強大的編譯器更能為你築起防線,規避代價高昂的運行時錯誤。 《Rust全棧開發》介紹如何使用Rust語言創建現代分佈式Web應用程序。你將從基礎開始:構建一個簡單的HTTP服務器和一個RESTful Web服務。然後,通過添加安全性、數據庫交互性和錯誤處理使它們為生產做好準備。最後,你將處理數字店面服務,創建單頁應用程序,並深入研究異步編程。書中的所有示例都有充分的說明,並且包含帶有註釋的代碼,更容易適配你自己的項目。 核心亮點 ?構建健壯安全的RESTful API體系 ?Web服務打包與部署實戰 ?借助Rust安全保障實現無畏重構 ?通過編譯時/運行時優化顯著降低資源消耗 ?Rust異步編程深度解析"
目錄大綱
目 錄
第Ⅰ部分 Web服務器及Web服務
第1章 為什麽Rust可用於Web應用程序 3
1.1 現代Web應用程序簡介 4
1.2 為Web應用程序選擇Rust 6
1.2.1 Web應用程序的特點 6
1.2.2 Rust對Web應用程序的好處 7
1.2.3 Rust的欠缺之處 11
1.3 可視化示例應用程序 11
1.3.1 構建目標 12
1.3.2 示例應用程序的技術準則 13
1.4 本章小結 14
第2章 從頭開始編寫一個基本的Web服務器 15
2.1 網絡模型 16
2.2 用Rust編寫TCP服務器 17
2.2.1 設計TCP/IP通信流程 17
2.2.2 編寫TCP服務器和客戶端 18
2.3 用Rust編寫HTTP服務器 22
2.3.1 解析HTTP請求消息 24
2.3.2 構造HTTP響應消息 31
2.3.3 編寫main()函數和server模塊 38
2.3.4 編寫router和handler模塊 39
2.3.5 測試Web服務器 44
2.4 本章小結 46
第3章 構建RESTful Web服務 47
3.1 Actix入門 47
3.1.1 編寫第一個REST API 48
3.1.2 瞭解Actix概念 50
3.2 使用REST構建Web API 52
3.2.1 定義項目範圍和結構 53
3.2.2 定義和管理應用程序狀態 56
3.2.3 定義數據模型 59
3.2.4 發布課程 63
3.2.5 獲取導師的所有課程 66
3.2.6 獲取單個課程的詳細信息 68
3.3 本章小結 70
第4章 執行數據庫操作 73
4.1 設置項目結構 73
4.2 編寫與數據庫的第一個異步連接(迭代1) 75
4.2.1 選擇數據庫和連接庫 75
4.2.2 設置數據庫並與異步池連接 76
4.3 設置Web服務並編寫單元測試(迭代2) 81
4.3.1 設置依賴和路由 81
4.3.2 設置應用程序狀態和數據模型 82
4.3.3 使用依賴註入設置連接池 83
4.3.4 編寫單元測試 85
4.4 從數據庫創建和查詢記錄(迭代3) 87
4.4.1 編寫數據庫訪問函數 87
4.4.2 編寫處理器函數 90
4.4.3 為數據庫支持的Web服務編寫main()函數 92
4.5 本章小結 95
第5章 處理錯誤 97
5.1 設置項目結構 98
5.2 Rust和Actix Web中的基本錯誤處理 101
5.3 定義自定義錯誤處理程序 106
5.4 檢索所有課程的錯誤處理 109
5.5 檢索課程詳情的錯誤處理 114
5.6 發布新課程時的錯誤處理 116
5.7 本章小結 117
第6章 增強API無畏重構 119
6.1 改造項目結構 119
6.2 強化課程創建和管理的數據模型 124
6.2.1 更改數據模型 125
6.2.2 更改課程API 129
6.3 啟用導師註冊和管理 141
6.3.1 導師的數據模型和路由 142
6.3.2 導師路由的處理器函數 143
6.3.3 導師路由的數據庫訪問功能 145
6.3.4 導師的數據庫腳本 147
6.3.5 運行並測試導師API 148
6.4 本章小結 151
第Ⅱ部分 服務器端Web應用程序
第7章 介紹Rust中的服務器端Web應用程序 155
7.1 介紹服務器端渲染 156
7.2 使用Actix提供靜態網頁 157
7.3 使用Actix和Tera渲染動態網頁 159
7.4 使用表單添加用戶輸入 162
7.5 顯示帶有模板的列表 164
7.6 編寫和運行客戶端測試 168
7.7 連接到後端Web服務 170
7.8 本章小結 173
第8章 使用導師註冊模板 175
8.1 編寫初始Web應用程序 176
8.2 顯示註冊表單 181
8.3 註冊提交處理 186
8.4 本章小結 191
第9章 使用表單進行課程維護 193
9.1 設計用戶驗證 193
9.2 設置項目結構 195
9.3 實現用戶驗證 196
9.4 路由HTTP請求 200
9.5 使用HTTP POST方法創建資源 203
9.6 使用HTTP PUT方法更新資源 206
9.7 使用HTTP DELETE方法刪除資源 208
9.8 本章小結 209
第Ⅲ部分 高級主題:異步Rust
第10章 瞭解異步Rust 213
10.1 異步編程概念 213
10.2 編寫並發程序 219
10.3 深入研究異步Rust 223
10.4 瞭解future 227
10.5 實現自定義future 233
10.6 本章小結 236
第11章 使用異步Rust構建P2P節點 239
11.1 介紹點對點網絡 239
11.1.1 傳輸 241
11.1.2 對等身份 241
11.1.3 安全性 241
11.1.4 對等路由 241
11.1.5 消息傳遞 242
11.1.6 流復用 242
11.2 瞭解libp2p網絡的核心架構 242
11.2.1 對等ID和密鑰對 243
11.2.2 多地址 245
11.2.3 Swarm和網絡行為 245
11.3 在對等節點之間交換ping命令 247
11.4 發現對等節點 249
11.5 本章小結 251
第12章 使用Docker部署Web服務 253
12.1 介紹服務器和應用程序的生產部署 254
12.1.1 軟件部署周期 254
12.1.2 Docker容器的基礎知識 255
12.2 編寫Docker容器 257
12.2.1 檢查Docker安裝情況 257
12.2.2 編寫一個簡單的Docker容器 258
12.2.3 多階段Docker構建 261
12.3 構建數據庫容器 263
12.3.1 打包Postgres數據庫 264
12.3.2 創建數據庫表 268
12.4 使用Docker打包Web服務 270
12.5 使用Docker Compose編排Docker容器 271
12.6 本章小結 276