Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Rust本番投入をあきらめるためのガイドライン
KOBA789
July 04, 2018
Programming
3
6.3k
Rust本番投入をあきらめるためのガイドライン
あきらめないで
(これは
https://d-cube.connpass.com/event/90317/
で発表した際の資料です)
KOBA789
July 04, 2018
Tweet
Share
More Decks by KOBA789
See All by KOBA789
メガネとBluetooth Low Energyでお喋りする
koba789
0
970
Rustでon-diskなB+Treeを作ったときの細かな話
koba789
10
970
音の出るCPUを作っている途中
koba789
5
3.8k
自宅サーバーでbottlerocketを動かしてk8sクラスタを組む
koba789
0
890
へんなOSを自宅で使う
koba789
0
76
Keyboard Firmware in Rust
koba789
0
440
Rubyの会社でRustを書くということ
koba789
3
2.4k
非同期ジョブと仲良くする
koba789
4
1.2k
Rustで正規表現エンジンっぽいのをアレした話
koba789
0
170
Other Decks in Programming
See All in Programming
Jakarta EE 10 is Coming Your Way
ivargrimstad
0
2.1k
TDX22: User-Mode DB Ops
ca_peterson
3
1.1k
Android Architecture Design With Koin
agiuliani
0
210
You CANt teach an old dog new tricks
michaelbukachi
0
110
実録mruby組み込み体験
coe401_
0
100
tfcon2022_Web3Dひとめぐり.pdf
emadurandal
0
750
競プロへの誘 -いざな-
u76ner
0
330
Go API クライアントの実装 〜Go Conference に載せれなかったTIPS〜
yyoshiki41
0
190
Milestoner
bkuhlmann
1
200
Kotlin KSP - Intro
taehwandev
1
460
Yumemi.apk #6 ~ゆめみのAndroidエンジニア 日頃の成果大発表会!~ Session 2
blendthink
1
200
クリエイティブ系のウェブサイト制作で役立つCSS技法 / CSS for develop creative website
clockmaker
2
1.3k
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
310
33k
Web development in the modern age
philhawksworth
197
9.3k
KATA
mclloyd
7
8.6k
Writing Fast Ruby
sferik
612
57k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
We Have a Design System, Now What?
morganepeng
35
2.9k
Building Adaptive Systems
keathley
25
1.1k
Clear Off the Table
cherdarchuk
79
280k
Debugging Ruby Performance
tmm1
65
10k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
Design by the Numbers
sachag
271
17k
What’s in a name? Adding method to the madness
productmarketing
11
1.5k
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ͷଟॏԽ ߴԽ ʹ͍ͭͯݪཧʹ࣮ʹ ڭՊॻʹॻ͍ͯ͋ΔΑ͏ͳ͜ͱΛͪΌΜͱԡ͑͞Δ