洗練されたRust中級(1)- 基本開発ツール編
hatemogi
¥4,228
早割
50%
¥2,114
中級以上 / Rust, cargo, rustup, rustfmt
Rustの標準的な基本ツールを活用して環境差異やコード品質の問題を解決できるよう、ツールチェーンの設定からフォーマット・リント・テスト・ドキュメント化まで、実務で検証されたノウハウをご紹介します。より優れたRust開発者になりましょう。
中級以上
Rust, cargo, rustup
Rustプロジェクトが大きくなると、ファイルを分割するだけではコードの責任範囲や公開範囲を明確に管理するのが難しくなります。この講義では、パッケージ・クレート・モジュールの違いから、ファイル配置、パス、公開範囲、ライブラリと実行ファイルの分離、再公開、ワークスペースまで、順を追って扱います。
パッケージ・クレート・モジュールの違いを区別し、Rustプロジェクトの構造を正確に読み取れるようになります。
`mod`宣言によって複数のファイルをモジュールツリーに接続できます。
ライブラリと実行ファイルの役割を分けて、テストしやすいプロジェクトを構成できます。
役割と変更理由を基準に、モジュールとクレートの境界を設計できます。
非公開モジュールを接続し、必要な型と関数だけを再公開するライブラリを完成させることができます。
プロジェクトが大きくなると、コードがどのファイルにあるかを知るだけでは不十分です。各コードがどの責任を担うのか、どこまで公開すべきか、複数の実行ファイルがどのコードを共有して使うべきかも決定する必要があります。
この講義では、よく混同されるパッケージ・クレート・モジュールの違いから始めます。続いて、モジュールツリーとファイル配置、crate::・self::・super::パス、use、公開範囲、ライブラリと実行ファイルの分離、pub useを利用した再公開、Cargoワークスペースを順に学びます。
最後には、model・parser・reportモジュールの内部実装を隠し、外部ユーザーが必要な型と関数だけを簡潔なパスで利用できるライブラリを自分で完成させます。文法を覚えるだけにとどまらず、変更しやすく使いやすいRustプロジェクトの境界を設計することが、この講義の目標です。
Cargo.tomlが管理するパッケージ、コンパイル単位であるクレート、コードを役割ごとにまとめるモジュールの違いを学びます。 src/lib.rs、src/main.rs、src/binがそれぞれどのクレートの起点となるのかを確認し、1つのパッケージ内にライブラリと複数の実行ファイルを構成する方法を理解します。 each serve as the starting point for a different crate, and understand how to organize a library and multiple executable files within a single package. lần lượt là điểm bắt đầu của crate nào, đồng thời hiểu cách cấu trúc một thư viện và nhiều tệp thực thi trong cùng một package.
1つのパッケージ内でも、ライブラリと各実行ファイルはそれぞれ別のクレートとしてコンパイルされます。
mod宣言がファイルを単にコピーする構文ではなく、モジュールツリーにコードを接続する宣言であることを学びます。インラインモジュール、parser.rs、parser/mod.rsの違いを確認し、親・子モジュールの論理的な構造と実際のソースファイルの配置を区別します。
モジュールツリーはコードの論理的な関係を表し、ファイルは各モジュールのコードを保存します。
すでに実装されている model、parser、report のコードを非公開モジュールとして接続し、外部に必要な型と関数だけをクレートルートで再公開します。テストの失敗メッセージを一つずつ解決しながら、内部構造を隠し、使いやすいライブラリ API を自分で完成させます。
オペレーティングシステムおよびバージョン(OS):macOS、Linux、Windows
使用ツール:Git、VS Code、Rustup、Cargo
PCスペック:特別に高性能なPCは不要
オンライン学習教材
GitHubソースコード
洗練された高性能プログラミング言語Rustの入門・活用講座の受講をおすすめします。
この講義は『優雅なRust 中級シリーズ』の一部です。
学習対象は
誰でしょう?
Rust入門コースを修了したものの、パッケージ・クレート・モジュールの違いがまだよく分からない方
プロジェクトが大きくなったとき、ファイルやモジュールをどのような基準で分けるべきか悩んでいる方
mod、use、pubを使う際に、パスや公開範囲のエラーによく遭遇する方
内部実装を隠し、使いやすいライブラリAPIを設計したい方
前提知識、
必要でしょうか?
Rustの基本文法の知識
Rustの所有権の基本概念
キャリア認証
2,120
受講生
169
受講レビュー
27
回答
4.7
講座評価
8
講座
関数型プログラミングに関心の高いバックエンド開発者です。カカオの開発チーム長、NHNの主席、LINE+のリードを務め、開発チームのリーディングを行ってきました。また、DnotitiaというAIスタートアップで開発チーム長として働き、Rustでプロジェクトを進めました。
全体
10件 ∙ (54分)
1. パッケージ、モジュール、クレート
10:20
2. モジュールツリー構成
04:06
3. モジュールパスとuse
10:22
4. モジュールの公開範囲
11:04
5. ライブラリと実行ファイルの区別
01:49
6. モジュール構成要素の再公開
02:57
7. ワークスペースとパッケージの区別
02:24
8. モジュールを分ける基準
03:59
9. 総合実習問題
01:51
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!
期間限定セール
¥7,150
35%
¥1,409