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
CDKでValidationする本当の方法 / cdk-validation
Search
k.goto
January 23, 2023
Programming
2
2.2k
CDKでValidationする本当の方法 / cdk-validation
2023/01/25開催 JAWS-UG CDK支部 #5「〜新春隠し芸大会〜」での発表資料です。
k.goto
January 23, 2023
Tweet
Share
More Decks by k.goto
See All by k.goto
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
7
400
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
7
570
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
400
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
5
1.1k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
370
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
7
3k
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
940
Other Decks in Programming
See All in Programming
Interface vs Types ~型推論が過多推論~
hirokiomote
1
240
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
100
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
0
400
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
4
500
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
820
GoのWebAssembly活用パターン紹介
syumai
2
710
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
1.6k
Passkeys for Java Developers
ynojima
2
750
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
2
1.8k
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.8k
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
16
5.2k
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
660
Featured
See All Featured
Embracing the Ebb and Flow
colly
85
4.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Into the Great Unknown - MozCon
thekraken
39
1.8k
Designing for Performance
lara
608
69k
How to Ace a Technical Interview
jacobian
276
23k
How to Think Like a Performance Engineer
csswizardry
24
1.6k
The Language of Interfaces
destraynor
158
25k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
KATA
mclloyd
29
14k
Transcript
LHPUP าͷςοΫ $%,Ͱ7BMJEBUJPO͢Δຊͷํ๏ +"846($%,ࢧ෦ʙ৽य़Ӆܳ͠େձʙ
ࣗݾհ w ςοΫϦʔυ w าͷςοΫ ٕज़ϒϩά ‣ "84ωλׂ w
ϥʔϝϯ͖ w 5XJUUFS!@TUFQ@UFDI ‣ LHPUP าͷςοΫ
ʙ৽य़Ӆܳ͠େձʙ ͔͍ࣗͬͯ͠ͳ͍Ͱ͋Ζ͏ػೳͷ͓
લఏ w $%,5ZQF4DSJQUͰ࣮͍ͯ͠·͢ w όʔδϣϯ ‣ /PEFKT ‣ 5ZQF4DSJQU ‣
"84$%, ຊهࣄͷ࣮ߦ༰ɺWͩͱগ͠ڍಈ͕มΘΓ·͢
$%,Ͱ7BMJEBUJPO͍ͨ͠ͳ͋
7BMJEBUJPOͯ͠Έͨ
7BMJEBUJPOͯ͠Έͨ ˞ಡ·ͳͯ͘େৎͰ͢
7BMJEBUJPOͯ͠Έͨ &SSPSUIFDPOTUSVDU$EL"EE7BMJEBUJPO4UBDLIBTBWBMJEBUF NFUIPE XIJDIJTOPMPOHFSTVQQPSUFE6TFDPOTUSVDUOPEFBEE7BMJEBUJPO UP BEEWBMJEBUJPOTUPBDPOTUSVDU w ελοΫΫϥεʹWBMJEBUF ϝιου࡞ͬͪΌμϝ w
lDPOTUSVDUOPEFBEE7BMJEBUJPO Λ͍ͳ͍͞ ‣ όϦσʔγϣϯΛίϯετϥΫτʹՃ͢Δ ˞WBMJEBUF NFUIPEJTOPMPOHFSTVQQPSUFE $%,Wͩͱ·ͨҧ͏ͷͰ͢ ΦʔόʔϥΠυʹͳΔ
BEE7BMJEBUJPO IUUQTEPDTBXTBNB[PODPNDELBQJWEPDT DPOTUSVDUT/PEFIUNMBEEXCSWBMJEBUJPOWBMJEBUJPO ͨ͠όϦσʔγϣϯ͕ DELTZOUI࣌ʹΓ·͢
JOUFSGBDF*7BMJEBUJPO IUUQTEPDTBXTBNB[PODPNDELBQJWEPDTDPOTUSVDUT*7BMJEBUJPOIUNM
ݺͼग़ؔ͠ ͜ΕΛ࡞ͯ͠ όϦσʔγϣϯϧʔϧΛ࣮ .Z7BMJEBUPSͷΠϯελϯεΛੜ UIJTOPEFBEE7BMJEBUJPOʹ͢
ॻ͍ͯΈͨ 7BMJEBUPS w ྫʣ8"'ͷϦʔδϣϯͱείʔϓͷΈ߹ΘͤͷόϦσʔγϣϯ ˞BEE7BMJEBUJPJO͠ͳͯ͘DELEFQMPZ࣌ʹΤϥʔʹͳΔྫͰ͕͢ɺ͋͘·ͰྫͰ͢
ॻ͍ͯΈͨ 4UBDL w ελοΫΫϥεͰόϦσʔγϣϯ 7BMJEBUPS Λ͢ ͨͬͨߦʂ *GUSZ UISPXOFX&SSPS ͱ͔͍Βͳ͍ʂ
࣮ߦͯ͠Έͨ DELTZOUI .Z7BMJEBUPSWBMJEBUF Ͱ SFHJPO͕zVTFBTUzͰͳ͍ͱΤϥʔʹ͢ΔΑ͏όϦσʔγϣϯͯ͋͠Δ &SSPS7BMJEBUJPOGBJMFEXJUIUIFGPMMPXJOHFSSPST <$EL"EE7BMJEBUJPO4UBDL>3FHJPONVTUCFVTFBTUXIFO$-06%'30/5
ෳΤϥʔͷݕ w Γ͕TUSJOH<>ͳͷͰɺෳͷΤϥʔΛݕɾग़ྗͰ͖Δ &SSPS7BMJEBUJPOGBJMFEXJUIUIFGPMMPXJOHFSSPST <$EL"EE7BMJEBUJPO4UBDL>5FTU&SSPS <$EL"EE7BMJEBUJPO4UBDL>5FTU&SSPS ʢ༻ྫʣ ελοΫʹͨ͠֎෦ύϥϝʔλ Ͱҧͨ͠ύϥϝʔλΛશ෦ग़ྗ
Ϣʔεέʔε w ελοΫ͢ύϥϝʔλɾίϯςΩετͷใʹରͯ͠όϦσʔτ͍ͨ͠ ‣ ࣮ߦͯ͠ΤϥʔʹͳΒͳ͍͚ͲΦϖϨʔγϣϯ্͍͗ͨ ˞ࠓճڍ͛ͨྫBEE7BMJEBUJPO͠ͳͯ͘DELEFQMPZ࣌ʹΤϥʔʹͳΓ·͢ 㾎͋͘·ͰαϯϓϧྫͳͷͰɻɻɻ 㾎DELTZOUI࣌ʹ͛Δͱ͍͏ྑ͍ ‣
"TQFDU͏Α͏ͳͷͰͳ͍ ελοΫಛ༗ͷϧʔϧ
ϝϦοτ w ෳΤϥʔͷϋϯυϦϯά ‣ *GPSUSZDBUDI &SSPS UISPX ͩͱجຊతʹҰͭͷΤϥʔ ։ൃऀମݧΞοϓʂ
w อकੑ্ ‣ ΧϓηϧԽʹΑΓɺόϦσʔγϣϯϧʔϧΛม͑ͯελοΫΫϥεʹมߋ͕ͳ͍ ‣ ͚ʹΑͬͯɺίʔυελοΫߏͷݟ௨͠ྑ͘ͳΔ w ެ͕ࣜఏڙ ‣ Ϩʔϧʹ͔ͬΔʂ
ެࣜ$%,8PSLTIPQʮόϦσʔγϣϯςετʯ IUUQTDELXPSLTIPQDPNKBUZQFTDSJQUBEWBODFE UPQJDTDPOTUSVDUUFTUJOHWBMJEBUJPOUFTUTIUNM ެࣜͰ͢Β BEE7BMJEBUJPOΛ ͍ͬͯ·ͤΜͰͨ͠ʂʂʂ
ʙ৽य़Ӆܳ͠େձʙ ͜Ε͕ຊͷӅܳ͠ɻɻɻ
Ԡ༻ w 5ZQF4DSJQUͷ$%,ελοΫΛ;PEͰόϦσʔγϣϯ͢Δ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZUTDEL[PEWBMJEBUJPO w $%,ͷ֎෦ύϥϝʔλʹܕ͚ͩͰͳ੍͔͚͘Δ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZDELQBSBNFUFSUZQFWBMJEBUJPO
ࠓͷ༰ͷৄࡉ w ϒϩάɿ"84$%,ͰόϦσʔγϣϯΛߦ͏ BEE7BMJEBUJPO ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZDELBEEWBMJEBUJPO ۩ମతͳίʔυɾղઆ͕ࡌͤͯ͋Γ·͢ɻ w
(JU)VC ‣ IUUQTHJUIVCDPNHPUPLDELBEEWBMJEBUJPO ࠓڍ͛ͨ؆୯ͳαϯϓϧίʔυ͕ࡌͤͯ͋Γ·͢ɻ
5IBOL:PV LHPUP าͷςοΫ