| *完成訂單後正常情形下約兩周可抵台。 *本賣場提供之資訊僅供參考,以到貨標的為正確資訊。 印行年月:202409*若逾兩年請先於私訊洽詢存貨情況,謝謝。 台灣(台北市)在地出版社,每筆交易均開具統一發票,祝您中獎最高1000萬元。 書名:從零構建Rust生產級服務 ISBN:9787121487071 出版社:電子工業 著編譯者:盧卡.帕爾米耶里 頁數:539 所在地:中國大陸 *此為代購商品 書號:1678086 可大量預訂,請先連絡。 內容簡介 本書是一本面向Rust後端開發人員的入門參考書,通過實際項目引導讀者從0到1構建一個功能齊全的電子郵件通信API。本書涵蓋了廣泛的主題,包括Rust生態系統的利用、應用結構的設計、測試的編寫、用戶認證和授權、錯誤處理策略的實施、應用狀態的觀察,以及持續集成和部署管道的建立等。本書不僅介紹了具體的工具和庫,還深入探討了系統設計、可觀測性和易操作性等重要概念,能夠幫助讀者掌握專業的開發方法。 本書適合初學者,是開啟Rust開發之旅的理想起點,即使沒有Rust或後端開發經驗,相信你也能夠輕鬆跟上、快速入門。目錄 第1章 準備工作1 1 安裝Rust工具鏈 1 1 1 編譯目標 1 1 2 發布渠道 1 1 3 我們需要什麼樣的工具鏈 1 2 項目初始化 1 3 集成開發環境 1 3 1 rust-analyzer 1 3 2 IntelliJ Rust 1 3 3 應該如何選擇IDE 1 4 內開發循環 1 4 1 更快的 1 4 2 cargo-watch 1 5 持續集成 1 5 1 持續集成的步驟 1 5 2 準備就緒的持續集成流水線 第2章 構建郵件簡報 2 1 引導示例 2 1 1 基於問題的學 2 1 2 幫助完善本書 2 2 郵件簡報服務應該做什麼 2 2 1 捕捉需求:用戶故事 2 3 循序漸進,不斷迭代 2 3 1 準備開始 第3章 註冊新的訂閱者 3 1 前期準備工作 3 2 選擇一個Web框架 3 3 實現第一個端點:健康檢查 3 3 1 使用actix-web編寫代碼 3 3 2 actix-web應用程序剖析 3 3 3 實現健康檢查處理器 3 4 第一次集成測試 3 4 1 如何對端點進行測試 3 4 2 應該將測試放在哪裡 3 4 3 改變項目結構以便於測試 3 5 實現第一個集成測試 3 5 1 化 3 6 重新聚焦 3 7 處理HTML表單 3 7 1 提煉需求 3 7 2 以測試的形式捕捉需求 3 7 3 從POST請求中解析表單數據 3 8 存儲數據:資料庫 3 8 1 選擇資料庫 3 8 2 選擇資料庫 3 8 3 帶有副作用的集成測試 3 8 4 資料庫初始化 3 8 5 編寫第一個查詢 3 9 持久化一個新的訂閱者 3 9 1 actix-web中的應用程序狀態 3 9 2 actix-web工作進程 3 9 3 Data提取器 3 9 4 INSERT語句 3 10 更新測試 3 10 1 測試隔離 3 11 總結 第4章 遙測 4 1 未知的未知 4 2 可觀測性 4 3 日誌 4 3 1 log 4 3 2 actix-web的Logger中間件 4 3 3 外觀模式 4 4 樁POST /subscriptions 4 4 1 與外系統的交互 4 4 2 像用戶一樣思考 4 4 3 日誌應當易於關聯 4 5 結構化日誌 4 5 1 tracing 4 5 2 從log遷移到tracing 4 5 3 tracing中的跨度 4 5 4 樁future 4 5 5 tracing的Subscriber 4 5 6 tracing-subscriber 4 5 7 tracing-bunyan-formatter 4 5 8 tracing-log 4 5 9 刪除未使用的依賴 4 5 10 清理初始化流程 4 5 11 集成測試中的日誌 4 5 12 清理樁代碼——tracing::instrument 4 5 13 護隱私——secrecy 4 5 14 請求ID 4 5 15 借力tracing生態系統 4 6 總結 第5章 上線 5 1 我們須討論署問題 5 2 選擇工具 5 2 1 虛擬化:Docker 5 2 2 託管:DigitalOcean 5 3 應用程序的Dockerfile 5 3 1 Dockerfile 5 3 2 構建上下文 5 3 3 sqlx離線模式 5 3 4 運行鏡像 5 3 5 網路 5 3 6 層次化配置 5 3 7 資料庫連接 5 3 8 化Docker鏡像 5 4 署到DigitalOcean應用平台 5 4 1 安裝 5 4 2 應用規範 5 4 3 如何使用環境變數注入加密信息 5 4 4 連接到DigitalOcean的Postgres實例 5 4 5 應用配置中的環境變數 5 4 6 后一步,推送 第6章 拒無效的訂閱者(第一分) 6 1 需求 6 1 1 姓名約束 6 1 2 約束 6 2 第一次實現 6 3 漏洞百出的驗證 6 4 類型驅動開發 6 5 所有權遇見不變數 6 5 1 AsRef 6 6 panic 6 7 Result——將錯誤作為值 6 7 1 使解析函數返回Result類型 6 8 確的斷言錯誤:claim 6 9 單元測試 6 10 處理 Result 6 10 1 match 6 10 2 「?」作符 6 10 3 400的請求錯誤 6 11 電子郵件地址格式 6 12 SubscriberEmail類型 6 12 1 拆分domain子模塊 6 12 2 新類型的框架 6 13 屬性測試 6 13 1 使用fake生成隨機測試數據 6 13 2 quickcheck與proptest 6 13 3 quickcheck入門 6 13 4 實現Arbitrary質 6 14 請求體驗證 6 14 1 使用TryFrom重構 6 15 總結 第7章 拒無效的訂閱者(第二分) 7 1 確認郵件 7 1 1 訂閱者的同意 7 1 2 確認用戶的流程 7 1 3 實現策略 7 2 郵件發送組件——EmailClient 7 2 1 如何發送電子郵件 7 2 2 如何使用reqwest編寫REST客戶端 7 2 3 如何測試REST客戶端 7 2 4 EmailClient::send_email的初版實現 7 2 5 加強正常的測試 7 2 6 處理失敗情況 7 3 可維護測試套件的骨架和原則 7 3 1 為什麼要編寫測試 7 3 2 為什麼不編寫測試 7 3 3 測試代碼也是代碼 7 3 4 測試套件 7 3 5 測試發現 7 3 6 每個測試文件是一個 7 3 7 共享測試輔助函數 詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於PChome商店街私訊告知ISBN或書號,我們即儘速上架。 |