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
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の...
Search
k.goto
May 23, 2025
Programming
9
740
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
2025/05/23, 24開催「TSKaigi 2025」での登壇資料です。
k.goto
May 23, 2025
Tweet
Share
More Decks by k.goto
See All by k.goto
AWS CDKの仕組み / how-aws-cdk-works
gotok365
13
1.9k
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
7
1.6k
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
7
720
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
460
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
6
1.3k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
3
440
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
8
3.3k
OSS活動のススメ / oss-activities
gotok365
5
1.3k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
9
2k
Other Decks in Programming
See All in Programming
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
110
Namespace and Its Future
tagomoris
6
700
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
アセットのコンパイルについて
ojun9
0
120
私の後悔をAWS DMSで解決した話
hiramax
4
210
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
140
Laravel Boost 超入門
fire_arlo
3
210
Navigating Dependency Injection with Metro
zacsweers
3
240
Improving my own Ruby thereafter
sisshiki1969
1
160
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
420
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.4k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
Designing for Performance
lara
610
69k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Invisible Side of Design
smashingmag
301
51k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Six Lessons from altMBA
skipperchong
28
4k
Transcript
LHPUP TypeScriptIaCπʔϧͷAWS CDK͕ ༷ʑͳݴޠͰ࣮Ͱ͖Δཧ༝ ʙଞݴޠมͷΈʙ 54,BJHJ
ࣗݾհ LHPUP "84)&30 "84$%,ίϯτϦϏϡʔτ 0QFO$POTUSVDUT-JCSBSZ ίϛϡχςΟۦಈ$%,$POTUSVDUϥΠϒϥϦ "84πʔϧ DMT EFMTUBDL MBNWFS
"84%FW5PPMT)FSP .BJOUBJOFS 5PQ$POUSJCVUPS $PNNVOJUZ3FWJFXFS ࣗ࡞044 $%,$POTUSVDUϥΠϒϥϦ 9!@TUFQ@UFDI (JU)VC!HPUPL
"84$%,ͱʁ
"84$%, "84$MPVE%FWFMPQNFOU,JU ͱʁ w ෳͷϓϩάϥϛϯάݴޠͰ"84ΠϯϑϥఆٛΛهड़Ͱ͖Δ*B$πʔϧ 㾎5ZQF4DSJQU 㾎+BWB4DSJQU 㾎1ZUIPO 㾎+BWB 㾎(P
㾎$
"84$%, "84$MPVE%FWFMPQNFOU,JU ͱʁ w 5ZQF4DSJQUͷ044 HJUIVCDPNBXTBXTDEL
"84$%, "84$MPVE%FWFMPQNFOU,JU ͱʁ w 5ZQF4DSJQUϢʔβʔ͕େଟ ‣ 54+4 ࣍1ZUIPO ‣
5ZQF4DSJQU044ͱ͍͏͜ͱ͋Γ54ͷαϯϓϧίʔυ͕ଟ͍ͳͲ͕ཧ༝ʁ $%,$PNNVOJUZ4VSWFZ IUUQTNBUUIFXCPOJHDPNQPTUTDPNNVOJUZTVSWFZ
"84$%, "84$MPVE%FWFMPQNFOU,JU ͱʁ w "84$%,ͷσϓϩΠॲཧ$MPVE'PSNBUJPOͰ࣮ߦ͞ΕΔ ‣ $%,$MPVE'PSNBUJPOςϯϓϨʔτ KTPO ੜ$MPVE'PSNBUJPO"1* w
$%,5' $%,GPS5FSSBGPSN $%,PO1VMVNJͳͲ͋Δ ‣ $MPVE'PSNBUJPOͰͳ͘5FSSBGPSN1VMVNJͰσϓϩΠ ‣ DELT $%,GPS,VCFSOFUFT ͋Δ
"84$%, "84$MPVE%FWFMPQNFOU,JU ͱʁ w "84$%,$%,$-* $%,"QQ ݺͼग़͠ "QQ $%,$-* ཁ/PEFKTϥϯλΠϜ
$%,"QQ 4UBDL T $POTUSVDU $POTUSVDU -BNCEBؔ 4όέοτ -BNCEBؔ "1*(BUFXBZ 424Ωϡʔ -BNCEBؔ ͖ͳݴޠͰ࣮ $%,Ϣʔβ ίϚϯυ࣮ߦ
"84$%, "84$MPVE%FWFMPQNFOU,JU ͱʁ w $POTUSVDU$%,ͷಠࣗܕ Ϋϥε ʹΑΔ"84ϦιʔεఆٛͷநԽ ‣ "84$%,ϦϙδτϦ 044
͔Βఏڙͷ$POTUSVDU FH #VDLFU 2VFVF "QQMJDBUJPO-PBE#BMBODFE'BSHBUF4FSWJDF FUDʜ 5ZQF4DSJQUͰ࣮͞Ε͍ͯΔ ֤ݴޠ༻ͷύοέʔδϚωʔδϟʔͰ͞ΕΔ ‣ ϢʔβଆͰࣗ༝ʹ࡞͢ΔΧελϜ$POTUSVDU $%,ఏڙͷ$POTUSVDU ্ه ΛΈ߹ΘͤΔ Ϣʔβ͕͖ͳݴޠͰ࣮͢Δ
"84$%, "84$MPVE%FWFMPQNFOU,JU ͱʁ w $%,$POTUSVDU1SPHSBNNJOH.PEFM ‣ $POTUSVDUΛπϦʔͷΑ͏ʹߏ நԽ
࠶ར༻ "QQ 4UBDL 4UBDL $POTUSVDU $POTUSVDU $POTUSVDU $POTUSVDU $POTUSVDU $POTUSVDU $POTUSVDU
ͳͥ$%, ֤ϓϩάϥϛϯάݴޠͰ ࣮Ͱ͖Δͷʁ
ͳͥ$%,֤ϓϩάϥϛϯάݴޠͰ࣮Ͱ͖Δͷʁ w 5ZQF4DSJQUίʔυΛ֤ݴޠʹม͠ɺ֤ݴޠͰ࣮ߦͰ͖ΔΈ͕͋Δ͔Β $%,Ϣʔβ ֤$POTUSVDUΫϥε 5ZQF4DSJQU 1ZUIPO༻ +BWB༻ (P༻ $༻
5ZQF4DSJQU༻ +BWB4DSJQU༻ ͖ͳݴޠ Ͱ༻ ม "84$%, ϦϙδτϦ ֤$POTUSVDUΫϥε $%,ʮ5ZQF4DSJQUଞݴޠʯม͢Δ͜ͱͰଟݴޠରԠ͍ͯ͠Δ
ͳͥ$%,֤ϓϩάϥϛϯάݴޠͰ࣮Ͱ͖Δͷʁ w ˠKTJJͱ͍͏ϥΠϒϥϦ͕$%,ͷཪͰΔ͔Β $%,Ϣʔβ ֤$POTUSVDUΫϥε 5ZQF4DSJQU 1ZUIPO༻ +BWB༻ (P༻ $༻
5ZQF4DSJQU༻ +BWB4DSJQU༻ ͖ͳݴޠ Ͱ༻ ม "84$%, ϦϙδτϦ ֤$POTUSVDUΫϥε KTJJ
KTJJͱʁ
w "84ͷʮଞݴޠม ௨৴ʯϥΠϒϥϦ HJUIVCDPNBXTKTJJ ‣ 54ίʔυΛ֤ݴޠʹม ֤ݴޠͱ௨৴Ͱ͖ΔΑ͏ʹ͢Δ ‣ º֤ͨͩݴޠʹม͢Δ͚ͩ
˓54 ࣮ଶ+4 ͕ଞݴޠͱ௨৴Ͱ͖ΔΑ͏ʹ ''* 'PSFJHO'VODUJPO*OUFSGBDF తͳཁૉΛؚΉ KTJJͱʁ
w KTJJ044ެ։ଆͰϢʔβଆͰͲͪΒͰΘΕΔ ‣ $%,ެ։࣌ 044ଆ ʹม͠ɺ$%,࣮ߦ࣌ Ϣʔβଆ ʹ௨৴͢Δ KTJJͱʁ $POTUSVDU
֤ݴޠ $POTUSVDU 5ZQF4DSJQU $%,ެ։࣌ 044ଆ $%,࣮ߦ࣌ Ϣʔβଆ ม ௨৴
w $%,ެ։࣌ 044ଆ ม ‣ KTJJDPNQJMFS 54ίϯύΠϧ 5ZQF4DSJQU$PNQJMFS"1*
֦ுॲཧ KTJJͱʁ 㾎54ͷ$%,ίʔυΛ+4ίʔυͱதؒՌ KTJJΞηϯϒϦ ʹίϯύΠϧ KTJJΞηϯϒϦ+40/ϑΝΠϧͰग़ྗ 㾎ܕใͷऩूͱݕূ ܕνΣοΫ όϦσʔγϣϯ 㾎$VTUPN5SBOTGPSNFSͷద༻ KTJJͰ༻͢ΔͨΊͷܕใͷೖ EFQSFDBUFEϓϩύςΟͷܯࠂআ
KTJJΞηϯϒϦͷߏཁૉ Ϧιʔε͝ͱ 㾎ܕͷछྨ DMBTTJOUFSGBDFFOVNFUD 㾎ܕͷ໊લ Ϋϥε໊ͳͲ 㾎ϝιουҰཡɾDPOTUSVDUPS
ϝιου໊ɺҾͷ໊લͱܕɺΓͷܕɺFUD 㾎ϓϩύςΟҰཡ 㾎࣮ܧঝݩJOUFSGBDF 㾎ܧঝݩΫϥε 㾎நΫϥε͔Ͳ͏͔ 㾎JOUFSGBDFͷछྨ ϝιουΛ࣋ͭৼΔ͍ܕ͔ϓϩύςΟͷΈͷσʔλܕ͔ 㾎ྻڍܕ FOVN ͷϝϯόʔ 㾎FUDʜ
KTJJΞηϯϒϦͷߏཁૉ Ϧιʔε͝ͱ
w $%,ެ։࣌ 044ଆ ม ‣ KTJJQBDNBL KTJJΞηϯϒϦ͔Β֤ݴޠ༻ͷόΠϯσΟϯά ֤ݴޠͰͷίʔυ ੜ
㾎1ZUIPO 㾎+BWB 㾎(P 㾎$ ˞54+4൛$%,Ͱͱͷ54 ͔ΒίϯύΠϧ͞Εͨ+4 ίʔυ͕ͦͷ··༻͞ΕΔ KTJJͱʁ
w $%,ެ։࣌ 044ଆ ม KTJJͱʁ KTJJDPNQJMFS $POTUSVDU 54 KTJJQBDNBL 1ZUIPO༻
+BWB༻ (P༻ $༻ KTJJΞηϯϒϦ +4ίʔυ $POTUSVDU ଞݴޠ
w $%,࣮ߦ࣌ Ϣʔβଆ ௨৴ ‣ KTJJSVOUJNF KTJJ͕ϥϯλΠϜͱͯ͠ىಈͯ͠ɺ֤ݴޠͷ$%,ϓϩηεͱ௨৴͢Δ 㾎֤ݴޠ$POTUSVDUͱ54൛$POTUSVDU ࣮ଶ+4
ؒͰ௨৴ KTJJͱʁ KTJJSVOUJNF $POTUSVDU ଞݴޠ $POTUSVDU 54൛࣮ଶ+4
$%,Ϣʔβ ֤$POTUSVDUΫϥε 5ZQF4DSJQU ͖ͳݴޠ Ͱ༻ KTJJ "84$%, ϦϙδτϦ ௨৴ ม
KTJJSVOUJNF $%,ެ։࣌ 044ଆ ม $%,࣮ߦ࣌ Ϣʔβଆ ௨৴ 1ZUIPO༻ +BWB༻ (P༻ $༻ 5ZQF4DSJQU༻ +BWB4DSJQU༻ ֤$POTUSVDUΫϥε KTJJDPNQJMFS KTJJQBDNBL KTJJΞηϯϒϦ
ଞݴޠมͱ௨৴ͷΈ
w 5ZQF4DSJQU͔Β֤ݴޠʹม͞ΕΔͷ$POTUSVDUͷߏఆ͚ٛͩ ଞݴޠมͷΈ
w 5ZQF4DSJQU͔Β֤ݴޠʹม͞ΕΔͷ$POTUSVDUͷߏఆ͚ٛͩ 1VCMJDͳ$MBTTɾJOUFSGBDFɾϝιουɾϓϩύςΟͷ ܕ໊લͳͲͷใͷΈ֤ݴޠʹม͞ΕΔ ଞݴޠมͷΈ
w 5ZQF4DSJQU͔Β֤ݴޠʹม͞ΕΔͷ$POTUSVDUͷߏఆ͚ٛͩ ෦ॲཧ֤ݴޠʹม͞Εͳ͍ ˠ֤ݴޠଆ͔Β54 +4 ଆͷॲཧΛݺͼग़͢ ௨৴ ଞݴޠมͷΈ
w 5ZQF4DSJQU͔Β֤ݴޠʹม͞ΕΔͷ$POTUSVDUͷߏఆ͚ٛͩ ‣ ྫ (PͰ$%,Λ࣮ͨ͠߹ͷ$POTUSVDUͷݺͼग़͠ͱத ଞݴޠมͷΈ
w 5ZQF4DSJQU͔Β֤ݴޠʹม͞ΕΔͷ$POTUSVDUͷߏఆ͚ٛͩ ‣ ྫ (PͰ$%,Λ࣮ͨ͠߹ͷ$POTUSVDUͷݺͼग़͠ͱத தͷॲཧ54 +4 ଆͷ෦ॲཧΛݺͼग़͚ͩ͢ ௨৴ ܕ໊લ54͔Βมܗ͞Εͨͷ
ଞݴޠมͷΈ
w $%,࣮ߦ࣌ɺ֤ݴޠ$%,ͷࢠϓϩηεͰKTJJSVOUJNFىಈ /PEFKTϓϩηε ‣ $POTUSVDU͕ݺΕͨΒɺࢠϓϩηεܦ༝Ͱ54 +4 ଆͷ෦ॲཧΛݺͼग़͠ ‣ ͦͷͨΊɺଞݴޠͰ࣮ͷ߹$%,"QQ࣮ߦʹ/PEFKTϥϯλΠϜ͕ඞཁ
˞ͲͪΒʹ͠Ζ$%,$-*ʹ/PEFKTϥϯλΠϜ͕ඞཁͰ͋Δ ௨৴ͷΈ ϗετݴޠ$%,ϓϩηε +7. /&5 FUDʜ ߏఆٛ KTJJSVOUJNF /PEFKTϓϩηε ෦ॲཧ ࢠϓϩηε ݺͼग़͠
$%,Ϣʔβ ߏఆٛ ෦ॲཧ ֤$POTUSVDUΫϥε 5ZQF4DSJQU ֤$POTUSVDUΫϥε ߏఆٛ 1ZUIPO༻ +BWB༻ (P༻
$༻ 5ZQF4DSJQU༻ +BWB4DSJQU༻ ͖ͳݴޠ Ͱ༻ ߏఆ͔ٛΒ෦ॲཧݺͼग़͠ /PEFKTϓϩηε ߏఆ͚֤ٛͩݴޠʹࣗಈม ଞݴޠͰ࣮ͷ߹$%,࣮ߦʹ /PEFKTϥϯλΠϜ͕ඞཁ KTJJ $%,ެ։࣌ 044ଆ ม $%,࣮ߦ࣌ Ϣʔβଆ ௨৴ ίϯύΠϧ "84$%, ϦϙδτϦ KTJJDPNQJMFS KTJJQBDNBL KTJJΞηϯϒϦ KTJJSVOUJNF
ଞݴޠมʹ͓͚Δ੍
w $%, 044ଆ ࣮Ͱ5ZQF4DSJQUݻ༗ͷܕͷ༻ඇਪ ‣ ֤ݴޠͰରԠ͍ͯ͠ͳ͍දݱ͕͋Δ͔Β ྫ6OJPO ม࣌ʹΤϥʔʹͳΔͷͰͳ͘ɺมՄೳ
ඇՄٯ ͳ؇͍ܕʹม͞ΕΔ 㾎TUSJOHͷ6OJPOˠTUSJOH 㾎Ϋϥεͷ6OJPOˠΦϒδΣΫτBOZͳͲ ݴޠʹΑΔ ‣ ͨͩ͠ҎԼͷ߹Ͱ5ZQF4DSJQUݻ༗ͷॻ͖ํΛͯ͠ͳ͍ ۀͳͲͷ$%,ϓϩδΣΫτͰͷ࣮ OQN 54+4༻ ʹ͔͠ެ։͠ͳ͍$POTUSVDUϥΠϒϥϦ ˞$POTUSVDUϥΠϒϥϦݸਓͰ࡞ɾ͕Մೳ ଞݴޠมʹ͓͚Δ੍
w ෦ॲཧίʔυม͞Εͳ͍ͷͰ5ZQF4DSJQUݻ༗ͷॻ͖ํͰ0, ‣ ߏఆٛͰQSJWBUFͳϑΟʔϧυϝιουͰ54ݻ༗ͷܕ0, ˞A!KTJJJHOPSFAͱ͍͏ऍ͋Δ ଞݴޠมʹ͓͚Δ੍
w 6OJPOͷସҊ ‣ FOVNܕ Ϧςϥϧܕͷ6OJPOͷସ ˞$%,Ͱ5ZQF4DSJQUͩΖ͏ͱFOVNܕΛ͏ ଞݴޠͷFOVNͱͷޓੑͷͨΊ ଞݴޠมͷ੍ͷସҊ
w 6OJPOͷସҊ ‣ 6OJPO-JLF$MBTT ϦςϥϧܕҎ֎ͷ6OJPOͷସ BCTUSBDUFYUFOET TUBUJDϝιουͰαϒΫϥεͷܕͰฦ͢͜ͱͰϢχΦϯΛදݱ ଞݴޠมͷ੍ͷସҊ
w 6OJPOͷସҊ ‣ 6OJPO-JLF$MBTT ϦςϥϧܕҎ֎ͷ6OJPOͷସ BCTUSBDUFYUFOET TUBUJDϝιουͰαϒΫϥεͷܕͰฦ͢͜ͱͰϢχΦϯΛදݱ ଞݴޠมͷ੍ͷସҊ
w &OVN-JLF$MBTT ‣ TUBUJDϓϩύςΟ બࢶ༻ TUBUJDϝιου ࣗ༝ͳΛࢦఆ͢Δ༻
DPOTUSVDUPSΛQSJWBUFʹ͢Δ͜ͱͰݺͼग़͠ํ๏͕౷Ұ͞ΕΑΓFOVNͬΆ͘ ଞݴޠมͷ੍ͷସҊ
$%,Ϣʔβ ߏఆٛ ෦ॲཧ ֤$POTUSVDUΫϥε 5ZQF4DSJQU ֤$POTUSVDUΫϥε ߏఆٛ 1ZUIPO༻ +BWB༻ (P༻
$༻ 5ZQF4DSJQU༻ +BWB4DSJQU༻ ͖ͳݴޠ Ͱ༻ ߏఆ͔ٛΒ෦ॲཧݺͼग़͠ /PEFKTϓϩηε ߏఆ͚֤ٛͩݴޠʹࣗಈม ଞݴޠͰ࣮ͷ߹$%,࣮ߦʹ /PEFKTϥϯλΠϜ͕ඞཁ KTJJ $%,ެ։࣌ 044ଆ ม $%,࣮ߦ࣌ Ϣʔβଆ ௨৴ ίϯύΠϧ "84$%, ϦϙδτϦ KTJJDPNQJMFS KTJJQBDNBL KTJJΞηϯϒϦ KTJJSVOUJNF $%,ίϯτϦϏϡʔτͷൣғ HJUIVCDPNBXTBXTDEL ˞֤ݴޠʹม͢ΔͨΊ 5ZQF4DSJQUݻ༗ͷܕදݱ/( ˞֤ݴޠʹม͠ͳ͍ͨΊ 5ZQF4DSJQUݻ༗ͷ࣮0,
·ͱΊ
$%,͕֤ϓϩάϥϛϯάݴޠͰ࣮Ͱ͖ΔΈ
એɿࣗ࡞πʔϧOSSͷ͝հ
ࣗ࡞044"84πʔϧ ʲDMTʳ4όέοτΛߴʹআɾۭʹ͢Δπʔϧ ‣ IUUQTHJUIVCDPNHPUPLDMT ʲEFMTUBDLʳ"84$MPVE'PSNBUJPOελοΫڧ੍আπʔϧ ‣ IUUQTHJUIVCDPNHPUPLEFMTUBDL ʲMBNWFSʳ-BNCEBϥϯλΠϜόʔδϣϯݕࡧπʔϧ ‣ IUUQTHJUIVCDPNHPUPLMBNWFS
ࣗ࡞044"84πʔϧ ʲDMTʳ4όέοτΛߴʹআɾۭʹ͢Δπʔϧ ରͰݕࡧͯ͠ɺෳόέοτฒྻҰׅআʂ ඇݱߦόʔδϣϯͷΈআՄೳʂࠓͷ45BCMFTͷআʹରԠʂ
ࣗ࡞044"84πʔϧ ʲEFMTUBDLʳ"84$MPVE'PSNBUJPOελοΫڧ੍আπʔϧ $'OআͰࣦഊ͢ΔϦιʔε͕͋ͬͯελοΫϦιʔε͝ͱڧ੍আʂ ରͰݕࡧͯ͠ɺෳελοΫҰׅআՄೳʂ ґଘؔΛՃຯͯ͠৽͍͠ͷ͔Βॱʹআ
ࣗ࡞044"84πʔϧ ʲMBNWFSʳ-BNCEBϥϯλΠϜόʔδϣϯݕࡧπʔϧ ϦʔδϣϯԣஅݕࡧʂશબϑΟϧλϦϯάՄʂ $47ग़ྗΦϓγϣϯ͋Γʂ
ࣗ࡞044"84πʔϧ ʲMBNWFSʳ-BNCEBϥϯλΠϜόʔδϣϯݕࡧπʔϧ ϦʔδϣϯԣஅݕࡧʂશબϑΟϧλϦϯάՄʂ $47ग़ྗΦϓγϣϯ͋Γʂ
ࣗ࡞044"84$%,$POTUSVDUϥΠϒϥϦ ʲJNBHFTDBOOFSXJUIUSJWZʳ$%,Ͱ5SJWZͰίϯςφΠϝʔδεΩϟϯ ‣ IUUQTDPOTUSVDUTEFWQBDLBHFTJNBHFTDBOOFSXJUIUSJWZ ʲJNBHFTDBOOFSXJUIEPDLMFʳ$%,Ͱ%PDLMFͰίϯςφΠϝʔδεΩϟϯ ‣ IUUQTDPOTUSVDUTEFWQBDLBHFTJNBHFTDBOOFSXJUIEPDLMF ʲFMCPUIFSYYBMBSNʳ$%,ͰϚΠφʔͳYY
ͷ&-#ΞϥʔϜ ‣ IUUQTDPOTUSVDUTEFWQBDLBHFTJNBHFTDBOOFSXJUIEPDLMF
5IBOL:PV LHPUP "84%FW5PPMT)FSP 9!@TUFQ@UFDI (JU)VC!HPUPL