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
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
Search
k.goto
July 05, 2024
Programming
7
2.8k
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
2024/07/06開催AWS CDK Conference Japan 2024での登壇資料です。
k.goto
July 05, 2024
Tweet
Share
More Decks by k.goto
See All by k.goto
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
5
1k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
330
OSS活動のススメ / oss-activities
gotok365
4
1.1k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
8
1.7k
S3バケットを高速で削除・空にするツール「cls3」 / s3-deletion-tool-cls3
gotok365
4
880
AWS CDKで コンテナイメージスキャンを行う 〜ECRとその他の方法〜 / cdk-container-image-scan
gotok365
2
1.5k
スタートアップでこそCDKが活きた〜生産性を向上できた5つの理由〜 / startup-cdk-productivity
gotok365
14
4.1k
AWS CDKで"使う"GoFデザインパターン 〜実際どうなの?〜 / GoF design patterns used with AWS CDK
gotok365
4
1.8k
AWS CDKで学ぶGoFデザインパターン〜IaCにもコード設計〜 / aws dev day cdk gof design patterns
gotok365
14
6.7k
Other Decks in Programming
See All in Programming
Do Dumb Things
mitsuhiko
0
430
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
840
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
2.6k
AI時代の開発者評価について
ayumuu
0
110
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
480
PHP で学ぶ OAuth 入門
azuki
1
130
Empowering Developers with HTML-Aware ERB Tooling @ RubyKaigi 2025, Matsuyama, Ehime
marcoroth
1
250
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
730
Kamal 2 – Get Out of the Cloud
aleksandrov
1
180
SwiftUI API Design Lessons
niw
1
260
Defying Front-End Inertia: Inertia.js on Rails
skryukov
0
460
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
0
530
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
29
5.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
KATA
mclloyd
29
14k
GraphQLとの向き合い方2022年版
quramy
46
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
RailsConf 2023
tenderlove
30
1.1k
Docker and Python
trallard
44
3.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Fireside Chat
paigeccino
37
3.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Transcript
LHPUP AWS CDKʹ͓͚Δ ʮ࠶ར༻ੑʯΛߟ͑Δ "84$%,$POGFSFODF+BQBO
ࣗݾհ LHPUP "84)&30 "84$%,ίϯτϦϏϡʔτ $PNNVOJUZ%SJWFO $%,$POTUSVDU-JCSBSZ "84πʔϧ DMT EFMTUBDL MBNWFS
"84%FW5PPMT)FSP .BJOUBJOFS 5PQ$POUSJCVUPS 5SVTUFE3FWJFXFS ࣗ࡞044 $%,$POTUSVDUϥΠϒϥϦ 9!@TUFQ@UFDI (JU)VC!HPUPL
AWS CDKʹ͓͚Δ
ʮ࠶ར༻ੑʯ ͱʁ
"84$%,ʹ͓͚Δʮ࠶ར༻ੑʯͱʁ w ࠶ར༻ੑ㲈͍ճ͕͠ޮ͘ ‣ ϦϙδτϦͰ͍ճͤΔ ಛఆͷઃఆΛͨ͠-BNCEBͳͲΛೖΕͨ$POTUSVDUΛఆٛ ͦΕΛͬͯͭͷ"1*ΤϯυϙΠϯτΛ࡞ ‣
ϦϙδτϦ֎Ͱ͍ճͤΔ ϞχλϦϯάڥΛ͍͍ײ͡ʹఆٛͰ͖Δ൚༻తͳ$POTUSVDUΛఆٛ ֤ϦϙδτϦ ϓϩδΣΫτ ͰͦΕΛ༻
ͲͷΑ͏ʹʮ࠶ར༻ੑʯΛ࣮ݱ͢Δͷ͔ʁ w ηΦϦʔ͕ੈʹग़͍ͯͳ͍ ‣ ൿͷλϨ ‣ ଐਓԽ w $%,ʹ$POTUSVDU͕͋Δ ‣
࠶ར༻ੑͷॏཁͳΩʔ $POTUSVDUΛͲͷΑ͏ʹ࡞Δ͜ͱͰ ࠶ར༻ੑΛ୲อͰ͖Δͷ͔ʁ
࠶ར༻ੑͷͨΊͷ Construct࣮ϙΠϯτ
લఏ w αϯϓϧίʔυ5ZQF4DSJQUͰهड़ w Ұ෦ɺ࠶ར༻ੑͱ͍͏ΑΓ$POTUSVDUͱͯ͠ྑ͍࣮Έ͍ͨͳͱ͜Ζ w ຊηογϣϯͰमਖ਼ରͱͨ͠ίʔυ͕ѱ͍ͱ͍͏Θ͚Ͱ͋Γ·ͤΜʂ ‣ ࠶ར༻ੑͱଞͷ؍ͰτϨʔυΦϑͳέʔεͳͲ͕͋Γ·͢ ‣
͋͘·Ͱ࠶ར༻ੑͷͨΊͷҰྫͱͯ͠ݟ͍͚ͯͨͩΕʂ
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
ᶃελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ w ଞͷϦϙδτϦͰ͑ͳ͘ͳͬͯ͠·͏ w $POTUSVDUʹෆཁͳϓϩύςΟଟ͘ͳΓ͕ͪ 4UBDL $POTUSVDU
ᶃελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ w ଞͷϦϙδτϦͰ͑ͳ͘ͳͬͯ͠·͏ w $POTUSVDUʹෆཁͳϓϩύςΟଟ͘ͳΓ͕ͪ 4UBDL $POTUSVDU
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
ᶄQSPQTͷϓϩύςΟSFBEPOMZʹ w $POTUSVDUͷೖྗͰ͋ΔQSPQTͷޡ্ͬͨॻ͖ͳͲΛ͙ ‣ ্ॻ͖͕Մೳͩͱೖྗͷ৴པੑ͕ͳ͘ͳΔ ‣ ্ॻ͖Λېࢭ͢Δ͜ͱͰ։ൃʹ͓͚Δ҆શੑͷ্ʹ ࠶ར༻ੑԿΘΕΔͱ͍͏͜ͱͳͷͰࡉ͔͍ͱ͜Ζҙࣝ͢Δͱ˕
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
ᶅQSPQTͷόϦσʔγϣϯ5PLFOʹҙ w 5PLFOͱ ‣ ޙͰղܾ͞ΕΔ ໌͢Δ ΛԾͷͰ֨ೲ͓ͯ͘͠Έ ओʹOVNCFSܕTUSJOHܕͷͷ͕ର ྻܕҰ෦͋Γ
FY $MPVE'PSNBUJPOͷ3FG EFQMPZ࣌ʹղܾ ͳͲ$%,্Ͱ5PLFOʹͳΔ ˢ ίίͰղܾ CVDLFU/BNFͳͲ ˢ ίίͰෆ໌ͳͷͰ 5PLFOͱͯ͠ԾͷͰѻ͏
ᶅQSPQTͷόϦσʔγϣϯ5PLFOʹҙ w 5PLFOͱ ‣ ޙͰΘ͔Δɾͭ·Γࠓ͕ෆ໌ͳҝɺόϦσʔγϣϯΛ͢Δ͜ͱ͕Ͱ͖ͳ͍ ˠ5PLFOͷ߹ɺόϦσʔγϣϯΛεΩοϓ͢Δඞཁ͕͋Δ w 5PLFOJT6OSFTPMWFE ϝιουͰ5PLFO͔Ͳ͏͔அ͕Մೳ
‣ 5PLFOͷ߹USVFΛฦ͢ GBMTFͷͱ͖ 5PLFOͰͳ͍ ʹόϦσʔγϣϯΛ͢Εྑ͍
ᶅQSPQTͷόϦσʔγϣϯ5PLFOʹҙ w $POTUSVDUΛ͍ճ͢ͱ͍͏͜ͱɺͲ͔͜ΒԿ͕͞ΕΔ͔Θ͔Βͳ͍ ‣ $POTUSVDUଆͰɺৗʹ5PLFO͕͞ΕΔՄೳੑΛఆ͓ͯ͘͠ඞཁ͕͋Δ ‣ OVNCFSܕTUSJOHܕͷϓϩύςΟͰ͋ΕͱΓ͋͑ͣνΣοΫ͓ͯ͘͠ͱ҆શ -BNCEBؔ .Z$POTUSVDU ελοΫ"
QSPQT GVODUJPO/BNFTUSJOH `NZGVODUJPO` ඇ5PLFO ελοΫ# #VDLFU CVDLFU/BNF 5PLFO
ᶅQSPQTͷόϦσʔγϣϯ5PLFOʹҙ w CVJMEFST fl BTIʰ"84$%,ʹ͓͚ΔόϦσʔγϣϯͷ͍͚ํΛֶͿʱ ‣ IUUQTBXTBNB[PODPNKQCVJMEFST fl BTIDELWBMJEBUJPO
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
ᶆQSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ w #VDLFUܕͰͳ͘*#VDLFUܕ JOUFSGBDF ʹ
ᶆQSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ w *9YYܕ JOUFSGBDF ͬͯʁˠಡΈࠐΈઐ༻ϦιʔεͷͨΊͷͷ ‣ $%,ελοΫ֎ϦιʔεΛɺٖࣅతʹελοΫͷϦιʔεͷΑ͏ʹѻ͑Δ ˞࣮ࡍʹελοΫ֎ͷϦιʔεΛελοΫͷཧԼʹ͢ΔDELJNQPSUͱผ $%,ελοΫ
Ϛωίϯ -BNCEB 4 #VDLFU ελοΫॴ༗ ελοΫඇॴ༗
ᶆQSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ w *9YYܕ JOUFSGBDF ͬͯʁˠಡΈࠐΈઐ༻ϦιʔεͷͨΊͷͷ ‣ ࣮ͨͩ͠ମελοΫ֎Ͱ࡞ͬͨͷͳͷͰɺͦͷϦιʔεͷߋ৽ͳͲͰ͖ͳ͍ ‣ ͦ͜Ͱ$%,ಡΈࠐΈઐ༻ϦιʔεΛ*9YYͱ͍͏JOUFSGBDFͰද͠ɺಡΈࠐΈ༻ ϝιουϓϩύςΟͷΈΛ࣋ͨͤΔ͜ͱͰʮಡΈࠐΈઐ༻ʯΛ࣮ݱ͍ͯ͠Δ
࣮Ϧιʔεͷ$POTUSVDU*9YYΛJNQMFNFOUT͠ɺߋ৽༻ϝιουͳͲΛՃఆٛ $%,ελοΫ Ϛωίϯ -BNCEB 4 #VDLFU ελοΫॴ༗ ࣮$POTUSVDU HSBOU1VU FUDʜ ελοΫඇॴ༗ *#VDLFU JOUFSGBDF
ᶆQSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ w *9YYܕ JOUFSGBDF ͬͯʁˠಡΈࠐΈઐ༻ϦιʔεͷͨΊͷͷ ‣ -$POTUSVDU͕࣋ͭGSPN9YYϝιουΛͬͯελοΫ֎͔ΒऔΓࠐΊΔ ελοΫ֎ͷόέοτͷ"3/ͳͲΛࢦఆ͢Δ
ಡΈࠐΈઐ༻Ϧιʔεͱͯ͠ɺ*#VDLFUܕΛฦ͢
ᶆQSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ w QSPQT ೖྗ Ͱ*9YYܕʹ͢Δͱɾɾɾ ‣ ಡΈࠐΈઐ༻Ϧιʔεѻ͑ΔΑ͏ʹ ελοΫ֎͔ΒऔΓࠐΜͩ#VDLFUͦͷ$POTUSVDUʹͤΔ ‣
ಉ͡JOUFSGBDFΛ࣮͢Δଟछͷ$POTUSVDUΛͤΔΑ͏ʹͳΔ *'VODUJPO 㾎'VODUJPO 㾎/PEFKT'VODUJPO 㾎4JOHMFUPO'VODUJPO 㾎FUDʜ
ᶆQSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ w $POTUSVDUͰެ։͢ΔQVCMJDม ग़ྗ Ͱ*9YYܕʹ͢Δͱɾɾɾ ‣ $POTUSVDU֎ͰಡΈࠐΈઐ༻Ϧιʔεͱͯ͠ѻΘΕΔ͜ͱʹͳΔ ߋ৽ϝιου͕ͳ͘ͳΔ ‣
ˠϦιʔεΛ࡞ͨ͠$POTUSVDUҎ֎͔ΒͦͷϦιʔεΛߋ৽Ͱ͖ͳ͘ͳΔ ҆શੑͷ্ ͷڽू
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
ᶇQSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ w CVDLFU/BNFTUSJOHΑΓCVDLFU*#VDLFUʹ ‣ *#VDLFU͔ΒCVDLFU/BNFΛऔΕΔ͠ɺଞͷϓϩύςΟҰॹʹऔΕΔ ˞औΕͳ͍ͷͰ͋Εํͳ͍ ‣ JOUFSGBDF *9YY
ܕʹ࣮͞Εͨศརϝιου͕͑ͨΓ͢Δ ‣ ຊՈͷ$POTUSVDUͷQSPQT*9YYܕ͕ଟ͍ͷͰɺͦΕΒʹ͢ͱ͖ศར
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
ᶈQVCMJDϝιουΛ༻ҙ w ݺͼग़͠ݩͰ͍͍ײ͡ʹɾॊೈʹݺΔϝιουΛ༻ҙ ‣ ಛʹཁ͕ͳ͚Εແཧʹ࡞Δඞཁͳ͠ Ճ͢ΕΑ͍ ྫ4όέοτͷ"3/ΛϦετͰऔಘ
ᶈQVCMJDϝιουΛ༻ҙ ྫ8"'ΛΞλονઌϦιʔεଆͰͳ͘8"'ίϯετϥΫτଆͰΞλον w ΞλονઌϦιʔεଆʹ8"'ఆٛΛೖΕͣʹࡁΈɺ8"'ΛΞλον ͢Δ͠ͳ͍1+Ͱಉ͡$POTUSVDUΛ8"'༻ͷJGจ͍ΒͣͰ͍ճͤΔ w 8"'ଆͷ$POTUSVDUͷDPOTUSVDUPSʹΞλονఆٛΛೖΕͣʹࡁΉ ͨΊɺίʔυ͕ෳࡶʹͳΒͳ͍ w ͭͷ8"'ΛෳϦιʔεʹ·ͱΊͯΞλον͢ΔࡍՄಡੑ˕
ᶈQVCMJDϝιουΛ༻ҙ w QVCMJDϝιουͰϦιʔεΛ࡞͢Δͱ͖ͷϙΠϯτ ‣ ϝιουΛෳճݺͿ͜ͱΛՃຯ͠ɺ$POTUSVDU*%͕ඃΒͳ͍Α͏ʹҾʹ*%Λ ؚΊΔ
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
ᶉόϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ w ݺͼग़͠ݩͰͷJNQPSUจͷ؆ૉԽ JNQPSUจ͕ߦʹʂ JOEFYUT όϨϧ ݺͼग़͠ݩ
ᶉόϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ w Ϟδϡʔϧͷཧղ༰қੑ্ JOEFYUT όϨϧ ͲͷϞδϡʔϧͷ$POTUSVDU͔Θ͔Γ͍͢ʂ ݺͼग़͠ݩ
ᶉόϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ w σΟϨΫτϦ$POTUSVDUͷ֊ߏ ωετ ʹ͓͚Δ$POTUSVDUͷެ։੍ޚ ‣ ࢠ$POTUSVDUͦͷϞδϡʔϧͷϝΠϯͷ$POTUSVDU͔Β͔͠ݺΕͳ͍ఆ
MPHBOBMZTJTUTTUBUJDUT͔Β͔͠ݺΕͳ͍ ‣ ϝΠϯͷ$POTUSVDU͚ͩΛ4UBDLͳͲ$POTUSVDU֎͔ΒݺΔΑ͏ʹ͍ͨ͠ TUBUJDUT͚ͩϞδϡʔϧ֎ 4UBDLͳͲ ͔Βݺͼ͍ͨ
ᶉόϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ w σΟϨΫτϦ$POTUSVDUͷ֊ߏ ωετ ʹ͓͚Δ$POTUSVDUͷެ։੍ޚ JOEFYUT όϨϧ ݺͼग़͠ݩ
ᶉόϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ w Ұॹʹѻ͍͍ͨ ؔ࿈ ϦιʔεΛͭͷϞδϡʔϧʹ·ͱΊΔࢫΈ͕૿͢ ‣ ؙ͝ͱ؆୯ʹଞ1+ʹෳͰ͖Δ ‣
ϞδϡʔϧͷϙʔλϏϦςΟΞοϓˠ࠶ར༻ੑΞοϓ $MPVE'SPOU ·ΘΓͷ $POTUSVDUϞδϡʔϧ ඇެ։$POTUSVDU ϩά༻4όέοτ "UIFOBܥ (MVFܥ ϩάܗ༻-BNCEB ผʑͷ$POTUSVDUʹ͚࣮ͯͰ͖ ެ։$POTUSVDU ΦϦδϯ༻4όέοτ %JTUSJCVUJPO ݺ ͼ ग़ ͠ ͭͷϞδϡʔϧʹ·ͱΊΒΕΔ ެ։ඇެ։ʹ͚ΒΕ ֎͔Β ݺΔ
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
ᶊ$POTUSVDU୯ҐͷϢχοτςετ w ελοΫଞϦιʔεʹґଘ͠ͳ͍$POTUSVDUʹดͨ͡ςετ͕Մೳʹ ‣ $POTUSVDUࣗମͷ৴པੑɾอकੑΞοϓ ۭͷελοΫΛੜ ςετରͷ$POTUSVDUͷΈΛੜ ςετରͷߏཁૉͷΈΛςετ
ᶊ$POTUSVDU୯ҐͷϢχοτςετ w ͨͩ͠શͯͷ$POTUSVDU͝ͱʹॻ͘ͱɾɾɾ ‣ ςετ͕େྔʹͳΔ͜ͱ ‣ ςετ TZOUI ͕͘ͳΔ͜ͱ
ಛʹ%PDLFSͷϏϧυɺιʔείʔυͷόϯυϧॲཧ͕͋Δ߹ ˞ςετͰ͜ͷ෦͚ͩKFTUͰϞοΫ͢Δͱ͍͏ख͋Δ w جຊελοΫͰͷςετͰ0, ‣ ಛʹ࠶ར༻ੑΛ୲อ͍ͨ͠ͷ͚ͩΔख ‣ $POTUSVDUϥΠϒϥϦͱͯ͠࡞ΔϦϙδτϦͰಛʹ༗ޮ "84$%,ຊՈͷϢχοτςετͰجຊతʹ$POTUSVDU୯Ґ
࠶ར༻ੑͷͨΊͷ$POTUSVDU࣮ϙΠϯτ ᶃ ελοΫͷQSPQTΛ$POTUSVDUʹͦͷ··͞ͳ͍ ᶄ QSPQTͷϓϩύςΟSFBEPOMZʹ ᶅ QSPQTͷόϦσʔγϣϯ5PLFOʹҙ ᶆ QSPQT$POTUSVDUͰެ։͢ΔϦιʔεͷϓϩύςΟ*9YYܕʹ ᶇ
QSPQT$POTUSVDUͰެ։͢ΔϓϩύςΟʹϓϦϛςΟϒܕආ͚Δ ᶈ QVCMJDϝιουΛ༻ҙ ᶉ όϨϧ JOEFYUT ʹΑΔϞδϡʔϧੑ্ ᶊ $POTUSVDU୯ҐͷϢχοτςετ
࠶ར༻ੑͷͨΊͷ Construct࣮ϙΠϯτ
σϝϦοτ͋Γ·͢
࠶ར༻ੑΛՃຯͨ͠ࡍͷσϝϦοτ w 1+ʹ࠷దͰͳ͘ͳΔ͜ͱ͋Δ ‣ ʮQVCMJDϝιουͳΜͯ࡞ΒͣɺʹDPOTUSVDUPSͰݺ͍͍͡ΌΜʯ ‣ ʮQVCMJDϝιουʹ͢ΔͱݺͼΕ͕ى͖Δ͠ʯ ‣ ʮذॲཧ͕͋Δ͚Ͳɺ͜ͷ1+Ͱ͜ΕઈରUSVFͩΑͶʯ w࠶ར༻ੑ
1+ؒͰͷ͍ճ͠$POTUSVDUͱͯ͠ͷ͍উख ͱͷτϨʔυΦϑ wݺͼग़͠ݩͰͷόϦσʔγϣϯϢχοτςετͰΧόʔ͠·͠ΐ͏
͓·͚
$POTUSVDU)VC w ศརͳίϯετϥΫτϥΠϒϥϦू ‣ ࣗ࡞$POTUSVDUΛެ։͢ΔϓϥοτϑΥʔϜ ‣ ࣗ༝ʹࣗͨͪͷ$%,ϓϩδΣΫτͰΠϯετʔϧͯ͑͠Δ ˞୭Ͱެ։Ͱ͖ΔͷͰɺ৴པͰ͖ΔਓɾϞϊ͚ͩ͏Α͏ʹ͠·͠ΐ͏ ˞IUUQTDPOTUSVDUTEFW
1SPKFO w 1SPKFOͰ؆୯ʹࣗ࡞ίϯετϥΫτϥΠϒϥϦΛ࡞ɾެ։Ͱ͖Δ 1SPKFOϦϙδτϦ 1SPKFOͱ"84$%,ͷ͡Ίํ IUUQTHJUIVCDPNQSPKFOQSPKFO IUUQTBXTBNB[PODPNKQCMPHTOFXTHFUUJOHTUBSUFEXJUIQSPKFOBOEBXTDEL
w "84$%,ͰֶͿ(P'σβΠϯύλʔϯʙ*B$ʹίʔυઃܭʙ "84%FW%BZ (P'σβΠϯύλʔϯ ࠶ར༻ͷͨΊͷσβΠϯύλʔϯ IUUQTTQFBLFSEFDLDPNHPUPLBXTEFWEBZDELHPGEFTJHOQBUUFSOT
(P'σβΠϯύλʔϯ ࠶ར༻ͷͨΊͷσβΠϯύλʔϯ w "84$%,ͰֶͿ(P'σβΠϯύλʔϯʙ*B$ʹίʔυઃܭʙ "84%FW%BZ IUUQTTQFBLFSEFDLDPNHPUPLBXTEFWEBZDELHPGEFTJHOQBUUFSOT "CTUSBDU'BDUPSZύλʔϯͰJGจΛ΄ͱΜͲΘͳ͍Α͏ʹͰ͖ͨΓ
(P'σβΠϯύλʔϯ ࠶ར༻ͷͨΊͷσβΠϯύλʔϯ w "84$%,ͰֶͿ(P'σβΠϯύλʔϯʙ*B$ʹίʔυઃܭʙ "84%FW%BZ IUUQTTQFBLFSEFDLDPNHPUPLBXTEFWEBZDELHPGEFTJHOQBUUFSOT
(P'σβΠϯύλʔϯ ࠶ར༻ͷͨΊͷσβΠϯύλʔϯ w "84$%,ͰֶͿ(P'σβΠϯύλʔϯʙ*B$ʹίʔυઃܭʙ "84%FW%BZ IUUQTTQFBLFSEFDLDPNHPUPLBXTEFWEBZDELHPGEFTJHOQBUUFSOT
(P'σβΠϯύλʔϯ ࠶ར༻ͷͨΊͷσβΠϯύλʔϯ w "84$%,ͰֶͿ(P'σβΠϯύλʔϯʙ*B$ʹίʔυઃܭʙ "84%FW%BZ IUUQTTQFBLFSEFDLDPNHPUPLBXTEFWEBZDELHPGEFTJHOQBUUFSOT
(P'σβΠϯύλʔϯ ࠶ར༻ͷͨΊͷσβΠϯύλʔϯ w DELHPGEFTJHOQBUUFSO $%,º(P'ͷαϯϓϧίʔυͱΫϥεਤू IUUQTHJUIVCDPNHPUPLDELHPGEFTJHOQBUUFSO
(P'σβΠϯύλʔϯ ࠶ར༻ͷͨΊͷσβΠϯύλʔϯ w ެࣜϕετϓϥΫςΟεϖʔδɿ࠶ར༻Մೳͳύλʔϯͷ։ൃ ˞IUUQTEPDTBXTBNB[PODPNKB@KQQSFTDSJQUJWFHVJEBODFMBUFTUCFTUQSBDUJDFTDELUZQFTDSJQUJBD SFVTBCMFQBUUFSOTCFTUQSBDUJDFTIUNM
·ͱΊ
·ͱΊ w "84$%,ʹ͓͚Δʮ࠶ར༻ੑʯͱʁ ‣ ͍ճ͠ ‣ $POTUSVDU͕ॏཁͳΩʔ w ʮ࠶ར༻ੑʯΛ୲อ͢Δ$POTUSVDU࣮ϙΠϯτ ‣
ʮ࠶ར༻ੑʯΛߟ͑ͳ͍߹ɺ͜ΕΒͷϙΠϯτʹԊ͏ඞཁͳ͍ ‣ ͨͩ͠ʮ࠶ར༻ੑʯʹؔͳ͘ɺ$POTUSVDU࣮ͱͯ͠ྑ͍ w ࠶ར༻ੑͷ୲อʹσϝϦοτ͍ͭͯ͘Δ ‣ τϨʔυΦϑ
એɿࣗ࡞OSSͷ͝հ
ࣗ࡞044"84πʔϧ ʲEFMTUBDLʳ"84$MPVE'PSNBUJPOελοΫڧ੍আπʔϧ ‣ IUUQTHJUIVCDPNHPUPLEFMTUBDL ʲDMTʳ4όέοτΛߴʹআɾۭʹ͢Δπʔϧ ‣ IUUQTHJUIVCDPNHPUPLDMT ʲMBNWFSʳ-BNCEBϥϯλΠϜόʔδϣϯݕࡧπʔϧ ‣ IUUQTHJUIVCDPNHPUPLMBNWFS
ࣗ࡞044"84πʔϧ ʲEFMTUBDLʳ"84$MPVE'PSNBUJPOελοΫڧ੍আπʔϧ $'OআͰࣦഊ͢ΔϦιʔεָ͕͋ͬͯʑڧ੍আʂ ରͰݕࡧͯ͠ɺෳελοΫҰׅআՄೳʂ ґଘؔΛՃຯͯ͠৽͍͠ͷ͔Βॱʹআ
ࣗ࡞044"84πʔϧ ʲDMTʳ4όέοτΛߴʹআɾۭʹ͢Δπʔϧ ରͰݕࡧͯ͠ɺෳόέοτҰׅআՄೳʂ ඇݱߦόʔδϣϯͷΈআՄೳʂ
ࣗ࡞044"84πʔϧ ʲMBNWFSʳ-BNCEBϥϯλΠϜόʔδϣϯݕࡧπʔϧ
ࣗ࡞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