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
バリデーションライブラリをフォームバリデーション以外で活用する
Search
Keigo Ebihara
October 25, 2023
Programming
1k
0
Share
バリデーションライブラリをフォームバリデーション以外で活用する
Keigo Ebihara
October 25, 2023
More Decks by Keigo Ebihara
See All by Keigo Ebihara
tRPCの概要と少しだけパフォーマンス
misoton665
2
280
tRPCを実務に導入して分かった旨味と苦味
misoton665
5
2.4k
しんどくならないモジュール分割
misoton665
1
1.8k
Animated APIを使ってスクロールで隠れる“あのバー”を作る
misoton665
0
400
Other Decks in Programming
See All in Programming
空間オーディオの活用
objectiveaudio
0
160
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
180
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
150
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
190
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
190
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
110
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
640
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
3
250
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.7k
GitHubCopilotCLIをはじめよう.pdf
htkym
0
340
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.9k
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
190
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
50k
Navigating Weather and Climate Data
rabernat
0
190
The World Runs on Bad Software
bkeepers
PRO
72
12k
AI: The stuff that nobody shows you
jnunemaker
PRO
7
640
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
140
Producing Creativity
orderedlist
PRO
348
40k
How to make the Groovebox
asonas
2
2.2k
The Spectacular Lies of Maps
axbom
PRO
1
750
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Designing for Timeless Needs
cassininazir
1
220
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
240
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Transcript
גࣜձࣾθετւݪ όϦσʔγϣϯϥΠϒϥϦΛ ϑΥʔϜόϦσʔγϣϯҎ֎Ͱ׆༻͢Δ #VZ$FMM%FW4UVEZϑϩϯτΤϯυษڧձ
ࣗݾհ w ւݪܓޗʢ!NJTPUPOʣ w גࣜձࣾθετ։ൃຊ෦ w 8FCΞϓϦέʔγϣϯΤϯδχΞ w ओʹϑϩϯτΤϯυΛ୲͍ͯ͠·͢ɻ w
લճ+4$POGKQͰొஃͯ͠·ͨ͠ɻ w ͔ͳΓٱ͠ͿΓͳͷͰ͓खॊΒ͔ʹʜ
ࡐʹ͢ΔόϦσʔγϣϯϥΠϒϥϦ w ;PEͰ͔͠Ͱ͖ͳ͍͜ͱ͠·ͤΜͷͰ҆͝৺͍ͩ͘͞🙋
;PEͱ BDDPVOU4DIFNB \GJSTU/BNF MBTU/BNF^ \GJSTU/BNF MBTU/BNF^ PS 7BMJEBUJPO&SSPS *OQVU
4DIFNB 0VUQVU όϦσʔγϣϯͷ༰Λએݴతʹ4DIFNBͰఆٛɻ
;PEͱ BDDPVOU4DIFNB \GJSTU/BNF MBTU/BNF^ \GVMM/BNF^ PS 7BMJEBUJPO&SSPS 💡4DIFNBʹΑͬͯ*OQVUͱ0VUQVUͷܕ͕ҟͳΔɻ 4DIFNBʹͷมΛؚΊΔ͜ͱ͕Ͱ͖Δɻ
*OQVU 4DIFNB 0VUQVU
;PEʢόϦσʔγϣϯϥΠϒϥϦʣͷ͍ಓ w ओͳ͍ಓ w ϑΥʔϜʹΑΔೖྗͷόϦσʔγϣϯ w "1*ϦΫΤετϨεϙϯεϘσΟͷόϦσʔγϣϯ w ࠓճ͜ΕΒҎ֎ͷ͍ಓΛ͝հ͠·͢ɻ
Ϗϧυ࣌ىಈ࣌ͷ ڥมͷόϦσʔγϣϯʹ͏
ڥม͋Δ͋Δ w 8FCΤϯδχΞɺ୭͠ڥมͰΤϥʔΛىͨ͜͜͠ͱ͋Δઆ w ʮىಈ͚ͨ͠Ͳ࣮ߦ࣌Τϥʔ͕ग़ͯಈ͔ͳ͍ʂʯ w ͋Δڥมͷઃఆ͕࿙Ε͍ͯͨɻ w ʮࠓσϓϩΠͨ͠ΒͳΜ͔ಈ͔ͳ͘ͳͬͯΔʂʯ w
ظ͢Δ͕มΘ͍ͬͯͨͷʹɺڥଆͷΛม͍͑ͯͳ͔ͬͨɻ
ڥมͷόϦσʔγϣϯ w ϦϞʔτڥͰ৽ೖࣾһͷڥߏஙΛख͏࣌ͳͲɺຯʹେมɻ w ΤϥʔΛಡΜͰରͷίʔυΛಡΜͰڥม͕ݪҼͩͱΘ͔Δ·Ͱͷ͕࣌ؒ ͔͔͍ͬͯͨͷ͕ɺϏϧυ࣌ىಈޙʹؾ͚ͮΔɻ w ڥมz֎෦͔ΒͷೖྗzͳͷͰόϦσʔγϣϯ͕ʹཱͭɻ
ڥมͷόϦσʔγϣϯ FOW4DIFNB QSPDFTTFOW ظ͢Δڥม PS 7BMJEBUJPO&SSPS *OQVU 4DIFNB 0VUQVU
1IBOUPNUZQFͷఆٛʹ͏
w ʹΘΕͳ͍ܕҾΛ༩ͨ͠ܕͷ͜ͱɻ w ݩͱͳΔܕಉ͕ͩ͡zׂz͕ҧ͏ͷಉ࢜Λ۠ผ͢ΔͨΊʹ͏ɻ 💡/BNFͷ෦͕3BXͱ&ODPEFEͰҟͳΔͨΊܕΤϥʔʹͳΔɻ 1IBOUPNUZQFͱ ˞5ZQF4DSJQUͰ͋Γ·ͤΜ
5ZQF4DSJQUͰͷ1IBOUPNUZQF w ߏత෦ܕͱ͍͏ΈͰೖՄೳ͔Ͳ͏͔Λݕࠪ ͍ͯ͠Δɻ w ܕͷ໊લͰͳ͘ɺܕ͕ࢦ͢ߏʹΑͬͯαϒλΠϓ ؔ 㲈ܧঝؔ ೖՄೳੑ ͕ܾ·Δɻ
w "ͱ#ؔΛ͍࣋ͬͯͳ͍͕ܕͷࢦ͢ߏ͕αϒ λΠϓؔʹͳ͍ͬͯΔͷͰɺ#ܕͷมʹ"ܕͷΛ ೖͰ͖Δɻ
5ZQF4DSJQUͰͷ1IBOUPNUZQF w ܕ͕ࢦ͢ߏʹ͢ΔͨΊɺ/BNFΛͲ͏ม͑ͯTUSJOHͱղऍ͞ΕΔɻ w 3BX4USJOH&ODPEFE4USJOHTUSJOHͳͷͰɺ54ͰܕΤϥʔʹͳΒͳ͍ɻ w ߏ/BNFΛݩʹͯ͠ม͑Δඞཁ͕͋Δɻ
w z࣮ࡍͷߏzΛม͑ͣʹܕ͕ࢦ͢ߏΛݟ্ͨͰม͑Δϝιουɻ w #SBOEFEUZQFͱݺΕ͍ͯΔͷͰɺ;PEݻ༗ͷͷͰ͋Γ·ͤΜɻ w l3BXzͷ෦Λม͑Δͱߏʹࠩҟ͕ੜ·ΕΔͷͰܕΤϥʔʹͳΔɻ ;PEͷCSBOEϝιου 💡TUSJOHͱҧ͏ߏΛ࣋ͬͨܕʹͳ͍ͬͯΔ
/BNFE4USJOHΛ࣮͢Δ OBNFE4USJOH4DIFNB/BNF TUSJOH TUSJOH#3"/%/BNF PS 7BMJEBUJPO&SSPS *OQVU 4DIFNB 0VUQVU
/BNF ܕҾ
࣮ͨ͠/BNFE4USJOHΛ͏ w [JOGFSεΩʔϚ͔Β0VUQVUͷܕΛಋग़͢ΔͨΊͷͷɻ w OBNFE4USJOH4DIFNBΛͬͯ1IBOUPNUZQFͷΑ͏ʹܕΤϥʔʹͰ͖Δɻ
࠷ޙʹ w ͓ͨ͠ɺ͋Δ͋ΔͳόϦσʔγϣϯҎ֎ͷ͍ಓ w Ϗϧυ࣌ىಈ࣌ͷڥมͷόϦσʔγϣϯʹ͏ɻ w 1IBOUPNUZQFͷఆٛʹ͏ɻ w ଞͷ͍ಓΛ͝ଘͷํੋඇڭ͍͑ͯͩ͘͞😎 w
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
None