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
2.7k
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
180
Rust tutorial - implement a cli tool.
yoshihitoh
0
210
introduce-rust.pdf
yoshihitoh
2
500
regrowth2018-introduce-reinvent-sessions
yoshihitoh
0
830
mobilemethod-2-about-analytic-data.pdf
yoshihitoh
0
940
cpp-library-on-browse-nodejs
yoshihitoh
0
2.4k
Other Decks in Programming
See All in Programming
雑に思考を整理する技術と効能
konifar
58
29k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
260
Tailwind CSSを本気でカスタマイズする方法
fsubal
13
5.2k
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
260
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
26
8.2k
VS Code をプロダクトにどう取り込むか
onomax
1
350
エンターテイメント業界で利用されるAWS
demuyan
0
210
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
Ruby Pattern Matching
bkuhlmann
0
920
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
1.1k
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
270
GitHub Copilotのススメ
marcy731
1
190
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Automating Front-end Workflow
addyosmani
1356
200k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
We Have a Design System, Now What?
morganepeng
43
6.7k
Web development in the modern age
philhawksworth
202
10k
Building a Scalable Design System with Sketch
lauravandoore
456
32k
Practical Orchestrator
shlominoach
182
9.7k
Bash Introduction
62gerente
604
210k
Designing for Performance
lara
601
67k
Unsuck your backbone
ammeep
663
57k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
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