コース構成
このページはコース講師向けです。
Rust の基礎
最初の 4 日間が Rust Fundamentals に相当します。各日はテンポよく進み、幅広いトピックを扱います!
not found - {{%course outline Fundamentals}}
深掘り
4 日間の Rust Fundamentals に加えて、さらに専門的なトピックも扱います。
Rust in Android
Rust in Android の深掘りコースは、Android プラットフォーム開発で Rust を使う方法を扱う半日コースです。これには、C、C++、Java との相互運用も含まれます。
AOSP チェックアウト が必要です。同じマシン上で コースリポジトリ もチェックアウトし、src/android/ ディレクトリを AOSP チェックアウトのルートに移動してください。これにより、Android ビルドシステムが src/android/ 内の Android.bp ファイルを認識できるようになります。
エミュレータまたは実機で adb sync が動作することを確認し、src/android/build_all.sh を使ってすべての Android サンプルを事前にビルドしてください。スクリプトを読んでどのコマンドが実行されるかを確認し、それらを手動で実行しても動作することを確かめてください。
Rust in Chromium
Rust in Chromium の深掘りコースは、Chromium ブラウザの一部として Rust を使う方法を扱う半日コースです。これには、Chromium の gn ビルドシステムで Rust を使うこと、サードパーティライブラリ(「クレート」)の取り込み、C++ との相互運用が含まれます。
Chromium をビルドできる必要があります — 速度の面では、デバッグ用の component build が 推奨 されますが、どのビルドでも動作します。ビルドした Chromium ブラウザを実行できることを確認してください。
Bare-Metal Rust
Bare-Metal Rust の深掘りコースは、ベアメタル(組み込み)開発で Rust を使う方法を扱う 1 日コースです。マイクロコントローラとアプリケーションプロセッサの両方を扱います。
マイクロコントローラのパートでは、事前に BBC micro:bit v2 開発ボードを購入しておく必要があります。全員が ウェルカムページ に記載されているとおりに、いくつかのパッケージをインストールする必要があります。
Rustでの並行性
Concurrency in Rust の深掘りコースは、古典的な並行性と async/await による並行性を扱う 1 日コースです。
新しいクレートをセットアップし、依存関係をダウンロードしてすぐに使えるようにしておく必要があります。その後、サンプルを src/main.rs にコピー&ペーストして試すことができます。
cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run
not found - {{%course outline Concurrency}}
Idiomatic Rust
Idiomatic Rust の深掘りコースは、Rust のイディオムとパターンを扱う 2 日間のコースです。
このコースを始める前に、Rust Fundamentals の内容を一通り理解しておくべきです。
not found - {{%course outline Idiomatic Rust}}
Unsafe(作業中)
Unsafe の深掘りコースは、Rust 言語の unsafe を扱う 2 日間のコースです。Rust の安全性保証の基礎、unsafe の必要性、unsafe コードのレビュー手順、FFI の基礎、そして通常なら借用チェッカーに拒否されるデータ構造の構築を扱います。
not found - {{%course outline Unsafe}}
進め方
このコースは非常にインタラクティブに進めることを意図しており、質問をきっかけに Rust の探求を進めていくことをお勧めします!