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
Tech Leverages
June 30, 2023
Technology
0
4k
実践DDD ~苦悩と悟り~
実践DDD ~苦悩と悟り~
Tech Leverages
June 30, 2023
Tweet
Share
More Decks by Tech Leverages
See All by Tech Leverages
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
630
FourKeysだけで開発生産性 は測れないと気付くまでの話
leveragestech
1
64
経営層を開発者体験向上にコミットさせる方法論 ~ Developer eXperience Day 2024 ~
leveragestech
2
150
いつPlatform Engineeringを始めるべきか?〜レバテックのケーススタディ〜 Platform Engineering Kaigi 2024
leveragestech
4
1.4k
TiDBは銀の弾丸になるのか? ~ レバテックの課題と新たな挑戦 ~ TiDB User Day 2024
leveragestech
2
520
大規模なORMバージョンアップ作業を 乗り越えた話
leveragestech
1
820
ももくり3年レコメンドエンジン5年
leveragestech
1
940
膨大なデータ活用のためのAmazon QuickSightを使った 技術構成
leveragestech
1
690
『VoLT』レバテックの デザインシステム ~電光石火の構築プロセスと目指す未来~
leveragestech
2
810
Other Decks in Technology
See All in Technology
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
AIエージェントを現場に導入する目線とは
masahiro_nishimi
1
1.5k
JBUG岡山 #6 WordCamp男木島の チームビルディング
takeshifurusato
0
150
Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた #cm_odyssey #devio2024
non97
0
220
Datadog Cloud SIEMを使ってAWS環境の脅威を可視化した話/lifeistech-datadog-cloud-siem
gidajun
0
480
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
[NIKKEI Tech Talk] KDDI/KAG Scrum & Community for Engineering Training
curanosuke
2
220
Docker互換のセキュアなコンテナ実行環境「Podman」超入門
devops_vtj
6
3.2k
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
3
1.1k
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
cho0o0
1
420
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
For a Future-Friendly Web
brad_frost
173
9.2k
The Cult of Friendly URLs
andyhume
75
5.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
Statistics for Hackers
jakevdp
792
220k
Automating Front-end Workflow
addyosmani
1362
200k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
Six Lessons from altMBA
skipperchong
24
3.2k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
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はどの位置付けなの?