零基礎入門Rust-Rocket框架
盛逸飛
商品描述
"本書是面向Rust開發者的實戰指南,旨在深入解析如何使用Rust語言構建高性能的網絡服務。書中不僅介紹了基礎的網絡協議和Rust網絡服務的簡單實現,還通過Rocket框架的使用,深入探討瞭如何構建高效、安全的Web應用。此外,本書還特別引入了新一代數據庫SurrealDB的使用,展示了其在Rust網絡服務開發中的強大功能和靈活應用。 全書共11章,首先從Rust構建網絡服務的基礎出發,詳細介紹了HTTP和TCP的實現。隨後深入探討了Rocket框架的使用,包括Rocket生命周期、請求處理、響應生成及錯誤處理等核心概念。在此基礎上,書中引入了SurrealDB,詳細說明瞭其安裝、命令總覽、與Rust結合使用等操作,讓讀者能夠掌握使用Rust和SurrealDB構建現代Web應用的技巧並通過編寫surreal_use框架對SurrealDB數據庫的學習進行鞏固和提升。最後,通過一個完整的日程待辦系統開發實例,讓讀者能夠綜合運用書中的知識點,完成從前端到後端的全棧開發。 本書特色在於結合了**的Rust語言特性與現代Web開發框架Rocket,以及新一代數據庫SurrealDB的應用,既有深度又不失廣度,非常適合有一定Rust基礎的開發者深入學習。通過實際的項目案例,讀者可以快速掌握Rust在網絡服務開發中的應用,為高性能Web應用開發打下堅實的基礎。 "
目錄大綱
本書源碼
第1章Rust構建網絡服務
1.1認識TCP/HTTP
1.1.1TCP
1.1.2HTTP
1.2使用Rust實現簡單網絡服務
1.2.1實現TCP
1.2.2實現HTTP
第2章認識Rocket
2.1Rocket框架的基本概念和特點
2.1.1Rocket簡介
2.1.2Rocket的優勢
2.2搭建本地Rocket文檔示例
2.2.1下載源碼
2.2.2運行示例程序
2.2.3錯誤說明
2.3QuickStart
第3章Rocket生命周期
3.1Rocket生命周期解析
3.2從請求到響應的詳細流程
第4章Rocket請求
4.1Rocket常見請求方法的寫法
4.2請求路徑
4.2.1動態路徑
4.2.2路徑保護
4.2.3Rocket請求獲取靜態文件
4.2.4忽略路徑
4.2.5路由優先級
4.3請求守衛
4.4Cookie
4.4.1隱私Cookie
4.4.2密鑰
4.5HTTP內容類型
4.6請求體數據
4.6.1JSON數據
4.6.2表單數據
4.6.3文件
第5章Rocket響應
5.1Rocket
5.1.1不負責任的響應方式
5.1.2響應的標準
5.1.3Rocket快速響應
5.2Responder
5.2.1響應外殼
5.2.2自定義Responder
第6章Rocket錯誤處理
6.1錯誤處理器
6.2Rocket中的錯誤處理器
6.3實現錯誤處理器
6.3.1一個簡單的默認錯誤處理器
6.3.2多個錯誤處理器的優先級匹配
6.3.3通過自定義Responder自定義錯誤處理器
第7章Rocket狀態管理
7.1狀態管理
7.2前端狀態管理和後端狀態管理的區別
7.3Rocket中的狀態管理
第8章新一代數據庫SurrealDB
8.1SurrealDB簡介
8.2與其他數據庫的區別
8.2.1適應未來的架構與模型
8.2.2自我優化和強大的性能
8.2.3多用戶權限管理
8.3安裝SurrealDB
8.4SurrealDB命令總覽
8.4.1數據庫啟動命令
8.4.2數據庫操作命令
8.4.3數據庫腳本導出命令
8.4.4數據庫腳本導入命令
8.4.5數據庫版本信息命令
8.4.6數據庫更新命令
8.4.7數據庫檢查連接命令
8.4.8數據庫備份命令
8.4.9數據庫查詢文件驗證命令
8.4.10數據庫幫助命令
8.5SurrealDB命令基礎知識說明
8.5.1SurrealDB數據存儲地址
8.5.2SurrealDB嚴格模式
8.5.3節點代理間隔
8.5.4語句超時時間的作用
8.5.5事務超時時間的作用
8.5.6允許所有出站網絡訪問
第9章SurrealQL
9.1數據類型
9.2SurrealDB ID類型
9.3SurrealQL語句
9.3.1DEFINE語句
9.3.2USE語句
9.3.3INFO語句
9.3.4REMOVE語句
9.3.5CREATE語句
9.3.6INSERT語句
9.3.7SELECT語句
9.3.8UPDATE語句
9.3.9DELETE語句
9.3.10RELATE語句
9.3.11SHOW語句
9.3.12SLEEP語句
9.3.13SurrealDB中的編程式語句
9.3.14SurrealDB中的事務語句
9.3.15@變量解釋
9.4通過HTTP發起交互
9.4.1使用ApiFox創建團隊項目
9.4.2DIL數據庫信息語言
9.4.3DML 數據庫操作語言
9.4.4其他統一化請求方式
9.5Surrealist可視化工具
9.5.1創建會話並連接
9.5.2發起查詢
9.5.3使用Surrealist內置控制台連接SurrealDB
9.6Rustsurrealdb庫支持
9.6.1QuickStart
9.6.2完整的增、刪、改、查
9.6.3Rustsurrealdb庫API梳理
第10章surreal_use
10.1需求分析與設計
10.1.1發現需求
10.1.2準備工作
10.2抽離數據庫配置與代碼
10.2.1構想設計
10.2.2具體實現
10.2.3使用surreal_use獲取配置
10.3零SurrealQL語句
10.3.1編寫core模塊
10.3.2擴展原始庫
10.3.3編寫第1個語句
10.3.4完成增、刪、改、查語句
10.3.5通過語句構造器工廠統一管理
10.4補全README
10.4.1版本與許可證信息
10.4.2簡介與作者信息
10.4.3描述庫功能
10.4.4快速入門QuickStart
10.4.5目標
10.5發布第1個版本
10.5.1發布到GitHub上
10.5.2發布到crates.io
10.6通過GitHub Wiki編寫庫文檔
10.7小結
第11章綜合案例: 日程待辦系統
11.1選擇日程待辦系統的原因
11.2需求分析
11.2.1關鍵技術概述
11.2.2需求設計
11.3項目目錄構成與依賴
11.3.1前端目錄構成與依賴
11.3.2後端目錄構成與依賴
11.4項目前端編碼實現
11.4.1核心類型及工具實現
11.4.2接口部分實現
11.4.3路由部分實現
11.4.4狀態管理實現
11.4.5頁面及頁面樣式實現
11.5項目後端編碼實現
11.5.1理解後端模塊關系
11.5.2用戶接口實現
11.5.3待辦接口實現
11.5.4團隊接口實現
11.5.5跨域資源訪問
11.5.6後端入口文件
11.6小結
附錄A本書的環境搭建與基礎工具
A.1Rust工具鏈的安裝
A.2Git工具的安裝及配置
A.2.1Git簡介
A.2.2安裝
A.3開發工具的安裝
A.3.1JetBrains IDEA的安裝
A.3.2VS Code的安裝
A.4API測試工具Apifox的安裝
A.4.1Apifox簡介
A.4.2安裝
A.5Surrealist可視化工具的安裝
A.5.1Surrealist簡介
A.5.2安裝
A.6NVM安裝Node環境
A.6.1在UNIX、macOS和 Windows WSL環境下安裝NVM
A.6.2在Windows系統下安裝NVM
A.6.3使用NVM下載Node.js
A.6.4切換版本
A.7安裝Vite及初始化Vue項目
A.7.1Vite簡介
A.7.2使用Vite初始化Vue項目