TOP
0
0
即日起~6/30,暑期閱讀書展,好書7折起
Rust項目開發實戰(簡體書)
滿額折

Rust項目開發實戰(簡體書)

商品資訊

人民幣定價:109 元
定價
:NT$ 654 元
優惠價
87569
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:17 點
相關商品
商品簡介
名人/編輯推薦
目次

商品簡介

《Rust項目開發實戰》詳細闡述了與Rust語言開發相關的基本解決方案,主要包括Rust語言簡介、存儲和檢索數據、創建REST Web服務、創建完整的服務器端Web應用程序、利用Yew創建客戶端WebAssembly應用程序、利用quicksilver創建WebAssembly遊戲、利用ggez創建2D桌面遊戲、解釋和編譯所用的解析器組合器、使用Nom創建計算機模擬器、創建Linux內核模塊、Rust語言的未來等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。

名人/編輯推薦

《Rust項目開發實戰》理論結合項目實戰,展示一些十分有趣、實用的庫和框架,Rust程序員可免費使用以構建項目,如前端和後端Web應用程序、遊戲、解釋器、編譯器、計算機模擬器和Linux可加載的模塊。

本書展示一些十分有趣、實用的庫和框架,Rust程序員可免費使用以構建項目,如前端和後端Web應用程序、遊戲、解釋器、編譯器、計算機模擬器和Linux可加載的模塊。

適用讀者

本書適用於已學習過Rust編程語言,但渴望使用這種語言以構建可用的軟件(無論是商業軟件還是個人項目)。本書內容面向不同的需求,如構建Web應用程序、計算機遊戲、解釋器、編譯器、模擬器或設備驅動程序。

本書內容

第1章描述Rust語言最新的發展及其生態圈工具和庫。特別地,本章介紹如何使用廣泛應用的一些實用程序庫。

第2章討論如何讀取Rust環境中的一些常見文件格式,如TOML、JSON和XML。此外,本章還描述如何訪問Rust領域內一些較為流行的數據庫引擎,如SQLite、 PostgreSQL和Redis。

第3章介紹如何使用Actix框架開發REST服務,該REST服務可針對各種應用程序用作後端,特別是Web應用程序。

第4章討論如何使用Tera模板引擎替代文本文件中的占位符,以及如何使用Actix框架創建一個全服務器端Web應用程序。

第5章考查如何使用Yew框架(該框架採用WebAssembly技術)創建Web應用程序的前端。

第6章描述如何使用quicksilver框架創建2D圖形化遊戲,該遊戲運行於Web瀏覽器中(採用WebAssembly技術)或者作為一個桌面應用程序。

第7章討論如何使用ggez框架創建2D圖形化桌面遊戲和微件。

第8章討論如何使用Nom解析器組合創建正式語言的解釋器,並隨後構建語法檢查器、解釋器和編譯器。

第9章介紹如何使用Nom庫解析二進制數據,並解釋機器語言程序,這也是構建計算機模擬器的第1個步驟。

第10章闡述如何利用Rust構建Linux可加載模塊(主要關注Mint系統)。具體來說,本章構建一個字符驅動程序。

第11章討論未來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創建客戶端WebAssembly 應用程序 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創建WebAssembly遊戲 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


您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 569
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區