講座の構成

このページは講師用です。

Rust の基礎

Rust の基礎 を構成する最初の 4 日間で、さまざまな項目を駆け足で学びます。

コースのスケジュール:

  • Day 1 Morning (2 hours and 5 minutes, including breaks)
SegmentDuration
ようこそ5 minutes
Hello, World15 minutes
型と値40 minutes
制御フローの基本40 minutes
  • Day 1 Afternoon (2 hours and 35 minutes, including breaks)
SegmentDuration
タプルと配列35 minutes
参照55 minutes
ユーザー定義型50 minutes
  • Day 2 Morning (2 hours and 10 minutes, including breaks)
SegmentDuration
ようこそ3 minutes
パターンマッチング1 hour
Methods and Traits50 minutes
  • Day 2 Afternoon (3 hours and 15 minutes, including breaks)
SegmentDuration
ジェネリクス(generics)45 minutes
標準ライブラリ内の型1 hour
標準ライブラリ内のトレイト1 hour and 10 minutes
  • Day 3 Morning (2 hours and 20 minutes, including breaks)
SegmentDuration
ようこそ3 minutes
メモリ管理1 hour
スマートポインタ55 minutes
  • Day 3 Afternoon (1 hour and 55 minutes, including breaks)
SegmentDuration
借用55 minutes
ライフタイム50 minutes
  • Day 4 Morning (2 hours and 40 minutes, including breaks)
SegmentDuration
ようこそ3 minutes
イテレータ45 minutes
モジュール40 minutes
テスト45 minutes
  • Day 4 Afternoon (2 hours and 20 minutes, including breaks)
SegmentDuration
エラー処理1 hour and 5 minutes
Unsafe Rust1 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)
SegmentDuration
スレッド30 minutes
チャネル20 minutes
SendとSync15 minutes
状態共有30 minutes
練習問題1 hour and 10 minutes
  • Afternoon (3 hours and 20 minutes, including breaks)
SegmentDuration
Asyncの基礎30 minutes
チャネルと制御フロー20 minutes
落とし穴55 minutes
練習問題1 hour and 10 minutes

フォーマット

本講座はインタラクティブな形式で行います。積極的に質問して、Rustへの理解を深めてください!