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
人工衛星のファームウェアをRustで書く理由
koba789
16
9k
令和最新版手のひらコンピュータ
koba789
14
8.7k
時の流れが許せない
koba789
0
220
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.5k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.4k
Z80をRustで動かすまで年が越せない
koba789
0
330
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.3k
音をアレする
koba789
0
1k
メガネとBluetooth Low Energyでお喋りする
koba789
0
1.6k
Other Decks in Programming
See All in Programming
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
2
860
Cursorハンズオン実践!
eltociear
2
1.1k
CSC305 Lecture 08
javiergs
PRO
0
200
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
400
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
0
110
Swift Concurrency - 状態監視の罠
objectiveaudio
2
520
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
170
What's new in Spring Modulith?
olivergierke
1
150
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
430
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
CSC509 Lecture 05
javiergs
PRO
0
300
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Thoughts on Productivity
jonyablonski
70
4.9k
Producing Creativity
orderedlist
PRO
347
40k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
The Cost Of JavaScript in 2023
addyosmani
55
9k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Embracing the Ebb and Flow
colly
88
4.8k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Being A Developer After 40
akosma
91
590k
Unsuck your backbone
ammeep
671
58k
Optimizing for Happiness
mojombo
379
70k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
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ͷଟॏԽ ߴԽ ʹ͍ͭͯݪཧʹ࣮ʹ ڭՊॻʹॻ͍ͯ͋ΔΑ͏ͳ͜ͱΛͪΌΜͱԡ͑͞Δ