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
Form Object へ捧げる気持ち
Search
HaiTo
September 06, 2018
Programming
0
1.7k
Form Object へ捧げる気持ち
HaiTo
September 06, 2018
Tweet
Share
More Decks by HaiTo
See All by HaiTo
管理画面再考
haito
0
260
ゾンビを倒してRuby.2.2に上げた話
haito
0
110
独自Worker管理が辛い
haito
0
200
色々なレビューの話
haito
0
160
おしゃれっぽくターミナルでストリーミング再生をしたかった話
haito
0
130
dendai_lt_1011
haito
0
61
Other Decks in Programming
See All in Programming
AtCoder Conference 2025
shindannin
0
1.1k
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
Oxlint JS plugins
kazupon
1
980
SourceGeneratorのススメ
htkym
0
200
高速開発のためのコード整理術
sutetotanuki
1
410
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
290
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
270
CSC307 Lecture 06
javiergs
PRO
0
690
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
Fluid Templating in TYPO3 14
s2b
0
130
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
0
89
GitHub's CSS Performance
jonrohan
1032
470k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
98
A Modern Web Designer's Workflow
chriscoyier
698
190k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
4 Signs Your Business is Dying
shpigford
187
22k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
350
Transcript
FormObjectʹ๋͛Δؾ࣋ͪ HaiTo / දࢀಓrb#38
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
HaiTo Name: HaiTo Hobby: Game(League of Legends) ࠷ۙPHPॻ͍ͯ·͢ɻ දࢀಓ.rbٱʑ͗͢Δ
͖͑͘͢Ύʔͣ • ڧ͍ݴ༿Λൃ͠·͢ɻ • Θ͟ͱἤΓؾຯʹൃ͠·͢ɻ • ຊʮνʔϜͰٞͯ͠ྑ͍ͱࢥͬͨͦͷ࣌ͷίϯ ηϯαεʹଇͬͯιϑτΣΞॻ͍͍ͯ͜͏ͳʯͱৗʹ ࢥ͍ͬͯ·͕͢ɺҰ୴͜ͷ͜ͱΕͯ͠·͢ɻ
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
େͳ͜ͱ࠷ॳʹ
Զ͕ѱ͔ͬͨɻૉʹؒҧ͍ΛೝΊΔ͔Βɺ ͏FormObjectͱ͔࡞ΔͷΊͯ͘Ε ݩωλ: https://qiita.com/joker1007/items/25de535cd8bb2857a6
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
Context • ݹࠓ౦ɺRailsͷMVCɺಛʹModelͷऔѻʹ͍ͭͯਓʑ಄Λ๊ ͖͑ͯͨ • ServiceClass, FormObject, Decorator, … •
ModelΛऔΓѻ͏ผͷΛՃ͢Δ͜ͱͰɺڽूΛߴΊΔɺ͋Δ ͍ςελϏϦςΟΛߴΊΔ • ͦΜͳࢥͷதͰ͜Ε·Ͱͨ͘͞ΜͷϨΠϠʔΈ͕Railsͷ ্ʹߏங͞Ε͍ͯͬͨ • Form Objectɺ൴·ͨͦͷ͏ͪͷҰਓͩ
Subject • FormObject ͱ͍͏໊લͰɺViewModel͕ര͢Δ • ͜Εྑͦ͞͏ • ͦͯͦ͠ͷViewModel͕ͳ͔ͥӬଓԽͷࣝΛ͍࣋ͬͯ Δ •
ŠƀŜƄƂŜŽūŘ
࣍ • About me • Conclusion • Context, Subject •
Why, What • Conclusion - Revival
ͲΏ͜ͱ͔ʁ • Sublime Text 3 ʹFormObjectͷαϯϓϧίʔυ͕͋Δ ͷͰݟΔ • αϯϓϧίʔυͷ save
؆ศ͔ͩΒ͍͍͚Ͳɺ͍ͩͨ ͍FormObject͕ര͢Δͱ͖ෳࡶͳۀ༻݅ͱARͰ ఆٛ͞ΕͨσʔλεΩʔϚͷϛεϚονʹΑͬͯര͠ ͨΓɺContextΛ໌ࣔ͢ΔͨΊʹര͢ΔͷͰɺͦͷ Contextʹ͓͚ΔಛผͳValidationSave࣌ͷσʔλͷந ग़ɺܗ͕ൃੜͨ͠Γ·͢ɻ
None
ͲΏ͜ͱ͔ʁ • αϯϓϧίʔυͷ save ؆ศ͔ͩΒ͍͍͚Ͳɺ͍ͩͨ ͍FormObject͕ര͢Δͱ͖ෳࡶͳۀ༻݅ͱARͰ ఆٛ͞ΕͨσʔλεΩʔϚͷϛεϚονʹΑͬͯര͠ ͨΓɺContextΛ໌ࣔ͢ΔͨΊʹര͢ΔͷͰɺͦͷ Contextʹ͓͚ΔಛผͳValidationSave࣌ͷσʔλͷந ग़ɺܗ͕ൃੜͨ͠Γ·͢ɻ
ͲΏ͜ͱ͔ʁ • ͋ͱɺ͔ͤͬ͘ARͷੈք؍͔ΒΕͨͷʹΘ͟Θ͟ෳ ͷΛ࣋ͬͨClassΛ࡞Δͷ͍͔͕ͳͷ͔ʁ • ViewModelɺͭ·ΓෳͷϞσϧ͋ΔϞσϧ͔Βಛఆ ίϯςΫετʹଇͬͨଐੑΛ࣋ͬͨද͚ࣔͷObject ͡Όͳ͍Ͱ͔͢ • ͳΜͰͦͷViewModel͕ӬଓԽͷࣝΛ࣋ͬͯΔΜͰ͢
͔ʂ AR͡Ό͋Δ·͍ʹʂAR͡Ό͋͋Δ·͍ʹʂʂʂ
Ͱɺ͓લͲ͏͍ͨ͠ͷʁ • Sublime Text 3ͷαϯϓϧίʔυ࠶ͼ
None
Ͱɺ͓લͲ͏͍ͨ͠ͷʁ • ݸਓతʹ͜Ε͘Βཻ͍খ͍ͨ͘͞͠ • ͋Δ͍FormObject͕ࣗΛͯ͠SignupClassΛୟ͘ ͱ͔ɻ͘͢ͳ͘ͱผClassɻ
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
OOPͱ͔FormObjectΛ͢Ε͍͍ͱ͔ͦ͏ ͍͏ͷࣙΊͯɺͱΓ͋͑ͣ΄ΜͱʹԠ͡ ͯΨϯΨϯClass࡞͍ͬͯ͜͏