SlideShare une entreprise Scribd logo
1  sur  12
ドメイン駆動設計勉強会
発表
(株)SRA
産業第1事業部
鈴木真吾
自己紹介
• 池袋3階の奥の方にいます
• ここ1年くらいの仕事
• Fortranコンパイラの 2008 仕様対応
• 使用している言語はC, Java, Python
• 複数の言語向けメトリクス検査ツール作成
• Go, Clojure, Python など
• 好み
• 関数型言語、コンパイラ
概要
• 2017年上期にドメイン駆動設計勉強会を行った
• 5 月から 8 月あたりまで
• 勉強会を行った際に得た知見を共有する
今日話す内容
• ドメイン駆動設計について
• モチベーション
• 「勉強会」をするモチベーション
• DDDのモチベーション
• 勉強会の設定
• 目的と目標
• 今回の振り返り
• DDDを勉強してみた感想
• 次どうするか
ドメイン駆動設計について
• 業務知識の分離・保護・改善を主眼に置いた設計手法
• 2003年の「エリック・エヴァンスのドメイン駆動設計」で紹介
• 最近流行しているプログラミングスタイルやアーキテクチャと
相性がよい
• リアクティブプログラミング
• マイクロサービスアーキテクチャ
「勉強会」をするモチベーション
• 個人的なモチベーション
• 一人の勉強ではモチベーションの維持が難しい
• 勉強したつもり、理解したつもりに陥りがちになる
• 「発表」自体の経験値も稼げる
• 会社組織に対してのモチベーション
• 技術・知識のキャッチアップ・強化
• 正直 SRA の技術ってたいしたことないよね?
• プロジェクトをまたいだ知識の共有は必要
• 誰が何を得意としているか把握したい
• どういう問題があってどう解決したかを共有したい
ドメイン駆動設計をするモチベーション
• 個人的に良さそうと思った経緯
• ScalaMatsuri 2017 のセッション・事例紹介
• 「DDD with RDRA, ICONIX」
• ChatWork 社での事例
• 書籍「Functional and Reactive Domain Modeling」
• DDDをベースにしている
• → 実際に使われているし、関数型言語と相性がいいのはうれしい
• 過去のプロジェクトの反省
• 設計手法について体系的な知識がなかった
• 実際に行った設計・実装もいまいち
• → 体系だった知識を得ておきたい
• 2016年のGo言語勉強会の反省
• あまり人が集まらなかった
• 自分がやりたい言語・技術だとあまり人が集まらないかも
• もうちょっと万人受けしたほうがいい
• → 設計だったらプロジェクトが違っても共通して使えるかも
目的と目標の設定
• 目的
• EricEvans本を読んで、DDDの基本的な知識を共有する
• 目標
• 最後までやりきる
• そのため無理のない範囲設定をする
• →本は1冊に限定。さすがに1冊は通して読めるはず
• 時間内に終わらせる
• 終業後に不特定な時間拘束される、というのは非常に疲れる
• 継続して参加してもらうため「疲れるから行きたくない」は避ける
• → 勉強会の時間は45分として時間内に終わらせる
• なるべく人を集める
• 多いほうがいいし、発表は自分以外にもやってもらいたい
• →メールは部内宛に毎回通知
勉強会の振り返り
• 各目標の評価
• 最後までやりきる→〇
• とにかく本1冊の内容はすべて読んだ
• 時間内に終わらせる→〇
• おおよそ45分内で完了
• 1回だけオーバーした
• なるべく人を集める→△
• 参加者は自分を含めて4人
• 2016年に行った勉強会よりは1人増えたが少ない
• 改善が必要
• メールだけだと訴求力なかったかも
• 題材に難があったかも
• 開始時間と場所は適切だったか?
DDDを勉強してみた感想
• よい
• 大規模・エンタープライズに対して効果はありそう
• OOP についていくつか良い洞察が得られる
• よくない
• 仕事で使う機会は当分なさそう
• 小規模な案件にはマッチしていなさそう
• 本の内容は難解だったので、見落とし・誤解はあるかも
次どうするか?
• 題材
• もうちょっと基礎的な題材
• プロジェクトですぐ使える知識
• 参加者を増やす
• 発表者は複数いるようにしたい
• 始める前に参加者をある程度確保しておきたい
• 勉強会設定
• 「やりきる」以外にもなにか効果を測る目標を置きたい
• 学んでみて実際に役に立てた、というのが言えるとうれしい
ご清聴ありがとうございました

Contenu connexe

Similaire à ドメイン駆動設計勉強会発表

Similaire à ドメイン駆動設計勉強会発表 (20)

グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
 
プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会
 
ドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩みドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩み
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
 
ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用ドメイン駆動設計におけるシナリオテストの活用
ドメイン駆動設計におけるシナリオテストの活用
 
大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術
 
【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~
【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~
【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
第1回勉強会
第1回勉強会第1回勉強会
第1回勉強会
 
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
 
うちの開発におけるXD利用法
うちの開発におけるXD利用法うちの開発におけるXD利用法
うちの開発におけるXD利用法
 
Uno Platform か Blazor
Uno Platform か BlazorUno Platform か Blazor
Uno Platform か Blazor
 
Msセミナー20170830 slideshare
Msセミナー20170830 slideshareMsセミナー20170830 slideshare
Msセミナー20170830 slideshare
 

Plus de shingo suzuki

Plus de shingo suzuki (14)

システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
 
システムパフォーマンス勉強会#6
システムパフォーマンス勉強会#6システムパフォーマンス勉強会#6
システムパフォーマンス勉強会#6
 
社内機械学習勉強会 #5
社内機械学習勉強会 #5社内機械学習勉強会 #5
社内機械学習勉強会 #5
 
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4
 
システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#1システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#1
 
社内 DDD 勉強会 #5
社内 DDD 勉強会 #5社内 DDD 勉強会 #5
社内 DDD 勉強会 #5
 
社内 DDD 勉強会 #4
社内 DDD 勉強会 #4社内 DDD 勉強会 #4
社内 DDD 勉強会 #4
 
社内 DDD 勉強会 #3
社内 DDD 勉強会 #3社内 DDD 勉強会 #3
社内 DDD 勉強会 #3
 
Google I/O 2016 報告会
Google I/O 2016 報告会Google I/O 2016 報告会
Google I/O 2016 報告会
 
社内 DDD 勉強会 #2
社内 DDD 勉強会 #2社内 DDD 勉強会 #2
社内 DDD 勉強会 #2
 
社内 DDD 勉強会第1回
社内 DDD 勉強会第1回社内 DDD 勉強会第1回
社内 DDD 勉強会第1回
 
SPIN で
SPIN でSPIN で
SPIN で
 

Dernier

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Dernier (8)

東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 

ドメイン駆動設計勉強会発表