講座の構成
このページは講師用です。
Rust の基礎
Rust の基礎 を構成する最初の 4 日間で、さまざまな項目を駆け足で学びます。
コースのスケジュール:
- Day 1 Morning (2 hours and 5 minutes, including breaks)
Segment | Duration |
---|---|
ようこそ | 5 minutes |
Hello, World | 15 minutes |
型と値 | 40 minutes |
制御フローの基本 | 40 minutes |
- Day 1 Afternoon (2 hours and 35 minutes, including breaks)
Segment | Duration |
---|---|
タプルと配列 | 35 minutes |
参照 | 55 minutes |
ユーザー定義型 | 50 minutes |
- Day 2 Morning (2 hours and 10 minutes, including breaks)
Segment | Duration |
---|---|
ようこそ | 3 minutes |
パターンマッチング | 1 hour |
Methods and Traits | 50 minutes |
- Day 2 Afternoon (3 hours and 15 minutes, including breaks)
Segment | Duration |
---|---|
ジェネリクス(generics) | 45 minutes |
標準ライブラリ内の型 | 1 hour |
標準ライブラリ内のトレイト | 1 hour and 10 minutes |
- Day 3 Morning (2 hours and 20 minutes, including breaks)
Segment | Duration |
---|---|
ようこそ | 3 minutes |
メモリ管理 | 1 hour |
スマートポインタ | 55 minutes |
- Day 3 Afternoon (1 hour and 55 minutes, including breaks)
Segment | Duration |
---|---|
借用 | 55 minutes |
ライフタイム | 50 minutes |
- Day 4 Morning (2 hours and 40 minutes, including breaks)
Segment | Duration |
---|---|
ようこそ | 3 minutes |
イテレータ | 45 minutes |
モジュール | 40 minutes |
テスト | 45 minutes |
- Day 4 Afternoon (2 hours and 20 minutes, including breaks)
Segment | Duration |
---|---|
エラー処理 | 1 hour and 5 minutes |
Unsafe Rust | 1 hour and 5 minutes |
専門的なトピック
In addition to the 4-day class on Rust Fundamentals, we cover some more specialized topics:
Rust in Android
The Rust in Android deep dive is a half-day course on using Rust for Android platform development. This includes interoperability with C, C++, and Java.
AOSPのチェックアウトが必要です。同じ端末から講座のリポジトリをチェックアウトし、src/android/
ディレクトリをAOSPチェックアウトのルートに移動してください。これにより、Androidビルドシステムがsrc/android/
内のAndroid.bp
を確認できるようになります。
エミュレータまたは実際のデバイスでadb sync
が機能する事を確認し、src/android/build_all.sh
を使用して全てのAndroidの例を事前にビルドしてください。スクリプトを読んで実行コマンドを確認し、手動で実行した際に正常に動作する事を確認してください。
Rust in Chromium
Chromium での Rust は半日コースで、Chromium ブラウザの一部として Rust を使用する方法について詳しく説明します。Chromium の gn
ビルドシステムで Rust を使用することで、サードパーティ ライブラリ(「クレート」)、および C++ との相互運用性を導入できます。
受講者は、Chromium をビルドできる必要があります。時間を短縮できるデバッグのコンポーネント ビルドを 推奨 しますが、どのようなビルドでも問題ありません。作成した Chromium ブラウザを実行できることを確認します。
Bare-Metal Rust
The Bare-Metal Rust deep dive is a full day class on using Rust for bare-metal (embedded) development. Both microcontrollers and application processors are covered.
マイクロコントローラの章では、事前にBBCmicro:bitv2開発ボードを購入する必要があります。また、welcomeページで説明されているように、複数のパッケージをインストールする必要があります。
Rustでの並行性
The Concurrency in Rust deep dive is a full day class on classical as well as async
/await
concurrency.
新規クレートの作成と、依存関係(dependencies)のダウンロードが必要です。その後、例をsrc/main.rs
にコピペして実行する事ができます:
cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run
コースのスケジュール:
- Morning (3 hours and 20 minutes, including breaks)
Segment | Duration |
---|---|
スレッド | 30 minutes |
チャネル | 20 minutes |
SendとSync | 15 minutes |
状態共有 | 30 minutes |
練習問題 | 1 hour and 10 minutes |
- Afternoon (3 hours and 20 minutes, including breaks)
Segment | Duration |
---|---|
Asyncの基礎 | 30 minutes |
チャネルと制御フロー | 20 minutes |
落とし穴 | 55 minutes |
練習問題 | 1 hour and 10 minutes |
フォーマット
本講座はインタラクティブな形式で行います。積極的に質問して、Rustへの理解を深めてください!