トレーニング > アプリケーション開発 > Programming in Rust (LFD480)
インストラクター主導のコース

Programming in Rust (LFD480)

このインストラクター主導のコースでは、次のことをしっかりと理解できます。 慣用的な Rust を使用して、開発者の生産性を向上させます。

対象者

このコースは、Rust 言語の学習に興味のあるシステムおよびアプリケーション プログラマーを対象に設計されています。
少なく読む 続きを読む
学習内容

このコースでは、所有権、借用、ライフタイムなどの概念を適用して、慣用的な Rust でプログラミングする方法を学びます。プリミティブ型と複合型。標準コレクション。エラー処理;テストプログラム。プロファイリングプログラム。同時実行性。スマートポインター。 FFI で C コードを使用する。 RustをコンテナとKubernetesで使用する。複数のアーキテクチャ (AMD64、ARM64、RISCV64) での展開。
少なく読む 続きを読む
身につく知識

このコースを使用すると、Rust プログラミング言語の自信を持った開発者になることができます。 OS の機能を使用して小さなシステム プログラムを作成できるようになります。単一の Web ページ アプリケーション。 API クライアントとサーバー。 Rust の同時実行機能を使用するプログラム。豊富な Rust エコシステム、モジュール、ツールを活用することで、独自のプロジェクトを開始したり、既存のプロジェクトに参加したりすることができます。
少なく読む 続きを読む
おもなテーマ
すべて展開
すべて折りたたむ
はじめに
- Linux財団{
- Linux Foundation{ トレーニング
- Linux Foundation{ 認定資格
- Linux Foundation{ デジタル バッジ
-ラボの演習、ソリューション、およびリソース
- Linux とオープン ソース プロジェクトの変化
-配布の詳細
- 演習
準備
- 演習
Rustの概要
- Rustの歴史
- Rustの人気
- Rustでプログラム
- Rustの背後にある哲学
- なぜRustではないのか
- 最初のプログラミング言語としてRustを使用する
- Rustとソフトウェアエンジニアリング
- 錆の放出サイクル
- Rustのリリースタイムライン
- 錆びたREPL
- Rust環境をインストールして構成する
- Rustプログラムの構造
- 貨物の使用
- 冒険的なラスト
- 演習
初めての Rust プログラム
- 変数
- 定数
- 所有権と借入
- 所有権に関する3つのルール
- コピー特性を持つプリミティブ型
- Rustは表現言語です
- プリミティブデータ型
- ストリングスとStr
- オブジェクトまたは所有文字列
- 文字列スライスを理解する
- 配列
- 演習
プログラムの流れ
- 条件分岐の概要
- 条件文 - if
- 条件 - 一致
- Rust での一致式
-ループ
- 錆びたループ
- While ループ
- For ループで Break と Continue を使用する
- 演習
複雑なデータ型
- タプル
- 構造体
- 列挙型
- ベクトル
- ハッシュマップ
- ハッシュマップの作成と初期化
- 結論
- HashMap 内のデータにアクセスする方法
- ベストプラクティスと使用例
- HashMap の反復順序
- キーによるデータの削除
- 演習
Rustの関数
- 機能
- 演習
Rustでのエラー処理
- パニック
- 回復不可能なエラーの処理例
- 高度な(パターン)マッチング
- texttt {unwrap_or_elseでクロージャを使用する理由
- texttt {unwrap を使用することの長所と短所
- テキストの使用例とヒントtt {unwrap
- 上流のエラー処理
- 新しいバージョンと古いバージョンの改善点
- 演習
Rustでのテスト
- Rustでのテスト
- ユニットテスト
- 文書テスト
- 結合テスト
- 演習
Rustでのデバッグ
- Rustでのデバッグ
- 演習
Rustでのオブジェクト指向プログラミング
- RustのOOP
- 構造体とメソッド
- 継承よりも構成
- カプセル化
- 特性
- ジェネリックス - 静的ディスパッチ
- ジェネリックが解決する問題
- オブジェクト特性 - 動的ディスパッチ
- 演習
クロージャ
- クロージャの紹介
- 演習
イテレータ
- イテレータ
- Rustでイテレータを使用するためのヒント
- イテレータを使用した要素の合計
- イテレータコンシューマを理解する
- マップを使用した変換の適用
- 演習
ライフタイム
- 生涯
- 演習
クレート
- Rustのコード構成
- Rustの木箱
- ファイル構造
- 例
- クレートを使用するためのヒント
- Rust を使った大規模プログラミング
- ファイル構造
- 演習
OSの機能
- ENV変数
- ファイルI/O
- Cargo.toml への inotify の追加
- プロセス
- 演習
Rustプログラムのベンチマークとプロファイリング
- ベンチマーク
- プロファイリング
- 演習
スマートポインター
- 箱
- 再帰構造におけるテキストボックスの役割
- Rc と円弧
- セルとRefCell
- ミューテックスとRwLock
- 演習
Rustの並行性
- 同時実行性
- 並行性に対する Rust のアプローチ
- Rustのスレッド
- メッセージパッシング
- 共有状態同時実行性
-不可分操作
- Rust での非同期プログラミング
- 結論
- 演習
コンテナでRustを使用する
- ポッドマンコンテナに錆びを発生させる
- 演習
Rustでのクロスコンパイル
- クロスコンパイル用に Rust をセットアップする
- 演習
高度なトピック
- 外部関数インターフェース
- 危険な錆び
- 演習
クロージングと評価サーベイ
- 評価サーベイ

前提条件
学習者は、C/C++、Java、JavaScript、Go などの別のプログラム言語でのプログラミング経験が必要です。

ラボは、x86_64、ARM64、RISCV64 システム上で準備して実行できます。少なくとも 4GiB の RAM と 50GiB の空き領域が必要です。コンテナや Kubernetes を使用するラボの場合は、RAM を増やすことをお勧めします。