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
Python、ときどきRust
Search
abenben
August 29, 2020
Technology
2
3.8k
Python、ときどきRust
2020年8月29日の「Python JP 2020」で発表したスライドです。
https://pycon.jp/2020/timetable/?id=203945
abenben
August 29, 2020
Tweet
Share
More Decks by abenben
See All by abenben
AIにはできない〜限界と可能性を正しく理解し、未来を共創する〜
abenben
0
100
知能とはなにか ヒトとAIのあいだ〜人間の脳と生成AIの現実シミュレーションの比較
abenben
0
93
生成AI時代のPythonセキュリティとガバナンス
abenben
0
220
GeminiとNotebookLMによる金融実務の業務革新
abenben
1
390
伝わるコードレビュー
abenben
2
500
GX推進による好循環な地域金融
abenben
1
150
Web3概略:手早く把握
abenben
2
1.6k
Web3とNFTの教科書
abenben
1
450
各種生成AIについて
abenben
3
1.7k
Other Decks in Technology
See All in Technology
20251225_たのしい出張報告&IgniteRecap!
ponponmikankan
0
110
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
310
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
280
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
170
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
190
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
600
コールドスタンバイ構成でCDは可能か
hiramax
0
130
製造業から学んだ「本質を守り現場に合わせるアジャイル実践」
kamitokusari
0
490
Next.js 16の新機能 Cache Components について
sutetotanuki
0
220
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
74
Prompt Engineering for Job Search
mfonobong
0
140
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
A designer walks into a library…
pauljervisheath
210
24k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
76
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
82
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
74
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
1ZUIPOɺ ͱ͖Ͳ͖ 3VTU 1Z$PO+1ʢʣ Ѩ෦Ұʢ͋ΜΜʣ
n ւಓʢখʣੜ·Ε n *OTUJUVUJPOGPSB(MPCBM4PDJFUZʢ*(4ʣגࣜձࣾ ্੮ݚڀһ n ϏδωεϞσϧΠϊϕʔγϣϯڠձʢ#.*"ʣ ೝఆδϡχΞίϯαϧλϯτ n ࣗࢄࣾձϑΥʔϥϜ
%"4'ʣձһ ࣄ ɾڭҭɺ)3͚ϒϩοΫνΣʔϯͷݚڀ։ൃ ͍ΖΜͳ׆ಈ ɾاۀؒίϛϡχέʔλʔɺδΣωϨʔλʔ ɾίϛϡχςΟӡӦ ʢ4UBSU1ZUIPO$MVCɺGJOQZɺ 76$"-BCPɺ ۚ༥ΤϯδχΞཆίϛϡχςΟɺ 95FDI +"84ɺ'JO+"84ɺGPVOE *5QSPKFDUɺദͷ༿ˍͭ͘ϏοτίΠϯʣ ɾΠϕϯτͷاը ɾ*5ؔ࿈ॻ੶ͷࣥචɺ༁ɺमɺࠪಡ 5XJUUFSɿ!BCFOCFO (JU)VCɿ!BCFOCFO ϒϩά OPUFhttps://note.com/abenben ͓·͑୭Α
ςΫϊϩδʔͱਓʑͱͷܨ͕ΓͰࣾձ՝Λղܾ͍ͨ͠ https://www3.nhk.or.jp/news/html/20200816/k10012569481000.html
ҙࣄ߲ ຊࢿྉͷ༰શͯஶऀݸਓʹؼ͢ΔͷͰ͋Γɺॴଐ͢ΔػؔͷݟղΛөͨ͠ͷͰ͋Γ·ͤΜɻ
ϒϩοΫνΣʔϯͰ 3VTUͷ͕ߴ·͍ͬͯΔ Ϟνϕʔγϣϯ wେ͖ͳΠʔαϦΞϜͷߟҊऀ ϰΟλϦοΫɾϒςϦϯ͕1ZUIPOJTUBͰ͋Δɻ イーサリアム wϰΟλϦοΫ͕ߟҊͨ͠εϚʔτίϯτϥΫτʮ7ZQFSʯɺ1ZUIPOͰ࣮͞ Ε͍͕ͯͨॏେͳ͕͓͖ͯ3VTUʹҠߦ͞Ε͍ͯΔɻ スマートコントラクト w-JCSBʢϦϒϥʣ
4PMBOBʢιϥφʣͳͲͷεϚʔτίϯτϥΫτ3VTUϕʔε Ͱ࣮ɾ։ൃ͞Ε͍ͯΔɻ パブリックブロックチェーン
ࠓͷ͓ • 1ZUIPOݴޠ༷ʹ͍ͭͯ • 3VTUʹ͍ͭͯ • 1ZUIPO㱻3VTUؒͰͷݺͼग़͠ʹ͍ͭͯ • ੑೳʹ͍ͭͯ
1ZUIPOݴޠ༷ʹ͍ͭͯ
l1ZUIPOzݴޠ༷ • 1ZUIPOݴޠ༷ͷ͜ͱͰɺ͍Ζ͍ΖͳϓϩάϥϛϯάݴޠͰ ࣮͞Ε͍ͯΔɻ • ීஈɺΈΜͳ͕ͬͯΔͷɺ$ݴޠͰ࣮͞Εͨ$1ZUIPOͰ͋Δɻ • ͦΕҎ֎ʹɺෳͷݴޠͰ࣮͞Ε͍ͯΔɻ $1ZUIPO $ݴޠͰ࣮ɺΈΜͳ͕ͬͯΔͷ͜Ε
+ZUIPO KBWBͷ+7. *SPO1ZUIPO /&5'SBNFXPSLPS.POP 1Z1Z શʹ1ZUIPOͰॻ͔Εͨ1ZUIPOͷ࣮ .JDSP1ZUIPO ͜Ε$ݴޠͰ࣮͞Ε͍ͯΔ͕ɺ1ZUIPOϓϩάϥϛϯ άݴޠΛίϯύΫτ͔ͭޮతʹ࣮ͨ͠ͷ $-1ZUIPO $PNNPO-JTQͰ࣮ ͦͷଞ
1ZUIPOάϧʔݴޠ 1ZUIPOʮखଓ͖ʯͱʮखଓ͖ʯΛͭͳ͛Δ ކ͚ʢάϧʔɿ(MVFʣݴޠͱͯ͠ར༻͞Εͨͷ͕ɺ ਓؾେ͖ͳൃలʹܨ͕͍ͬͯΔɻ
1ZUIPOΛߴԽ͢Δํ๏
3VTUʹ͍ͭͯ
ʹϦϦʔε͞Εͨ ΘΓͱ৽͍͠ϓϩάϥϛϯάݴޠ .P[JMMB"84ɺ .JDSPTPGU"[VSFͳͲ͕ࢧԉ ҆શͳϓϩάϥϛϯάݴޠ ͱͯ͠ 3VTUͱ
࿈ଓͰ࠷Ѫ͞Εͨݴޠ https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages
3VTUͷಛ https://www.rust-lang.org/ja w3VTUඇৗʹߴͰϝϞϦޮ͕ߴ͘ϥϯλΠϜΨϕʔδίϨΫλ͕ͳ͍ ͨΊɺύϑΥʔϚϯεॏࢹͷαʔϏεΛ࣮Ͱ͖·͢͠ɺࠐΈػث্Ͱ࣮ ߦͨ͠Γଞͷݴޠͱͷௐ؆୯ʹͰ͖·͢ɻ ύϑΥʔϚϯε w3VTUͷ๛͔ͳܕγεςϜͱॴ༗ݖϞσϧʹΑΓϝϞϦ҆શੑͱεϨου҆શ ੑ͕อূ͞Ε·͢ɻ͞Βʹ༷ʑͳछྨͷόάΛίϯύΠϧ࣌ʹഉআ͢Δ͜ͱ ͕ՄೳͰ͢ɻ ৴པੑ
w3VTUʹ༏ΕͨυΩϡϝϯτɺ༗༻ͳΤϥʔϝοηʔδΛඋ͍͍͑ͨ͢ ίϯύΠϥɺ͓Αͼ౷߹͞ΕͨύοέʔδϚωʔδϟͱϏϧυπʔϧɺଟ ͷΤσΟλʹରԠ͢ΔεϚʔτͳࣗಈิͱܕݕࠪػೳɺࣗಈϑΥʔϚολ ͱ͍ͬͨҰྲྀͷπʔϧ܈͕ଟ͘ἧ͍ͬͯ·͢ɻ ੜ࢈ੑ
ύϑΥʔϚϯεͱϝϞϦ҆શੑͷؔ ύϑΥʔϚϯε ϝϞϦηʔϑ ΄ͱΜͲͷϓϩάϥϛϯάݴޠɺύϑΥʔϚϯεͱϝϞϦ҆શੑʢϝϞϦηʔϑʣ͕ τϨʔυΦϑؔʹͳ͍ͬͯΔɻ γεςϜ͕ࣗಈͰෆཁͳ ϝϞϦΛ͔͖ूΊΔɻ ΨϕʔδίϨΫγϣϯͳͲ ϝϞϦϓϩάϥϚ͕ શΛ࣋ͬͯཧ͢Δɻ
3VTUͰɺʢʹϝϞϦʣͷॴ༗ݖΛ Ҡಈͤ͞Δ͜ͱͰɺϝϞϦͷ҆શੑΛ֬อ͢Δɻ
ʢ͓·͚ʣ3VTUͷհಈը https://keens.github.io/slide/anzennagengorust/ https://youtu.be/t9C11A_lLwY?t=2864 ˣ͜ͷಈըͷεϥΠυ κeen (きーん) さん 実践Rust⼊⾨
3VTUͷΠϯετʔϧ https://rustup.rs/
3VTUͷݱ࣌ͷ࠷৽όʔδϣϯ IUUQTCMPHSVTUMBOHPSH
74$PEF͔Β͏ʹ IUUQTNBSLFUQMBDFWJTVBMTUVEJPDPNJUFNT JUFN/BNF WBEJNDOWTDPEFMMEC IUUQTNBSLFUQMBDFWJTVBMTUVEJPDPNJUFNT JUFN/BNF SVTUMBOHSVTU 3VTUϓϩάϥϜΛσόοάʹ $PEF--%#͕ඞཁ コードの補完やリファクタリングに
はRust拡張機能が必要 ˞8JOEPXTͷ߹ɺ.47$ͷσόοΨ͑ΔͷͰʮ$$ ֦ுػೳʯͷΠϯετʔϧ͓નΊ͠·͢ɻ
1ZUIPO㱻3VTUؒͰͷ ݺͼग़͠ʹ͍ͭͯ
3VTUͷ''*πʔϧ ʢଟݴޠؔΠϯλϑΣʔεʣ CJOEHFO $ͷϔομʔϑΝΠϧ͔Β''*ʹඞཁͳ3VTUͷόΠϯσΟϯ άίʔυΛࣗಈੜ͢Δɻ$ ͱͷόΠϯσΟϯάίʔυ ࣗಈੜͰ͖Δʢݱ࣌Ͱ੍ݶ͕ଟ͍ʣɻ 1Z0 1UZUIPOҎ্ʹର͢ΔόΠϯσΟϯάɻ1ZUIPO͔Β 3VTUؔΛݺͼग़ͨ͠Γɺٯʹ3VTU͔Β1ZIPOͷؔΛݺ
ͼग़ͨ͠ΓͰ͖Δɻ SVTUDQZUIPO 1UZUIPOҎ্ʹର͢ΔόΠϯσΟϯάɻ1Z0ͱಉ༷ʹ 1ZUIPO͔Β3VTUؔΛݺͼग़ͨ͠Γɺٯʹ3VTU͔Β 1ZIPOͷؔΛݺͼग़ͨ͠ΓͰ͖Δɻ /FPO 3VTUͰ/PEFKTϞδϡʔϧΛ࡞͢ΔͨΊͷόΠϯσΟϯ άɻ/PEFKT͔Β3VTUͷؔΛݺͼग़ͤΔɻ 3VSV 3VTUͰ3VCZͷ֦ுػೳΛ࡞͢ΔͨΊͷόΠϯσΟϯάɻ 3VCZ͔Β3VTUͷؔΛݺͼग़ͤΔɻ 3VTUMFS 3VTUͰ&SMBOHͷ/*'ʢ/BUJWF*NQMFNFOUFE'VODUJPOʣΛ ࡞͢ΔͨΊͷόΠϯσΟϯάɻ&SMBOH͔Β3VTUͷؔΛ ݺͼग़ͤΔɻ&MJYJS͔ΒͰ༻Մೳɻ ࢀߟʮ࣮ફ 3VTUೖʯ ''*ʢଟݴޠؔΠϯλϑΣʔεʣΛ௨ͯ͡ɺଞͷݴޠͱ࿈ܞ͕Մೳɻ 3VTUʹ($ͳͲͷෳࡶͳϥϯλΠϜ͕ͳ͍ͷͰɺ1ZUIPO 3VCZͳͲ͔Β ؆୯ʹݺͼग़ͤΔɻ
1Z0 3VTU͔Β1ZUIPOΛݺͼग़ͨ͠Γɺ1ZUIPO͔Β 3VTUΛݺͼग़ͩͤΔϥΠϒϥϦ ݱ࣌Ͱͷ࠷৽൛WFS IUUQTHJUIVCDPN1Z0QZP
3VTUͷ։ൃϓϩδΣΫτ࡞ํ๏ ࣮ߦϑΝΠϧΛ࡞ΔϓϩδΣΫτΛ࡞͢Δɻ $BSHPUPNMΛमਖ਼ʢ1Z0ϥΠϒϥϦΛར༻͢ΔΑ͏ʹઃఆʣ͢Δɻ ্هͷίϚϯυͷΑͬͯϫʔΫεϖʔεઃఆϑΝΠϧʢ$BSHPUPNMʣͱ ϝΠϯؔʢNBJOSTʣϑΝΠϧͷεέϧτϯ͕ࣗಈੜ͞ΕΔͷͰ ΤσΟλͰमਖ਼Λߦ͏ɻ
3VTUϝΠϯؔͷ४උ ʢ3VTU͔Β1ZUIPOͷݺͼग़͠ʣ ɽϝΠϯؔʢNBJOSTʣΛमਖ਼͢Δɻ 3VTU͔Βࣗ࡞ͨ͠1ZUIPOؔΛݺͼग़͢αϯϓϧίʔυ ʲz͓·͡ͳ͍zͱ ࢥͬͯԼ͍͞ʳ ࣗ࡞ͨ͠1ZUIPO ίʔυ͕୳ͤΔΑ ͏ʹΧϨϯτϑΥ ϧμʹύεΛ௨͢ɻ
ࣗ࡞ͨ͠ 1ZUIPOؔΛ ݺͼग़͢ɻ
࣮ߦʢ3VTU͔Β1ZUIPOͷݺͼग़͠ʣ 3VTUͷϝΠϯؔΛ࣮ߦ͢ΔʢϦϦʔε൛Ͱ͔࣮͠ߦͰ͖ͳ͍ͷͰҙʂʣ 1ZUIPOίʔυͷ४උ ݺͼग़͞ΕΔ1ZUIPOίʔυΛϓϩδΣΫτͷΧϨϯτύεʹ४උ͢Δɻ https://github.com/abenben/rust-test02 ˣίʔυҎԼ63-ͷ(JU)VCʹ͋Γ·͢ɻ
3VTU͔Β1ZUIPOΛݺͼग़͢ϝϦοτ • 1ZUIPOͷϥΠϒϥϦ͕͑Δɻ • 1ZUIPOͰॻ͍ͨػցֶशͷ ϩδοΫͳͲΛݺͼग़ͤΔɻ
3VTUͷ։ൃϓϩδΣΫτ࡞ํ๏ ʢϥΠϒϥϦ࡞࣌ʣ ࣮ߦϑΝΠϧΛ࡞ΔϓϩδΣΫτΛ࡞͢Δɻ $BSHPUPNMΛमਖ਼ʢ1Z0ϥΠϒϥϦΛར༻͢ΔΑ͏ʹઃఆʣ͢Δɻ ্هͷίϚϯυͷΑͬͯϫʔΫεϖʔεઃఆϑΝΠϧʢ$BSHPUPNMʣͱ ϥΠϒϥϦؔʢMJCSTʣϑΝΠϧͷεέϧτϯ͕ࣗಈੜ͞ΕΔͷͰ ΤσΟλͰमਖ਼Λߦ͏ɻ ϥΠϒϥϦΛ࡞Δͱ͖MJCΛ͚ͭΔ ϥΠϒϥϦΛ࡞Δ
߹ʹඞཁͳઃఆ ϥΠϒϥϦͷݺͼग़ ํʹҙ ʢNBJO࣌ͱҟͳΔʣ
ϥΠϒϥϦ४උ ʢ1ZUIPO͔Β3VTUͷݺͼग़͠ʣ ɽϥΠϒϥϦؔʢMJCSTʣΛमਖ਼͢Δɻ 1ZUIPO͔Βݺͼग़͢3VTUؔͷαϯϓϧίʔυ Ҿແ͠ɺΓແ͠ ͕Ҿɺ͕Γ จࣈྻ͕Ҿɺ͕Γ
ϥΠϒϥϦ४උ ʢ1ZUIPO͔Β3VTUͷݺͼग़͠ʣ ʢଓ͖ʣ ྻͱ͕Ҿɺ ྻ͕Γ λϓϧʢཁૉʣͱ͕Ҿɺ ͭͷ͕Γ
࣮ߦʢ1ZUIPO͔Β3VTUͷݺͼग़͠ʣ https://github.com/abenben/rust-test01 ˣίʔυҎԼ63-ͷ(JU)VCʹ͋Γ·͢ɻ 3VTUͷϥΠϒϥϦʢ˞ҙɿNBDPTͷ߹ʣΛੜ͢Δ 1ZUIPOͷϝΠϯؔΛ࣮ߦ͢Δ 1ZUIPOίʔυʢNBJOQZʣͷ४උ 3VTUؔΛݺͼग़͢1ZUIPOίʔυΛϓϩδΣΫτͷΧϨϯτύεʹ࡞͢Δɻ
1ZUIPO͔Β3VTUΛݺͼग़͢ϝϦοτ • ॲཧͷߴԽ͕Ͱ͖Δɻ • $$ Ͱ࡞ΔΑΓ ϝϞϦηʔϑͳϥΠϒϥϦ͕࡞ΕΔɻ ʢੜ࢈ੑߴ͍ʣ
ੑೳʹ͍ͭͯ
ੑೳൺֱͷ४උ +VQZUFSΛͬͯ1ZUIPOͱ$ZIUPOɺ +*5 /VNCB ɺ3VTUΛ·ͱΊͯܭଌ͢Δɻ ·ͣΠϯετʔϧʂ
ੑೳൺֱ GPSจʣ QZUIPO $ZUIPO 3VTU 3VTU͕ܻҧ͍ʹૣ͔ͬͨʂ https://github.com/abenben/jupyter_rust1/blob/master/Jupyter_Rust_Cython_Python.ipynb ˣίʔυҎԼ63-ͷ(JU)VCʹ͋Γ·͢ɻ +*5ίϯύΠϥʢ/VNCBʣ ࣌ؒ
QZUIPO T $ZUIPO T +*5 /VNCB T 3VTU T ܭଌ݁Ռ ϚγϯεϖοΫ
ʢ͓·͚ʣ+VQZUFS͔Β؆୯ʹ࿈ܞ
·ͱΊ • 3VTUɺϝϞϦηʔϑͱੑೳͷτϨʔυΦϑؔ Λଧͪഁͬͯ͘ΕΔɻ • 1ZUIPO㱻3VTUؒͷݺͼग़͠εϜʔζͰ͋Δɻ ʢҰ෦ɺ͓·͡ͳ͍͕ඞཁXʣ • 1ZUIPOɺࠓޙάϧʔݴޠʢ㲈࢘ྩౝʣͱͯ͠ ൃల͠ଓ͚Δɻ
˞ࠓճઆ໌͠·ͤΜͰ͕ͨ͠ɺ 3VTUฒྻԽඇಉظ*0Λ͏͜ͱͰɺ͞ΒʹϚοϋʹͳΓ·͢ʂ
͓·͚ʢએʣ 4UBSU1ZUIPO$MVCʢ݄Ͱ։࠵ʂʣͰͬͯ·ʔ͢ʂʂ IUUQTTUBSUQZUIPODPOOQBTTDPN