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
PSA review
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nunulk
August 30, 2017
Programming
3
2.9k
PSA review
「現場で役立つシステム設計の原則」をウェブサービスの現場で役立てたい at DDD Alliance! 現場で役立つシステム設計の原則 Night!
nunulk
August 30, 2017
Tweet
Share
More Decks by nunulk
See All by nunulk
Laravelでテストしやすいコードを書く5 / 5 tips of building testable modules in Laravel
nunulk
0
330
Design It! in a nutshell
nunulk
1
280
PHP Getting Faster
nunulk
0
280
How does learning English broaden your world?
nunulk
0
380
Testing on Laravel
nunulk
1
1.5k
Vue.js + TypeScript + Firebase
nunulk
0
960
Nuxt.js in TypeScript
nunulk
1
450
A startup meets Laravel + Vue.js
nunulk
1
2.1k
Unit Testing Laravel
nunulk
0
500
Other Decks in Programming
See All in Programming
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
4
1.5k
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
130
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
190
Claude Code Skill入門
mayahoney
0
400
モダンOBSプラグイン開発
umireon
0
150
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
2
260
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
430
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
210
へんな働き方
yusukebe
0
530
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
1k
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
250
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
120
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
260
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
260
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
640
Raft: Consensus for Rubyists
vanstee
141
7.4k
Skip the Path - Find Your Career Trail
mkilby
1
80
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Design in an AI World
tapps
0
170
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.9k
Claude Code のすすめ
schroneko
67
220k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
830
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Transcript
ʮݱͰཱͭγεςϜઃܭͷݪଇʯΛ ΣϒαʔϏεͷݱͰཱ͍ͯͨ OVOVML BU%%%"MMJBODFݱͰཱͭγεςϜઃܭͷݪଇ/JHIU
ࣗݾհ w OVOVML w ϑϦʔϥϯεͷϓϩάϥϚʔ w ओʹΣϒαʔϏεͷΞϓϦέʔγϣϯ։ൃ w 1)1X-BSBWFM w
+BWB/&5ͰۀܥγεςϜͬͯͨ͜ͱ͋Γ ·ͨ͠
w ʮݱͰཱͭγεςϜઃܭ ͷݪଇʯͷॻධ w ΣϒαʔϏε։ൃͷݱ w ΣϒαʔϏε։ൃͷݱʹ ͓͚Δຊॻͷཱͯํ ࠓ͢͜ͱ
ຊॻͷಛ w ΦϒδΣΫτࢦઃܭʗϓϩάϥϛϯάΛɺతͰ ͳ͘ɺมߋΛָͰ҆શʹ͢ΔͨΊͷखஈͱ͍ͯ͠ Δ w ϦϑΝΫλϦϯάલͱޙͷίʔυྫʢ+BWBʣ͕ଟ ࡌ͍ͬͯΔ w
ΞϓϦέʔγϣϯͷίʔυͷΈΛରͱͤͣɺςʔ ϒϧઃܭ63-ઃܭʹݴٴ͍ͯ͠Δ
ຊॻͷಛ w ܁Γฦ͠ମݧ͢Δ͜ͱΛਪ w ੳʗઃܭʗ࣮ͦΕͧΕͷϑΣʔζͰ୲ऀΛ ͚ͳ͍͜ͱΛਪ w ۀͷؔ৺ࣄͷ୯ҐΛɺͦͷ··ϓϩάϥϛϯά୯ Ґͱͯ͠ΫϥεͰදݱ͢Δ͜ͱΛਪ
ΣϒαʔϏεͷݱ lҰํͰɺΠϯλʔωοταʔϏεͷ։ൃͳͲͰɺগͷ ٕज़ऀ͕ͯ͢ͷఔΛ୲͢Δέʔε͕૿͍͑ͯ·͢ɻ͠ ͔͠ɺͪ͜Βͷ߹ɺੳઃܭʹ΄ͱΜͲ࣌ؒΛ͔͚ͣ ʹɺͱʹ͔͘ϓϩάϥϛϯά͢Δɺͱ͍͏Γํ͕ଟ͍Α͏ Ͱ͢ɻ͜ͷΓํɺੳ͠ͳ͕Βઃܭ͢Δͱ͍͏ΦϒδΣ ΫτࢦΒ͍͠։ൃͷΓํͰ͋Γ·ͤΜɻz 1 ʮΦϒδΣΫτࢦͷ։ൃ͏·͍͍ͬͯ͘Δͷ͔ʯ
ΣϒαʔϏεͷݱ lҰํͰɺΠϯλʔωοταʔϏεͷ։ൃͳͲͰɺগͷ ٕज़ऀ͕ͯ͢ͷఔΛ୲͢Δέʔε͕૿͍͑ͯ·͢ɻ͠ ͔͠ɺͪ͜Βͷ߹ɺੳઃܭʹ΄ͱΜͲ࣌ؒΛ͔͚ͣ ʹɺͱʹ͔͘ϓϩάϥϛϯά͢Δɺͱ͍͏Γํ͕ଟ͍Α͏ Ͱ͢ɻ͜ͷΓํɺੳ͠ͳ͕Βઃܭ͢Δͱ͍͏ΦϒδΣ ΫτࢦΒ͍͠։ൃͷΓํͰ͋Γ·ͤΜɻz 1 ʮΦϒδΣΫτࢦͷ։ൃ͏·͍͍ͬͯ͘Δͷ͔ʯ
ΣϒαʔϏεͷݱ lҰํɺੳઃܭΛ͋·ΓߦΘͳ͍ϓϩάϥϛϯάॏࢹͷ ։ൃελΠϧɺͪΐͬͱن͕େ͖͘ͳΔͱɺίʔυͷݟ ௨͕͠ٸʹѱԽ͠·͢ɻ ͞Βʹ͔࣍Β࣍ͱ૿վஙΛ܁Γฦ͍ͯ͠Δ͏ͪʹɺख͕ ͚ΒΕͳ͍΄Ͳཧղ͕͘͠ɺ͓͍ͦΕͱมߋ͕Ͱ͖ͳ͍େ ͖ͳίʔυͷ͔ͨ·Γ͕ੜΈग़͞Ε·͢ɻz 1 ʮͲͪΒͷΓํͰ͔͍ͬͳιϑτΣΞ͕ੜ·Ε͍͢ʯ
ΣϒαʔϏεͷݱ lҰํɺੳઃܭΛ͋·ΓߦΘͳ͍ϓϩάϥϛϯάॏࢹͷ ։ൃελΠϧɺͪΐͬͱن͕େ͖͘ͳΔͱɺίʔυͷݟ ௨͕͠ٸʹѱԽ͠·͢ɻ ͞Βʹ͔࣍Β࣍ͱ૿վஙΛ܁Γฦ͍ͯ͠Δ͏ͪʹɺख͕ ͚ΒΕͳ͍΄Ͳཧղ͕͘͠ɺ͓͍ͦΕͱมߋ͕Ͱ͖ͳ͍େ ͖ͳίʔυͷ͔ͨ·Γ͕ੜΈग़͞Ε·͢ɻz 1 ʮͲͪΒͷΓํͰ͔͍ͬͳιϑτΣΞ͕ੜ·Ε͍͢ʯ
͍ɺ͓ͬ͠ΌΔ௨ΓͰ͢ স
ݴ͍༁͍ͤͯͩ͘͞͞
TUBHFTPGCVTJOFTTHMPXUI TUBHFTPGCVTJOFTTHMPXUI &YJTUFODF 4VSWJWBM 4VDDFTT 5BLFP⒎ .BUVSJUZ
ΣϒαʔϏεͷݱ w εϐʔυʼ࣭ w ΞδϟΠϧ˺ߦ͖ͨΓͬͨΓ w গਫ਼Ӷˠߴ͍ଐਓੑ ˞ݸਓͷײͰ͢
ͦ͏͍͏ݱͰɺগ͠ͰʮΦϒ δΣΫτࢦΒ͍͠։ൃʯΛ͢Δ ʹͲ͏͢Ε͍͍ͩΖ͏͔ʁ
։ൃϓϩηεʗମ੍ lۀΛཧղ͠ཧ͢ΔͨΊͷʮੳʯͱɺιϑτΣ Ξͱͯ͠ͷ࣮ݱํ๏Λߟ͑ΔʮઃܭʯΛɺಉ͡ਓؒʗ νʔϜ͕Ұ؏ͯ͠୲͢Δ͜ͱ͕ޮՌతͰ͢ɻz 1 ʮυϝΠϯϞσϧΛத৺ʹͨ͠ιϑτΣΞ։ൃͷਐΊํʯ
lۀΛཧղ͠ཧ͢ΔͨΊͷʮੳʯͱɺιϑτΣ Ξͱͯ͠ͷ࣮ݱํ๏Λߟ͑ΔʮઃܭʯΛɺಉ͡ਓؒʗ νʔϜ͕Ұ؏ͯ͠୲͢Δ͜ͱ͕ޮՌతͰ͢ɻz 1 ʮυϝΠϯϞσϧΛத৺ʹͨ͠ιϑτΣΞ։ൃͷਐΊํʯ ։ൃϓϩηεʗମ੍ Ͱ͖ͦ͏
υΩϡϝϯςʔγϣϯ lੳ͢Δਓ͕ؒઃܭ͠ɺઃܭ༰Λιʔείʔυͱ ͯ͠ه͢ΔͷͰ͋Εɺੳऀͱઃܭऀɺઃܭ ऀͱ࣮ऀͷؒͰɺυΩϡϝϯτΛͬͯୡ͢Δඞ ཁ͋Γ·ͤΜɻʢதུʣੳͱઃܭ͕Ұக͢Εɺ ιʔείʔυ͕υΩϡϝϯτͱͯ͠ػೳ͠·͢ɻz 1 ʮιʔείʔυΛୈҰڃͷυΩϡϝϯτͱͯ͠׆༻͢Δʯ
lੳ͢Δਓ͕ؒઃܭ͠ɺઃܭ༰Λιʔείʔυͱ ͯ͠ه͢ΔͷͰ͋Εɺੳऀͱઃܭऀɺઃܭ ऀͱ࣮ऀͷؒͰɺυΩϡϝϯτΛͬͯୡ͢Δඞ ཁ͋Γ·ͤΜɻʢதུʣੳͱઃܭ͕Ұக͢Εɺ ιʔείʔυ͕υΩϡϝϯτͱͯ͠ػೳ͠·͢ɻz 1 ʮιʔείʔυΛୈҰڃͷυΩϡϝϯτͱͯ͠׆༻͢Δʯ υΩϡϝϯςʔγϣϯ Ͱ͖ͦ͏
ੳͱઃܭ lۀͷؔ৺ࣄΛώτʗϞϊʗίτͷͭʹྨ͢Δํ ๏͕͋Γ·͢ɻ͜ͷྨɺۀͷͱΒ͑ํͱͯ͠Θ ͔Γ͘͢ɺ·࣮ͨࡍʹʹཱͭ͜ͱ͕͘ೝΊΒΕ ͍ͯ·͢ɻz 1 ʮυϝΠϯΦϒδΣΫτͷݟ͚ͭํʯ
ੳͱઃܭ lۀͷؔ৺ࣄΛώτʗϞϊʗίτͷͭʹྨ͢Δํ ๏͕͋Γ·͢ɻ͜ͷྨɺۀͷͱΒ͑ํͱͯ͠Θ ͔Γ͘͢ɺ·࣮ͨࡍʹʹཱͭ͜ͱ͕͘ೝΊΒΕ ͍ͯ·͢ɻz 1 ʮυϝΠϯΦϒδΣΫτͷݟ͚ͭํʯ Ͱ͖ͦ͏
࣮ lυϝΠϯΦϒδΣΫτ͕)5.-ͷDMBTTଐੑͷΛ ฦ͢͜ͷΓํɺϞσϧʹϏϡʔͷؔ৺ࣄ͕ೖΓࠐ ΜͰ͍Δͱײ͡Δਓ͕͍Δ͔͠Ε·ͤΜɻ͔͠͠ɺ ͦ͏Ͱ͋Γ·ͤΜɻυϝΠϯΦϒδΣΫτͰදݱ͢ Δཧతͳঢ়ଶΛɺϏϡʔଆ͕ར༻͢Δɺͱ͍͏ߟ͑ ํͰ͢ɻz 1 ʮ)5.-ͷDMBTTଐੑΛυϝΠϯΦϒδΣΫτ͔Βग़ྗ͢Δʯ
࣮ lυϝΠϯΦϒδΣΫτ͕)5.-ͷDMBTTଐੑͷΛ ฦ͢͜ͷΓํɺϞσϧʹϏϡʔͷؔ৺ࣄ͕ೖΓࠐ ΜͰ͍Δͱײ͡Δਓ͕͍Δ͔͠Ε·ͤΜɻ͔͠͠ɺ ͦ͏Ͱ͋Γ·ͤΜɻυϝΠϯΦϒδΣΫτͰදݱ͢ Δཧతͳঢ়ଶΛɺϏϡʔଆ͕ར༻͢Δɺͱ͍͏ߟ͑ ํͰ͢ɻz 1 ʮ)5.-ͷDMBTTଐੑΛυϝΠϯΦϒδΣΫτ͔Βग़ྗ͢Δʯ Ͱ͖ͦ͏
ଞʹ ΦϒδΣΫτʗϑΝʔετΫϥείϨΫγϣϯʗ۠ΦϒδΣ ΫτʗυϝΠϯϞσϧʗํʢ1PMJDZʣύλʔϯʗϦϑΝΫλ ϦϯάʗϓϩάϥϜͷࣗݾจॻԽʗαʔϏεΫϥεʗγφϦΦ Ϋϥεʗίτʹ͢ΔσʔλϕʔεઃܭʗλεΫϕʔεͷϢʔ βʔΠϯλʔϑΣʔεʗը໘ͷؔ৺ࣄͱҰகͤͨ͞Ϋϥεʗඇ ಉظϝοηʔδϯάʗ"1*Ϩεϙϯε༻ͷΫϥεʗϚΠΫϩαʔ ϏεʗϗϫΠτϘʔυʹॻ͍ͨϥϑεέονͷࣸਅʗۀཁ݅ Λͦͷ··ιʔείʔυͰදݱͰ͖ΔਓࡐΛɺެࣜʹඇެ ࣜʹධՁ͢Δ͜ͱ
ଞʹ ΦϒδΣΫτʗϑΝʔετΫϥείϨΫγϣϯʗ۠ΦϒδΣ ΫτʗυϝΠϯϞσϧʗํʢ1PMJDZʣύλʔϯʗϦϑΝΫλ ϦϯάʗϓϩάϥϜͷࣗݾจॻԽʗαʔϏεΫϥεʗγφϦΦ Ϋϥεʗίτʹ͢ΔσʔλϕʔεઃܭʗλεΫϕʔεͷϢʔ βʔΠϯλʔϑΣʔεʗը໘ͷؔ৺ࣄͱҰகͤͨ͞Ϋϥεʗඇ ಉظϝοηʔδϯάʗ"1*Ϩεϙϯε༻ͷΫϥεʗϚΠΫϩαʔ ϏεʗϗϫΠτϘʔυʹॻ͍ͨϥϑεέονͷࣸਅʗۀཁ݅ Λͦͷ··ιʔείʔυͰදݱͰ͖ΔਓࡐΛɺެࣜʹඇެ ࣜʹධՁ͢Δ͜ͱ
Ͱ͖ͦ͏
None
ΣϒαʔϏεͷݱ w εϐʔυʼ࣭ w ΞδϟΠϧ˺ߦ͖ͨΓͬͨΓ w গਫ਼Ӷˠߴ͍ଐਓੑ ˞ݸਓͷײͰ͢
ΣϒαʔϏεͷݱ w εϐʔυʼ࣭ ˠશһੳʗઃܭͰ͖ΔΑ͏ʹ͍ͯ͘͠ ˠ࣭Λ্͛Δ͜ͱͰεϐʔυΛ্͍͛ͯ͘ ˠྫʣϦϑΝΫλϦϯάσʔɺࣾษڧձɺখ͞ ͳ1VMM3FRVFTUɺίʔυϨϏϡʔɺFUD
ΣϒαʔϏεͷݱ w ΞδϟΠϧ˺ߦ͖ͨΓͬͨΓ ˠΤϯδχΞओಋͰੳʗઃܭʗ࣮αΠΫϧΛ ճ͍ͯͨ͘͠Ίʹɺ#J[Λר͖ࠐΉɺ6*69ɺϚʔ έςΟϯάྖҬ৯͍ࠐΉ ˠܭըత͔ͭૉૣ͘։ൃ͢Δ ˠྫʣϓϩτλΠϐϯάπʔϧɺνϟοτπʔϧɺ ใڞ༗πʔϧɺΧϯόϯϘʔυɺ(PPHMF "OBMZUJDTɺFUD
ΣϒαʔϏεͷݱ w গਫ਼Ӷˠߴ͍ଐਓੑ ˠਨʢػೳʣׂͰ୲Λ͚ͣʹɺͳΔ͘ ·ΜΜͳ͘ίʔυશମΛ৮ΔΑ͏ʹ͢Δ ˠφϨοδͷฏ४Խ ˠྫʣ੩తղੳπʔϧɺϦϑΝΫλϦϯάσʔɺ ࣾษڧձɺϖΞϓϩάϥϛϯά ɺίʔυϨϏϡʔɺ ίʔυεχϖοτͷγΣΞɺใڞ༗πʔϧɺFUD
ݱͰऔΓೖΕΒΕͦ͏ͳ͜ͱΛ ͻͱͭͰଟ͘ຊॻ͔ΒϐοΫΞο ϓͯ͠ɺ׆༻͍͖͍ͯͨ͠Ͱ͢ɻ
Έͳ͞ΜͷݱͰ͍ͭ͘औΓ ೖΕΒΕͦ͏Ͱ͠ΐ͏͔ʁ
ݱ͔ΒҕৡͰ͢ɻ