SlideShare a Scribd company logo
1 of 24
Download to read offline
Rust を勉強してみた!
ssmylh
2017/09/02 開発合宿at 鳴子温泉
はじめに
Rust はまだ数時間しか勉強してません。理解が浅いです。誤解や間違っているところはあると思います。
モチベーション
せっかくのまとまった時間があるので何か新しい事がしたかった。独特だと聞いていて、なんとなく気になっていた。当初、 をテーマとしていたが、いつの間にかこっちに。WASM
Rust ?
速度、安全性、並行性の3つのゴールにフォーカスしたシステムプログラミング言語ゼロコスト抽象化ムーブセマンティクス保証されたメモリ安全性データ競合のないスレッドトレイトによるジェネリクス...
こんな感じ
fn fizzbuzz(n: s) {
for i in 0..n {
if i % 15 == 0 {
println!("FizzBuzz");
} else if i % 3 == 0 {
println!("Fizz");
} else if i % 5 == 0 {
println!("Buzz");
} else {
println!("{}", i);
}
}
}
こんな感じ
fn even_squre_sum(n: isize) -> isize {
(0..n)
.filter(|i| i % 2 == 0)
.map(|i| i * i)
.sum()
}
let expected = 4 + 16 + 36;
assert_eq!(even_squre_sum(7), expected);
こんな感じなんですが、今日は特に興味を持った
以下の機能について発表したいと思います。
所有権システムトレイト
所有権システム
所有権システム
メモリ安全性、ゼロコスト抽象化独特!!以下の3つの概念から成り立つ。所有権借用ライフタイム
所有権
値は資源であり、値を所有出来るのは一人の所有者のみ。変数束縛= 値の所有権を持つ。所有権は移動する(ムーブする)。(スコープから外れて)所有されていない状態になると、値は解放される。Copyな値は割り当て時にコピーされるので所有権の対象外。各種プリミティブな値はCopyな値。
所有権- 例
fn main() {
let x = "x".to_string();
let y = x;
// 以下 y 所有権
//println!("{}", x);
// 以下 関数 最後 str 外 時 値 解放
print(y);
// print 所有権
//println!("{}", y);
}
fn print(str: String) {
println!("{}", str);
}
所有権の例外(Copyな値) - 例
fn main() {
let x: i32 = 1;
let y = x;
// i32 Copy 実装
// y 割 当 時 作成 所有権
// 全 型 Copy 実装
println!("{}", x);
}
借用
所有権を持ったまま、値を他に貸し出す。ある型の参照型は、その型の借用と言う。イミュータブルな参照とミュータブルな参照がある。イミュータブルな参照は複数存在可能。ミュータブルな参照は同時に1つのみ。データ競合が発生しない。イミュータブルとミュータブルな参照は共存出来ない。値が解放された後には、その値は借用出来ない。
借用- 例1
fn immutable_reference() {
// 参照 同時 複数存在可能
let x = "x".to_string();
let y = &x;
let z = &x;
}
fn mutable_reference() {
// 参照 同時 1 存在可能
let mut x = "x".to_string();
let y = &mut x;
//let z = &mut x; // 2 目
}
借用- 例2
fn use_resource_after_frees() {
let a: &i32;
{
let x = 1;
// x 生存期間 超 借用 出来 以下
//a = &x;
}
}
ライフタイム
参照が有効なスコープを記述する仕組み。ダングリングポインタを仕組み的に防ぐ。ブロックスコープや関数スコープによりライフタイムが区切られる。
ライフタイム- 例
// 参照 持 構造体 明示的 ( 'a ) 必須
// 参照 構造体自体 参照 生存期間 長 必要
struct Misc<'a> {
x: &'a i32,
}
fn main() {
let a: &i32;
{
let y = &1;
let m = Misc { x: y };
// 以下 許可
// a 外 値 参照
//a = m.x;
}
}
トレイト
トレイト
Rust のトレイトは型クラス。アドホックポリモーフィズム既存の型に共通のインターフェイスを持たせられる。
トレイト- 定義
trait Semigroup<T> {
fn append(&self, that: T) -> T;
}
trait Monoid<T>: Semigroup<T> {
fn zero() -> T;
}
impl Semigroup<i32> for i32 {
fn append(&self, that: i32) -> i32 {
*self + that
}
}
トレイト- 実装
impl Monoid<i32> for i32 {
fn zero() -> i32 {
0
}
}
fn main() {
let v1 = (1.append(2)).append(3);
let v2 = 1.append(2.append(3));
assert_eq!(v1, v2);
// self 引数 取 型名:: 名() 呼 出 可能
let zero = i32::zero();
assert_eq!(1.append(zero), 1);
assert_eq!(zero.append(1), 1);
}
感想
新しい要素を持った言語を学ぶのは楽しい。もっとRustを勉強してみたくなった。特に平行処理関連。
今日のコード
https://github.com/ssmylh/try_rust
参考にしたもの
最速で知る!プログラミング言語Rustの基本機能とメモリ管理【第二言語としてのRust】プログラミング言語Rust
Rust by Example

