オープンソースプロジェクト
microsoft/RustTraining avatar
microsoft/RustTraining

C/C++、C#、Python 出身者のための Rust トレーニング本7冊

初心者、上級者、エキスパートレベルの Rust トレーニング資料。 Microsoft の商標またはロゴの許可された使用には、Microsoft の商標およびブランド ガイドラインが適用され、それに従わなければなりません。

スター 14,881フォーク 1,168RustMIT
GitHub

ひと目でわかる

これは何?
7冊のレベル別 Rust トレーニング本、ビルドコマンド、GitHub Pages デプロイ、デュアルライセンスを備えたリポジトリ。
誰に向いている?
README にはリリース予定、チェンジログ、サポート窓口の記述はない。読者にはブリッジ本から始め、公式 Rust ドキュメントで重要な詳細を確認するよう求めている。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 5 日前です。
何の言語で書かれている?
主に Rust です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

RustTraining: 1つのリポジトリ、7冊の Rust 本

microsoft/RustTraining は、7冊の Rust トレーニング本をまとめたリポジトリです。README は読者のバックグラウンドごとに本を分類しています。C/C++、C#、Python 出身者向けのブリッジ本が3冊、非同期 Rust の深掘りが1冊、パターン、型駆動の正しさ、エンジニアリング実践が各1冊です。各本には GitHub Pages のリンクが付けられています。リポジトリのメタデータは、この教材を初心者、上級者、エキスパート向けとしています。README は、これらの本がトレーニング教材であり、権威あるリファレンスではないと明記し、重要な詳細は公式 Rust ドキュメントと Rust Reference で確認するよう求めています。

RustTraining: 5つのレベルと7冊の分類

README は Bridge、Deep Dive、Advanced、Expert、Practices の5つのレベルを定義しています。Bridge は別の言語から Rust を始める人向け、Deep Dive は主要なサブシステムの集中的な探求、Advanced は経験のある Rust プログラマ向け、Expert は型レベルの正しさの技法、Practices はエンジニアリング、ツール、本番準備です。7冊の割り当ては、言語別の3冊が Bridge、Async Rust が Deep Dive、Rust Patterns が Advanced、Type-Driven Correctness が Expert、Rust Engineering Practices が Practices です。この表は README の Start Reading セクションにあります。

RustTraining: 各本の内容と章構成

README によると、各本は15〜16章で、Mermaid ダイアグラム、編集可能な Rust プレイグラウンド、演習、全文検索を備えています。各本の説明には、C/C++ 出身者向けの move セマンティクス、RAII、FFI、組み込み、no_std、C#/Swift/Java 出身者向けの所有権と型システム、Python 出身者向けの動的から静的型付けと GIL なし並行性、非同期本の Tokio、ストリーム、キャンセル安全性、パターン本の Pin、アロケータ、ロックフリー構造、unsafe、型駆動本の型状態、ファントム型、ケイパビリティトークン、エンジニアリング本のビルドスクリプト、クロスコンパイル、CI/CD、Miri が含まれます。これらは README の書籍リストに書かれている内容です。

RustTraining: 内容の出所と謝辞

README は、教材がオリジナルコンテンツと、既存の Rust リソースから着想を得たアイデアや例を組み合わせたものだと述べています。出典として、The Rust Programming Language、Jon Gjengset、withoutboats、fasterthanlime、Mara Bos、Aleksey Kladov、Niko Matsakis、Rust by Example、Rustonomicon、This Week in Rust、Binary Musings を挙げています。免責事項では、これらの本はトレーニング教材であり、権威あるリファレンスではないとし、正確性が必要な場合は公式ドキュメントと Rust Reference を確認するよう求めています。各出典が具体的にどれだけ使われたかは README には書かれていません。

RustTraining: ローカルプレビューとビルドコマンド

README は、まず rustup で Rust をインストールし、cargo install mdbook@0.4.52 mdbook-mermaid@0.14.0 を実行するよう指示しています。ローカルプレビューのコマンドは、git clone https://github.com/microsoft/RustTraining.git、cd RustTraining、cargo xtask serve で、http://localhost:3000 でサーバーが起動します。メンテナ向けには、cargo xtask build で全本を site/ にビルド、cargo xtask deploy で GitHub Pages 用に docs/ へビルド、cargo xtask clean で両ディレクトリを削除します。1冊だけを扱う場合は cd c-cpp-book && mdbook serve --open を使います。これらのコマンドは README にそのまま書かれています。

RustTraining: デプロイ、ライセンス、商標

README によると、main へのプッシュ時に .github/workflows/pages.yml がサイトを GitHub Pages へ自動デプロイします。リポジトリは MIT ライセンスと Creative Commons Attribution 4.0 International のデュアルライセンスです。MIT ライセンスの抜粋は、ソフトウェアが現状のまま提供され、いかなる保証もないと述べ、著作権表示と責任の制限を含みます。README には商標に関する注意もあり、Microsoft の商標やロゴの使用は Microsoft の商標およびブランドガイドラインに従わなければならず、変更版で Microsoft の後援をほのめかしてはならないとしています。ライセンス本文自体は、サポート、セキュリティの状態、本番対応については何も述べていません。エンジニアリング本はこれらをトレーニング内容として扱っているだけで、保証ではありません。

このリポジトリを学習用に使う場合、教材の順番と自分の Rust ツールチェーンを分けて確認します。README が示す中心は Rust の導入と演習であり、完成済みアプリケーションの配布手順や性能測定ではありません。各演習をそのディレクトリで実行し、Cargo.toml が指定する依存関係と rust-toolchain の有無を確認すると、環境差を記録できます。コンパイラのエラーを単に写し直すのではなく、所有権、借用、トレイト、エラー処理など、失敗した例が何を示すかを演習単位で分けて読むのが適しています。README に記載されていない Rust の版、OS ごとの差、CI の合格条件は断定できません。教育チームで採用するなら、受講者が実行するコマンド、想定する出力、提出物の範囲をリポジトリの各章と照合してから教材に組み込む必要があります。

演習の検証では、まず README が指定する開始地点を確認し、cargo build や cargo test の結果を章ごとに分離します。コードがコンパイルできても、教材の狙いを理解したことの証明にはなりません。逆にコンパイル失敗も、Rust の版や依存関係の差で起きる可能性があります。リポジトリに複数のサンプルがある場合は、各ディレクトリの Cargo.toml、src、テストを確認し、ある演習の生成物を別の演習の入力として扱わないようにします。README が説明していない認証、ネットワーク、外部サービスを追加すると、教材本来の範囲を越えます。学習者に配布する際は、利用するコミット、実行したコマンド、エラーの全文を残すと、環境差を再調査できます。

編集部の結論

README にはリリース予定、チェンジログ、サポート窓口の記述はない。読者にはブリッジ本から始め、公式 Rust ドキュメントで重要な詳細を確認するよう求めている。この2つの指示が、このリポジトリが権威ある言語リファレンスではなく、明確な学習経路を持つトレーニングカリキュラムであることを示している。

公式情報源

  1. Official README
  2. Project repository
コミュニティノート

コミュニティノート