$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rust本番投入をあきらめるためのガイドライン
Search
KOBA789
July 04, 2018
Programming
3
7.8k
Rust本番投入をあきらめるためのガイドライン
あきらめないで
(これは
https://d-cube.connpass.com/event/90317/
で発表した際の資料です)
KOBA789
July 04, 2018
Tweet
Share
More Decks by KOBA789
See All by KOBA789
直接メモリアクセス
koba789
0
270
人工衛星のファームウェアをRustで書く理由
koba789
16
9.3k
令和最新版手のひらコンピュータ
koba789
14
8.9k
時の流れが許せない
koba789
0
240
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.6k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.4k
Z80をRustで動かすまで年が越せない
koba789
0
350
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.3k
音をアレする
koba789
0
1k
Other Decks in Programming
See All in Programming
CSC305 Lecture 17
javiergs
PRO
0
320
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
310
20 years of Symfony, what's next?
fabpot
2
330
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
430
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.1k
STYLE
koic
0
110
Microservices rules: What good looks like
cer
PRO
0
1k
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
420
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
190
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
680
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
160
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
130
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
We Have a Design System, Now What?
morganepeng
54
7.9k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Language of Interfaces
destraynor
162
25k
Scaling GitHub
holman
464
140k
Site-Speed That Sticks
csswizardry
13
990
Mobile First: as difficult as doing things right
swwweet
225
10k
Optimizing for Happiness
mojombo
379
70k
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ͷଟॏԽ ߴԽ ʹ͍ͭͯݪཧʹ࣮ʹ ڭՊॻʹॻ͍ͯ͋ΔΑ͏ͳ͜ͱΛͪΌΜͱԡ͑͞Δ