商品描述
本書涵蓋從Rust語言入門到Rust Web開發實戰所需的核心知識、方法和技巧,共4篇。 第1篇Rust基礎知識,包括2章:Rust入門、Rust基礎。詳細介紹Rust的基礎語法,即使沒有Rust語言基礎的讀者也可以無障礙閱讀。 第2篇Rust Web基礎入門,包括3章:Rust Web入門、處理Web請求和響應、用Rust訪問數據庫。本篇幫助讀者快速掌握用Rust語言進行Web開發的基礎技術。 第3篇Rust Web進階提高,包括2章:Rust Socket編程、Rust文件處理。本篇幫助讀者用Rust語言快速開發各種Web應用。 第4篇Rust Web高級實戰,包括2章:Rust Web高級編程、【實戰】開發一個Rust博客。第8章通過Rust並發編程、Rust RPC編程、Rust RESTful API接口開發,幫助讀者更好地理解Rust Web高級編程的知識和技巧;第9章詳細介紹了開發一個Rust博客的全過程,讓讀者真正瞭解Rust博客的架構原理及實現方法,並開放了源代碼,幫助讀者向Rust Web編程高手邁進。本書附贈源代碼、PPT及相關案例實現的操作視頻,獲取方式見封底。 本書可作為Rust初學者、Web開發工程師的學習用書,也可作為培訓機構和大中專相關院校的教材。
作者簡介
廖顯東,高級軟件架構師,全棧開發者,技術極客,Gopher,開源愛好者。 畢業於河海大學,先後就職於蘇寧易購等多家大型公司。具有多年軟件開發與團隊管理經驗,精通Java、JavaScript、C、C++、C#、Python、PHP等開發語言。對Go、Rust等開發語言有深入實踐和研究。對大型電子商務系統開發、高並發架構、分佈式架構、微服務、大數據、人工智能算法等領域有深入實踐和研究。
目錄大綱
前言
第1篇 Rust基礎知識
第1章 Rust入門
1.1 Rust簡介
1.2 第1個Rust程序
1.3 Rust基礎語法
1.3.1 註釋與打印文本
1.3.2 變量和變量可變性
1.3.3 常量
1.3.4 運算符
1.3.5 流程控制語句
1.4 Rust數據類型
1.4.1 標量類型
1.4.2 覆合數據類型
1.4.3 字符串
1.5 函數與閉包
1.5.1 函數
1.5.2 閉包
1.6 類型系統
1.6.1 泛型
1.6.2 trait
1.6.3 類型轉換
1.7 本章小結
第2章 Rust基礎
2.1 所有權系統
2.1.1 所有權機制
2.1.2 引用和借用
2.1.3 生命周期
2.2 宏
2.3 智能指針
2.3.1 什麽是智能指針
2.3.2 Box
2.3.3 Rc
2.3.4 RefCell
2.4 多線程
2.4.1 什麽是多線程
2.4.2 創建線程
2.4.3 線程間的數據共享
2.4.4 線程間通信
2.4.5 線程池
2.4.6 異步並發
2.5 錯誤處理
2.5.1 可恢覆錯誤
2.5.2 不可恢覆錯誤
2.6 包和crate
2.6.1 包
2.6.2 crate
2.7 模塊
2.8 單元測試
2.9 調試
2.10 本章小結
第2篇 Rust Web基礎入門
第3章 Rust Web入門
3.1 【實戰】第1個Rust Web程序
3.2 Web工作原理簡介
3.2.1 Web基本原理
3.2.2 什麽是HTTP
3.2.3 什麽是HTTP請求
3.2.4 什麽是HTTP響應
3.2.5 什麽是URI、URL與URN
3.2.6 HTTPS簡介
3.2.7 什麽是HTTP
3.3 瞭解Rust HTML模板原理
3.3.1 Rust模板引擎
3.3.2 基礎模板語法
3.4 瞭解常用Rust Web框架
3.4.1 Rocket
3.4.2 Actix
3.4.3 Warp
3.5 本章小結
第4章 處理Web請求和響應
4.1 請求處理
4.1.1 請求方法
4.1.2 路由匹配
4.1.3 數據守衛
4.1.4 請求體數據
4.1.5 表單
4.2 響應生成
4.2.1 WrappingResponder
4.2.2 錯誤處理
4.3 中間件
4.4 安全請求
4.5 日誌記錄
4.6 本章小結
第5章 用Rust訪問數據庫
5.1 常見數據庫簡介
5.1.1 關系型數據庫
5.1.2 非關系型數據庫
5.2 Rust訪問MySQL
5.2.1 RBatis
5.2.2 【實戰】將MySQL的數據導出到CSV文件中
5.3 Rust訪問Redis
5.3.1 Rust中調用Redis
5.3.2 【實戰】使用Redis實現隊列並獲取前10條數據
5.4 r2d2連接池
5.5 本章小結
第3篇 Rust Web進階提高
第6章 Rust Socket編程
6.1 什麽是Socket
6.2 Rust標準庫
6.2.1 Rust標準庫概述
6.2.2 TCP Socket
6.2.3 UDP Socket
6.3 第三方Socket庫
6.3.1 Tokio庫
6.3.2 async-std庫
6.4 【實戰】構建一個簡單聊天應用程序
6.4.1 編寫服務器端
6.4.2 編寫客戶端
6.5 【實戰】創建一個多人猜數字遊戲程序
6.5.1 創建服務器端
6.5.2 編寫客戶端
6.6 本章小結
第7章 Rust文件處理
7.1 操作目錄與文件
7.1.1 操作目錄
7.1.2 打開與關閉文件
7.1.3 讀寫文件
7.1.4 移動與重命名文件
7.1.5 刪除文件
7.1.6 覆制文件
7.1.7 修改文件權限
7.1.8 文件鏈接
7.2 處理XML文件
7.2.1 解析XML文件
7.2.2 生成XML文件
7.3 處理JSON文件
7.3.1 什麽是JSON
7.3.2 解析JSON文件
7.3.3 生成JSON文件
7.4 Rust正則處理
7.4.1 什麽是正則表達式
7.4.2 Rust正則處理實戰
7.5 日誌文件處理
7.6 【實戰】統計文本文件中的單詞頻率
7.7 本章小結
第4篇 Rust Web高級實戰
第8章 Rust Web高級編程
8.1 Rust並發編程
8.1.1 Rust並發原語
8.1.2 異步編程
8.2 Rust RPC編程
8.2.1 RPC
8.2.2 JSON-RPC
8.2.3 Rust gRPC
8.3 Rust RESTful API接口開發
8.3.1 什麽是RESTful API接口
8.3.2 【實戰】開發一個RESTful API接口
第9章 【實戰】開發一個Rust博客
9.1 需求分析
9.2 架構設計
9.3 創建項目核心部分
9.3.1 創建項目
9.3.2 創建項目公共部分
9.3.3 創建數據表
9.3.4 創建模型
9.4 創建服務
9.4.1 創建文章服務
9.4.2 創建分類服務
9.4.3 創建評論服務
9.4.4 創建首頁服務
9.4.5 創建友鏈服務