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
RxSwiftに対応したバリデーションをGenericなProtocolで実装してみた / G...
Search
Yuto Yazaki
February 28, 2019
Programming
3
1.3k
RxSwiftに対応したバリデーションをGenericなProtocolで実装してみた / Generic Validation Protocol with RxSwift
https://github.com/yutoyazaki/RxValidationSample
Yuto Yazaki
February 28, 2019
Tweet
Share
More Decks by Yuto Yazaki
See All by Yuto Yazaki
デザインシステム上の画像リソースを 自動エクスポートする / Automate image export from Figma to iOS and Android using figma-export
yutoyazaki
0
880
Firebase Remote Config ベストプラクティス
yutoyazaki
0
830
Other Decks in Programming
See All in Programming
ぽちぽち選択するだけでOSSを読めるVSCode拡張機能
ymbigo
14
6.6k
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
170
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
370
最速Green Tea 🍵 Garbage Collector
kuro_kurorrr
1
160
OpenTelemetryで始めるベンダーフリーなobservability / Vendor-free observability starting with OpenTelemetry
seike460
0
140
Beyond_the_Prompt__Evaluating__Testing__and_Securing_LLM_Applications.pdf
meteatamel
0
120
M5UnitUnified 最新動向 2025/05
gob
0
150
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
13k
Designing Your Organization's Test Pyramid ( #scrumniigata )
teyamagu
PRO
5
1.7k
型安全なDrag and Dropの設計を考える
yudppp
5
390
2025年のz-index設計を考える
tak_dcxi
13
5k
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
260
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
How to train your dragon (web standard)
notwaldorf
91
6k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Designing for Performance
lara
608
69k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
3Y4XJGUʹରԠͨ͠όϦσʔγϣϯΛ (FOFSJDͳ1SPUPDPMͰ࣮ͯ͠Έͨ QPUBUPUJQT 㟒༤ਓ:B[BLJ:VUP
ࣗݾհ w ͓͍͍͠ʂΛ࡞ΔϨγϐಈըϝσΟΞʮNPHVOBʯͷJ04ΤϯδχΞ w ৽ଔ✨ w ֶੜ࣌ʹษڧձӡӦͯ͠·ͨ͠ʢࣾձਓʹͳͬͯൃදॳΊͯʣ άϦʔגࣜձࣾ ࠂɾϝσΟΞࣄۀຊ෦ϥΠϑελΠϧࣄۀ෦ ϝσΟΞάϧʔϓ։ൃνʔϜ
㟒༤ਓ:B[BLJ:VUP
3Y4XJGUʹରԠͨ͠όϦσʔγϣϯΛ (FOFSJDͳ1SPUPDPMͰ࣮ͯ͠Έͨ
3Y4XJGUʹରԠͨ͠όϦσʔγϣϯΛ࡞Γ͍ͨ w Ϣʔβͷೖྗ༰ΛόϦσʔγϣϯ͍ͨ͠ w ྫOจࣈҎ ෆਖ਼ͳॻࣜͷνΣοΫ FUD w Τϥʔͷཧ༝Λఏࣔͯ͠Ϣʔβʹमਖ਼ͯ͠Β͏ w
3Y4XJGUͰόΠϯυ͍ͤͨ͞ w δΣωϦΫεͰ͍͍ײ͡ʹ w όϦσʔγϣϯ͢Δ044ϥΠϒϥϦ͋Δ͕ w ϥΠϒϥϦಋೖ͢Δ΄ͲͰͳ͍͠ w 3Y4XJGUʹରԠͯ͠ͳ͍͠ (FOFSJDͳ1SPUPDPMͰ 3Y4XJGUʹରԠͨ͠7BMJEBUPSΛ࣮͠Α͏
Πϝʔδ Ϣʔβͷೖྗͨ͠จࣈྻ͕ ༗ޮͳͰ͋Ε ૹ৴ϘλϯΛԡͤΔΑ͏ʹ͢Δ
7BMJEBUPSϓϩτίϧ ValueTypeɿόϦσʔγϣϯ͢Δͷܕ ErrorType ɿෆਖ਼ͳͷ߹ͷΤϥʔ validate() ɿόϦσʔγϣϯ݁ՌΛฦ͢
7BMJEBUJPO3FTVMU όϦσʔγϣϯͷਖ਼ޡΛද͢FOVN
7BMJEBUPSͷ࣮ྫ Ϣʔβ໊ͷೖྗཝΛఆͯ͠ ΤϥʔΛఆٛ͢Δ όϦσʔγϣϯͷϩδοΫΛॻ͘ 4USJOH Λೖྗʹ͢Δ
7BMJEBUPSͷ༻ྫ ୯ମͰಈ͘Α͏ʹͳͬͨ ͜ΕΛ3Y4XJGUʹରԠͤ͞Δ
3Y4XJGUͷ0CTFSWBCMF5ZQFʹ WBMJEBUFΦϖϨʔλΛੜ͢ Ҿʹ7BMJEBUPSΛͯ͠ɺ ετϦʔϜʹྲྀΕ͖ͯͨΛόϦσʔγϣϯ͠ɺ ݁ՌΛ7BMJEBUJPO3FTVMUܕͰฦ͢ɻ
ͬͯΈΔ όϦσʔγϣϯʹҾ͔͔ͬͬͨΒˠΤϥʔ༰Λදࣔ ༗ޮͳͰ͋Εˠ4VCNJUϘλϯ͕ԡͤΔΑ͏ʹͳΔ
None
·ͱΊ w όϦσʔγϣϯ͢ΔϓϩτίϧΛఆٛ w Ϣχοτςετ͕ॻ͖͍͢ w 3Y4XJGUʹόϦσʔγϣϯͷΦϖϨʔλΛੜ͢ w γϯϓϧͳهड़Ͱݟ௨͠ͷΑ͍ίʔυʹͳΔ w
δΣωϦΫεͷษڧʹͳͬͨ w αϯϓϧίʔυ w IUUQTHJUIVCDPNZVUPZB[BLJ3Y7BMJEBUJPO4BNQMF
5IBOLT