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
Custom Runtime Lambda empowered by Rust
Search
Yoshihito
July 03, 2020
Programming
0
3k
Custom Runtime Lambda empowered by Rust
An introduction about the Lambda custom runtime empowered by Rust language.
Yoshihito
July 03, 2020
Tweet
Share
More Decks by Yoshihito
See All by Yoshihito
TUI App in Rust
yoshihitoh
0
210
Rust tutorial - implement a cli tool.
yoshihitoh
0
250
introduce-rust.pdf
yoshihitoh
2
520
regrowth2018-introduce-reinvent-sessions
yoshihitoh
0
940
mobilemethod-2-about-analytic-data.pdf
yoshihitoh
0
1.1k
cpp-library-on-browse-nodejs
yoshihitoh
0
2.6k
Other Decks in Programming
See All in Programming
Jasprが凄い話
hyshu
0
160
2025.2.14_Developers Summit 2025_登壇資料
0101unite
0
200
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
240
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
840
SwiftUI Viewの責務分離
elmetal
PRO
2
270
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
310
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
250
CI改善もDatadogとともに
taumu
0
200
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.2k
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
390
Featured
See All Featured
Scaling GitHub
holman
459
140k
YesSQL, Process and Tooling at Scale
rocio
172
14k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Gamification - CAS2011
davidbonilla
80
5.2k
A Modern Web Designer's Workflow
chriscoyier
693
190k
How GitHub (no longer) Works
holman
314
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Visualization
eitanlees
146
15k
Music & Morning Musume
bryan
46
6.4k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Transcript
RustͰ࢝ΊΔ Custom Runtime Lambdaೖ 2020/7/3 CXࣄۀຊ෦ yoshihitoh
None
!3 ຊ͓͢Δ͜ͱ
!4 ΞδΣϯμ ɾ"84-BNCEB'VODUJPOͱ ɾΧελϜϥϯλΠϜͱ ɾ3VTUͱ ɾ-BNCEB3VTU ɾ·ͱΊ
!5 ຊηογϣϯͷରऀ
!6 ຊηογϣϯͷରऀ ɾ-BNCEB'VODUJPOΛͬͯΈ͍ͨ ɹɾ͚Ͳɺ͍͍ͨݴޠϥϯλΠϜ͕ະαϙʔτ ɾ3VTUॻ͍ͯΈ͍ͨ ɹɾ͚Ͳɺͪΐ͏ͲΑ͍ࡐ͕ͳ͍
!7 ΞδΣϯμ ɾ"84-BNCEB'VODUJPOͱ ɾΧελϜϥϯλΠϜͱ ɾ3VTUͱ ɾ-BNCEB3VTU ɾ·ͱΊ
!8 AWS Lambda Function
!9 AWS Lambda Function - ֓ཁ ɾΠϕϯτۦಈͰΞϓϦέʔγϣϯίʔυΛ࣮ߦ ɾϥϯλΠϜͱϋϯυϥʔΛΈ߹Θ࣮ͤͯݱ ɹɾϋϯυϥʔ ɹɹɾϏδωεϩδοΫ
ɹɾϥϯλΠϜ ɹɹɾΞϓϦέʔγϣϯͷ࣮ߦڥ
!10 AWS Lambda Function - ֓ཁ ɾΠϕϯτۦಈͰΞϓϦέʔγϣϯίʔυΛ࣮ߦ ɾϥϯλΠϜͱϋϯυϥʔΛΈ߹Θ࣮ͤͯݱ ɹɾϥϯλΠϜ ɹɹɾΞϓϦέʔγϣϯͷ࣮ߦڥ
ɹɾϋϯυϥʔ ɹɹɾϏδωεϩδοΫ -BNCEBͷ։ൃͱ͍͑ ϋϯυϥʔͷ࣮
!11 AWS Lambda Function - ֓ཁ ɾΠϕϯτۦಈͰΞϓϦέʔγϣϯίʔυΛ࣮ߦ ɾϥϯλΠϜͱϋϯυϥʔΛΈ߹Θ࣮ͤͯݱ ɹɾϋϯυϥʔ ɹɹɾϏδωεϩδοΫ
ɹɾϥϯλΠϜ ɹɹɾΞϓϦέʔγϣϯͷ࣮ߦڥ ຊηογϣϯͰ ͕ͬͪ͜ϝΠϯ
!12 ϥϯλΠϜʁ 'VODUJPO࡞࣌ʹ ϥϯλΠϜΛબ͢Δ
!13 ϥϯλΠϜҰཡ ༷ʑͳϥϯλΠϜ͕༻ҙ͞Ε͍ͯΔ ɾ/PEFKT (10.x/12.x) ɾ(P (1.x) ɾ1ZUIPO (2.7/3.6ʙ3.8) ɾ3VCZ
(2.5/2.7) ɾ+BWB (8/11) ɾ/&5 Core (2.1/3.1)
!14 ϥϯλΠϜԿΛ͢Δʁ ɾϋϯυϥʔ͕ಈ࡞͢ΔڥΛఏڙ͢Δ ɾछྨͷλεΫΛߦ͏ ɹɾॳظԽλεΫ ɹɹɾϥϯλΠϜىಈ࣌ʹճ͚ͩߦ͏ॲཧ ɹɾॲཧλεΫ ɹɹɾΠϕϯτ୯ҐͰߦ͏ॲཧ
!15 ϥϯλΠϜ ಉ͜͡ͱΛ͢Ε ಠࣗͷϥϯλΠϜΛ͑Δʂ
!16 Custom Runtime
!17 ΞδΣϯμ ɾ"84-BNCEB'VODUJPOͱ ɾΧελϜϥϯλΠϜͱ ɾ3VTUͱ ɾ-BNCEB3VTU ɾ·ͱΊ
!18 ΧελϜϥϯλΠϜͱ ɾಠࣗϥϯλΠϜͰ-BNCEBΛ࣮ߦ͢ΔΈ ɾϓϩάϥϛϯάݴޠͷ੍͔Βղ์ ɾ"84ύʔτφʔ͔Βఏڙ͞ΕͯΔ ɹɾ$ ɺ3VTU BXTMBCT ɹɾ&MJYJSɺ$PCPMɺ1)1ɺFUD
ύʔτφʔ
!19 ΧελϜϥϯλΠϜͷΈ ɾଞϥϯλΠϜͱಉͷ͜ͱΛ͢Δ ɹɾॳظԽλεΫ ɹɾॲཧλεΫ ɾϥϯλΠϜ"1*Ͱ࣮ݱ͢Δ
!20 ΧελϜϥϯλΠϜͷಈ࡞Πϝʔδ
!21 ΧελϜϥϯλΠϜͷಈ࡞Πϝʔδ ޭͨ͠߹ ˠϨεϙϯε௨ ࣦഊͨ͠߹ ˠΤϥʔ௨
!22 ΧελϜϥϯλΠϜͷಈ࡞Πϝʔδ ϥϯλΠϜ"1*Ͱ࣮ݱ ɾॳظԽΤϥʔ ɾ࣍ͷݺͼग़͠ ɾݺͼग़͠Ϩεϙϯε ɾݺͼग़͠Τϥʔ
!23 ϥϯλΠϜॳظԽλεΫ ɾઃఆऔಘ ɹɾϋϯυϥʔ໊ϥϯλΠϜ"1*ͷϗετͳͲ ɾؔͷॳظԽ ɹɾϋϯυϥʔͷಡΈࠐΈɺϦιʔεͷॳظԽͳͲ ɾΤϥʔ௨ ɹɾॳظԽʹࣦഊͨ͠߹ͷΤϥʔ༰Λ௨
!24 ॲཧλεΫ ɾΠϕϯτऔಘɾίϯςΩετ࡞ ɾϋϯυϥʔݺͼग़͠ ɾॲཧ݁Ռ௨ ޭɾΤϥʔ ɾτϨʔεϔομͷ ҙ
ɾΫϦʔϯΞοϓ ҙ
!25 ΧελϜϥϯλΠϜͷ࡞Γํ ɾϥϯλΠϜͱϋϯυϥʔΛύοέʔδʹಉࠝ ɾCPPUTUSBQͱ͍͏໊લͷ࣮ߦՄೳϑΝΠϧ ɹɾγΣϧεΫϦϓτ ɹɾ"NB[PO-JOVYͰಈ࡞͢ΔεΫϦϓτ ɹɾ"NB[PO-JOVY͚ͷ࣮ߦՄೳόΠφϦ
!26 ͳͥΧελϜϥϯλΠϜʁ ɾ͍͍ͨݴޠͰ-BNCEBΛಈ͔ͤΔ ɹɾੈքͷ-BNCEB͔Β ·ͱΊهࣄ ɾطଘͷࢿ࢈Λ༗ޮ׆༻͍ͨ͠ ɾಛఆͷϥΠϒϥϦΛར༻͍ͨ͠
!27 ͳͥΧελϜϥϯλΠϜʁ ɾ͍͍ͨݴޠͰ-BNCEBΛಈ͔ͤΔ ɹɾੈքͷ-BNCEB͔Β ·ͱΊهࣄ ɾطଘͷࢿ࢈Λ༗ޮ׆༻͍ͨ͠ ɾಛఆͷϥΠϒϥϦΛར༻͍ͨ͠
!28 ͳͥΧελϜϥϯλΠϜʁ ͖ͳݴޠΛ͍͍ͨʂ
!29 Rust
!30 ΞδΣϯμ ɾ"84-BNCEB'VODUJPOͱ ɾΧελϜϥϯλΠϜͱ ɾ3VTUͱ ɾ-BNCEB3VTU ɾ·ͱΊ
!31 Rustͱ ɾΦʔϓϯιʔεͷγεςϜϓϩάϥϛϯάݴޠ ɾ৽͠ΊͷݴޠͰɺʹϦϦʔε ɹɾ࠷৽൛ ݄࣌ ɾߴ͔ͭϝϞϦ҆શ ɾ෯͍Ͱ͑Δ
!32 Rustͱ ެࣜαΠτΑΓ ࣌ IUUQTXXXSVTUMBOHPSHKB
!33 Rustͷಛ ެࣜαΠτΑΓ ࣌ IUUQTXXXSVTUMBOHPSHKB
!34 Rustͷ༻్ ެࣜαΠτΑΓ ࣌ IUUQTXXXSVTUMBOHPSHKB
!35 Lambda͍͚Δʂ ΧελϜϥϯλΠϜͳΒ RustͰLambda FunctionΛ࣮Ͱ͖Δʂ
!36 AWSϒϩάΑΓ https://aws.amazon.com/blogs/opensource/rust-runtime- for-aws-lambda/
!37 ΞδΣϯμ ɾ"84-BNCEB'VODUJPOͱ ɾΧελϜϥϯλΠϜͱ ɾ3VTUͱ ɾ-BNCEB3VTU ɾ·ͱΊ
!38 RustͰॻ͘ϝϦοτ (ݸਓͷײͰ͢) ɾ҆શͳϓϩάϥϜΛॻ͖͍͢ ɹɾڧྗͳܕγεςϜ ɹɾϦιʔεཧͷΈ ɾखܰʹඇಉظॲཧΛॻ͚Δ BTZODBXBJU ɾॻָ͍͍ͯͯ͠
!39 Ͳ͏Δͷʁ ɾ"84ఏڙͷΧελϜϥϯλΠϜΛ͏ ɾBXTMBCTBXTMBNCEBSVTUSVOUJNF ɾ3VTUͰόΠφϦΫϨʔτΛ࣮͢Δ ɾ"NB[PO-JOVY͚ʹϏϧυ͢Δ
!40 Lambda & Rust ·ͣ)FMMP8PSME͔Βʂ
!41 αϯϓϧίʔυ (JU)VCͰެ։ͯ͠·͢ IUUQTHJUIVCDPNZPTIJIJUPISVTUMBNCEBFYBNQMF
!42 Lambda & RustͰHello World ϓϩδΣΫτΛ࡞Δ DBSHPOFX"11@/".&
!43 Lambda & RustͰHello World ґଘΫϨʔτ ϥΠϒϥϦ ΛՃ͢Δ $BSHPUPNM
!44 Lambda & RustͰHello World ґଘΫϨʔτ ϥΠϒϥϦ ΛՃ͢Δ $BSHPUPNM LambdaͷϥϯλΠϜػೳ
!45 Lambda & RustͰHello World ґଘΫϨʔτ ϥΠϒϥϦ ΛՃ͢Δ $BSHPUPNM γϦΞϥΠζ
!46 Lambda & RustͰHello World ґଘΫϨʔτ ϥΠϒϥϦ ΛՃ͢Δ $BSHPUPNM (ඇެࣜ)
AWS SDK
!47 Lambda & RustͰHello World ґଘΫϨʔτ ϥΠϒϥϦ ΛՃ͢Δ $BSHPUPNM ඇಉظϥϯλΠϜ
!48 Lambda & RustͰHello World ϓϩάϥϜΛॻ͘ TSDNBJOST
!49 ΠϕϯτͱϨεϙϯεͷߏମΛఆٛ͢Δ JSON→Πϕϯτ ʹσγϦΞϥΠζ ϨεϙϯεˠJSON ʹγϦΞϥΠζ
!50 Ϗϧυ͔ΒσϓϩΠ·ͰͷྲྀΕ ɾY@MJOVY͚ʹίϯύΠϧ ɾ࣮ߦՄೳόΠφϦͷϑΝΠϧ໊ΛCPPUTUSBQʹ ɾCPPUTUSBQΛ;*1ϑΝΠϧʹΞʔΧΠϒ͢Δ ɾΞοϓϩʔυ͢Δ
!51 Ϗϧυ͔ΒσϓϩΠ·ͰͷྲྀΕ ɾΞοϓϩʔυ͢Δ %PDLFSϏϧυ༻Πϝʔδ͋Γ TPGUQSPQTMBNCEBSVTU ɾY@MJOVY͚ʹίϯύΠϧ ɾ࣮ߦՄೳόΠφϦͷϑΝΠϧ໊ΛCPPUTUSBQʹ ɾCPPUTUSBQΛ;*1ϑΝΠϧʹΞʔΧΠϒ͢Δ
!52 ϏϧυˍΞʔΧΠϒ %PDLFSͰϏϧυ͢Δ
!53 ϏϧυˍΞʔΧΠϒ UBSHFUMBNCEBSFMFBTFʹϏϧυ݁Ռग़ྗ Ϗϧυ݁Ռͷ ;*1ϑΝΠϧ
!54 σϓϩΠ ɾΞοϓϩʔυҎ߱ଞͷϥϯλΠϜͱಉ͡ ɾϑϨʔϜϫʔΫΛ͏ ɹɾ4". ɹɾ$%, ɹɾ4FSWFSMFTT'SBNFXPSL ɾίϯιʔϧ͔Β࡞Δ
!55 σϓϩΠ ɾ'VODUJPOϦιʔεΛ࡞͢Δ ɾϥϯλΠϜQSPWJEFEʹ͢Δ ɹɾίϯιʔϧͰ࡞Δ߹$VTUPN3VOUJNF ɹɾ6TFEFGBVMU 1SPWJEFʜͲͪΒͰྑ͠ ɾ"84αʔϏεར༻࣌ݖݶ༩Εͣʹ
!56 σϓϩΠ
!57 ςετ࣮ߦͯ͠ΈΔ
!58 ςετ࣮ߦͯ͠ΈΔ
!59
!60 Real World Lambda ɾ-BNCEB͚ͩͰ݁͢Δέʔεগͳ͍ ɾ"84ͷαʔϏε֎෦"1*ͱ࿈ܞ͍ͨ͠ ɾෳͷ-BNCEB'VODUJPOΛ࡞Γ͍ͨ ɾFUDʜ
!61 Real World Lambda ɾ-BNCEB͚ͩͰ݁͢Δέʔεগͳ͍ ɾ"84ͷαʔϏε֎෦"1*ͱ࿈ܞ͍ͨ͠ ɾෳͷ-BNCEB'VODUJPOΛ࡞Γ͍ͨ ɾFUDʜ
!62 Lambda͚ͩͰ݁͢Δέʔεগͳ͍ ΦϒδΣΫτͷ σʔλΛಡΉ %#ΞΫηε ֎෦"1*
!63 Real World Lambda ɾ-BNCEB͚ͩͰ݁͢Δέʔεগͳ͍ ɾ"84ͷαʔϏε֎෦"1*ͱ࿈ܞ͍ͨ͠ ɾෳͷ-BNCEB'VODUJPOΛ࡞Γ͍ͨ ɾFUDʜ
!64 AWSͷαʔϏε֎෦APIͱ࿈ܞ͍ͨ͠ ɾϥΠϒϥϦ͑΄ͱΜͲͷ͜ͱ͕࣮ݱͰ͖Δ ɹɾSVTUVOPGGJDJBMBXFTPNFSVTU ɾ ඇެ͚ࣜͩͲ "844%,ͷ3VTPUP ɹɾSVTPUPSVTPUP ɾ)551ΫϥΠΞϯτͷSFRXFTUͳͲ ɹɾTFBONPOTUBSSFRXFTU
!65 3VTPUPͰ4ʹΞΫηε͢Δ߹
!66 S3ͷσʔλΛಡΈࠐΉ߹ ΠϕϯτͰॲཧରͷΦϒδΣΫτΛࢦఆ
!67 S3ͷσʔλΛಡΈࠐΉ߹ 4ΫϥΠΞϯτΛ४උ ߏମΛڬΉͱมߋ͘͢͠ͳΔ
!68 S3ͷσʔλΛಡΈࠐΉ߹ ΦϒδΣΫτऔಘॲཧ ඇಉظ
!69 S3ͷσʔλΛಡΈࠐΉ߹ ΦϒδΣΫτऔಘॲཧ ඇಉظ
!70 S3ͷσʔλΛಡΈࠐΉ߹ σʔλಡΈࠐΈॲཧ ඇಉظ
!71 S3ͷσʔλΛಡΈࠐΉ߹ Ұ࿈ͷॲཧΛͭͳ͗͜Ή ඇಉظ
!72 S3ͷσʔλΛಡΈࠐΉ߹ ϋϯυϥʔ͔ΒҰ࿈ͷॲཧΛ࣮ߦ͢Δ
!73 S3ͷσʔλΛಡΈࠐΉ߹ ςετ࣮ߦ͢Δ
!74 S3ͷσʔλΛಡΈࠐΉ߹ 4ʹΞΫηεͰ͖ͨ
!75 S3ͷσʔλΛಡΈࠐΉ߹ 4ʹΞΫηεͰ͖ͨʜ͚Ͳ͗͢ͳ͍ʁ
!76 ύϑΥʔϚϯεΛ֬ೝ͢Δ ͍ͣΕNT͑
!77 S3ͷσʔλΛಡΈࠐΉ߹ Πϕϯτॲཧͷͨͼʹੜ͍ͯ͠ΔͨΊ
!78 ύϑΥʔϚϯεΛվળ͢Δ ࣄલʹ༻ҙͨ͠ͷΛར༻
!79 ύϑΥʔϚϯεΛվળ͢Δ ϥϯλΠϜॳظԽ࣌ʹඞཁͳͷΛ࡞Δ
!80 ύϑΥʔϚϯεΛվળ͢Δ ॳճɾճҎ߱ͱʹվળ
!81 Real World Lambda ɾ-BNCEB͚ͩͰ݁͢Δέʔεগͳ͍ ɾ"84ͷαʔϏε֎෦"1*ͱ࿈ܞ͍ͨ͠ ɾෳͷ-BNCEB'VODUJPOΛ࡞Γ͍ͨ ɾFUDʜ
!82 ෳͷLambda FunctionΛ࡞Γ͍ͨ ɾૢ࡞ݖݶΛ͍ͨ͠ ɾϩάΛ͍ͨ͠ ɾϝϞϦׂΓͯΛݸผௐ͍ͨ͠
!83 ෳͷLambda FunctionΛ࡞Γ͍ͨ ɾϥΠϒϥϦ ෳόΠφϦߏʹ͢Δ ɹɾϥΠϒϥϦΫϨʔτʹڞ௨ॲཧΛॻ͘ ɹɾϋϯυϥ୯ҐͰόΠφϦΛ࡞Δ ɾଞʹΓํ͋Γͦ͏ ɹɾγΣϧεΫϦϓτͰαϒίϚϯυݺͼ͚
!84 ෳͷLambda FunctionΛ࡞Γ͍ͨ ɾଞʹΓํ͋Γͦ͏ ɹɾγΣϧεΫϦϓτͰαϒίϚϯυݺͼ͚ ɾϥΠϒϥϦ ෳόΠφϦߏʹ͢Δ ɹɾϥΠϒϥϦΫϨʔτʹڞ௨ॲཧΛॻ͘ ɹɾϋϯυϥ୯ҐͰόΠφϦΛ࡞Δ
!85 ϥΠϒϥϦ + ෳόΠφϦߏʹ͢Δ ɾϥΠϒϥϦΫϨʔτʹ͢Δ ɹɾTSDMJCSTΛՃ ɹɾϞδϡʔϧͷެ։ઃఆͳͲ ɾ4ͷૢ࡞ΛϞδϡʔϧԽ͢Δ ɹɾTSDTSTΛՃ ɹɾ4ͷૢ࡞Λू
!86 ϥΠϒϥϦ + ෳόΠφϦߏʹ͢Δ TSDNBJOST͔ΒϥΠϒϥϦؔΛར༻͢Δ
!87 ϥΠϒϥϦ + ෳόΠφϦߏʹ͢Δ ɾطଘͷϋϯυϥʔΛผͷϑΥϧμʹҠಈ ɹɾTSDNBJOST͔Β ɹɾTSDCJOIBOEMFTPCKFDUSTʹҠಈ ɾ৽نϋϯυϥʔΛಉϑΥϧμʹՃ͢Δ ɹɾTSDCJOEFMFUFTPCKFDUST
!88 ϥΠϒϥϦ + ෳόΠφϦߏʹ͢Δ $BSHPUPNMʹ<<CJO>>ઃఆΛՃ
!89 ϥΠϒϥϦ + ෳόΠφϦߏʹ͢Δ มߋޙͷϑΥϧμߏ
!90 ϥΠϒϥϦ + ෳόΠφϦߏʹ͢Δ όΠφϦ͝ͱʹ ;*1ϑΝΠϧ࡞
!91 ଞʹߟ͑Δ͖͜ͱ͕ͨ͘͞Μʂ
!92 ଞʹߟ͑Δ͖͜ͱ ɾ"1*ͷϦτϥΠ੍ޚ ɾϩάه ɾόϦσʔγϣϯ ɾ93BZ ɾFUDʜ
!93 ͲΜͲΜࢼͯ͠ݟΛ૿ͦ͏
!94 ΞδΣϯμ ɾ"84-BNCEB'VODUJPOͱ ɾΧελϜϥϯλΠϜͱ ɾ3VTUͱ ɾ-BNCEB3VTU ɾ·ͱΊ
!95 ·ͱΊ ɾ-BNCEBͷϥϯλΠϜͱͦͷछྨ ɾ3VTUͷಛ ɾ3VTUͰ-BNCEBΛ࣮͢Δํ๏
!96 LambdaͷϥϯλΠϜͱͦͷछྨ ɾϥϯλΠϜͱϋϯυϥʔ ɾඪ४ఏڙ͞Ε͍ͯΔ֤ݴޠϥϯλΠϜ ɹɾଟ͘ͷݴޠϥϯλΠϜ͕ఏڙ͞ΕͯΔ ɾΧελϜϥϯλΠϜ ɹɾݱঢ়ະαϙʔτͷݴޠରԠՄೳʹʂ
!97 Rustͷಛ ɾ҆શͳϓϩάϥϜΛॻ͖͍͢ ɾॻָ͍͍ͯͯ͠ʂ ɹɾ4UBDL0WFSGMPX4VSWFZͰ ɹɹ࿈ଓ.PTU-PWFE-BOHVBHF
!98 RustͰLambdaΛ࣮͢Δํ๏ ɾΧελϜϥϯλΠϜͷ࡞Γํ ɾ"84αʔϏε֎෦"1*ͱͷ࿈ܞ ɹɾύϑΥʔϚϯεʹ͍ͭͯͷཹҙࣄ߲͋Γ ɾෳϋϯυϥʔͷ࡞Γํ
!99 3VTUͰ-BNCEBΛॻ͍ͯΈ͍ͨʂ ͱࢥͬͯΒ͑Δͱخ͍͠Ͱ͢☺
!100 ͝ࢹௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
None