描述
內容簡介
★☆★國內第一本介紹Rust實戰的專書★☆★
【本書特點】 ☆Rust重要觀念介紹:泛型(Generics)、特徵(Trait)、巨集(Macro)、閉包(Closure)、並行處理(Concurrency)、所有權(Ownership)。 ☆Rust實戰:機器學習、WebAssembly、區塊鏈(Blockchain)、跨語言整合(FFI),包括Python、C、JS…等。 ☆常見應用實作:資料庫存取、網站開發、桌面程式、檔案系統存取…等。
【本書目標對象】 1. 熟悉C語言的學生或工程師:可學習到最新的程式語言設計理念,改寫或升級舊系統(Legacy system)。 2. 熟悉Python語言的學生或工程師:可學習到如何開發安全與高效能的應用系統。 3. 同時熟悉C與Python語言的學生或工程師:可學習到如何整合Python與Rust,提升系統開發的生產力。 4. 機器學習工程師:可學習如何利用Rust建立高效系統,以提升模型訓練(Training)與推論(Inference)的速度。 |
作者簡介
|
目錄
第一篇 Rust基礎
第1 章 Rust 入門 1-1 Rust 簡介 1-2 Rust 安裝 1-3 撰寫第一支程式 1-4 使用套件管理工具 1-5 使用VS Code 1-6 程式碼說明 1-7 學習資源 1-8 本章小結 參考資料 (References) 第2 章 Rust 火力展示 2-1 Rust vs. Python 效能比較 2-2 Rust 與Python 整合 2-3 Rust 與JavaScript 整合 2-4 引用OpenCV 套件 2-5 資料分析(Data analysis) 2-6 建構機器學習模型 2-7 進行深度學習辨識 2-8 資料庫存取 2-9 本章小結 參考資料 (References) 第3 章 Rust 資料型別 3-1 變數宣告 3-2 變數值指派 3-3 整數資料型別與運算 3-4 浮點數資料型別與運算 3-4-1 Normal vs. Subnormal 3-4-2 無窮大(Infinite) 與遺失值(Missing value) 3-5 布林值資料型別與運算 3-6 文字資料型別與運算 3-6-1 字元(char) 3-6-2 字串(String) 3-6-3 字串切片(slicing) 3-6-4 字串連接(Concatenation) 3-6-5 其他字串操作 3-7 參考(Reference) vs. 指標(Pointer) 3-7-1 參考與指標測試 3-7-2 智慧指標(Smart pointer) 3-7-3 Box 智慧指標 3-7-4 自行解除參考 3-7-5 Rc 智慧指標 3-7-6 RefCell 智慧指標 3-7-7 小結 3-8 複合資料型別 3-8-1 Tuple 3-8-2 陣列(Array) 3-8-3 枚舉型別(Enum) 3-8-4 結構(Struct) 3-9 特殊資料型別 3-10 各種資料型別轉換 3-11 資料型別別名(Alias) 3-12 本章小結 參考資料 (References) 第4 章 Rust 流程控制 4-1 If/Else 4-2 迴圈 4-2-1 loop 迴圈 4-2-2 while 迴圈 4-2-3 for 迴圈 4-3 例外處理(Exception handling) 4-3-1 恐慌(Panic) 4-3-2 可復原的錯誤(Result) 4-3-3 Result 其他處理方式 4-3-4 unwrap、expect 與【?】使用時機 4-3-5 自訂錯誤訊息 4-3-6 自訂Result Error 4-3-7 anyhow 套件 4-3-8 try/catch 套件 4-3-9 錯誤種類分析 4-4 本章小結 參考資料 (References) 第5 章 命令行(CLI) 應用程式實作 5-1 命令行參數解析 5-2 搜尋檔案內容 5-3 工作日誌(Logging) 5-4 單元測試(Unit testing) 5-5 組態管理(configuration management) 5-6 Head、Tail 程式開發 5-7 本章小結 參考資料 (References)
第二篇 Rust 進階 第6 章 所有權(Ownership) 6-1 所有權管理 6-2 參考與借用(References and Borrowing) 6-3 生命週期(Lifetime) 6-4 多執行緒的所有權管理 6-5 本章小結 參考資料 (References) 第7 章 泛型(Generics) 7-1 泛型入門 7-2 Vec 7-3 HashMap 7-4 Result 泛型 7-5 Option 泛型 7-6 泛型函數 7-7 泛型結構 7-8 泛型枚舉 7-9 泛型方法 7-10 本章小結 參考資料 (References) 第8 章 特徵(Trait) 8-1 Trait 入門 8-2 Trait bound 8-3 繼承(Inheritance) 8-4 Trait Object 8-5 本章小結 參考資料 (References) 第9 章 巨集(Macro) 9-1 巨集(Macro) 入門 9-2 巨集開發 9-3 以巨集生成函數 9-4 客製化衍生巨集(Custom derive macro) 9-5 屬性巨集與函數巨集 9-6 領域特定語言(Domain-specific languages, DSL) 9-7 本章小結 參考資料 (References) 第10 章 閉包(Closure) 10-1 Closure 概念 10-2 Closure 入門 10-3 Closure 應用 10-4 高階函數(Higher Order Functions, HOF) 10-5 本章小結 參考資料 (References) 第11 章 並行處理(Concurrency) 11-1 多執行緒(Multi-thread) 11-2 執行緒訊息傳遞 11-3 執行緒狀態共享 11-4 多執行緒實戰 11-5 非同步(Asynchronous) 11-6 非同步應用-- 股價資料爬蟲 11-7 Tokio 套件 11-8 本章小結 參考資料 (References)
第三篇 Rust 實戰 第12 章 WebAssembly 12-1 WebAssembly 入門 12-2 WebAssembly 實戰 12-3 本章小結 參考資料 (References) 第13 章 檔案系統 13-1 檔案存取 13-2 檔案系統操作 13-3 檔案總管(File explorer) 13-4 本章小結 參考資料 (References) 第14 章 資料庫存取 14-1 關聯式資料庫存取 14-2 以原生驅動程式存取資料庫 14-3 以ODBC 存取資料庫 14-4 以ORM 存取資料庫 14-5 Diesel ORM 14-5-1 安裝PostgreSQL 14-5-2 Diesel 安裝 14-5-3 Diesel 專案測試 14-6 SeaORM 14-7 NoSQL 資料庫 14-8 本章小結 參考資料 (References) 第15 章 使用者介面(User Interface) 15-1 Windows API 15-2 Native Windows GUI 15-3 跨平台GUI 15-4 iced 框架 15-5 CXX-Qt 框架 15-6 Web based 桌面程式 15-6-1 Tauri 程式安裝 15-6-2 Tauri 程式開發 15-6-3 Tauri 程式除錯與佈署 15-7 網站開發 15-7-1 Hyper 套件 15-7-2 Actix Web 套件 15-7-3 完整網站開發範例 15-8 本章小結 參考資料 (References) 第16 章 與其他程式語言溝通 16-1 與C/C++ 程式語言溝通 16-1-1 Rust 呼叫C/C++ 16-1-2 C/C++ 呼叫Rust 16-2 與C# 程式語言溝通 16-3 與Python 程式語言溝通 16-4 本章小結 參考資料 (References) 第17 章 深度學習(Deep learning) 17-1 深度學習基本概念 17-2 機器學習相關套件 17-3 資料科學基礎套件 17-4 深度學習套件 17-4-1 tch-rs 套件 17-4-2 Candle 套件 17-5 本章小結 參考資料 (References) 第18 章 區塊鏈(Blockchain) 18-1 區塊鏈基本概念 18-2 區塊鏈實作 18-3 本章小結 參考資料 (References) |
序
者 |