歡迎來到「Rust 實戰專案集:30 個漸進式專案從工具到服務」系列!這不是一個教你 Rust 語法的教學課程,而是一場真刀真槍的實戰之旅。在接下來的 30 天裡,我們將一起打造 30 個不同類型的實用專案,從簡單的命令列工具到複雜的微服務系統。
在開始我們的專案馬拉松之前,讓我們先聊聊為什麼選擇 Rust 作為我們的開發語言。
效能與安全的完美平衡
Rust 最大的賣點就是在不犧牲效能的前提下提供記憶體安全。相較於傳統的系統程式語言如 C/C++,Rust 能在編譯時期就捕捉到大部分的記憶體錯誤,讓我們可以專注在商業邏輯的實作上,而不用擔心記憶體洩漏或緩衝區溢位等問題。
現代化的工具鏈
Cargo 作為 Rust 的套件管理器和建置工具,提供了極佳的開發體驗。從依賴管理、測試執行到專案發布,一個指令就能搞定。這讓我們在實作專案時能更專注在核心功能上。
豐富的生態系統
Rust 社群雖然相對年輕,但已經發展出相當成熟的生態系統。無論是 Web 開發的 Axum、資料庫操作的 SQLx、還是命令列工具的 clap,都有高品質的 crate 可以使用。
學習目標
通過這 30 個專案,你將會:
掌握 Rust 在不同領域的應用:從系統工具到 Web 服務,了解 Rust 的多樣性
學會選擇合適的技術棧:針對不同需求選擇最適合的 crate 和架構模式
建立實戰經驗:每個專案都是可以實際運行和使用的應用程式
理解最佳實務:透過實作學習 Rust 開發的慣例和模式
專案類型分布
我們的 30 個專案會涵蓋以下領域:
命令列工具 (8 個專案)
從文字處理到系統監控,這些工具展示了 Rust 在系統程式設計方面的優勢。
網路與 API 服務 (8 個專案)
包含 HTTP 客戶端、Web 服務器和即時通訊應用,展現 Rust 在網路程式設計的實力。
資料處理與分析 (6 個專案)
從 CSV 處理到股價分析,讓你體驗 Rust 在資料科學領域的潛力。
系統工具 (5 個專案)
深入系統層面的工具開發,發揮 Rust 系統程式語言的本色。
整合應用 (3 個專案)
最後三天我們會建置較為複雜的應用系統,整合前面學到的各種技能。