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, in contrast to Ruby
Search
condor
November 15, 2016
Technology
0
720
Rust, in contrast to Ruby
2016/11/15のginza.rbにて発表した時の資料。
condor
November 15, 2016
Tweet
Share
More Decks by condor
See All by condor
RestfulWebService-ginza.rb-20180821
condor
0
24
Other Decks in Technology
See All in Technology
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
550
生成AI時代のデータ基盤
shibuiwilliam
6
3.7k
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
280
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
170
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
200
AI時代にPdMとPMMはどう連携すべきか / PdM–PMM-collaboration-in-AI-era
rakus_dev
0
280
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
550
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
560
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
240
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
590
スプリントレトロスペクティブはチーム観察の宝庫? 〜チームの衝突レベルに合わせたアプローチ仮説!〜
electricsatie
1
160
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
150
Featured
See All Featured
A better future with KSS
kneath
239
17k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Language of Interfaces
destraynor
161
25k
Code Review Best Practice
trishagee
70
19k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
It's Worth the Effort
3n
187
28k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Thoughts on Productivity
jonyablonski
70
4.8k
How to Ace a Technical Interview
jacobian
279
23k
Transcript
3VTUݴޠʹ͍ͭͯ
ࠓ͢͜ͱ w 3VTU͕͍͔ʹ3VCZͱҧ͏͔ w 3VTU໘ന͍Α
ࣗݾհ w !FMDPOEPS w 3BJMTΤϯδχΞ Yͷࠒ͔Β w ͜͜΄΅3BJMT͕ϝγͷछ w
ࠓͷݴޠ3VTUʹ͠·ͨ͠
3VTUͱ
–rust-lang.org (https://www.rust-lang.org/en-US/) “Rust is a systems programming language that runs
blazingly fast, prevents segfaults, and guarantees thread safety. ”
ओཁͳಛ w ڧ͍ܕͷίϯύΠϧܕΦϒδΣΫτࢦݴޠ w ܕ༷ࣜɿOPNJOBMUZQJOH MJLF$ +BWBʜ w ϥϯλΠϜෆཁͷόΠφϦΛग़ྗ
MJLFHPMBOHʜ w $ͱͷߴޓੑ w ίϯύΠϧ࣌ͷਂ͍Ϩϕϧͷߏจݕࠪ
ओཁͳಛ w ΤίγεςϜ w DSBUFJPͱ͍͏αʔϏε w DSBUFͱ3VCZͰ͍͏HFNͷΑ͏ͳͷ w DBSHPͱ͍͏ϢʔςΟϦςΟπʔϧ w
FMJYJSͷNJYʹࣅͯΔɺΑ͏ͳʜ
3VCZͱൺֱͯ͠ w ࣮ߦ༷ࣜͷҧ͍ w ίϯύΠϧWTΠϯλϓϦλ w ϥϯλΠϜෆཁWTϥϯλΠϜඞཁ w ܕ༷ࣜOPNJOBMUZQJOHWTEVDLUZQJOH
3VCZͱൺֱͯ͠ w ਂ͍Ϩϕϧͷߏจݕࠪͷ༗ແ ˠίʔυΛॻ͍͔ͯΒಈ͘·Ͱͷϓϩηεʹࠩ
ίʔυΛॻ͍͔ͯΒಈ͘·Ͱ 3VCZͷ߹ ίʔσΟϯά σόοά 3VTUͷ߹ ίʔσΟϯά σόοά ίϯύΠϥͱ֨ಆ
–elcondor “ʮFinishedʯͱcargoίϚϯυ͕ฦ͖ͬͯͨͳ Βο!ͦͷ࣌εσʹσόοά͋Β͔ͨऴΘͬͯ ͍ΔΜͩο!” ˞༷ͨͩ͠όάআ͘
3VCZͱͷؔ w l5VSCP3BJMTXJUI3VTU IUUQSVCZLBJHJPSHQSFTFOUBUJPOT XZDBUT@DIBODBODPEF
3VCZͱͷؔ w )FMJY3VCZޓϨΠϠʔ w IUUQTHJUIVCDPNSVTUCSJEHFIFMJY
3VCZͱͷؔ w 3VCZͷӨڹ w (VJME
3VCZͷӨڹ https://twitter.com/_ko1/status/773327911118004224
ݴޠ༷ EVDLUZQJOH TUSVDUVSBM UZQJOH OPNJOBMUZQJOH ੩తܕ HPMBOH $ +BWB
3VTU ಈతܕ 1FSM 3VCZ
͖͢ͱࢥͬͨ 3VTUͷಛ
IFBQΛ͋·ΓΘͳ͍ w جຊతʹมTUBDLʹ֬อ w OFXͱ͔΄ͱΜͲ͠ͳ͍ɻͳͥͳΒ༧ΊελοΫʹ ֬อ͞Ε͍ͯΔ͔Β w IFBQʹஔ͘͜ͱͰ͖Δ w #PY
3$ "3$ w ཁૉ͕ಈతͳͷIFBQʹ࣮ମ͕͋ͬͯελοΫ ্͔Βࢀর͢Δܗ 7FD )BTI.BQʜ
͍ w OBUJWFDPNQJMF͢ΔΜ͔ͩΒવ w ͦͦϩʔΧϧมͩͱIFBQΘͳ͍
͞Λࢼ͢ w KTPOΛQBSTF͢ΔϥΠϒϥϦΛ࡞ͬͯΈͨ w 3VCZͷର߅അ+40/ͱPK
݁Ռ ݴޠ ϥΠϒϥϦ ॴཁ࣌ؒ OTFD 3VTU ࣗ࡞QBSTFS 3VCZ PK
+40/
ϕϯνϚʔΫʹ͍ͭͯ w 3VTUඪ४Ͱϕϯνػೳ͕͍͍ͯΔ w ࠓճͷܭଌͰ༻ w ܁Γฦ͠Λదͳճͬͯ͘ΕΔ w ඪ४ภࠩग़Δ
TUSVDUͱUSBJU w TUSVDU w σʔλܕͱৼΔ͍Ληοτʹͨ͠ͷ w ͍ΘΏΔΫϥε w USBJU w
ৼΔ͍ͷఆٛͯ͋͠Δ͕࣮ͳͯ͘ྑ͍ͷ w +BWBͰ͍͏JOUFSGBDF 4XJGUͰ͍͏QSPUPDPM w σϑΥϧτ࣮ఏڙͰ͖Δ
TUSVDUͱUSBJU w TUSVDUܧঝͰ͖ͳ͍ w JOIFSJUBODFΑΓDPNQPTJUFͱ͍͏͜ͱΒ͍͠ w USBJUܧঝͰ͖Δ w TUSVDUαΠζ͕ܾ·͍ͬͯΔ͕USBJUܾ·Β ͳ͍
طଘTUSVDUͷػೳՃ w ৽͍͠USBJUΛ࡞ͬͯͦΕΛಡΈࠐΉ w USBJUଆͰɺطଘΫϥεͰ͋ͬͯɺͦͷUSBJUʹ ४ڌ͘͢ϝιουΛఏڙ͢Δ͜ͱ͕Մೳ w ࣗͷΫϥεطଘUSBJUʹ४ڌͤ͞Δ͜ͱ͕ Ͱ͖Δ w
طଘΫϥεͷطʹ४ڌ͍ͯ͠ΔUSBJU࣮ͷ্ॻ͖ Ͱ͖ͳ͍
طଘTUSVDUͷػೳՃ طଘTUSVDU ࣗݾ࣮TUSVDU طଘUSBJU º ˓ ࣗݾ࣮ USBJU ˓ ˓
طଘTUSVDUͷػೳՃ
USBJU༻্ͷ੍ݶ w มΛUSBJUͰड͚Α͏ͱ͢ΔͱΤϥʔ w ؔͷԾҾϩʔΧϧม w ม͕TUBDLʹ͍Δ͜ͱʹ༝དྷ͢ΔΆ͍ w ݱࡏͷCFUB
Ͱ͏গ͍͘͢͠ͳΔΒ͍͠
Մมੑ w 3VTUͷม௨ৗJNNVUBCMF w NVUBCMFʹ͢ΔʹɺมએݴͰNVUΛ͚ͭΔ w NVUʹɺʮࢦ͍ͯ͠Δ͕มΘΔʯʮࢦͯ͠ ͍ΔมΘΒͳ͍͕ͦͷத͕มΘΔʯͷೋ ͕ͭ͋Δ͕ɺ͍ͣΕNVUͱͯ͠ѻ͏ w
ʮεϨουؒͰ༧֎ͷมԽ͕ʯʹରԠ ͢ΔతͳͷͰ্ه྆ऀͷ۠ผͷඞཁͳ͍
Մมੑ
ύλʔϯϚονϯά w ࠷ۙͷϞμϯͳݴޠʹ͋Δͱ͍͏ΞϨ w 3VTUͰೖͱরձΛಉ࣌ʹͰ͖ΔλΠϓ w &MJYJSͷͦΕͱ͍͔ۙ ˞ݸਓͷײͰ͢
ύλʔϯϚονϯά w ѹతʹFOVNͰ͏ w ࠓͷOVMM҆શFOVNͷύλʔϯϚονϯά Ͱѻ͏ͷ͕3VTUͷྲّྀ w ͷ&JUIFSతͳͷ SZ w
߹Λਚ͍ͯ͘͠ͳ͍ͱίϯύΠϥౖ༷͕ܹ w ྻڍͨ͠Ҏ֎ͷͷͷ߹z@zͰ݅Λड͚Δ
ύλʔϯϚονϯά
ύλʔϯϚονϯά w ྑ͞ w ͢ΜͳΓֻ͚ͯ৺ྑ͍ w ࠓͻͱͭ w ωετ͕࣌ʑࡍݶͳ͘ਂ͘ͳͬͯඍົ w
ύλʔϯϚον͢Δͱωετ֊͕Α͘ਐΉ w ೖΕࢠʹͳΔͱ͞Βʹυϯ
ॴ༗ݖ
–ඇ࣮ࡏঁࢠߴੜɺۙॴͷϚοΫʹͯ l3VTUͷ͜ͱΛޠΔਓɺΈΜͳ ʮॴ༗ݖ͕ΠΠʯͬͯݴ͏ΑͶz
ॴ༗ݖ w 3VTUॳֶऀ͕ίϯύΠϧΛ௨ͤͳ͍ݪҼ w ֶशίετతʹਏ͍ w ׳ΕΔͱͱͯศརɻཧղͯ͠ίʔυΛॻ͚Δ ͱେมؾ࣋ͪྑ͍ɻ
؆୯ͳྫ
आ༻ w ॴ༗͕͋ΔͳΒआ༻͋Δɺͱ͍͏ w ظݶΛͬͨॴ༗ w ظݶʹؔͷείʔϓ ҾͰͷࢀর ·ͨ ϒϩοΫ
आ༻
आ༻ w 3VTUίʔυΛॻ͍͍ͯ͘ͱඞવతʹଟ༻͢Δ w TUSVDUͷϝιουఆٛͰɺΠϯελϯεϝιο υͳΒୈҰҾTFMG w ͜Εͬͯआ༻͡ΌΜ
ॴ༗ݖ w εϨουͷத·Ͱਫ਼ࠪͯ͠ΤϥʔΛ ग़ͯ͘͠ΕΔ
ॴ༗ݖ w ฒߦॲཧ࣮࣌ʹҖྗΛൃش w Ͱશ෦ͷόάΛ͛ΔΘ͚Ͱͳ͍ w σουϩοΫ w ༷όH SZ
$ͱͷ࿈ܞ w ׂͱָ w $Λݺͼग़͢TIBSFEMJCSBSZΛϦϯΫ͢Ε0, w $͔Βݺͼग़͞ΕΔؔʹଐੑOP@NBOHMFΛ͚ͭͯ Ϗϧυ w HPMBOHͱҧ͍ɺϔομϑΝΠϧ࡞Εͳ͍
w ϚΫϩવαϙʔτ֎ ˠ$ޓϨΠϠͰٵऩ͢Δ͔͠
$ͱͷ࿈ܞ w $ͷؔVOTBGFϒϩοΫͰғΉඞཁ͕͋Δ w VOTBGFͳॴΛ༰қʹಛఆՄೳͰศར w ғ·ͳ͍ͱίϯύΠϥʹౖΒΕΔ w $ͱ࿈ܞͰ͖Δ͕ɺ$Λ͏ͷΛ࠷ݶʹ ͠Α͏ɺͱ͍͏ؾʹͳΔΈ
αϯϓϧίʔυ
ݸਓͷײ w 3VTUΛͬͯɺීஈ3VCZͰίʔυΛॻ͍͍ͯΔ ͱҙࣝ͠ͳ͍͜ͱʹ͍ͭͯͷݟΛಘͨ w Ͳ͏ͤίϯύΠϧݴޠͰ͋Ε͜͜·ͰνΣο Ϋͯ͠΄͍͠ΑͶɺͱ͍͏͜ͱ͕͖ͪΜͱνΣο Ϋ͞Ε͍ͯΔ w ૣ͘QSPEVDUJPODPEFॻ͖͍ͨ
·ͱΊ w 3VTU3VCZͱൺΔͱׂͱਖ਼ରͷݴޠ͚ͩͲ ͦΕ͕݁ߏ໘ന͍͔ΒΈΜͳΖ͏Α