Rustプログラミング入門 (最高峰・最難解言語)

開発者がもっとも好きなプログラミング言語 1 位 (6年連続) "Stack overflow developer survey"

4.42 (820 reviews)
Udemy
platform
日本語
language
Programming Languages
category
instructor
4,968
students
4 hours
content
Mar 2024
last update
$49.99
regular price

What you will learn

Rustの言語仕様

所有権・借用・ライフタイム

Generics・Traits・構造体・列挙型・ユーザー定義型

Unit test

Description

本コースでは、コンピュータ言語の最高峰・最難関言語であるRustの言語仕様について学習します。

開発者が最も好きな(Most loved)プログラミング言語 6年連続1位 *Stack Overflow Developer Survey


***Rustは近年のプログラミング言語で最も難解な言語であり、特に日本国内においては第一線で活躍するエンジニアやベテランエンジニアでもRustを完全に理解している人はほとんどいない為、部分的にでも理解できるとかなりのスキルの差別化になると思います。***


Rustは、C/C++レベルの自由度/高速処理性能を備えつつ強力なメモリ安全性を保証してくれる素晴らしい言語です。Mozilla社によって開発されてきましたが、2021年2月にRust Foundationが設立され(メンバー : Google, Microsoft, Facebook, Mozilla, AWSなど)各社がRust言語が将来に渡り非常に重要な言語であると位置付けていることが分かります。

具体的な使用例としては、Webアプリケーションでは Golangの代替、組み込み機器におけるC/C++の代替、Web Assembly(WASM) 、またRustはシステムプログラミング言語でありOSを開発することも可能です。GoogleもAndroid OS開発にRustを採用することを2021年4月に発表し、Microsoftは既にWindows 10から一部のOSの機能をRustで置き換えています。AWS Lambdaとの相性も非常に良いです、AWS Lambdaは実行処理時間と割り当てメモリに応じて課金されるため、実行処理時間が短くメモリが最適化されたRustにより最小コストでAWS Lambdaを運用出来ます。


**学習のポイント**

  • システムのメモリ構造とポインタ

  • イミュータブルとミュータブル

  • シャドーウィング

  • スタックとヒープ

  • 文字列スライスとString型

  • 所有権と二重解放エラー

  • Stack overflow

  • Vector型とBoxポインタ型

  • 所有権・参照・借用

  • ライフタイム (Non-Lexical Lifetime)

  • ダングリングポインタ

  • RAII (Resource Acquisition Is Initialization)

  • Generics

  • Generic lifetime annotation

  • 構造体と列挙型

  • マッチングパターン

  • トレイトとトレイト境界

  • ユニットテスト

  • 外部ライブラリとカスタムライブラリ

Content

はじめに

Rustとは?
The Book (The Rust Programming Language)
Rust setup と Package・Crate・Module
Rust インストール (Windows)
本コースのSource code

Rust 言語仕様

システムのメモリ構造(ポインタ)
Mutable・Immutable
文字列スライスとString型
所有権と二重解放エラー
Stack overflow・Vector型
Box pointer
所有権・参照・借用
Life time + Dangling pointer
Generics
Generic lifetime annotation
Struct + Enum + Pattern matching
Traits
Error handling
Unit test
Library crate

ボーナスレクチャー

Debug tool

Screenshots

Rustプログラミング入門 (最高峰・最難解言語) - Screenshot_01Rustプログラミング入門 (最高峰・最難解言語) - Screenshot_02Rustプログラミング入門 (最高峰・最難解言語) - Screenshot_03Rustプログラミング入門 (最高峰・最難解言語) - Screenshot_04

Reviews

