Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ポイントで導入するRust
Search
Kazushige Tominaga
July 03, 2018
Programming
8.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ポイントで導入するRust
Running Rust in Production(
https://d-cube.connpass.com/event/90317/
)発表資料です
Kazushige Tominaga
July 03, 2018
More Decks by Kazushige Tominaga
See All by Kazushige Tominaga
スタディサプリのInternal Platform開発
kazu9su
0
3.6k
[スタディサプリ] Railsアプリケーションのモジュールとして存在していた Darklaunch (Feature Toggles) を Goアプリケーションとしてフルスクラッチでマイクロサービス化した話
kazu9su
0
5.2k
ExplorTechToronto20191016.pdf
kazu9su
0
91
キャッシュ安心戦略 with Feature Toggles
kazu9su
0
590
ebisurb20180724.pdf
kazu9su
1
270
How to contribute to OSS with test
kazu9su
0
400
プログラミング言語入門Vim編
kazu9su
1
380
プログラミング言語入門
kazu9su
1
2.9k
ebisurb15
kazu9su
0
65
Other Decks in Programming
See All in Programming
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
910
SODA - FACT BOOK(EN)
sodainc
1
210
オーケストレーション記述言語 Katari
yukikurage
0
230
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
410
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
220
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.2k
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
410
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
290
GraphQL の onError と Nullability のこれから
quramy
0
210
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
530
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
110
LLM 101
dalinaum
0
470
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Amusing Abliteration
ianozsvald
1
380
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
740
Game over? The fight for quality and originality in the time of robots
wayneb77
1
330
Un-Boring Meetings
codingconduct
0
490
Leo the Paperboy
mayatellez
10
2.4k
A Tale of Four Properties
chriscoyier
163
24k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
600
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
570
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
New Earth Scene 8
popppiees
4
2.8k
Statistics for Hackers
jakevdp
799
230k
Transcript
ϙΠϯτͰಋೖ͢Δ3VTU
2 ࣗ ݾ հ Fablic, inc. —> Rakuten, inc.
Software Engineer 5PNNZ @tooooooooomy
3 ࣍ • RustΛ͓͏ͱࢥͬͨཧ༝ • RustΛ͏४උ • Rustಋೖͷ͖͔͚ͬ •
ӡ༻ͱͦͷޙ • ͓·͚
3VTUΛ͓͏ͱࢥͬͨཧ༝
5 ɾຖҰͭͷݴޠΛֶश
6
7 ·ͱʹͬͨ͜ͱͷ͋Δݴޠ(࣌) • PHP • JavaScript • Perl • Ocaml(ϓϩάϥϛϯάͷجૅݺΜͩఔ)
• C(େֶͱ͔K&RͰͪΐΖͬͱ)
8 ͬͨ͜ͱͷ͋Δݴޠ • PHP • JavaScript • Perl • C(େֶͳͲͰͪΐΖͬͱ)
৽͍͜͠ͱ͕͍ͨ͠ʂ
9
10 (PͳΒ͜ͷઌࣄͰ͏͜ͱ͋Γͦ͏ͩͳʜ
11 (PͳΒ͜ͷઌࣄͰ͏͜ͱ͋Γͦ͏ͩͳʜ ϗϯτ͔ʁ
12 ࣌ɹɹɹ΄͛
3VTUΛ͏४උ
14 ४උʁ
15 https://doc.rust-lang.org/book/second-edition/index.html
16 ϑϜϑϜͳΔ΄ͲʜҎ্ͷײ͕ग़ͳ͍
17 ಈ͘ͷ͕࡞Γ͍ͨ
18 https://kazu9su.com/football-matome • Α͋͘Δ2ch·ͱΊ • αʔόʔαΠυ: Rust • ΫϥΠΞϯτ: React
+ Redux
19 RustͰ͍ͬͯΔ͜ͱ • xmlΛऔ͖ͬͯͯDBʹอଘ • JSONΛग़ྗɹ
20 RustͰ͍ͬͯΔ͜ͱ • xmlΛऔ͖ͬͯͯDBʹอଘ • JSONΛग़ྗɹ ීஈ͍ͬͯΔͷͰΠϝʔδͰ͖Δ
21 https://github.com/kazu9su/football-matome • Libraries • Web framework • nickel •
ORM and Query Builder • diesel • Http client(and server) • hyper • Mocking • mockito
22 https://github.com/kazu9su/football-matome • Libraries • Web framework • nickel •
ORM and Query Builder • diesel • Http client(and server) • hyper • Mocking • mockito ࣮Λҙࣝ͢Ε͍͍͚ͩͷ ϥΠϒϥϦ͢Ͱʹ༻ҙ͞Ε͍ͯΔ
23 ศར
3VTUಋೖͷ͖͔͚ͬ
25 • ϥΫϚ։ൃνʔϜͰɺࣗಈԽΛଅਐ͍ͯ͠·͢ • ͕Joinͨ࣌͠(1લ)νʔϜͷਓ͕େ͖͘มΘΓ ࢝Ί͓ͯΓɺࣗಈԽͷػӡ͕ߴ͘ͳ͖͍ͬͯͯͨ
26 • ࣾΞϓϦڞ௨ͷϥΠϒϥϦͱ͍ͯͬͯ͠ΔͷͷσϓϩΠϑϩʔ
27 • ࣾΞϓϦڞ௨ͷϥΠϒϥϦͱ͍ͯͬͯ͠ΔͷͷσϓϩΠϑϩʔ
28 • ࣾΞϓϦڞ௨ͷϥΠϒϥϦͱ͍ͯͬͯ͠ΔͷͷσϓϩΠϑϩʔ 1SPCMFN
29 • λά࡞εΫϦϓτʹRubyΛ༻͍ͯͨͨ͠ΊɺHeroku্Ͱ bundle install͍ͯͨ͠ • ຖճ2͘Β͍͔͔͍ͬͯͨ
30 • λά࡞εΫϦϓτʹRubyΛ༻͍ͯͨͨ͠ΊɺHeroku্Ͱ bundle install͍ͯͨ͠ • ຖճ2͘Β͍͔͔͍ͬͯͨ ࣗಈԽͷҙຯͶ͑
31 • ͦΜͳં
32 • ͦΜͳં
33 3VTUͷػӡ
ӡ༻ͱͦͷޙ
35 ಋೖޙ
36 ແࣄॳͷղܾ͞Εͨ
37 ͔͠͠…
38 3VTUΛॻ͚Δਓ͕͔͍͠ͳ͍ͱ͍͏͜ͱ͕ʹʜ
39
40 ͳΒͳ͔ͬͨ
41
42 ͜Εʹؔͯ͠νʔϜϝϯόʔͷ͓͔͛ͳͷͰײँ͔͠ͳ͍Ͱ͢
43 ਅͷΫϩείϯύΠϧ
44 ͦΕҎ߱मਖ਼ͱ͔ͳͯ͘·ͩղܾͯ͠ͳ͍Ͱ͢ɻ νʔϜͱͯ͠ӡ༻͍ͯ͘͜͠ͱΛߟ͑ΔͱϚετͳͷͰɺলʜ
45 ·ͱΊ • ͕ࣗखΛಈ͔ͯ͠Πϝʔδ͕Ͱ͖ΔͷͰ࿅श͢Δͱศར • ͷ߹؆ૉͳWebαʔϏε • ৽͍͠ڥͷ߹ɺ৽͍͜͠ͱΛ͢Δνϟϯε • ࣗಈԽͳͲɺࣄۀυϝΠϯʹ͋·Γؔͷͳ͍ͱ͜ΖΛΒͤͯΒ͑Δνϟϯε͕ଟ͍
• Rust͑Δ͜ͱΛΞϐʔϧ͍ͯͨ͠ͷͰϝϯόʔ͔ΒੵۃతʹಋೖΛࢧԉͯ͠Βͬͨ • ෆ۩߹͕ى͖ͨΒࣗʹͤΖελΠϧͰͬͯ͠·͏ͷ݁ߏ͋Γͩͱࢥ͏ • ͦͷޙͷέΞΛΔͷͱηοτ • νʔϜͷջͷਂ͞ͱ৽͍ٕ͠ज़ͷಋೖʹର͢Δཧղ • ʹίϯτϩʔϧͰ͖Δͱ͜ΖͰͳ͍ͷͰɺվΊͯνʔϜϝϯόʔʹײँ
͓·͚
3VTU5FTUUJQT
48 σϑΥϧτͰϚϧνεϨου࣮ߦ͞ΕΔ • DBͳͲΛͬͨςετͱ૬ੑѱ͍ • ࣮࣭తʹWebαʔϏεͰ͏߹ $cargo test -- —test-threads=1
͕σϑΥʹͳΔ͔
49 Private methodͷςετಉϑΝΠϧʹॻ͘ • ༰қʹςετͰϑΝΠϧߦ͕૿Ճ͍ͯ͘͠ͷͰݸਓతʹ͚ͯॻ͖͔ͨͬͨ • PrivateͳϝιουʹͦͷϑΝΠϧ͔Β͔͠ΞΫηεͰ͖ͳ͍ͱ͍͏ͷɺݴΘΕͯΈ ΕҰͭͷ͑ͳؾͨ͠ • ͋ͱͦΕͰߦ͕૿͑ͯݟ௨͕͠ѱ͘ͳͬͨΒઃܭΛݟͤͱ͍͏͜ͱ͔ͳͱਪଌ
50 Mocking Library Mockitoͷ༷ • Javaͷಉ໊ϥΠϒϥϦͷΠϯεύΠΞʁ(ਅِෆ໌) • ༷ॻಡΊॻ͍ͯ·͕͢ɺϩʔΧϧϚγϯ্ͰHTTPαʔόΛ্ཱͪ͛Δͱ͍͏ͷ • ίʔυͰࢦఆͯ͠ΔURLͰΞΫηε͢ΔઌΛMockitoͰ্ཱͪ͛ͨαʔόʔʹ͚ΔΠϝʔδ
• ීஈPHPͱ͔RubyͰΠϝʔδͯ͠Δͷͱҧ͏ͷͰݴٴͯ͠Έͨ
͞Βʹ͓·͚
52 ஔ͖͑ݩ(Ruby)ͱஔ͖͑ઌ(Rust)ͷൺֱ https://speakerdeck.com/kazu9su/wen-zi-lie-cao-zuo-nijian-rurubytorustfalsebi-jiao-wen-zi- lie-cao-zuo-nijian-rurubytorustfalsebi-jiao
53 3BLVUFOͰ<ΤϯδχΞ>Λੵۃ࠾༻தʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