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
KOBA789
July 04, 2018
Programming
3
7.7k
Rust本番投入をあきらめるためのガイドライン
あきらめないで
(これは
https://d-cube.connpass.com/event/90317/
で発表した際の資料です)
KOBA789
July 04, 2018
Tweet
Share
More Decks by KOBA789
See All by KOBA789
時の流れが許せない
koba789
0
66
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.3k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.3k
Z80をRustで動かすまで年が越せない
koba789
0
210
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.2k
音をアレする
koba789
0
920
メガネとBluetooth Low Energyでお喋りする
koba789
0
1.6k
Rustでon-diskなB+Treeを作ったときの細かな話
koba789
11
1.9k
音の出るCPUを作っている途中
koba789
5
4.7k
Other Decks in Programming
See All in Programming
新世界の理解
koriym
0
130
Workers を定期実行する方法は一つじゃない
rokuosan
0
140
iOS開発スターターキットの作り方
akidon0000
0
230
知って得する@cloudflare_vite-pluginのあれこれ
chimame
1
140
実践 Dev Containers × Claude Code
touyu
1
120
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
1.9k
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
350
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
5
750
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
36
11k
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.5k
MCPで実現できる、Webサービス利用体験について
syumai
7
2.4k
AIのメモリー
watany
12
1.2k
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
3.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Code Reviewing Like a Champion
maltzj
524
40k
Statistics for Hackers
jakevdp
799
220k
Java REST API Framework Comparison - PWX 2021
mraible
32
8.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Designing for Performance
lara
610
69k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Transcript
Rustຊ൪ೖΛ ͖͋ΒΊΔͨΊͷ ΨΠυϥΠϯ KOBA789
KOBA789 ΫοΫύουגࣜձࣾ ΠϯϑϥετϥΫνϟʔ෦ σʔλج൫άϧʔϓ 20172݄ʹେֶΛதୀͯ͠ೖࣾ ϓογϡ௨ͷ৴ج൫Ͱ RustΛຊ൪ೖ ͱͱJavaScriptͷਓ(13)
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ˞ࠓϞώΧϯͰ ͍͖·͢
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ࠓ͞ͳ͍͜ͱ wਓؒͷઆಘ wݴޠ༷ wࡉ͔͍πʔϧ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ࠓ͢͜ͱ wRustͷຊ൪ೖͷ ϋʔυϧԿ͔ wͲͷΑ͏ʹͦͷ ϋʔυϧΛ͑Δ͔
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ϋʔυϧΛ໌Β͔ʹ͍ͯ͘͠ͷͰ ͥͻఘΊ͍ͯͩ͘͞
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ͳͥ3VTUΛ ͍͍ͨͷ͔
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ੑೳ ҆શੑ ੜ࢈ੑ झຯ ࠾༻ใ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ͳͥRustΛ ͑ͨͷ͔
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ฐࣾͷίϯςφج൫ ຕఆٛϑΝΠϧΛॻ͍ͯɺ ϦϙδτϦʹ13Λ͛Δͱɺ σϓϩΠͰ͖Δ Hako DockerͰଈドーン ΤϯδχΞͳΒ୭Ͱ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ݪཧతʹ ҙͷମ͕ಈ͘
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 Ͱ͜Ε͚ͩͰ ӡ༻ՄೳʹͳΔΘ͚͡Όͳ͍ %PDLFSͰυʔϯ͘Β͍ࠓͲ͖ͲͷձࣾͰͰ͖ΔͰ͠ΐ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 Rust࠾༻ͷ͠͞
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 Rust࠾༻ͷ͠͞ Rustಛ༗ͷ͠͞ ৽͍͕͠ނͷ͠͞
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 Rust࠾༻ͷ͠͞ Rustಛ༗ͷ͠͞ ৽͍͕͠ނͷ͠͞ Lifetime Trait etc
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 Rust࠾༻ͷ͠͞ ৽͍͕͠ނͷ͠͞
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 2৽͍͠ͱͳ͍͔ͥ͠ "ਅࣅͰ͝·͔ͤͳ͍͔Β
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ਅࣅͰ͝·͔ͤͳ͍ͱ͖ جૅݪཧʹཔΔ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ׳ΕͯΔγεςϜɾݴޠͱͷ ҧ͍Λೝࣝ͢Δ ྫ͑
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 Ruby Rust ྫ͑
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 w ϥϯλΠϜ ΄΅ ͳ͠Ͱಈ͘ͱͲ͏͍͏͜ͱ͔ w ຊ൪ͰΫϥογϡͨ͠ͱ͖ίΞμϯϓΛಡΉ͔ w ࣮ߦ࣌ʹ$1604ΛӅณ͠ͳ͍
w $1604ͷ͕ࣝͳ͍ͱτϥϒϧγϡʔςΟϯά͕ ͱͯࠔʹͳΔ͔ εΫϦϓτݴޠͷܦݧ͔͠ͳ͍ͱ ϋʔυϧʹͳΓ͑Δ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ӡ༻্ඞཁͳػೳΛ ཧ͢Δ ྫ͑
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 w ϩΪϯά w దͳϩΨʔϥΠϒϥϦ͋Δ͔ w ࢲࣗ࡞͠·ͨ͠ w ΤϥʔϋϯυϦϯάͱτϨʔαϏϦςΟ
w ൃͱͳͬͨΤϥʔͱͦͷΛ͑ͳ͍ͱΩπ͍ ωοτϫʔΫϓϩτίϧΛΔ σʔϞϯͷ߹
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 w HSBDFGVMTIVUEPXO w ඞཁͳΒ࣮Λߟ͑ͳ͍ͱͶ w γάφϧͷϋϯυϦϯά w γεςϜίʔϧͰϒϩοΫͯ͠Δͱ͖ʹ4*(*/5ඈΜͰ
͖ͨΒͲ͏͢Δ w -JOVYϓϩάϥϛϯάͷڭՊॻΛ͓ΉΖʹऔΓग़͢ ωοτϫʔΫϓϩτίϧΛΔ σʔϞϯͷ߹
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ϑϨʔϜϫʔΫͷ σϑΝΫτελϯμʔυ͕ ͳ͍ ׂͱࠔΓ͕ͪ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ඞཁͳγεςϜͷઃܭΛ θϩ͔Βى͜͢ඞཁ͕͋Δ ͭ·Γ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 w 3VTUͷݴޠػೳΛ׆͔ͨ͠ઃܭͱ w Ϟδϡʔϧׂͷ୯ҐͲ͏͢Δ͔ w τϨΠτΛ༻͍ͨ%*Λ࡞ͬͯΈΔͱ͔ ઃܭͷΰʔϧΛܾΊɺ ஸೡʹτϨʔυΦϑΛબ͍ͯ͘͠
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 w εϨουͱΠϕϯτϧʔϓͷ͍͚ w ฒྻܭࢉΛ͍ͨ͠ͷ͔ɺ *0ΛଟॏԽ͍ͨ͠ͷ͔ w εϧʔϓοτΛ্͍͛ͨͷ͔ɺ ϨΠςϯγΛΓ͍ͨͷ͔
04ͷڭՊॻͳͲΛҾͬுΓग़ͦ͏
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 ίϯϐϡʔλαΠΤϯε ιϑτΣΞΤϯδχΞϦϯάͷ ීวతͳ͕ࣝຯํʹͳΔ ·͊ԶେֶதୀͳΜͰ͚͢Ͳ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 Έͳ͞ΜఘΊ ͖ͭ·͔ͨ͠
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 Կ͘͠ͳ͍Ͱ͢Ͷ
Ғͦ͏ʹ͍ͬͯ·͢ KOBA789 3VTUͷຊ൪ಋೖ͕ͳ͍͔ͥ͠ˠ3VTU͕৽͍͠ͷ͔ͩΒ ৽͍͠ͱͳ͍͔ͥ͠ˠਅࣅͰ͝·͔ͤͳ͍͔Β ਅࣅͰ͝·͔ͤͳ͍ͳΒͲ͏͢Δ͔ˠجૅݪཧʹཔΔ ԶͲ͏͔ͨ͠ طଘͷγεςϜɾݴޠͱͷҧ͍Λ֬ೝͨ͠ ͦͷաఔͰɺඞཁͳٕࣝज़Λशಘͨ͠ ӡ༻্ඞཁͳػೳΛཧͨ͠ ܦݧ͔Βɺӡ༻ͰҰൠʹඞཁͱͳΔػೳΛྻڍͨ͠
ඞཁͳͷ͕ଗ͍ͬͯΔ͔֬ೝ͠ɺͳ͚Ε։ൃͨ͠ ϑϨʔϜϫʔΫ͕ͳ͍ͷͰɺஸೡʹઃܭΛ͢Δ ઃܭͷΰʔϧΛܾΊɺτϨʔυΦϑΛબ͍ͯͬͨ͠ *0ͷଟॏԽ ߴԽ ʹ͍ͭͯݪཧʹ࣮ʹ ڭՊॻʹॻ͍ͯ͋ΔΑ͏ͳ͜ͱΛͪΌΜͱԡ͑͞Δ