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
1.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Form Object へ捧げる気持ち
HaiTo
September 06, 2018
More Decks by HaiTo
See All by HaiTo
管理画面再考
haito
0
270
ゾンビを倒してRuby.2.2に上げた話
haito
0
130
独自Worker管理が辛い
haito
0
210
色々なレビューの話
haito
0
160
おしゃれっぽくターミナルでストリーミング再生をしたかった話
haito
0
140
dendai_lt_1011
haito
0
68
Other Decks in Programming
See All in Programming
5分で問診!Composer セキュリティ健康診断
codmoninc
0
870
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
240
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
370
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
300
「人を評価する AI」の設計と実装
ryoyanara
0
160
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
340
今さら聞けない .NET CLI
htkym
0
180
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.8k
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
150
その節約、円になってますか?
isamumumu
1
690
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
530
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
AI: The stuff that nobody shows you
jnunemaker
PRO
9
880
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Accessibility Awareness
sabderemane
1
170
So, you think you're a good person
axbom
PRO
2
2.1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
330
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Marketing to machines
jonoalderson
1
5.6k
Speed Design
sergeychernyshev
33
2k
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࡞͍ͬͯ͜͏