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
ReactiveCocoaで作る快適な登録フォーム
Search
shoby
July 11, 2016
Technology
370
0
Share
ReactiveCocoaで作る快適な登録フォーム
Melon.swiftの発表資料です。
http://fablic.connpass.com/event/35407/
shoby
July 11, 2016
More Decks by shoby
See All by shoby
フリルのCMを支える分析 (メディアバイイング編)
shoby
0
490
FirebaseとBigQueryによるアプリのKPI分析(CMの効果検証編)
shoby
2
2.7k
ユーザーに受け入れられ、問題を起こしづらい大規模リニューアルの進め方
shoby
60
14k
フリルの商品を色で検索できるようにした話
shoby
5
4.3k
Search fashion items by colors
shoby
0
200
iOS 7をサポート対象外にして開発を健全化する
shoby
3
4.1k
Apple Watch Tips
shoby
0
4.2k
WWDC 2015で 発表された新機能と サービスへの活かし方
shoby
2
7.4k
アプリにおける人力ぽちぽちテストの効率化
shoby
3
3.4k
Other Decks in Technology
See All in Technology
ThetaOS - A Mythical Machine comes Alive
aslander
0
230
OpenClawでPM業務を自動化
knishioka
2
350
ハーネスエンジニアリング×AI適応開発
aictokamiya
1
910
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
170
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
180
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
870
昔話で振り返るAWSの歩み ~S3誕生から20年、クラウドはどう進化したのか~
nrinetcom
PRO
0
120
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
210
Embeddings : Symfony AI en pratique
lyrixx
0
430
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
130
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.1k
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
3
330
Featured
See All Featured
BBQ
matthewcrist
89
10k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
330
Being A Developer After 40
akosma
91
590k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Faster Mobile Websites
deanohume
310
31k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
79
4 Signs Your Business is Dying
shpigford
187
22k
What's in a price? How to price your products and services
michaelherold
247
13k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
440
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
3FBDUJWF$PDPBͰ࡞Δ շదͳొϑΥʔϜ גࣜձࣾ'BCMJD TIPCZ
ࣗݾհ
ࣗݾհ w TIPCZ w 'BCMJD JOD w J043VCZPO3BJMTը૾ॲཧ w ϝϩϯՈͷଉࢠ
֓ཁ
֓ཁ w շదͳొϑΥʔϜͱ w ೖྗͷϦΞϧλΠϜόϦσʔγϣϯ w 3FBDUJWF$PDPBʹΑΔ5FYUมԽͷݕ w TUSVDUʹΑΔΤϥʔͷදݱ w
ϑϦϧͰͷվળͷ݁Ռ
շదͳొϑΥʔϜͱ
շదͳొϑΥʔϜͱ w গͳ͍ೖྗͰࡁΉ w ༣ศ൪߸͔ΒॅॴΛิ w ೖྗܗ͕͔ࣜΔ w 6*1JDLFS7JFX6*%BUF1JDLFS w
,FZCPBSE5ZQF w ೖྗ͕ϦΞϧλΠϜͰνΣοΫ͞ΕΔ
շదͳొϑΥʔϜͱ w গͳ͍ೖྗͰࡁΉ w ༣ศ൪߸͔ΒॅॴΛิ w ೖྗܗ͕͔ࣜΔ w 6*1JDLFS7JFX6*%BUF1JDLFS w
,FZCPBSE5ZQF w ೖྗ͕ϦΞϧλΠϜͰνΣοΫ͞ΕΔ
5FYU'JFMEͷ ϦΞϧλΠϜόϦσʔγϣϯ
5FYU'JFMEͷϦΞϧλΠϜόϦσʔγϣϯ w ঢ়ଶҎԼͷͭ w ະೖྗʢ1MBDF)PMEFSΛදࣔ͢Δʣ w ೖྗதʢԿදࣔ͠ͳ͍ʣ w 0,ʢ✅Λදࣔʣ w
Τϥʔʢ⚠Λදࣔʣ w 5FYUͷมԽͱɺೖྗྃͰόϦσʔγϣϯ
5FYU'JFMEͷϦΞϧλΠϜόϦσʔγϣϯ ະೖྗ ೖྗத Τϥʔ ⚠ 0, ✅ ೖྗ։࢝ 5FYUͷมԽ
ೖྗ։࢝ όϦσʔγϣϯ Τϥʔ ਖ਼ৗʹྃ 5FYUͷมԽ
5FYU'JFMEͷϦΞϧλΠϜόϦσʔγϣϯ w ೖྗऴྃˠUFYU'JFME%JE&OE&EJUJOH w 5FYUͷมԽˠ3FBDUJWF$PDPB w UFYU'JFMETIPVME$IBOHF$IBSBDUFST*O3BOHFSFQMB DFNFOU4USJOHͰϋϯυϦϯά͠ΜͲ͍
3FBDUJWF$PDPBʹΑΔ 5FYUมԽͷݕ
3FBDUJWF$PDPBʹΑΔ5FYUมԽͷݕ var disposables: [Disposable] = [] textFields.forEach { textField in
let disposable = textField.rac_textSignal().toSignalProducer().skip(1).startWithNext { text in do { try self.validate(text: text, textField: textField) } catch let error { // ΤϥʔϋϯυϦϯά } } disposables.append(disposable) }
3FBDUJWF$PDPBʹΑΔ5FYUมԽͷݕ var disposables: [Disposable] = [] textFields.forEach { textField in
let disposable = textField.rac_textSignal().toSignalProducer().skip(1).startWithNext { text in do { try self.validate(text: text, textField: textField) } catch let error { // ΤϥʔϋϯυϦϯά } } disposables.append(disposable) } ॳճͷTJHOBMΛແࢹ͢Δ͜ͱͰ ະೖྗͱೖྗதΛ۠ผ
TUSVDUʹΑΔΤϥʔͷදݱ
TUSVDUʹΑΔΤϥʔͷදݱ w &SSPS5ZQF1SPUPDPMͳͷͰTUSVDUͰ0, w DMBTT͑Δ w όϦσʔγϣϯΤϥʔʹTUSVDU͕ศར w ΤϥʔͷछྨΛ۠ผ͢Δඞཁ͕ͳ͍ w
ΤϥʔϝοηʔδͱՃใ͚ͩ
TUSVDUʹΑΔΤϥʔͷදݱ struct ValidationError: ErrorType { let message: String let showWhileEditing:
Bool } ϝοηʔδͱ ฤूதදࣔ͢Δ͔Ͳ͏͔ͷϑϥάͷΈ
ϑϦϧͰͷվળͷ݁Ռ
ϑϦϧͰͷվળͷ݁Ռ w ΞΧϯτొ͕Ξοϓ
·ͱΊ
·ͱΊ w গͳ͍ೖྗͰࡁΈɺೖྗܗ͕͔ࣜΓɺϦΞ ϧλΠϜͰνΣοΫ͞ΕΔϑΥʔϜշద w ϦΞϧλΠϜνΣοΫʹ5FYUͷมԽͱೖྗ ྃͷλΠϛϯάͰόϦσʔγϣϯ͢Δ w 3FBDUJWF$PDPBΛ͏ͱ5FYUมԽͷݕָ͕ w
όϦσʔγϣϯΤϥʔTUSVDUΛ͏ͱྑ͍ w ϑϦϧͷ߹ɺొϑΥʔϜվળͰొ͕ ্͕ͬͨ