banner
davirain

davirain

twitter
github
知乎
twitter

2023年每位學習者應該知道的Rust資源

去年,我開始學習 Rust,主要是為了應用於嵌入式系統。當時,我也在一篇名為 “35 個 Rust 學習資源,每個初學者在 2022 年都應該知道” 的帖子中分享了我所遇到的所有學習材料。自那時以來,我並沒有停止學習 Rust,而是不斷努力鞏固自己的基礎。因此,我一直在尋找新的學習資源。

在本文中,我將通過添加更多的資源以及對之前未曾利用的一些付費資源的思考,擴展去年的帖子。提醒一下,當時,我將資源分為 6 個主要類別:1)閱讀材料,2)實踐資源,3)YouTube 視頻,4)Git 資源,5)速查表,以及 6)問題論壇。今年我增加了 3 個更多的類別,它們是 7)課程,8)播客,以及 9)新聞通訊。在相關情況下,我還將為資源的級別添加註釋,無論是初學者(👶)、中級(👨),還是高級(👴)級別。

我想再次強調,我的學習之旅始於 Rust 官方的語言資源 “the book”,然後我主要通過完成令人驚嘆的 Rustlings 練習來練習。我在本文中提到的所有其他資源都是我在學習過程中遇到的,以澄清我在 “the book” 中閱讀的概念或當我在某個 Rustlings 練習中遇到困難並希望進行更多探索時使用的。最後,當我被問及是否會因為手頭的資源而學習 Rust 時,如果有的話,基於手頭的資源,我可能會首先從下面提到的快速摘要資源開始,然後再著手 “the book”。如果我要選擇付費資源,那麼 “Beginning Rust” 將是我選擇的書籍。

1)閱讀材料 📚#

快速摘要#

  • 👶《Rust 指南》是 Rust 編程語言的一步一步指南。它很好地概述了語言,並允許學習者修改代碼示例以進行實驗。

  • 👶《半小時學會 Rust》是一個快速概述,涵蓋了許多 Rust 的概念,並提供了快速示例。所有內容都在單個網頁上!這個資源對於快速刷新各種概念也非常有用。

  • 👶《溫和介紹 Rust》是一本簡短的書,概括了 Rust 的主要概念。作者提出的想法是,在深入了解像 “the book” 這樣的更複雜的資源之前,先 “試用” 了解足夠的語言知識。

🆓 Free Online Books:#

  • 👶 Rust Book "The Book":這是由 Mozilla 基金會的 Rust 開發團隊編寫的 Rust 編程語言官方書籍。這是我開始學習 Rust 的地方,也是我最喜歡的資源之一。在編寫 Rust 代碼時,我經常會回到這本書中查找信息。

  • 👶 Rust By Example:Rust by example收集了各種 Rust 概念的可運行示例。當我在 "The Book" 中學習概念時,我發現它很有用,可以作為參考資料。

  • 👶 Easy Rust:這是一種試圖使用 “易懂的英語” 來教授 Rust 編程語言的資源,適用於非英語母語的學習者。我個人發現它在澄清概念方面很有用。這本書的好處是,每章節中都鏈接了一個與該章節相關聯的 YouTube 視頻。

  • 👴 Rust Atomics and Locks:這本書由優秀的 Mara Bos 編寫,可免費獲取。正如書名所示,它介紹了 Rust 原子和鎖的相關知識。因此,這本書的內容在編寫並發應用程序代碼時非常有用。通常來說,這並不是初學者可以輕鬆掌握的內容,但是,當你在 Rust 知識方面有所進步時,這是一本必須了解的資源。

  • 👴 Rust Design Patterns:如果你想編寫更符合 Rust 編程語言慣例的代碼,這是一個很好的資源。對於初學者來說,這不是一本好書,而是在進一步學習 Rust 時可以參考的書籍。如果你來自另一種編程語言,這本書也可以幫助你理解設計模式的不同之處。閱讀這本書的部分內容實際上幫助了我閱讀其他人的代碼。

💲 付費印刷書籍:#