More Related Content

What's hot

【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 sandai
 
20131128 perl beginners_11_profiler
20131128 perl beginners_11_profiler20131128 perl beginners_11_profiler
20131128 perl beginners_11_profilerSyun Fuji
 
【学習メモ#11th】12ステップで作る組込みOS自作入門
【学習メモ#11th】12ステップで作る組込みOS自作入門 【学習メモ#11th】12ステップで作る組込みOS自作入門
【学習メモ#11th】12ステップで作る組込みOS自作入門 sandai
 
【学習メモ#6th】12ステップで作る組込みOS自作入門
【学習メモ#6th】12ステップで作る組込みOS自作入門 【学習メモ#6th】12ステップで作る組込みOS自作入門
【学習メモ#6th】12ステップで作る組込みOS自作入門 sandai
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムHitoshi Asai
 
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711エンジニア勉強会 エスキュービズム
 
[Basic 9] 並列処理 / 排他制御
[Basic 9] 並列処理 / 排他制御[Basic 9] 並列処理 / 排他制御
[Basic 9] 並列処理 / 排他制御Yuto Takei
 
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチプロセスとコンテキストスイッチ
プロセスとコンテキストスイッチKazuki Onishi
 
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 sandai
 
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門sandai
 
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdTaisuke Yamada
 
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。Kazuki Onishi
 

What's hot (18)

Ssaw08 0617
Ssaw08 0617Ssaw08 0617
Ssaw08 0617
 
Ruby build
Ruby buildRuby build
Ruby build
 
Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目69-70Effective Java 輪読会 項目69-70
Effective Java 輪読会 項目69-70
 
【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門
 
20131128 perl beginners_11_profiler
20131128 perl beginners_11_profiler20131128 perl beginners_11_profiler
20131128 perl beginners_11_profiler
 
【学習メモ#11th】12ステップで作る組込みOS自作入門
【学習メモ#11th】12ステップで作る組込みOS自作入門 【学習メモ#11th】12ステップで作る組込みOS自作入門
【学習メモ#11th】12ステップで作る組込みOS自作入門
 
Oss dev-04
Oss dev-04Oss dev-04
Oss dev-04
 
【学習メモ#6th】12ステップで作る組込みOS自作入門
【学習メモ#6th】12ステップで作る組込みOS自作入門 【学習メモ#6th】12ステップで作る組込みOS自作入門
【学習メモ#6th】12ステップで作る組込みOS自作入門
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
 
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
 
Effective Java 輪読会 項目71-73
Effective Java 輪読会 項目71-73Effective Java 輪読会 項目71-73
Effective Java 輪読会 項目71-73
 
Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68Effective Java 輪読会 項目66-68
Effective Java 輪読会 項目66-68
 
[Basic 9] 並列処理 / 排他制御
[Basic 9] 並列処理 / 排他制御[Basic 9] 並列処理 / 排他制御
[Basic 9] 並列処理 / 排他制御
 
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチプロセスとコンテキストスイッチ
プロセスとコンテキストスイッチ
 
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門
 
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門
 
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
 
ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。ラズパイでデバイスドライバを作ってみた。
ラズパイでデバイスドライバを作ってみた。
 

Similar to Rustを勉強してみた!

effective modern c++ chapeter36
effective modern c++ chapeter36effective modern c++ chapeter36
effective modern c++ chapeter36Tatsuki SHIMIZU
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 TipsTakaaki Suzuki
 
Cookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming ParadigmCookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming ParadigmMinero Aoki
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memorynishio
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装したt-sin
 
Kanazawa.js.Next
Kanazawa.js.NextKanazawa.js.Next
Kanazawa.js.Nextdynamis
 
歌舞伎座Tech#2 C++11 LT
歌舞伎座Tech#2 C++11 LT歌舞伎座Tech#2 C++11 LT
歌舞伎座Tech#2 C++11 LTroentgen_jp
 
あるmmapの話
あるmmapの話あるmmapの話
あるmmapの話nullnilaki
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめMakiko Konoshima
 
Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Yuichi Sakuraba
 
YAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションYAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションKuninobu SaSaki
 

Similar to Rustを勉強してみた! (12)

effective modern c++ chapeter36
effective modern c++ chapeter36effective modern c++ chapeter36
effective modern c++ chapeter36
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
 
Cookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming ParadigmCookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming Paradigm
 
Long Short-term Memory
Long Short-term MemoryLong Short-term Memory
Long Short-term Memory
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
 
Kanazawa.js.Next
Kanazawa.js.NextKanazawa.js.Next
Kanazawa.js.Next
 
歌舞伎座Tech#2 C++11 LT
歌舞伎座Tech#2 C++11 LT歌舞伎座Tech#2 C++11 LT
歌舞伎座Tech#2 C++11 LT
 
あるmmapの話
あるmmapの話あるmmapの話
あるmmapの話
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
 
Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド -
 
YAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションYAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッション
 

Recently uploaded

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Recently uploaded (12)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Rustを勉強してみた!