講座の構成
このページは講師用です。
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への理解を深めてください!