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
DDD勉強会 ~戦略的設計 編~
Search
ITO Shogo
May 25, 2020
Programming
0
240
DDD勉強会 ~戦略的設計 編~
副業先のDDD勉強会で使った資料です。
戦略的設計と戦術的設計の2回に分けて実施予定の前半部分です。
ITO Shogo
May 25, 2020
Tweet
Share
More Decks by ITO Shogo
See All by ITO Shogo
Datadog Workflow Automation で圧倒的価値提供
showwin
0
17
Workflow automationによるインシデント原因調査の自動化
showwin
1
210
好きなことを強みにしよう
showwin
1
490
LAPRAS CTOが考える 採用効率化Tips 5選
showwin
1
810
自作ISUCONのすすめ
showwin
1
110
Engineering Manager Discussion #1 - 自己紹介LT
showwin
1
550
採用要件を明確にしよう
showwin
0
120
スタートアップにおける技術的負債との向き合い方
showwin
0
880
アルゴリズムマネジメント
showwin
1
3.2k
Other Decks in Programming
See All in Programming
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
2
370
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
750
Lottieアニメーションをカスタマイズしてみた
tahia910
0
130
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
Domain-Driven Transformation
hschwentner
2
1.9k
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
SwiftUI Viewの責務分離
elmetal
PRO
1
240
『品質』という言葉が嫌いな理由
korimu
0
160
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
160
GoとPHPのインターフェイスの違い
shimabox
2
190
GAEログのコスト削減
mot_techtalk
0
120
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
300
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.4k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Producing Creativity
orderedlist
PRO
344
39k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Unsuck your backbone
ammeep
669
57k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Music & Morning Musume
bryan
46
6.3k
Rails Girls Zürich Keynote
gr2m
94
13k
Transcript
ҏ౻উޜ %%%ษڧձdઓུతઃܭฤd
ࣗݾհ • ҏ౻উޜ ͠ΐ͏͝ !TIPXXJO • -"13"4גࣜձࣾ$50
ܦྺ • גࣜձࣾ... d • "84 3BJMTͰडୗ։ൃ Πϯϑϥ
όοΫΤϯυϝΠϯ • શࣾਓͰϑϧϦϞʔτϫʔΫ •-"13"4גࣜձࣾ d •ڞಉۀऀ $50 •ΤϯδχΞεΫϥϜϚελʔϓϩμΫτΦʔφʔΤϯδχΞ •Ϛωδϝϯτ ৫ͮ͘Γ ࠾༻͋ͨΓ͕ຊۀ
࠷ۙϋϚ͍ͬͯΔ͜ͱ • (PݴޠͰ%%% • લʹ3BJMTͰॻ͍ͨझຯαʔϏεΛ(PͰॻ͖͠த • Ϋιίʔυ͚ͩͲΛ࣮ײͰ͖ͯྑ͍ • 'BDUPSJP
• ࠷ۙͰͳ͍ʜ ༡ΜͰ͍Δ • ֦ுੑͷߴ͍Λઃܭ͢Δͷָ͕͍͠Α
None
Ξϯέʔτ Έͳ͞Μͷ%%%ཧղΛڭ͑ͯԼ͍͞ʂ
%%%ཧղΞϯέʔτ
Έͳ͞ΜͲ͜Ͱ͔͢ʁ ᶃ ᶄ ᶅ ᶆ ᶇ ᶃݴ༿ฉ͍ͨ͜ͱ͋Δ ᶄͳΜͱͳͬͯ͘Δ ᶅશʹཧղ͍ͯ͠Δ ᶆΘ͔Δؾ͕͢Δ͚Ͳɺ
Θ͔Δͬͯݴ͍ͮΒ͍ ᶇνϣοτϫΧϧ
ᶅ ᶃݴ༿ฉ͍ͨ͜ͱ͋Δ ᶄͳΜͱͳͬͯ͘Δ ᶅશʹཧղ͍ͯ͠Δ ᶆΘ͔Δؾ͕͢Δ͚Ͳɺ Θ͔Δͬͯݴ͍ͮΒ͍ ᶇνϣοτϫΧϧ Θͨ͜͜͠Ͱ͢ʜɹ
ࠓͷత %%%ͷೝࣝΛଗ͑Δ͜ͱ
%%%ͱݴΘΕͯԿΛࢥ͍ු͔·͔͢ʁ ϢϏΩλεݴޠ ϞσϦϯά ΦχΦϯΞʔΩςΫνϟ ϨΠϠʔυΞʔΩςΫνϟ υϝΠϯΤΩεύʔτ ڥք͚ͮΒΕͨίϯςΩετ 7BMVF0CKFDU &OUJUZ
%%%ͷΞϓϩʔνͷશମ૾ %%%ͷతʮϞσϦϯάΛ௨ͯ͡ιϑτΣΞͷՁΛߴΊΔʯ͜ͱ ιϑτΣΞԽରͷݱ࣮ੈք ղܾͷͨΊʹɺ ࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ υϝΠϯ Ϟσϧ ιϑτΣΞ ઓུత
ઃܭ ઓज़త ઃܭ Ϟσϧͷ࣮
େࣄͳͷ͜͜ ιϑτΣΞԽରͷݱ࣮ੈք ղܾͷͨΊʹɺ ࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ υϝΠϯ Ϟσϧ ιϑτΣΞ ઓུత ઃܭ
ઓज़త ઃܭ Ϟσϧͷ࣮
ܰྔ%%%ͱݴΘΕΔͷ ιϑτΣΞԽରͷݱ࣮ੈք υϝΠϯ ιϑτΣΞ ઓज़త ઃܭ left blank Ϟσϧͷ࣮
Ξϓϩʔνͷछྨ υϝΠϯ Ϟσϧ ιϑτΣΞ ઓུత ઃܭ ઓज़త ઃܭ υϝΠϯ
ιϑτΣΞ ઓज़త ઃܭ υϝΠϯ ιϑτΣΞ ੈͷதͷଟ͘ͷ ιϑτΣΞ ܰྔ%%% %%%
%%%ͷతͬͯͳΜ͚ͩͬ
࠶ܝ େࣄͳͷ͜͜ ιϑτΣΞԽରͷݱ࣮ੈք ղܾͷͨΊʹɺ ࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ υϝΠϯ Ϟσϧ ιϑτΣΞ ઓུత
ઃܭ ઓज़త ઃܭ Ϟσϧͷ࣮
ઓज़ΑΓઓུͷ΄͏͕ॏཁ ઓज़త ઃܭ ઓུత ઃܭ ϢϏΩλεݴޠ ϞσϦϯά ϨΠϠʔυΞʔΩςΫνϟ
υϝΠϯΤΩεύʔτ ΦχΦϯΞʔΩςΫνϟ &OUJUZ 7BMVF0CKFDU ڥք͚ͮΒΕͨίϯςΩετ
Ͱੈͷதɺઓज़ͷͷํ͕ଟ͘ͳ͍ʁ
ઓज़ͱઓུΛΠϝʔδͯ͠ΈΔ
ઓज़ͷΠϝʔδ େྔͷఢ ਖ਼໘ಥഁ ઓज़ ରԠίετ ఢͷڧ͞ ઓज़ͳ͠ ઓज़͋Γ ʓʓਞܗ
ઓज़తઃܭͷ࠾༻ ࣗࠃ ΤϯδχΞνʔϜ ͚ͩͰ݁͢ΔͷͰ औΓೖΕ͍͢
ઓུͷΠϝʔδ େྔͷఢ ઓུ ྡࠃͷؒ ྡࠃͷؒ ରԠίετ ఢͷڧ͞ ઓज़ͳ͠ ઓज़͋Γ
ઓུ͋Γ
ઓུతઃܭͷ࠾༻ ଞࠃ ϏδωεαΠυ ר͖ࠐ·ͳ͍ͱ ͍͚ͳ͍ͷͰେม Ͱר͖ࠐΊͨΒڧ͍
ͰɺΦεεϝͷઓ͍ํʁ • %%%ෆ࠾༻ʁ • ܰྔ%%%ʁ • %%%ʁ
࣮ίετ ରυϝΠϯͷෳࡶ͞ ઓज़ͳ͠ ઓज़͋Γ ઓུ͋Γ %%%ෆཁ ܰྔ%%% %%% ରυϝΠϯͷෳࡶ͞Λߟ͑Α͏
• ଟ͘ͷιϑτΣΞ͕ѻ͍ͬͯ ΔυϝΠϯͷෳࡶ͞%%%͕ඞ ཁͳϨϕϧ • ࠓܰྔ%%%͕࠷దͳυϝΠϯ Λରͱ͍ͯͯ͠ɺޙʹ ରͱͳΔυϝΠϯ͕૿͑ͯ ෳࡶ͕͞૿͢͜ͱଟ͍ ෳࡶ͞ͷ໌֬ͳج४ʮ࣮ફυϝΠϯۦಈઃܭʯͷຊΛࢀর
ٳܜ☕
େࣄͳϞσϧͷ ιϑτΣΞԽରͷݱ࣮ੈք ղܾͷͨΊʹɺ ࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ υϝΠϯ Ϟσϧ ιϑτΣΞ ઓུత ઃܭ
ઓज़త ઃܭ Ϟσϧͷ࣮
ղܾͷͨΊʹɺ ࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ Ϟσϧͱ
εϚʔτϑΥϯͷྫ • ݱ࣮ʹଟ͘ͷཁૉ͕͋Δ • ػछ໊ • ϝʔΧʔ • 04
• ॴ༗ऀ • Ϙλϯͷ • ইͷ༗ແ • ॴ༗ྺ • FUDʜ
৽εϚϗͷൢചΛରͷυϝΠϯͱ͢Δ • ݱ࣮ʹଟ͘ͷཁૉ͕͋Δ • ػछ໊ • ϝʔΧʔ • 04
• ॴ༗ऀ • Ϙλϯͷ • ইͷ༗ແ • ॴ༗ྺ • FUDʜ ղܾʹ ͜ͷใ ෆཁ ϞσϧͱʜղܾͷͨΊʹɺࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ
ղܾͷͨΊʹɺࣄͷಛఆͷଆ໘ΛநԽ͢Δͱ ϞσϧͱʜղܾͷͨΊʹɺࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ ݱ࣮ੈքΛϞσϧԽ
ѱ͍Ϟσϧͱʜղܾ͕Ͱ͖ͳ͍Ϟσϧ ϞσϧͱʜղܾͷͨΊʹɺࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ ϓϥϯ Ͳ͏͠·͔͢ʁ ϓϥϯ͕දݱͰ͖ͳ͍ʜ
͏গ͠ෳࡶͰݱ࣮తͳྫΛߟ͑ͯΈΔ
࿀׆αʔϏε ͭͷओཁͳυϝΠϯͰߏ͞Ε͍ͯΔ ࿀ਓީิ Λݕࡧ ؾʹͳͬͨਓͱ ϝοηʔδ ಈըͰ ࣗݾհ
ϞσϦϯάͯ͠ΈΔ ແྉϢʔβ ͰՄೳ ༗ྉϢʔβ ͷΈՄೳ ϓϨϛΞϜϢʔβ ͷΈՄೳ ࿀ਓީิ Λݕࡧ
ؾʹͳͬͨਓͱ ϝοηʔδ ಈըͰ ࣗݾհ
͜ΕΛιϑτΣΞͰ࣮͢Δͱʜ ແྉϢʔβ ͰՄೳ ༗ྉϢʔβ ͷΈՄೳ ϓϨϛΞϜϢʔβ ͷΈՄೳ JG OPUVTFSJT@QBJE@VTFS
\ SBJTF"VUIPSJ[BUJPO&SSPS ^ ʜ JG OPUVTFSJT@QBJE@VTFS \ SBJTF"VUIPSJ[BUJPO&SSPS ^ JG OPUVTFSJT@QSFNJVN \ SBJTF"VUIPSJ[BUJPO&SSPS ^ ʜ JG OPUVTFSJT@QSFNJVN \ SBJTF"VUIPSJ[BUJPO&SSPS ^ ࿀ਓީิ Λݕࡧ ؾʹͳͬͨਓͱ ϝοηʔδ ಈըͰ ࣗݾհ • ೝՄʹؔ͢ΔJGจ͕େྔʹग़ݱ • JGจͷॻ͖ΕͰແྉϢʔβͰ༗ྉ Ϣʔβ͚ػೳ͕͑Δόά͕ʜ
CFUUFSͳϞσϦϯά ࿀ਓީิ Λݕࡧ ؾʹͳͬͨਓͱ ϝοηʔδ ಈըͰ ࣗݾհ ແྉϢʔβ ͰͳΕΔ
༗ྉϢʔβ ͷΈͳΕΔ ϓϨϛΞϜϢʔβ ͷΈͳΕΔ • ೝՄ֤υϝΠϯͷϢʔβΛ ࡞͢Δ࣌ʹ͚ͩߦ͏
ϞσϦϯά ઓུ ͷউར
࠶ܝ େࣄͳϞσϧͷ ιϑτΣΞԽରͷݱ࣮ੈք ղܾͷͨΊʹɺ ࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ υϝΠϯ Ϟσϧ ιϑτΣΞ ઓུత
ઃܭ ઓज़త ઃܭ Ϟσϧͷ࣮ %%%ͷతʮϞσϦϯάΛ௨ͯ͡ιϑτΣΞͷՁΛߴΊΔʯ͜ͱ
࣮ίετ ରυϝΠϯͷෳࡶ͞ ઓज़ͳ͠ ઓज़͋Γ ઓུ͋Γ %%%ෆཁ ܰྔ%%% %%% ͖ͬ͞ΑΓೲಘײ͋Γ·͔͢ʁ
࣮ίετ ରυϝΠϯͷෳࡶ͞ ઓज़ͳ͠ ઓज़͋Γ ઓུ͋Γ %%%ෆཁ ܰྔ%%% %%% ιϑτΣΞͷ߹͜ͷํ͕ഽײʹ͍ۙ
0 /? ͳܗ
ྑ͍ϞσϧΛͭ͘Δʹ • ڥք͚ͮΒΕͨίϯςΩετΛ໌Β͔ʹ͢Δ • ։ൃऀ͚ͩͰͳ͘ɺϏδωεଆͷਓͱಉ͡ݴ༿Λ͏ ϢϏΩλεݴޠ • ͦΕʹΑΓɺυϝΠϯʹৄ͍͠ਓ
υϝΠϯΤΩεύʔτ ͔ΒࣝΛಘΔ • ӡ༻ͯ͠ಘͨݟΛܧଓతʹϞσϧʹϑΟʔυόοΫ͢Δ ීஈͳΜͱͳ͍ͬͯ͘Δؾ͢Δ
υϝΠϯϞσϧਤΛڞ௨ݴޠͱͯ͠ॻ͘ͷ͕Φεεϝ • ΫϥεਤʹͦͷϞσϧ͕͍࣋ͬͯΔ੍ࣝΛه • ϏδωεଆίʔυΛಡ·ͳ༷͕ͯ͘ѲͰ͖Δ • 5%%ͱ૬ੑ͕ྑ͍
ྑ͍Ϟσϧ͕Ͱ͖ͨΒ࣮࣍ %%%ͷతʮϞσϦϯάΛ௨ͯ͡ιϑτΣΞͷՁΛߴΊΔʯ͜ͱ ιϑτΣΞԽରͷݱ࣮ੈք ղܾͷͨΊʹɺ ࣄͷಛఆͷଆ໘ΛநԽͨ͠ͷ υϝΠϯ Ϟσϧ ιϑτΣΞ ઓུత
ઃܭ ઓज़త ઃܭ Ϟσϧͷ࣮
ྑ͍ιϑτΣΞΛ࡞Δʹ • Ϟσϧܧଓతʹվળ͞ΕΔͷͰɺͦΕΛܧଓతʹөͰ͖ΔιϑτΣΞ͕ٻ ΊΒΕΔ • සൟͳมߋʹ͑͏Δʹɺ֦ுੑͷߴ͍ઃܭ͕ඞཁ • &OUJUZ3FQPTJUPSZͳͲͷσβΠϯύλʔϯΛ༻ •
ڥք͚ͮΒΕͨίϯςΩετΛҙࣝͨ͠ઃܭ • ίϯςΩετ͝ͱʹϚΠΫϩαʔϏεԽ͢Δ ઓज़తઃܭͷͳ͠
࣍ճʹଓ͘ʜ