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
3k
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
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
7
370
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
7
560
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
390
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
5
1.1k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
360
OSS活動のススメ / oss-activities
gotok365
4
1.2k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
8
1.8k
S3バケットを高速で削除・空にするツール「cls3」 / s3-deletion-tool-cls3
gotok365
4
930
AWS CDKで コンテナイメージスキャンを行う 〜ECRとその他の方法〜 / cdk-container-image-scan
gotok365
2
1.5k
Other Decks in Programming
See All in Programming
知識0からカンファレンスやってみたらこうなった!
syossan27
5
320
TSConfig Solution Style & subpath imports to switch types on a per-file basis
maminami373
1
180
メモリリークが発生した時にpprofを使用して原因特定した話
zono33lhd
0
100
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
260
ソフトウェア品質特性、意識してますか?AIの真の力を引き出す活用事例 / ai-and-software-quality
minodriven
19
6.6k
Cloudflare Workersで進めるリモートMCP活用
syumai
13
1.9k
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
120
技術的負債と戦略的に戦わざるを得ない場合のオブザーバビリティ活用術 / Leveraging Observability When Strategically Dealing with Technical Debt
yoshiyoshifujii
0
160
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
700
TSConfigからTypeScriptの世界を覗く
planck16
2
1.3k
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
170
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
110
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
21k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Practical Orchestrator
shlominoach
188
11k
Typedesign – Prime Four
hannesfritz
41
2.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Bash Introduction
62gerente
614
210k
Faster Mobile Websites
deanohume
307
31k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
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