Rust Web開發 Rust Web Development
[德] 巴斯蒂安·格魯伯(Bastian Gruber)著 趙永、鄒松廷、盧賢潑 譯
- 出版商: 清華大學
- 出版日期: 2024-04-01
- 售價: $588
- 貴賓價: 9.5 折 $559
- 語言: 簡體中文
- 頁數: 344
- 裝訂: 平裝
- ISBN: 7302658234
- ISBN-13: 9787302658238
-
相關分類:
Rust 語言、程式語言
- 此書翻譯自: Rust Web Development
立即出貨
買這商品的人也買了...
-
$560$476 -
$580$458 -
$1,200$948 -
$580$458 -
$750$638 -
$880$695 -
$414$393 -
$662Rust 實戰
-
$780$616 -
$516$490 -
$780$608 -
$680$537 -
$659$626 -
$680$537 -
$680$340 -
$980$774 -
$479$455 -
$680$530 -
$708$673 -
$354$336 -
$1,280$909 -
$599$569 -
$800$632 -
$680$537 -
$1,000$790
商品描述
本書教你使用Rust以及重要的Rust庫(如異步運行時的Tokio、用於Web服務器和API的Warp,以及運行外部HTTP請求的Reqwest)來創建服務端的Web應用。本書包含大量的代碼示例以及專業的提示,以幫助你創建項目和組織代碼。隨著學習的深入,你將創建一個完整的Q&A Web服務並逐章疊代你的代碼,就像參與了真實的項目開發一樣。 本書適合熟悉Java、Node或者Go語言並且掌握了Rust基礎知識的開發人員。
作者簡介
巴斯蒂安·格魯伯(Bastian Gruber)是Centrifuge的協議工程師。他曾經是Rust官方異步工作組的一員,並創建了Rust and Tell Berlin MeetUp小組。
目錄大綱
第I部分 Rust介紹
第1章 為什麽使用Rust
1.1 開箱即用:Rust提供的工具
1.2 Rust編譯器
1.3 Rust用於Web服務
1.4 Rust應用程序的可維護性
1.5 本章小結
第2章 建立基礎
2.1 遵循Rust規範
2.1.1 使用結構體對資源進行建模
2.1.2 理解Option
2.1.3 使用文檔解決錯誤
2.1.4 在Rust中處理字符串
2.1.5 深入理解移動、借用和所有權
2.1.6 使用和實現trait
2.1.7 處理結果
2.2 創建Web服務器
2.2.1 同時處理多個請求
2.2.2 Rust的異步環境
2.2.3 Rust處理async/await
2.2.4 使用RustFuture類型
2.2.5 選擇運行時
2.2.6 選擇Web框架
2.3 本章小結
第II部分 開始
第3章 創建第一個路由函數
3.1 認識Web框架:Warp
3.1.1 Warp包括哪些內容
3.1.2 Warp的過濾器系統
3.2 獲取第一個JSON響應
3.2.1 與你的框架理念保持一致
3.2.2 處理正確的路由
3.2.3 使用Serde庫
3.2.4 優雅地處理錯誤
3.3 處理CORS頭信息
3.3.1 在應用層面返回CORS頭信息
3.3.2 測試CORS響應
3.4 本章小結
第4章 實現具象狀態傳輸API
4.1 從內存中獲取問題
4.1.1 設置一個模擬數據庫
4.1.2 準備一組測試數據
4.1.3 從模擬數據庫中讀取
4.1.4 解析查詢參數
4.1.5 返回自定義錯誤
4.2 創建、更新和刪除問題
4.2.1 在線程安全的情況下更新數據
4.2.2 添加一個問題
4.2.3 更新問題
4.2.4 處理錯誤的請求
4.2.5 從存儲中刪除問題
4.3 通過url表單創建問題
4.3.1 url表單和JSON的區別
4.3.2 通過ul表單添加答案
4.4 本章小結
第5章 清理代碼庫
5.1 將代碼模塊化
5.1.1 使用Rust的內置模塊系統
5.1.2 針對不同用例的文件夾結構
5.1.3 創建庫和sub-crate
5.2 為代碼創建文件
5.2.1 使用文檔註釋和私有註釋
5.2.2 在註釋中添加代碼
5.3 檢測和格式化代碼庫
5.3.1 安裝和使用Clippy
5.3.2 使用Rustfint格式化代碼
5.4 本章小結
第6章 記錄、追蹤和調試
6.1 在Rust應用中記錄日誌
6.1.1 在Web服務中實現日誌記錄
6.1.2 記錄HTTP請求日誌
6.1.3 創建結構化的日誌
6.2 異步應用中的追蹤
6.2.1 引入Tracingcrate
6.2.2 集成Tracing到應用
6.3 調試Rust應用
6.3.1 在命令行上使用GDB
6.3.2 使用LLDB調試Web服務
6.3.3 使用VisualStudio和LLDB
6.4 本章小結
第7章 為應用添加數據庫
7.1 設置示例數據庫
7.2 創建第一個表
7.3 使用數據庫crate
7.3.1 將SQLx添加到項目中
7.3.2 將Store連接到數據庫
7.4 重新實現路由函數
7.4.1 在get_questions中添加數據庫
7.4.2 重新實現addquestion路由函數
7.4.3 問題處理函數的更新和刪除
7.4.4 更新addanswer路由
7.5 處理錯誤和追蹤數據庫交互
7.6 集成SQL遷移
7.7 案例研究:切換數據庫管理系統
7.8 本章小結
第8章 集成第三方API
8.1 準備代碼庫
8.1.1 選擇一個API
8.1.2 瞭解HTTP庫
8.1.3 添加一個使用Reqwest的HTTP調用示例
8.1.4 處理外部API請求的錯誤
8.2 將JSON響應反序列化為結構體
8.2.1 收集API響應信息
8.2.2 為API響應創建類型
8.3 向API發送問題和答案
8.3.1 重構addquestion路由函數
8.3.2 進行敏感詞檢查以更新問題
8.3.3 更新addanswer路由函數
8.4 處理超時和同時發生的多個請求
8.4.1 實現外部HTTP調用的重試機制
8.4.2 並發或並行執行future
8.5 本章小結
第III部分 投入生產
第9章 添加認證和授權
9.1 為Web服務添加認證
9.1.1 創建用戶概念
9.1.2 遷移數據庫
9.1.3 添加註冊端點
9.1.4 對密碼進行哈希處理
9.1.5 處理重覆賬戶錯誤
9.1.6 有狀態認證與無狀態認證
9.1.7 添加登錄端點
9.1.8 為令牌添加有效期
9.2 添加授權中間件
9.2.1 遷移數據庫表
9.2.2 創建令牌驗證中間件
9.2.3 擴展現有路由以處理賬戶ID
9.3 未涵蓋的內容
9.4 本章小結
第10章 部署應用程序
10.1 通過環境變量設置應用程序
10.1.1 設置配置文件
10.1.2 在程序中接收命令行參數
10.1.3 在Web服務中讀取和解析環境變量
10.2