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で"使う"GoFデザインパターン 〜実際どうなの?〜 / GoF design ...
Search
k.goto
July 11, 2023
Programming
4
2.1k
AWS CDKで"使う"GoFデザインパターン 〜実際どうなの?〜 / GoF design patterns used with AWS CDK
2023/07/12開催 JAWS-UG CDK支部 #7での発表資料です。
k.goto
July 11, 2023
Tweet
Share
More Decks by k.goto
See All by k.goto
AWS CDKの仕組み / how-aws-cdk-works
gotok365
17
5k
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
7
2.1k
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
10
1.2k
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
7
860
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
510
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
6
1.5k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
3
560
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
8
3.6k
OSS活動のススメ / oss-activities
gotok365
5
1.5k
Other Decks in Programming
See All in Programming
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
AI & Enginnering
codelynx
0
120
今から始めるClaude Code超入門
448jp
8
9k
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
120
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
Package Management Learnings from Homebrew
mikemcquaid
0
230
Apache Iceberg V3 and migration to V3
tomtanaka
0
170
MUSUBIXとは
nahisaho
0
140
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
790
React Native × React Router v7 API通信の共通化で考えるべきこと
suguruooki
0
100
Oxlintはいいぞ
yug1224
5
1.4k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
230
How to train your dragon (web standard)
notwaldorf
97
6.5k
Ethics towards AI in product and experience design
skipperchong
2
200
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
GitHub's CSS Performance
jonrohan
1032
470k
Un-Boring Meetings
codingconduct
0
200
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Transcript
LHPUP าͷςοΫ "84$%,ͰֶͿ (P'σβΠϯύλʔϯ ʙ࣮ࡍͲ͏ͳͷʁʙ +"846($%,ࢧ෦ ͏
ࣗݾհ LHPUP w ςοΫϦʔυɾϥʔϝϯ͖ w "84$PNNVOJUZ#VJMEFS %FW5PPMT w าͷςοΫ
ٕज़ϒϩά w ࣗ࡞"84πʔϧͷ044։ൃ w "84$%,$POUSJCVUPS ‣ $POTUSVDU)VCެ։ w 5XJUUFS!@TUFQ@UFDI ‣ LHPUP าͷςοΫ
(P'σβΠϯύλʔϯͱ w ॻ੶ʰΦϒδΣΫτࢦʹ͓͚Δ࠶ར༻ͷͨΊͷσβΠϯύλʔϯʱ ˞ ‣ ௨শʰ(P'ຊʱ ‣ (P' (BOHPG'PVS
͜ͷڞஶऀͷਓ ‣ શύλʔϯ w ݹ͔͘Β͋Δ͕ɺ"84$%,ͷ෦࣮ʹҰ෦༻͍ΒΕ͍ͯΔ ˞ʰΦϒδΣΫτࢦʹ͓͚Δ࠶ར༻ͷͨΊͷσβΠϯύλʔϯʱ ιϑτόϯΫύϒϦογϯά ஶΤʔϦώɾΨϯϚɺϥϧϑɾδϣϯιϯɺϦνϟʔυɾϔϧϜɺδϣϯɾϒϦγσΟʔε ༁ຊҐాਅҰ ٢ాथ
(P'σβΠϯύλʔϯͱ IUUQTEPDTBXTBNB[PODPNKB@KQQSFTDSJQUJWFHVJEBODFMBUFTUCFTUQSBDUJDFTDELUZQFTDSJQUJBDSFVTBCMFQBUUFSOTCFTUQSBDUJDFTIUNM 5ZQF4DSJQUͰ$%,Λॻ͘ࡍͷϕετϓϥΫςΟεͱͯ͠ ެࣜυΩϡϝϯτͰ(P'σβΠϯύλʔϯ͕հ
"84%FW%BZ5PLZP
"84$%,ͰֶͿ(P'σβΠϯύλʔϯ ʙ*B$ʹίʔυઃܭʙ
"84$%,ͰֶͿ(P'σβΠϯύλʔϯ ʙ*B$ʹίʔυઃܭʙ ͏ ʙ࣮ࡍͲ͏ͳͷʁʙ
"84$%,ͷཧɾݱ࣮ w ཧɿJGจGPSจશ෦ແ͠ʂ w ݱ࣮ɿڥࠩҟΛ࣮ݱ͠ͳ͍ͱ͍͚ͳ͍͜ͱʹɾɾɾ ‣ ֤։ൃऀͷڥͰ$IBUCPU TMBDLνϟϯωϧ ɺ8"'ɺ֎ܗࢹ࡞Βͳ͍ ‣
͑ͬɺͦͷڥ͚ͩ*1੍ݶͰ͔͢ʂʁ ݅ذ JGจ ͕ൃੜʂ ίʔυͷෳࡶԽɾංେԽʂ
͑ʁ (P'σβΠϯύλʔϯͬͯ $%,ʹ͑ΔΜͰ͔͢ʁ
$%,º(P'σβΠϯύλʔϯͷϝϦοτ ίʔσΟϯάʹ͓͚Δઃܭ͕͖ࣝɺΞϓϦ։ൃʹੜ͔ͤΔ $%,ίʔυΛޮΑ͘ॻ͚Δ ‣ ݅ذ͕ݮΔ ‣ ݟ௨͕͠ྑ͘ͳΓϑΝΠϧ͕ංେԽ͠ͳ͍ ˠཧղ༰қੑɾ֦ுੑ࠶ར༻ੑͷ্ 㲈อकੑͷ্ $%,ͬͯԿΛ࡞͍ͬͯΔͷ͔Θ͔ΓͮΒ͍͕࣌͋ͬͯɾɾɾ
Πϯελϯεੜͯ͠มʹೖΕͯϝιουݺΜͰذͯ͠ʜ
$%,º(P'σβΠϯύλʔϯͷσϝϦοτ ίʔσΟϯάઃܭͷ͕ࣝ͋Δఔඞཁ ಠࣗ࿏ઢͰ͋Δ ࣮༻ྫ͕গͳ͍ͷͰ ‣ $%,ͷతʮΠϯϑϥߏஙఆٛʯએݴతɾ੩తͳهड़έʔε͕ଟ͍ ޮੑΑΓγϯϓϧʹఆ͚ٛͩฒ͍ͨ ‣
ʮΓա͗ʯʹͳΔՄೳੑ ·ʙͨมͳ͜ͱͯ͠ɺແۤɾΦϨΦϨʹͳͬͪΌ͏ΜͰ͠ΐʁ
(P'σβΠϯύλʔϯιϑτΣΞֶ ܾͯ͠ແۤɾΦϨΦϨͰͳ͍ ύλʔϯɿܕɼ༷ࣜ σβΠϯɿઃܭ
"84$%,ֵ৽తͳ*B$ ैདྷͷ*B$ʹͳ͍ ༷ʑͳՄೳੑΛൿΊ͍ͯΔ
$%,º(P'σβΠϯύλʔϯͷՄೳੑ w ΞϓϦΠϯϑϥͷ֞ࠜΛ͑ͯΈΔྑ͍͖͔͚ͬʹͳΔ͔͠Εͳ͍ ‣ ʮఆٛΛॻ͍͍ͯΔʯ͔ΒʮίʔσΟϯάΛ͍ͯ͠Δʯͱ͍͏࣮ײͷมԽ ‣ ίʔσΟϯάָ͕͘͠ͳΔɾ։ൃʹڵຯ͕ग़Δ͔͠Εͳ͍ w ࣍ୈͰίʔυΛݟͨ͘͢͠ΓɺอकίετΛԼ͛ΒΕΔ͔͠Εͳ͍ ‣
ೝෛՙ͕Լ͕ͬͨΓ ‣ มߋ࣌ͷίʔυमਖ਼ྔ͕ݮͬͨΓ ैདྷͷΠϯϑϥఆٛͷʹनΘΕ͗͢ͳ͍͍ͯ͘Μ͡Όͳ͍͔ʁ
$%,º(P'σβΠϯύλʔϯͷՄೳੑ w ϧʔϧΛܾΊͯΠϯϑϥఆ͔ٛΒҳ͠ա͗ͳ͍Α͏ʹ w ैདྷͷએݴతͳΠϯϑϥఆٛΛ͑Δ෦ɺϓϩάϥϛϯάݴޠͳΒͰ ͷࣗಈςετͰΧόʔ ‣ 6OJU5FTU 4OBQTIPU5FTU
'JOFHSBJOFE"TTFSUJPOT5FTU 7BMJEBUJPO5FTU ‣ *OUFHSBUJPO5FTU JOUFHUFTUTBMQIB
$%,ͰͷΦεεϝύλʔϯબ ᶃ $PNQPTJUFύλʔϯ ᶄ 5FNQMBUF.FUIPEύλʔϯ ᶅ "CTUSBDU'BDUPSZύλʔϯ $%,ͳΒͰͷπϦʔߏ Λ׆͔ͯ͠ޮԽ ڥؒ
EFWcQSPE ͷࠩҟΛ࣮ݱ ɾڥ͝ͱͷݟ௨͕͠ྑ͘ͳΔ ɾ݅ذΛݮΒͤΔ ɾڞ௨෦ڞ௨Խͯ͠ޮతʹ ͓·͚ɿ'BDBEFύλʔϯ$POTUSVDU
ࢀߟɿᶃ$PNQPTJUFύλʔϯ
ࢀߟɿᶄ5FNQMBUF.FUIPEύλʔϯ
ࢀߟɿᶄ5FNQMBUF.FUIPEύλʔϯ ڥ͝ͱʹॊೈʹόϦσʔγϣϯ༰Λม͑Δʂ ݅ذ࠷খʂ
ࢀߟɿᶅ"CTUSBDU'BDUPSZύλʔϯ
ࢀߟɿᶅ"CTUSBDU'BDUPSZύλʔϯ
ࢀߟɿᶅ"CTUSBDU'BDUPSZύλʔϯ ڥ͝ͱʹॊೈʹߏஙϦιʔεΛม͑Δʂ ݅ذ࠷খʂ
$%,෦ͰΘΕ͍ͯΔύλʔϯ ᶃ 4JOHMFUPOύλʔϯ ‣ 4JOHMFUPO'VODUJPOίϯετϥΫτ ᶄ 4USBUFHZύλʔϯ ‣ 7BMJEBUJPOػೳ /PEFWBMJEBUF
ᶅ 7JTJUPSύλʔϯ ‣ "TQFDUTػೳ ৄࡉ"84%FW%BZ5PLZP ʰ"84$%,ͰֶͿ(P'σβΠϯύλʔϯ ʙ*B$ʹίʔυઃܭʙʱ ొஃࢿྉʹͯʂ ˞ຊࢿྉ࠷ޙʹϦϯΫهࡌ
࠷ޙʹ w "84$%,ͷՄೳੑແݶେ ‣ ৽͍͠ɾࣗ༝͕ߴ͍ނʹϕετϓϥΫςΟε͕ݻ·Γ͖͍ͬͯͳ͍ ͦͦ͜ͷ(P'σβΠϯύλʔϯద༻Έ͍ͨʹɺ·ͩྫ͕ग़͍ͯͳ͔ͬͨΓ ‣ πʔϧͱͯ͠ΤϯδχΞͱͯ͠৳ͼ͠Ζ͕͋Δʂ
$%,ͷ৽ͨͳ͍ํΛฤΈग़͢νϟϯεʂ ීஈΠϯϑϥدΓͷਓΞϓϦ։ൃɾίʔσΟϯάʹ৮ΕͯΈΔྑ͍ػձ͔ʂ "84$%,Λ͍͍ͯ͜͠͏ʂ ༻๏ɾ༻ྔकͬͯͶ (P' ͋Γ͔ʁ
ࢀߟɿ"84%FW%BZొஃࢿྉɾ(JU)VC "84%FW%BZ5PLZP ొஃࢿྉ ࠨɿIUUQTTQFBLFSEFDLDPNHPUPLBXTEFWEBZDELHPGEFTJHOQBUUFSOT $%,º(P'ίʔυ࣮ྫɾΫϥεਤ (JU)VC ӈɿIUUQTHJUIVCDPNHPUPLDELHPGEFTJHOQBUUFSO
એɿࣗ࡞"84πʔϧ044 ʲEFMTUBDLʳ"84$MPVE'PSNBUJPOελοΫڧ੍আπʔϧ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZEFMTUBDL ʲDMTʳ4όέοτߴআɾۭʹ͢Δπʔϧ όʔδϣχϯάରԠ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZDMT ʲMBNWFSʳ-BNCEBϥϯλΠϜόʔδϣϯݕࡧπʔϧ
Ϧʔδϣϯԣஅ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZMBNWFS
5IBOL:PV LHPUP าͷςοΫ