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
a.shimomura
December 07, 2019
Programming
0
480
クリーンアーキテクチャとアトミックデザインをやってみた話
a.shimomura
December 07, 2019
Tweet
Share
More Decks by a.shimomura
See All by a.shimomura
5分でわかる イミュータブル データモデル
shimomura
0
82
アラートの話 をしよう!
shimomura
0
58
お手軽DomainModel
shimomura
0
69
serverless
shimomura
1
190
機械翻訳との付き合い方
shimomura
0
230
Other Decks in Programming
See All in Programming
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
180
AHC041解説
terryu16
0
550
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
390
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
1
500
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
3.7k
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
10
1.4k
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
250
Spring gRPC について / About Spring gRPC
mackey0225
0
180
【PHP】破壊的バージョンアップと戦った話〜決断と説得
satoshi256kbyte
0
100
為你自己學 Python
eddie
0
540
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
29
4.8k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
The Cult of Friendly URLs
andyhume
78
6.2k
Typedesign – Prime Four
hannesfritz
40
2.5k
Gamification - CAS2011
davidbonilla
80
5.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Six Lessons from altMBA
skipperchong
27
3.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Into the Great Unknown - MozCon
thekraken
34
1.6k
How STYLIGHT went responsive
nonsquared
96
5.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
52k
Transcript
ϦϦʔε·ͳ͍PJΛ ΫϦʔϯΞʔΩςΫνϟͱ ΞτϛοΫσβΠϯͰϦϑΝΫλͨ͠ ૼଜ ݠୋ
ࣗݾհ • twitter : @akshimo • php, ruby, java, vue.js,
aws, alibaba cloud… • ͨ·ʹ৽ਓݚमߨࢣͱ͔ͬͨΓ • webͰԿͰɻflutter͡Ί͍ͨɻ • ͖ͳ͓ञɿΞϒαϯ
࠷ॳʹ͓ͼ ෩࿊ෑ͛ա͗ͨͷͰૣʹ͍͖·͢ɻ ͠ڵຯ͋Εੋඇ͋ͱͰฉ͍ͯͩ͘͞ ͍ɻ
agenda • ΫϦʔϯΞʔΩςΫνϟɺΞτϛοΫσβΠϯ ͱ • ͳΜͰಋೖͯ͠Έͨͷʁ • ͲΜͳײ͡Ͱಋೖͨ͠ͷʁ • ಋೖͯ͠ΈͯͲΜͳײ͡ʁ
agenda • ΫϦʔϯΞʔΩςΫνϟɺΞτϛοΫσβΠϯ ͱ • ͳΜͰಋೖͯ͠Έͨͷʁ • ͲΜͳײ͡Ͱಋೖͨ͠ͷʁ • ಋೖͯ͠ΈͯͲΜͳײ͡ʁ
ڵຯ͋ΕޙͰ ฉ͍͍ͯͩ͘͞
None
͍ΘΏΔ%%%Λ࣮ݱ͢ΔͨΊͷ ΞʔΩςΫνϟͰ͢
None
ίϯϙʔωϯτΛ ͳΜ͔͛͢ʔࡉ͔͚͘ΔͭͰ͢
agenda • ΫϦʔϯΞʔΩςΫνϟɺΞτϛοΫσβΠϯ ͱ • ͳΜͰಋೖͯ͠Έͨͷʁ • ͲΜͳײ͡Ͱಋೖͨ͠ͷʁ • ಋೖͯ͠ΈͯͲΜͳײ͡ʁ
લఏ • ӽڥEC • ׂͱ࠷ۙʹϦϦʔεࡁΈ • ϦϑΝΫλϦϯά
લఏ • laravel5.5 • php7.2 • vue.js • flocss •
docker-compose • alibaba cloud
ಋೖͨ͠ཧ༝ 1. ৭ΜͳπϥΈ͕͋ͬͨ ʢཁιʔε͕Ԛ͍ʣ 2. औಘݩͷมߋ͕֬ఆ͠ ͍ͯͨ
πϥΈʢόοΫΤϯυʣ • MVC+Service • Ұ෦FatControllerɺFatService • యܕతͳτϥϯβΫγϣϯεΫϦϓτ • දࣔ༻ϩδοΫͱϏδωεϩδοΫ͕ࠞͬ͟ ͨڊେModel
πϥΈʢϑϩϯτΤϯυʣ • ViewʹϩδοΫೖΓ·͘Γ • ը໘ͱίϯϙʔωϯτ͕̍ର̍ • ϑΝΠϧ͕ڊେʹ • ͏jQueryͰΑ͘Ͷʁ
agenda • ΫϦʔϯΞʔΩςΫνϟɺΞτϛοΫσβΠϯ ͱ • ͳΜͰಋೖͯ͠Έͨͷʁ • ͲΜͳײ͡Ͱಋೖͨ͠ͷʁ • ಋೖͯ͠ΈͯͲΜͳײ͡ʁ
എܠ • ϏδωεϩδοΫ͕ͦ͜·ͰෳࡶͰͳ͍ • ͱΓ͋͑ͣࠓՁΛग़͢͜ͱ͕େࣄ
Βͳ͔ͬͨ͜ͱ • ValueObjectͷશద༻ ->Ϗδωεϧʔϧ͕ෳࡶͰͳ͘ݫີ͞ٻΊΒΕͳ ͔ͬͨ • શͳϑϨʔϜϫʔΫͷඇґଘ ->CollectionCarbonͳͲͷศརΫϥεڐ༰ • શίϯϙʔωϯτʹΞτϛοΫσβΠϯΛద༻͠ͳ͍
->අ༻ରޮՌɺSEOʢnuxt͑Αʣ
ಋೖͷ؊ • ΨνDDDͰͳ͘ɺྑ͍ͱ͜ͲΓ͍ͨ͠ • దͳϨΠϠʔ͚ͱτϥϯβΫγϣϯεΫϦϓτ͔Βͷ٫ • ୯Ұͷపఈ • ޮՌͷߴͦ͏ͳɺ࠶ར༻͢ΔݟࠐΈ͕ߴ͍ίϯϙʔωϯτͷ Έ
• ਐతʹਐΊΔ Γ͍͢ͱ͜ΖɺޮՌͷߴ͍ͱ͜Ζ͔Βঃʑʹ
agenda • ΫϦʔϯΞʔΩςΫνϟɺΞτϛοΫσβΠϯ ͱ • ͳΜͰಋೖͯ͠Έͨͷʁ • ͲΜͳײ͡Ͱಋೖͨ͠ͷʁ • ಋೖͯ͠ΈͯͲΜͳײ͡ʁ
ΫϦʔϯΞʔΩςΫνϟ • ৭ʑলུ͠ա͗ͨ݁Ռɺ͜ΕΫϦʔϯΞʔΩςΫνϟͳͷ ͔ʁͱ͍͏ʹ • υϝΠϯ͋·ΓϩδοΫ͕ͳ͘ɺΫϥε͕ͻͨ͢Βଟ ͍ɻएׯͷΓ͗͢ײɻ ->ෳࡶͳϏδωεϧʔϧ͕ͳ͔͔ͬͨΒ • ϩδοΫ͕υϝΠϯͱϓϨθϯςʔγϣϯʹ͚ΒΕͯ៉
ྷʹͳͬͨʂ ->Ή͠ΖϓϨθϯςʔγϣϯϩδοΫ͕ෳࡶͩͬͨ • ֶशίετؚΊͨॳظίετߴʂ
ΞτϛοΫσβΠϯ • ଟݴޠରԠΏ͑ɺͪΐͬͱͨ͠จݴjsonͰ ͞ͳ͚ΕͳΒͳ͍ • ࠶ར༻ੑඇৗʹߴ͘ͳͬͨ • ֶशίετؚΊͨॳظίετߴʂ
ͭ·Γ…ࠓޙʹظ
·ͱΊ
• ݫີͳΫϦʔϯΞʔΩςΫνϟΞτϛοΫσβ ΠϯͰͳ͍ɻ͕ͩͦΕͰेޮՌ͋Γͦ ͏ɻ • ಛʹwebܥ͋·Γ͜ΕΒΛΨοπϦΔ͖γ νϡΤʔγϣϯଟ͘ͳ͍ͷ͔ɻ • खΛൈ͍ͯॳظίετ͔ͳΓେ͖͍ɻ •
αʔϏεͷण໋ɺϏδωεϧʔϧͷෳࡶ͞ɺن ɺνʔϜঢ়گͳͲΛΑ͘ߟ͑ͯಋೖΛݕ౼͢ ͠ɻ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