幫助中心 | 我的帳號 | 關於我們

Rust Web開發(使用Warp\Tokio和Reqwest)/Web開發與設計

  • 作者:(德)巴斯蒂安·格魯伯|責編:王軍//劉遠菁|譯者:趙永//鄒松廷//盧賢潑
  • 出版社:清華大學
  • ISBN:9787302658238
  • 出版日期:2024/04/01
  • 裝幀:平裝
  • 頁數:344
人民幣:RMB 98 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書教你使用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  根據不同環境編譯Web服務
      10.2.1  構建二進位文件時的development和release標誌
      10.2.2  針對不同環境交叉編譯二進位文件
    10.3  在構建流程中使用build.rs
    10.4  創建正確的Web服務Docker鏡像
      10.4.1  創建靜態鏈接的Docker鏡像
      10.4.2  使用docker-compose建立本地Docker環境
      10.4.3  將Web伺服器的配置提取到一個新模塊中
    10.5  本章小結
  第11章  測試Rust應用程序
    11.1  業務邏輯的單元測試
      11.1.1  測試分頁邏輯和處理自定義錯誤
      11.1.2  使用環境變數測試配置模塊
      11.1.3  使用新創建的模擬伺服器測試profanity模塊
    11.2  測試Warp過濾器
    11.3  創建集成測試配置

      11.3.1  將代碼庫拆分為lib.rs和二進位文件
      11.3.2  創建集成測試crate和單發伺服器實現
      11.3.3  添加註冊測試
      11.3.4  發生錯誤時進行堆棧展開
      11.3.5  測試登錄和發布問題
    11.4  本章小結
附錄  關於安全的思考

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032