去年、私は 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 を学び始めた場所であり、私のお気に入りのリソースの 1 つです。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 を教える最も理解しやすい書籍の 1 つだと感じました。この本の利点は、その資料が 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はプロジェクト指向のリソースで、仕事のためにプロジェクトを構築することで開発者がポートフォリオを構築するのを助けます。さまざまな興味深いオプションがあり、その 1 つは Rustlings 演習に入るためのコースです。
- 👶 Educativeには、Rust を実践的に学ぶためのいくつかのリソースがあり、その 1 つは「初心者からプロフェッショナルへの Rust」という本に密接に関連しています。
3) YouTube 動画 📹#
- 👶 Rust チュートリアルは Doug Milford によって提供されており、私のお気に入りのリソースの 1 つです。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 エコシステムの主要な貢献者の 1 つです。彼らのリポジトリでは、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 学習リソースは何ですか?コメントであなたの考えを共有してください。👇