Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rustを布教したい
Search
noharu36
December 01, 2025
Programming
0
16
Rustを布教したい
noharu36
December 01, 2025
Tweet
Share
More Decks by noharu36
See All by noharu36
検証!会津は本当に地盤が硬いのか?
noharu36
0
13
自作オブジェクトストレージをRustで
noharu36
0
35
ファミコンに思いを馳せる〜エミュレータ自作を添えて〜
noharu36
0
15
shell自作した話
noharu36
0
21
neofetchよ、永遠に
noharu36
0
19
ISSの軌道計算をRustで
noharu36
0
17
Other Decks in Programming
See All in Programming
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
170
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
190
Fluid Templating in TYPO3 14
s2b
0
130
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
590
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
220
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
270
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
高速開発のためのコード整理術
sutetotanuki
1
400
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Raku Raku Notion 20260128
hareyakayuruyaka
0
340
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
380
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
Rustを布教したい (来年も)学部2年 harukun
自己紹介 { name: 能島明希 handle: harukun origin: 広島->岡山->大阪->東京->会津 tech: {
front-end: React+TS backend: Rust, Go etc: Rust, Haskell Rust: Rust } favorites: Game, Tobacco, BoyScout, Rust, Neovim Twitter(x): https://twitter.com/pieceofharuki Blog: https://zenn.dev/haru_blog }
Rust書いたこと、ありますよね???
簡単な説明 Rustとは Rustは、Mozillaが開発したオープンソースのプログラミング言語です。 • 安全性: Rustは、メモリ安全性を保証する独自のメモリモデルを持っています。これにより、セグメンテーション フォルトやバッファオーバーフローなどのメモリ関連のバグを防ぐことができます。 • 高速性: Rustは、ゼロコスト抽象化と呼ばれる手法により、高性能なコードを生成することができます。
• 並行性: Rustは、並行プログラミングをサポートする機能が充実しています。これにより、マルチコアプロセッサを フル活用することができます。 By Gemini ※補足 静的型付け、式ベース、手続型・関数型(オブジェクト指向)、Cよりも安全でCと同じくらい早い
いいところ • 所有権 • 型システム • パターンマッチ • エコシステム(Cargo)
所有権 メモリの安全性を保証するための Rustの大きな特徴の一つ • 各値は所有者と呼ばれる変数と対応する (値を束縛する、という) • 一度に存在できる所有者は一つだけ( let s2
= s1で、メモリを2倍消費することがない) • 所有者がスコープを外れると値は破棄される • 所有権を移動させずに値にアクセスするために参照・借用を使う(関数の引数に参照をとることを借用と いう) • 可変参照はスコープ内で一つだけという制約がある
None
型システム • 強い静的型付け(制約が強い) さっきの参照も全て別の型として区別される (self, &self, mut self, &mut self
…) • 豊富な型 ex. enum, Option Result, • 強力な型推論 • Trait
Trait • Haskellでいう型クラス • 型に対して共通の振る舞いを定義できる • ジェネリクスに対して指定できる • ジェネリクスに対して実装できる(プリミティブ型含む)
None
パターンマッチ
Cargo べんり
Rustのキショいコードをみてニヤニヤしようの会
aの型はユニット ()←これ => 式ベースなので、{let b = 1}というブロックも()という値を返す c = 1という代入も式なので、aと同じ型(ユニット)になる aにc=1を代入できる
aの型はなんでしょう?
実行結果はどうなるでしょう? 結果 1, 11, 2, 12, 3, 13, 4, 14,
5, 15 mapが内部で処理の中間状態を表すMap構造体を作成して いる Mapを生成する時にMap::new(self, f)のようにselfを巻き込む ため、mapを2回呼び出すと再起的な構造になる ちなみにmapはイテレータを生成するだけなので計算は collect()を読んだ時に行われる(遅延評価)
このコード、動くかな? 関数(クロージャ)にも型があるよ でもそれはコンパイル時に内部的に作られるものだから人間には扱えないよ だからクロージャを扱うための Traitが生えてるよ! …なら、ジェネリクスな型にTraitを実装する時に制約として使えるはずだよ ね???
さらに進化させてみたよ 任意の数値型を受け取って2倍する関数 double 定義したTraitは、任意の数値型を受け取って implで実装す るOutputを返すよ 型パズルをコネコネすると、任意の数値型を受け取って2倍 する関数が作れたよ(なお実用性)
結論 みんなRustかこう!!!!!!! Traitを極めるとこんなコードをかけるよ