我個人完全依賴免費材料來學習 Rust,但是這裡列出的書籍是我在學習之後獲得的。此外,一些人可能更喜歡更有觸感的免費書籍,其中 “the book” 本身也可以作為紙質版購買。

  • 👨 Rust in Action:去年我購買了這本書。Rust in Action 是一本很棒的讀物,提供了許多例子,但我不會推薦給初學者。作者(Tim Mcnamara)本人也建議那些已經熟悉一些 Rust 的人去閱讀本書。我的個人經驗是,這本書幫助我澄清了一些我仍然不太清楚的 Rust 概念。另一方面,在書的更深層次上,有一些我跳過的章節,我發現那些章節更專注於特定的應用領域。最後,附帶一提,作者 Tim Mcnamara 還維護著一個與 Rust 相關的 Youtube 頻道,在下面的視頻部分列出。

  • 👨 Programming Rust: Fast, Safe Systems Development:這本書被評為亞馬遜暢銷書。去年我也得到了一本。本書詳細介紹了在 Rust 中做同樣事情的許多細節和不同方法。我認為這是一本非常好的參考書,因為我感覺它覆蓋了語言的每個方面。不過我不建議初學者閱讀,因為有時可能會有點壓倒性。

  • 👶 Beginning Rust: From Novice to Professional:如果您想購買書籍,並且您是初學者,我會說這是您應該選擇的書籍。我發現這本書是教授 Rust 最易理解的書籍之一。這本書的好處是它的材料也與 Educative 上的實踐材料相結合。

  • 👴 Rust for Rustaceans:這是高級用戶中廣受歡迎的一本書,擁有很好的評價,但是我還沒有得到過。我之所以推薦它,是因為作者 Jon Gjengset 有一個我非常喜歡的 Youtube 頻道(下面的視頻部分有更多詳細信息)。

2) 練習材料 🏋️‍♂️#

🆓 免費資源#

  • 👶 Rustlings是一個 git 項目,包含了一些小練習來學習 Rust。我非常喜歡這個資源,因為它涵蓋了 "The Book" 中的每個主題,並且有時會很有挑戰性。我完成了所有的練習,每當我完成一項困難的任務時,我都感到非常有成就感。我最喜歡的是利用迭代器在單行中編寫函數以找到一個數字的階乘。

  • 👶 Exercism有一個實踐 Rust 的學習路徑。我覺得這些練習的呈現方式很有趣。儘管我發現這些練習有點過於簡單,這可能是因為我在學習的較晚時才發現這個資源。

  • 👶 Codewars允許您與同行一起進行編程挑戰。這很酷,可以幫助您磨練技能。我發現這對於弄清楚自己是否正確理解某些概念非常有用。

  • 👶 Coding Game是一個基於遊戲的學習編程網站,也支持 Rust。我沒有深入研究過它,但 Coding Game 有很多好評,因為它可以讓學習變得有趣。

  • 👶 StackUp是一個開發者社區,您可以在其中學習,並通過參與我們的活動和任務賺取收益。

  • 👨👴 Advent of Code是一年一度的活動,您可以在其中使用任何您想要的語言解決小型(但高質量的)編程難題。它適用於您正在學習的任何語言。您可能會發現這個、這個和這個存儲庫很有用,它們為前幾年提供了模板和解決方案。

  • 👶👨👴 LeetCode是一個流行的面試準備平台,有各種不同難度的代碼問題需要解決。如果您遇到困難,還有各種倉庫和開發者解決 Rust 代碼問題的視頻資源。

💲 付費資源#

  • 👶 Egghead.io是以項目為導向的資源,通過為工作構建項目來幫助開發人員建立組合。有各種有趣的選項,其中之一是通過一個課程步入 Rustlings 練習。

  • 👶 Educative有幾個實踐學習 Rust 的資源,其中一個與 “從新手到專業人士的 Rust” 一書聯系緊密。

