Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
モデルとは何であって、何でないのか #kichijojipm
Search
Akira Suenami
August 02, 2019
Technology
6.4k
15
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モデルとは何であって、何でないのか #kichijojipm
吉祥寺pm#19 での LT 資料です。
Akira Suenami
August 02, 2019
More Decks by Akira Suenami
See All by Akira Suenami
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
9
2.7k
オブジェクト指向考古学 〜人類は再びDCIの夢を見るか〜
a_suenami
5
3.6k
トランザクションスクリプトはどこから来たのか トランザクションスクリプトは何者か トランザクションスクリプトはどこへ行くのか #sekkeinight
a_suenami
14
7.1k
値と属性の話
a_suenami
0
340
ドメインモデラーにとって受託開発であることは制約なのか?
a_suenami
1
1.6k
異なるモデリングパラダイムから見るモデリングの勘所 #ooc_2020
a_suenami
2
3.5k
マルチパラダイムモデリング 〜異なるモデリングパラダイムから見るモデリングの勘所〜 #PHPerKaigi
a_suenami
0
4.1k
“ユーザーファースト”の功罪 〜分析と実験によるアーキテクチャ設計〜 #bpstudy
a_suenami
4
1.5k
ドメインモデルのつくり方 #5000dai
a_suenami
16
5.1k
Other Decks in Technology
See All in Technology
Optunaの最新リリースv5.0について
pfn
PRO
0
110
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
540
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
180
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.6k
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
110
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
290
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
180
WasmをRustにする
sansantech
PRO
0
250
Refining Active Record
shugo
0
140
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
180
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Exploring anti-patterns in Rails
aemeredith
4
540
The World Runs on Bad Software
bkeepers
PRO
72
12k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Side Projects
sachag
456
43k
Tell your own story through comics
letsgokoyo
1
1.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Facilitating Awesome Meetings
lara
57
7.2k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
410
Transcript
ϞσϧͱԿͰ͋ͬͯɺԿͰͳ͍ͷ͔ ٢ࣉpm#19 2019/08/02 ͑͢ͳΈ ͖͋Β Twitter: @a_suenami Github: a-suenami
ࣗݾհ • ฒ ߊʢ͑͢ͳΈ ͖͋Βʣ @a_suenami • ͖ͳͷ RDB ͱ͔ΦϒδΣΫτࢦͱ͔
TDD ͱ͔ DDD ͱ ͔ɻ • ͑͢ͳΈνϟϯε͍ͬͯ͏ϖΞϓϩΛͯ͠মΛ৯ΔձΛͬͯ ·͢ɻ
٢ࣉ pm ͷ pm pair-programming ͱ meat Ͱ͢
ϞσϧͷΛ͠·͢ɻ
ٕज़తͳ͋·Γ͠·ͤΜɻ
֓೦తͳͰ͢ɻ
UML? IUUQTKBXJLJQFEJBPSHXJLJ౷ҰϞσϦϯάݴޠ
Ϟσϧʁ
Ϟσϧͷݪٛ IUUQTFOHFUZNPDPNBSDIJWFTUPD
ࣗͳΓͷʮϞσϧʯͷઆ໌ ղܾ͍ͨ͠ྖҬ͔Β ඞཁͩͱࢥΘΕΔใΛநग़ͯ͠ ʢٯʹෆཁͩͱࢥΘΕΔใΛࣺͯʣ ه߸ԽɺՄࢹԽͨ͠ͷ
খ͍͠આ໌Λ͠·͕ͨ͠ ࣮ΈΜͳখ͍͞ࠒ͔Β ͜ͷ܇࿅Λͯ͠ΔͣͰ͢ɻ
ࢉͷจষ ͭΔͱ͔Ί͕߹Θ͍ͤͯͯɺ ͷ߹ܭຊ͕ຊͰ͢ɻ ͭΔԿӋ͍·͔͢ɻ Y Z Y Z
ͦͷଞͷʮϞσϧʯ ਤ ८ճηʔϧεϚϯ ηʔϧεϚϯ͕͋Δࢢ͔Βग़ൃ͠ɼશͯͷ ࢢΛ๚ͯ͠ɼग़ൃʹؼؐ͢Δ߹ɼͲͷ Α͏ͳॱ൪ͰࢢΛճΔͷ͕࠷ܦ࿏Ͱ͋Δ͔
ଥͳϞσϧͱ খֶߍͷࢉͰͷൣղ → 8ݸ ΨνͷΈͳ͞Μ → ܕ͕ҧ͏ͷͰԋࢉෆՄ Έ͔Μ͕3ͭɺΓΜ͕͝5ͭ͋Γ·͢ɻ͋ΘͤͯԿݸʁ
ͰͭΔ͔ΊࢉͰ ͭΔͷͱ͔ΊͷΛͨ͠ΑͶʁ
ଥͳϞσϧͱ • Έ͔ΜͷͱΓΜ͝ͷΛ͢ཧ༝͕Θ͔Βͳ͍ͷͰʮݸʯΛந Խ͢Δଥੑ͕ෆ໌ɻ • ࣗવʢ͘͠ʣͱ͍͏ܗࣜʹม͢Δͱ࢛ଇԋࢉͱ͍͏ԋ ࢉΛखʹೖΕΔ͜ͱ͕Ͱ͖ɺͱͱͷྖҬ͕ԿͰ͋Ε͢͜ ͱ͕Ͱ͖Δɻ • ͭΔ͔Ίࢉʹ͓͍ͯɺ͓ͦΒ͘Έͳ͞ΜͷதͰ҉తͳͷ
நԽͱܕΩϟετ͕͋Δʢͣʣɻ • ͭΔ͔Ίࢉʹ͓͍ͯͭΔͷ಄ͱ͔Ίͷ಄ΛΓ͍ͨͱ͍͏త ͕͔͋ͬͨΒʮʯͱ͍͏நܕΛߟ͑Δҙ͕ٛ͋ͬͨɻ • ͭΔͱ͔Ίͷ಄ΛΓ͍ͨཧ༝ʢΑΓ্Ґͷతʣෆ໌͕ͩ…
ଥͳϞσϧͱ • ʮʯͱ͍͏֓೦ࣗવɺɺ࣮ɺෳૉͱ֦ு͞Εͨɻ • ֶΨν͡Όͳ͍ͷͰਖ਼͔֬Ͳ͏͔͝༰ࣻɻ • Կ͔ͷݸΛ͍͚͑ͨͩͳͷʹෳૉྖҬͰͷԋࢉඞཁͱ͠ͳ͍ ͠ɺٯʹిؾిࢠճ࿏Λઃܭ͢Δͱ͖ʹࣗવͱ࢛ଇԋࢉ͚ͩͰཱ ͔ͪ͏ͷ͋·Γʹශऑɻ •
ϞσϧͱྖҬΛ؍/ԋࢉ͍͢͠ඞཁेͳܗʹม͠ɺͦ ΕΛͱʹղܾํ๏৽ͨͳઃఆΛ͢ΔͨΊͷͷͰ͋Δɻ • ܾͯ͠UMLΛॻ͘͜ͱΛϞσϦϯάͱ͍͏Θ͚Ͱͳ͍ɻ
Ϟσϧͷੈքͱݱ࣮ͷੈք ղܾํ๏ Ϟσϧ ৽ͨͳ දݱܗࣜ ԋࢉ
·ͱΊ • Ϟσϧͱղܾ͍ͨ͠ྖҬ͔ΒඞཁͩͱࢥΘΕΔใ͚ͩΛநग़ ͠ɺಛ͚ͮɺՄࢹԽه߸ԽΛ͓͜ͳͬͨͷͰ͋Δɻ • ιϑτΣΞ։ൃʹดͨ͡ͷͰͳ͍͠ɺ࣮ͷํ๏ͱ͍͏Θ͚ Ͱͳ͍ɻ • ͪΖΜɺιϑτΣΞͷଘࡏҙ͕ٛͳΜΒ͔ͷΛղܾ͢Δ͜ ͱͰ͋Δ͜ͱΛ౿·͑Δͱɺີʹؔ࿈͍ͯ͠Δ͠ɺ࣮ͷʹ
ཱ͕ͭɺୈҰٛతʹͦ͏Ͱͳ͍ɻ • ͯ͢ͷϞσϧ͕࣮Մೳ/ԋࢉՄೳͱݶΒͳ͍͕ɺଟ͘ͷϞσϧ͕ ಠࣗͷԋࢉΛ͍࣋ͬͯΔɻ • Ϟσϧۦಈઃܭʹ͓͍ͯͦ͏͍ͬͨʮ࣮ՄೳͳϞσϧʯΛ ࢤ͍ͯ͠Δɻ
Ұ۟ ͦͷϞσϧ ͲΜͳ ղ͖·͔͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