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
1.6k
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
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
630
S3バケットを高速で削除・空にするツール「cls3」 / s3-deletion-tool-cls3
gotok365
4
450
AWS CDKで コンテナイメージスキャンを行う 〜ECRとその他の方法〜 / cdk-container-image-scan
gotok365
2
960
スタートアップでこそCDKが活きた〜生産性を向上できた5つの理由〜 / startup-cdk-productivity
gotok365
9
3.4k
AWS CDKで"使う"GoFデザインパターン 〜実際どうなの?〜 / GoF design patterns used with AWS CDK
gotok365
3
1k
AWS CDKで学ぶGoFデザインパターン〜IaCにもコード設計〜 / aws dev day cdk gof design patterns
gotok365
11
4.2k
CloudWatch複合アラームでELBの5XXをいい感じに検知しようとしたらうまくいかなかった話 / cloudwatch alarm elb 5xx
gotok365
0
2.5k
AWS CDKとZodを活用したバリデーションパターン集 / validation patterns with cdk and zod
gotok365
6
2.9k
App Runnerで AppでないものをRunする / run non apps with app runner
gotok365
5
2k
Other Decks in Programming
See All in Programming
slog登場に伴うloggerの取り回し手法の見直し / kamakura.go #6
arthur1
0
170
RuboCop: LSP and Prism
koic
1
110
スタックトレース始めてみた
kuro_kurorrr
5
1.2k
TypeScriptコードの漸進的改善 / Progressive Improvement of TypeScript Code
medley
1
460
Try creating your own orderedmap
kazamori
1
290
JS RPCを理解する
yusukebe
5
310
TypeScript Custom GitHub Action Development Tips
peaceiris
5
870
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
520
How to implement a RubyVM with PHP?
memory1994
PRO
2
1.1k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
13
4.4k
Direct Style Effect Systems The Print[A] ExampleA Comprehension Aid
philipschwarz
PRO
0
410
Three ways to use AI on Android: The Good, the Bad and the Ugly
marxallski
0
120
Featured
See All Featured
Bash Introduction
62gerente
605
210k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
The Mythical Team-Month
searls
217
42k
Debugging Ruby Performance
tmm1
70
11k
A Tale of Four Properties
chriscoyier
153
22k
Code Review Best Practice
trishagee
56
15k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
23
1.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
15
1.6k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
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 าͷςοΫ