预购商品
书目分类
特别推荐
詳細闡述了與Rust語言開發相關的基本解決方案,主要包括Rust語言簡介、存儲和檢索資料、創建REST Web服務、創建完整的伺服器端Web應用程式、利用Yew創建用戶端Web Assembly應用程式、利用quicksilver創建Web Assembly遊戲、利用ggez創建2D桌面遊戲、解釋和編譯所用的解析器組合器、使用Nom創建電腦模擬器、創建Linux內核模組、Rust語言的未來等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。
第1章 Rust語言簡介 1 1.1 技術需求 1 1.2 瞭解Rust的不同版本 1 1.3 項目 4 1.4 運行本書示例 6 1.5 一些實用程式庫 6 1.5.1 偽亂數產生器—rand庫 6 1.5.2 日誌機制—log庫 7 1.5.3 在運行期初始化靜態變數—lazy_static庫 8 1.5.4 解析命令列—structopt庫 9 1.6 本章小結 10 1.7 本章練習 10 第2章 存儲和檢索資料 13 2.1 技術需求 13 2.2 項目概覽 14 2.3 讀取TOML文件 14 2.3.1 使用toml_dynamic 15 2.3.2 使用toml_static 17 2.4 讀寫JSON文件 18 2.4.1 json_dynamic項目 20 2.4.2 json_static項目 21 2.5 讀取XML文件 21 2.6 訪問資料庫 23 2.7 訪問SQLite資料庫 24 2.8 訪問PostgreSQL資料庫 27 2.9 在Redis中存儲和檢索資料 29 2.10 整合方案 31 2.11 本章小結 31 2.12 本章練習 32 第3章 創建REST Web服務 33 3.1 技術需求 33 3.2 REST體系結構 34 3.3 項目概覽 35 3.4 背景知識和上下文環境 35 3.5 構建REST Web服務的存根程式 37 3.5.1 運行和測試服務 37 3.5.2 利用GET方法獲取資源 37 3.5.3 利用PUT方法向服務發送命名資源 38 3.5.4 利用POST方法向伺服器傳遞新資源 39 3.5.5 利用DELETE方法刪除資源 39 3.5.6 發送無效的命令 40 3.5.7 實現代碼 40 3.6 構建完整的Web服務 44 3.6.1 下載檔案 44 3.6.2 將字串上傳至指定檔 45 3.6.3 將字串上傳至新檔中 45 3.6.4 刪除一個檔 46 3.6.5 代碼實現 46 3.7 構建狀態伺服器 49 3.7.1 有狀態伺服器 50 3.7.2 服務API 51 3.7.3 測試服務 52 3.7.4 實現資料庫 53 3.7.5 處理查詢 53 3.8 返回JSON資料 54 3.9 本章小結 55 3.10 本章練習 55 3.11 進一步閱讀 56 第4章 創建完整的伺服器端Web應用程式 57 4.1 技術需求 57 4.2 Web應用程式的定義 57 4.3 瞭解Web應用程式的行為 58 4.4 項目概覽 60 4.5 使用Tera範本引擎 61 4.6 簡單的用戶列表 67 4.6.1 範本資料夾 69 4.6.2 其他Rust處理常式 72 4.7 CRUD應用程式 74 4.7.1 處理JavaScript代碼 76 4.7.2 HTML代碼 77 4.7.3 Rust代碼 78 4.8 利用身份驗證處理應用程式 83 4.8.1 實現過程 85 4.8.2 HTML代碼 85 4.8.3 JavaScript代碼 87 4.8.4 類比資料庫代碼 87 4.8.5 main函數 88 4.9 本章小結 90 4.10 本章練習 91 4.11 進一步閱讀 91 第5章 利用Yew創建用戶端Web Assembly 應用程式 93 5.1 技術需求 93 5.2 Wasm簡介 94 5.3 理解MVC架構模式 94 5.3.1 實現兩種Web應用程式 95 5.3.2 MVC模式 96 5.3.3 模型 96 5.3.4 視圖 97 5.3.5 控制器 97 5.3.6 視圖實現 98 5.3.7 控制器實現 98 5.3.8 理解MVC架構 99 5.4 項目簡述 100 5.5 incr應用程式 100 5.6 adder應用程式 104 5.7 login應用程式 106 5.7.1 專案組織方式 107 5.7.2 db_access.rs文件 108 5.7.3 main.rs文件 109 5.7.4 login.rs文件 112 5.8 yauth應用程式 115 5.8.1 理解應用程式的行為 115 5.8.2 專案的組織方式 116 5.8.3 不可針對filtered_persons使用空集合 118 5.8.4 one_person.rs文件 122 5.9 訪問RESTful服務的Web應用程式 124 5.9.1 persons_db應用程式 125 5.9.2 yclient應用程式 126 5.10 本章小結 131 5.11 本章練習 132 5.12 進一步閱讀 132 第6章 利用quicksilver創建Web Assembly遊戲 135 6.1 技術需求 135 6.2 項目簡介 136 6.3 理解動畫迴圈架構 136 6.4 實現ski項目 139 6.5 實現silent_slalom項目 144 6.6 實現assets_slalom項目 152 6.7 本章小結 157 6.8 本章練習 157 6.9 進一步閱讀 157 第7章 利用ggez創建2D桌面遊戲 159 7.1 技術需求 159 7.2 項目簡介 160 7.3 瞭解線性代數 160 7.4 實現gg_ski項目 162 7.4.1 main函數 163 7.4.2 輸入處理的模式 164 7.4.3 gg_ski專案中的輸入處理 166 7.4.4 quicksilver的其他差別 167 7.5 實現gg_silent_slalom項目 172 7.6 實現gg_assets_slalom項目 174 7.7 實現gg_whac項目 175 7.7.1 資來源資料 177 7.7.2 應用程式和事件的通用結構 178 7.7.3 模型的其他欄位 179 7.7.4 定義一個微件 180 7.8 本章小結 182 7.9 本章練習 182 7.10 進一步閱讀 182 第8章 解釋和編譯所用的解析器組合器 183 8.1 技術需求 183 8.2 項目簡介 184 8.3 包含Calc 184 8.4 理解形式語言及其解析器 187 8.4.1 正則語言 188 8.4.2 上下文無關語言 189 8.4.3 上下文相關語言 189 8.5 使用Nom構建解析器 190 8.5.1 編譯器-編譯器和解析器組合器 191 8.5.2 Nom庫的基本知識 191 8.6 calc_parser項目 199 8.6.1 理解main.rs原始檔案 201 8.6.2 parser.rs原始檔案 202 8.7 calc_analyzer項目 209 8.7.1 檢查解析後的程式的變數 209 8.7.2 main.rs文件 212 8.7.3 symbol_table.rs文件 212 8.7.4 analyzer.rs文件 213 8.8 calc_interpreter項目 218 8.8.1 main.rs文件 219 8.8.2 symbol_table.rs文件 220 8.8.3 executor.rs文件 221 8.9 calc_compiler項目 223 8.9.1 main.rs文件 224 8.9.2 compiler.rs文件 225 8.10 本章小結 227 8.11 本章練習 228 8.12 進一步閱讀 228 第9章 使用Nom創建電腦模擬器 229 9.1 技術需求 229 9.2 項目簡介 230 9.3 簡單的機器語言 230 9.3.1 與機器語言相關的主要概念 231 9.3.2 擴展機器語言 235 9.3.3 編寫簡單的程式 236 9.3.4 Eratosthenes篩法 244 9.4 定義位元組定址的機器語言 246 9.5 nom_byte_machine項目 248 9.5.1 main.rs原始檔案 250 9.5.2 使用Nom庫 252 9.5.3 emulator.rs原始檔案 255 9.5.4 parsing_interpreter.rs原始檔案 258 9.5.5 translator.rs原始檔案 260 9.6 nom_disassembler項目 261 9.6.1 運行項目 262 9.6.2 查看原始程式碼 263 9.6.3 生成供調試使用的反彙編代碼 264 9.6.4 生成反彙編代碼以重組 266 9.7 本章小結 267 9.8 本章練習 267 第10章 創建Linux內核模組 269 10.1 技術需求 269 10.2 項目簡介 270 10.3 理解內核模組 270 10.4 boilerplate模組 272 10.4.1 構建和運行內核模組 273 10.4.2 構建命令 274 10.4.3 樣板模組的原始程式碼 276 10.5 使用全域變數 278 10.6 分配記憶體 279 10.7 字元設備 281 10.7.1 構建字元設備 281 10.7.2 dots模組的原始程式碼 283 10.8 本章小結 288 10.9 本章練習 289 10.10 進一步閱讀 289 第11章 Rust語言的未來 291 11.1 IDE和互動式程式設計 291 11.2 庫成熟度 292 11.3 非同步程式設計 293 11.4 優化操作 298 11.5 常量泛型特性 299 11.6 嵌入式系統 300 11.7 本章小結 301 練習答案 303
客服公告
热门活动
订阅电子报