ri
August 16, 2023
インターン先の会社がRustを採用していたため本コースを受講しました。 コースの内容としては非常に良く図なども用いて丁寧に説明してくれるため完全初心者の自分でも基礎を理解することができました。 オススメです。
Inoue
May 6, 2023
とてもわかりやすく、Rustの言語仕様を体系的に学ぶことが出来ました。 それが「実際にどんな時に使われるのか」については説明がなかったので、まずざっくり俯瞰して学んでおきたい方におすすめです。 個人的に、見慣れないような癖のある(Rust特有の?)構文も多かったので、どんな記法があるのか、それがどんな意味なのかを抑えておくためにも、私のような初学者がまず受講するといいのかなって思いました。
鳥居健一
March 16, 2023
えらい早口で、最初再生速度が1.5倍になっているのかと思った。 StackとHeap、アドレスだけしか説明してない気がするけど、なんであれでどちらに格納されてるかが判別できるのか分からない……(説明見逃した?)
Satoshi
March 13, 2023
基本的な文法要素について簡潔に説明されており、話の進む速さと内容が個人的にピッタリでした。メモリ内の構造については図表で丁寧に解説されており非常にわかりやすかったです。普段からC言語で開発していることもあり、話が入ってきやすかったです。人によっては少し難しく感じることもあるような気はしました。
Hiroyuki
January 2, 2023
スタックやヒープのメモリ構造をハンズオンで確認しながらの解説は公式(The book)より詳しく、参考になった。 一方で、それ以外の部分については公式(The book)のダイジェストないしかい摘んだだけという感じで、 とくに解説が詳しくなっていたり平易になっていたりするわけでなく、The book を消化できなかった人がこの教材で消化できるようにはならなそう。
あさみ
November 9, 2022
・複雑なメモリ構造についての解説が詳しくされていたのは役に立った ・Rust は多機能なので、どうしても全部の説明はできないのは分かる。なので、この講義がどういう意図で、どういう機能について焦点を当てるのか。逆に、焦点を当てない部分がどんなもので、それはどういうところで調べられるのか、など全体感や補足的な説明が欲しかった
Kenta
October 5, 2022
他の方からの指摘がある通りメモリ関連の話は人によってはハードル高めです。自分はプログラミング自体初めて数ヶ月だったので、並行して主にYouTubeの資料(主に〇〇進数の解説動画)を参考にしながら進めました。Rustに限定した基礎知識ではないので、後々役に立つと思います。そういうアプローチが好きでない人は、まずRust公式を先にサッと読んでから分からないところは流しで見るのが良いと思います。いずれにしろ何度か見直す必要はあるかもしれません。 後半若干ペースが上がる部分がありますが、セールで買えるなら特に損はしないと思います。様々なトピックをstack address, heap addressに絡めて説明しているため、これらの概要やRustの特徴をある程度理解した上で動画を見ると入ってきやすくなります。
小渕
August 21, 2022
駆け足でざっとRustの全体像を理解するのにはとてもよいと思います。 最初の方にメモリのアドレス配置の話が出てくるので、 今まで全くそういうものに触れてこなかった場合は難しく感じるかもしれません。 また、本コースでは何かサンプルのアプリを作るといったものはありません。
Je
March 2, 2022
The Rust Programming Language 日本語版を学んだ後,イマイチ理解できていない部分を補強する目的で受講しましたが,非常に分かりやすかったです.特にRustの肝である,メモリ安全,借用・参照に関する説明が,丁寧で良かったです.
オオモリダイスケ
February 18, 2022
「The Book」読んだ人用だと思いました。ちなみに自分は読んでからの受講だったので、とても楽しめました。とくにアドレス関連の内容はとてもためになりました。ありがとうございます。 次は小規模システムを実際に作成していく講義をぜひお願いしたい!! その過程で、トレイト、スマートポインタ、rustらしい作成方法を 学ばせていただけたらと思います、お願いします!!
MoTo
November 10, 2021
有難う御座いました。 とても分かり易く、Rustの入門・入口としては本当に良い講座だと感じました。 今後のRust の応用などを学ぶ上で土台は築けると感じます。 まだ理解できていないとろがあるので、理解できるまで何回も復習したいと思います。
開斗
October 30, 2021
とても分かりやすい。はじめはRustの難しさに苦労していましたが、着実にコーディングしていくうちに理解の速度が爆発的に高まりました。今ではめちゃくちゃ面白い言語だなと感じるほどです。とても有用なコンテンツです。

Charts

Price

Rustプログラミング入門 (最高峰・最難解言語) - Price chart

Rating

Rustプログラミング入門 (最高峰・最難解言語) - Ratings chart

Enrollment distribution

Rustプログラミング入門 (最高峰・最難解言語) - Distribution chart
4148870
udemy ID
6/27/2021
course created date
7/10/2021
course indexed date
Bot
course submited by