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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
condor
November 15, 2016
Technology
0
800
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
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
200
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
340
なぜ今、コスト最適化(倹約)が必要なのか? ~AWSでのコスト最適化の進め方「目的編」~
htan
1
110
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.2k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.3k
データの整合性を保ちたいだけなんだ
shoheimitani
8
2.9k
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
120
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
140
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
330
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
100
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
1
300
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
64
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Speed Design
sergeychernyshev
33
1.5k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
160
The browser strikes back
jonoalderson
0
360
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Paper Plane (Part 1)
katiecoart
PRO
0
4k
sira's awesome portfolio website redesign presentation
elsirapls
0
140
Facilitating Awesome Meetings
lara
57
6.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
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ͱൺΔͱׂͱਖ਼ରͷݴޠ͚ͩͲ ͦΕ͕݁ߏ໘ന͍͔ΒΈΜͳΖ͏Α