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
実践DDD ~苦悩と悟り~
Search
Tech Leverages
PRO
June 30, 2023
Technology
5.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実践DDD ~苦悩と悟り~
実践DDD ~苦悩と悟り~
Tech Leverages
PRO
June 30, 2023
More Decks by Tech Leverages
See All by Tech Leverages
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
130
Slackを「AIエージェントのHub」にする 〜 SlackbotとHolmesGPTで実現するAIOps
leveragestech
PRO
0
150
データ組織の転換期 一足飛びしない段階的戦略
leveragestech
PRO
0
240
並列化でチームのアウトプットを増やす
leveragestech
PRO
0
64
Engineering ManagerがAI時代に この先生きのこるには?
leveragestech
PRO
1
200
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
630
毎⽇dumpされるDBにCDCは無⼒だっ た、、FederatedQueryで繋ぎ直した データ連携の試⾏錯誤
leveragestech
PRO
0
120
Tableauを活かすためにTableauに制約を設けた話
leveragestech
PRO
0
150
営業支援システムと歩んだ7年半の変遷
leveragestech
PRO
0
200
Other Decks in Technology
See All in Technology
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
290
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
150
「とりあえず動く」の先へ。 AI時代のチーム開発と内部設計/2026-slsdays
slsops
0
100
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
1
170
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
1.5k
企業の現実世界をグラフで写し取る
sansantech
PRO
0
240
Codex概要
ymiya55
0
190
20260929_AmazonGuardDutyの検出通知メールにAWS DevOpsAgentの調査結果を追加する
yhana
1
410
AI駆動開発で仕様はどこまで書くべきか? ― 人とAIの責務境界から考える開発プロセスの実践
takahiromatsui
1
290
TiDBファミリーにDWHが新登場!! TiDB最新情報 / TiDB update 202609
yoshiakiyamasaki
0
190
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
150
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
360
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
470
Building the Perfect Custom Keyboard
takai
2
890
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
270
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
430
Exploring anti-patterns in Rails
aemeredith
4
520
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Fireside Chat
paigeccino
43
4k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
340
Paper Plane
katiecoart
PRO
4
53k
Transcript
© 2023 Levtech Department All Rights Reserved. 実践DDD ~苦悩と悟り~ テックフェス2023春
レバテック開発部 前原 宗太朗
© 2023 Levtech Department All Rights Reserved. 自己紹介 前職:
DPS(広告配信)サーバーの開発 入社: 2022/06/01 好きな言語: Rust 趣味: League of Legendsを愛しています 面白いけど人に薦めれないゲームランキング1位(自分調べ) 最近一番泣いたのは、幕張で行われたlolのオフイベのオープニング その前はlol worlds 2022の決勝のオープニング 前原 宗太朗(29)
© 2023 Levtech Department All Rights Reserved. 我々は何 Revtech-PJとは(略称:リバプロ)
レバテックの「データ」「プロダクト」「オペレーション」「システム」を、 再設計(ReDesign)、再構築(ReArchitect)し、 非連続な事業成長へ向けて再始動(Restart)するプロジェクトの総称。 Revtech-PJというプロジェクトやってます
© 2023 Levtech Department All Rights Reserved. 我々は何 Revtech-PJとは(略称:リバプロ)
レバテックの「データ」「プロダクト」「オペレーション」「システム」を、 再設計(ReDesign)、再構築(ReArchitect)し、 非連続な事業成長へ向けて再始動(Restart)するプロジェクトの総称。 Revtech-PJというプロジェクトやってます → 要はレバテックの作り直しをしようとしてます
© 2023 Levtech Department All Rights Reserved. 本日のストーリー 今日話すこと DDDに夢見る前原少年(29)が
DDDを実践し 苦悩の末、悟りの境地に達し 新たなる一歩を踏み出す
© 2023 Levtech Department All Rights Reserved. ドメイン駆動設計とは ドメイン駆動設計とは ソフトウェアの設計と開発プロセスにおいて、ビジネスのニーズや目標(ドメイン)を
中心に据え、それを直接的に反映したソフトウェアを開発するアプローチ 要は、、、 ビジネスの目標を中心に添えましょう 目標を達成するシステムを作りましょう
© 2023 Levtech Department All Rights Reserved. ドメイン駆動設計のイメージ ドメイン駆動設計とは •
内部品質が上がる ◦ ビジネスに理解のある人間と開発者間で共通の言語を使える ▪ 認識の齟齬が起きにくくなる ◦ 目的ごとにシステムが分解される(境界づけられたコンテキスト) ▪ システムが単一責務になるので、認知負荷も下がってアジリティも上がってみんなハッ ピー ▪ システムの境界がわかるので、自然とマイクロサービスを構築できる
© 2023 Levtech Department All Rights Reserved. 実際にやってみた (これだけで5分以上話せる内容なので割愛) ドメイン駆動設計やってみた
サービスの目的 システムの 大目的 システムの中 目的 コアドメインの 特定 流れ
© 2023 Levtech Department All Rights Reserved. ドメイン駆動設計やってみた
© 2023 Levtech Department All Rights Reserved. 苦悩 実際やってみて •
アウトプットがあっているかどうかがわからない ◦ どうなっていれば正解? ◦ 別の切り口もあるんじゃない? ◦ システムが単一目的になっている?疎結合になりそう?
© 2023 Levtech Department All Rights Reserved. 悟り DDDは銀の弾丸ではない 実際やってみて •
ドメインを継続的に改善していく意識が大事 ◦ どうなっていれば正解? ▪ 計測して継続的に改善する ◦ 別の切り口もあるんじゃない? ▪ 開発していく中で、ドメインの解像度を上げていく ◦ システムが単一目的になっている?疎結合になりそう? ▪ 粗くドメインを定義して、モジュラモノリスで構築
© 2023 Levtech Department All Rights Reserved. よかったと思うこと 実際やってみて •
草案となるドメインが定義できた ◦ 開発を進める上でも、議論の土台となる • コアドメインの共通認識がとれた ◦ どの領域が競争優位となり、 自社でリソースを投下して開発すべきか ◦ 逆にどの領域では既製品を使うべきか
© 2023 Levtech Department All Rights Reserved. 本当にやりたかったことは? DDDの夢から覚めて、初心に立ち返る •
品質の向上 ◦ 品質には副特性があって、 達成手段の一つとしてDDDがある 大事なのは、、、 どの品質を、どの水準まで達成したいの? その中でDDDはどの位置付けなの?