3) YouTube Videos 📹#

  • 👶 Rust 教程,由 Doug Milford 提供,是我最喜歡的資源之一。Doug 做了很好的工作,解釋了 Rust 中的許多棘手概念。視頻還介紹了不同的代碼示例和場景,以解釋概念。

  • 👶 CS Honors @ Illinois是另一個我喜歡的去參考概念的頻道。這個視頻系列是基於伊利諾伊大學厄巴納 - 香檳分校的 CS196(現在是 CS124)大一課程,由學生主持。這些課程視頻並不完全涵蓋 Rust,但對於那些涵蓋 Rust 概念的視頻,我發現它們非常有幫助。

  • 👶 Lets Get Rusty是一個有用的頻道,提供每週有關 Rust 的視頻。它有一個漂亮的播放列表,按照 “書” 的章節一一介紹。雖然我有時覺得視頻節奏很快,一些解釋有些困難。

  • 👶 Brad Traversy 的 Rust 速成課程是一個快速的介紹,向絕對初學者介紹各種概念。

  • 👶 Ryan Levick是一位曾在微軟工作的工程師,他在 Rust 上工作,並提供了一系列有關某些概念的有用解釋的視頻。還有一個很酷的項目,Ryan 使用 Rust 為 Microsoft Flight Simulator 2020 構建 SDK。

  • 👨 timClicks是由 Tim Mcnamara 創建的頻道,涵蓋了 Rust 中的各種主題,並提供現場編碼流。Tim 也是前面提到的 Rust in Action 書的作者。

  • 👶 Free Code Camp為 Rust 提供了一個初學者教程,通過 CLI 應用程序進行操作。雖然有點有用,但我沒有花太多時間在這個上面,因為我很難聽清音頻質量,視頻在手機上很難觀看。

  • 👴 Jon Gjengset提供了一系列關於 Rust 概念的視頻,但這些視頻並不是真正的入門級,因為它們假設了一定的知識水平。這些視頻在您變得更加熟悉 Rust 概念時可能會更好。話雖如此,在我更深入地了解 Rust 之後,這是我非常喜歡的頻道。在視頻中,Jon 將選擇 Rust 中的某個特定主題,並從幾乎所有角度來解決它。不過要小心,這些視頻可能非常長!每個視頻的長度可能不少於一個小時。最長的視頻長達 7 小時 20 分鐘!

  • 👶 Code to the Moon 提供了很好的視頻,澄清了 Rust 中的特定難點。

  • 👶 Noboilerplate 提供了有趣且快速的 Rust 技術視頻。

  • 👶 Dcode 提供了一些高質量的 Rust 編程教程播放列表。

  • 👶 300 秒 Rust 提供了不同 Rust 概念的精短視頻。如果您想快速刷新或深入了解某個概念,這將是個很好的資源。

  • 👶 The dev method 提供了 Rust 視頻列表,解釋了特定的概念。我發現解釋非常清晰,很容易理解。

4) Git 資源💾#

  • Rust 編程語言是尋找與 Rust 語言和其箱庫相關的大多數文檔和指南的主要來源。

  • Awesome Rust是一個非常好的倉庫,擁有大量 Rust 代碼和資源的精選列表。您可以找到基於 Rust 構建的不同領域的完整應用程序。

  • Ferrous Systems是一家 Rust 諮詢公司,也是 Rust 生態系統的主要貢獻者之一。在他們的倉庫中,Ferrous 公開提供所有培訓材料(代碼示例和幻燈片),包括他們的嵌入式培訓課程。

  • Algorithms Rust git 倉庫提供了許多基本標準算法的代碼示例,包括數據結構、排序和字符串等。如果您正在為工作面試做練習,這是一個非常好的資源。

5) 課程 👨‍🏫#

  • 👶 《Rust 初步》是由 Microsoft 提供的免費課程,提供 Rust 入門視角。

  • 👶 《Rust in Motion》是由 Carol Nichols 和 Jake Goulding 提供的付費短視頻課程。Carol Nichols 是前面提到的《Rust 編程語言》的合著者。視頻介紹 Rust 的基本方面。

  • 👶 《Rust Essential Training》是 LinkedIn 上提供的付費課程,評價很高。它涵蓋了對初學者至關重要的 Rust 基本方面。

6) 小抄 📃#

有多種選擇,選擇最適合您的即可

7)問題論壇 🙋‍♂️#

提問顯然是學習的關鍵部分。Rustaceans 的友好和樂於助人讓它變得更好。對於下面列出的資源,令人驚喜的是,你可以非常快速地得到問題的答案(大多數時間幾乎是立即得到答案)。

9) 播客 📻#

以下是一些有用的播客,討論 Rust 概念和有趣的主題。

9) 新聞通訊 📰#

為了保持對 Rust 的了解,可以訂閱以下一些新聞通訊。這些新聞通訊每週提供與 Rust 相關的一切信息的彙總。

結論#

學習 Rust 不是一件容易的事情,因此利用盡可能多的資源來確認已掌握的知識變得必要。在我的學習過程中,我遇到了許多我覺得有用的資源,並在這篇文章中進行了總結。希望學習者能夠找到它有用。你的經歷如何?你最喜歡的 Rust 學習資源是什麼?在評論中分享你的想法。👇

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。