去年、私は Rust を学び始めました。主に組み込みシステムに適用するためです。その時、私は「2022 年に初心者が知っておくべき 35 の Rust 学習リソース」という投稿で、出会ったすべての学習材料を共有しました。それ以来、私は 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」のようなより複雑なリソースを深く理解する前に、まずは言語の知識を十分に「試用」することです。
🆓 無料オンラインブック:#
-
👶 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:この本は Amazon のベストセラーに選ばれています。昨年、私も一冊手に入れました。本書は、Rust で同じことを行うための多くの詳細と異なるアプローチを詳しく説明しています。私はこれを非常に良い参考書だと思います。なぜなら、言語のあらゆる側面をカバーしていると感じるからです。ただし、時には少し圧倒されることがあるため、初心者にはお勧めしません。
-
👶 Beginning Rust: From Novice to Professional:書籍を購入したい場合、そしてあなたが初心者であるなら、これはあなたが選ぶべき本だと言えます。私はこの本が Rust を最も理解しやすく教える本の一つだと感じました。この本の利点は、その資料が Educative の実践資料と組み合わされていることです。
-
👴 Rust for Rustaceans:これは上級ユーザーに非常に人気のある本で、良い評価を得ていますが、私はまだ手に入れていません。私がこれをお勧めする理由は、著者 Jon Gjengset が私が非常に好きな YouTube チャンネルを持っているからです(下記の動画セクションに詳細があります)。
2)実践材料 🏋️♂️#
🆓 無料リソース#
-
👶 Rustlingsは、Rust を学ぶための小さな演習を含む git プロジェクトです。私はこのリソースが非常に好きで、「the book」の各テーマをカバーしており、時には非常に挑戦的です。私はすべての演習を完了し、難しいタスクを完了するたびに非常に達成感を感じました。私が最も好きなのは、イテレータを利用して 1 行で数字の階乗を見つける関数を書くことです。
-
👶 Exercismには、Rust を実践するための学習パスがあります。私はこれらの演習の提示方法が面白いと感じました。これらの演習は少し簡単すぎると感じましたが、これは私が学習の後半にこのリソースを見つけたからかもしれません。
-
👶 Codewarsは、仲間と一緒にプログラミングチャレンジを行うことを許可します。これはクールで、スキルを磨くのに役立ちます。私はこれが特定の概念を正しく理解しているかどうかを確認するのに非常に役立つと感じました。
-
👶 Coding Gameは、ゲームベースのプログラミング学習サイトで、Rust もサポートしています。私はそれを深く探求したことはありませんが、Coding Game は多くの良い評価を得ており、学習を楽しくすることができます。
-
👶 StackUpは、開発者コミュニティで、そこで学び、私たちの活動やタスクに参加することで報酬を得ることができます。
-
👨👴 Advent of Codeは、毎年開催されるイベントで、あなたが望む言語を使用して小さな(しかし高品質の)プログラミング課題を解決します。これは、あなたが学んでいる言語に適しています。あなたはこの、これ、そしてこれらのリポジトリが非常に役立つことを発見するかもしれません。これらは前の年のテンプレートと解決策を提供しています。
-
👶👨👴 LeetCodeは、さまざまな難易度のコード問題を解決するための人気の面接準備プラットフォームです。もしあなたが困難に直面した場合、さまざまなリポジトリや開発者が Rust コード問題を解決するためのビデオリソースがあります。
💲 有料リソース#
-
👶 Egghead.ioは、プロジェクト指向のリソースで、作業のためにプロジェクトを構築することで開発者がポートフォリオを構築するのを助けます。さまざまな興味深いオプションがあり、その一つは Rustlings 演習に入るためのコースです。
-
👶 Educativeには、Rust を実践的に学ぶためのいくつかのリソースがあり、その一つは「初心者からプロフェッショナルへの Rust」という本に密接に関連しています。
3)YouTube 動画 📹#
-
👶 Rust チュートリアルは Doug Milford によって提供されており、私のお気に入りのリソースの一つです。Doug は Rust の多くの難しい概念を非常によく説明しています。動画では、概念を説明するためにさまざまなコード例やシナリオが紹介されています。
-
👶 CS Honors @ Illinoisは、私が概念を参照するために好きな別のチャンネルです。この動画シリーズは、イリノイ大学アーバナ - シャンペーン校の CS196(現在は CS124)1 年生のコースに基づいており、学生がホストしています。これらの講義動画は Rust を完全にカバーしているわけではありませんが、Rust の概念をカバーする動画については非常に役立つと感じました。
-
👶 Lets Get Rustyは、Rust に関する毎週の動画を提供する便利なチャンネルです。これは「the book」の章に従って整理された素敵なプレイリストを持っています。時には動画のペースが速すぎると感じることもあり、一部の説明が難しいこともあります。
-
👶 Brad Traversy の Rust 速成コースは、絶対的な初心者にさまざまな概念を紹介するための迅速な紹介です。
-
👶 Ryan Levickは、Microsoft で働いていたエンジニアで、Rust に関する一連の便利な説明動画を提供しています。さらに、Ryan は Rust を使用して Microsoft Flight Simulator 2020 の SDK を構築するというクールなプロジェクトを持っています。
-
👨 timClicksは、Tim Mcnamara が作成したチャンネルで、Rust のさまざまなテーマをカバーし、ライブコーディングストリームを提供しています。Tim は前述の Rust in Action の著者でもあります。
-
👶 Free Code Campは、CLI アプリケーションを通じて Rust の初心者向けチュートリアルを提供しています。少し役に立ちますが、音声品質が聞き取りにくく、動画が携帯電話で見るのが難しいため、あまり多くの時間を費やしませんでした。
-
👴 Jon Gjengsetは、Rust の概念に関する一連の動画を提供していますが、これらの動画は本当に初心者向けではなく、ある程度の知識レベルを前提としています。これらの動画は、Rust の概念により慣れてくるとより良くなるかもしれません。それを言うと、私が Rust をより深く理解するにつれて、これは私が非常に好きなチャンネルです。動画では、Jon が Rust の特定のテーマを選び、ほぼすべての角度からそれを解決します。ただし、注意が必要です。これらの動画は非常に長い場合があります!各動画の長さは 1 時間以上になることがあります。最長の動画は 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)クイックリファレンス 📃#
さまざまな選択肢があり、最も適したものを選んでください。
- Rust 言語クイックリファレンス
- Rust 初心者クイックリファレンス
- Rust クイックリファレンス
- 「私たちを Rust に疎くさせる」クイックリファレンスは、ここで登録してニュースレターを受け取る必要があります。
7)質問フォーラム 🙋♂️#
質問することは明らかに学習の重要な部分です。Rustaceans の友好的で助け合う姿勢は、それをさらに良くしています。以下に挙げるリソースでは、驚くべきことに、非常に迅速に質問に対する答えを得ることができます(ほとんどの場合、ほぼ即座に答えが得られます)。
- Rust プログラミング言語 Discord
- Rust プログラミング言語コミュニティ Discord
- Rust プログラミング言語 Subreddit
- さらに、Rust 言語フォーラムもありますが、私は個人的に使用していません。なぜなら、前のフォーラムで必要な情報を見つけたからです。
9)ポッドキャスト 📻#
以下は、Rust の概念や興味深いテーマについて議論するいくつかの有用なポッドキャストです。
9)ニュースレター 📰#
Rust についての情報を得るために、以下のニュースレターを購読することができます。これらのニュースレターは、Rust に関連するすべての情報を毎週まとめて提供します。
結論#
Rust を学ぶことは簡単ではなく、習得した知識を確認するためにできるだけ多くのリソースを活用することが必要です。私の学習過程で、私は多くの有用なリソースに出会い、この記事でまとめました。学習者がこれを役立ててくれることを願っています。あなたの経験はどうですか?あなたのお気に入りの Rust 学習リソースは何ですか?コメントであなたの考えを共有してください。👇