Suche senden
Hochladen
Speeda新機能開発にddd tddを取り入れた話
•
1 gefällt mir
•
709 views
R
Raymond Jason Yap
Folgen
TDDとDDDを取り込んで新しいプロジェクトを開発中に苦労したエピソードベスト4
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 56
Empfohlen
オープンデータの利活用とその課題(地方創生とオープンデータ)
オープンデータの利活用とその課題(地方創生とオープンデータ)
健一郎 福島
StreamPaaSのご紹介
StreamPaaSのご紹介
Yahoo!デベロッパーネットワーク
アジャイルによくきく?モデリング
アジャイルによくきく?モデリング
Iwao Harada
dbtech showcase 2016 Delphix講演資料
dbtech showcase 2016 Delphix講演資料
Delphix Japan
Developers.IO 2016 F-1 セッション資料
Developers.IO 2016 F-1 セッション資料
Shinichi Hirauchi
Lt駆動開発 01 プレゼン
Lt駆動開発 01 プレゼン
Kakigi Katuyuki
How to be an agile programmer.
How to be an agile programmer.
Tsuyoshi Ushio
そろそろ(おまえらの)DevOpsについて一言いっておくか
そろそろ(おまえらの)DevOpsについて一言いっておくか
Takashi Takebayashi
Weitere ähnliche Inhalte
Andere mochten auch
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
Insight Technology, Inc.
AWS Summit Chicago 2016発表のサービスアップデートまとめ
AWS Summit Chicago 2016発表のサービスアップデートまとめ
Amazon Web Services Japan
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore
KVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
IoT and Evolution of Mobile Networks toward 5G
IoT and Evolution of Mobile Networks toward 5G
Osaka University
「レガシーコード」とはいったい?
「レガシーコード」とはいったい?
Hiroyuki Ohnaka
DBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - Delphix
Masaya Ishikawa
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
NTT DATA OSS Professional Services
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
Amazon Web Services Japan
イノベーションに向けたR&dの再定義
イノベーションに向けたR&dの再定義
Osaka University
OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
Takuto Wada
師弟登壇2015 GMOペパボ @hfm
師弟登壇2015 GMOペパボ @hfm
Takahiro Okumura
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Akira Kuratani
『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月
『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発
Drecom Co., Ltd.
ビッグデータで開扉されるイノベーション社会
ビッグデータで開扉されるイノベーション社会
Osaka University
Bambooによる継続的デリバリー
Bambooによる継続的デリバリー
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
アジャイル開発をよりアジャイルに
アジャイル開発をよりアジャイルに
ESM SEC
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
オラクルエンジニア通信
Andere mochten auch
(20)
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
AWS Summit Chicago 2016発表のサービスアップデートまとめ
AWS Summit Chicago 2016発表のサービスアップデートまとめ
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
KVM環境におけるネットワーク速度ベンチマーク
KVM環境におけるネットワーク速度ベンチマーク
IoT and Evolution of Mobile Networks toward 5G
IoT and Evolution of Mobile Networks toward 5G
「レガシーコード」とはいったい?
「レガシーコード」とはいったい?
DBTS2016 Data as Code - Delphix
DBTS2016 Data as Code - Delphix
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
イノベーションに向けたR&dの再定義
イノベーションに向けたR&dの再定義
OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
師弟登壇2015 GMOペパボ @hfm
師弟登壇2015 GMOペパボ @hfm
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月
『OpenStack共同検証ラボ』のご紹介 - OpenStack最新情報セミナー 2016年3月
Railsによるワイルドなソフトウェア開発
Railsによるワイルドなソフトウェア開発
ビッグデータで開扉されるイノベーション社会
ビッグデータで開扉されるイノベーション社会
Bambooによる継続的デリバリー
Bambooによる継続的デリバリー
アジャイル開発をよりアジャイルに
アジャイル開発をよりアジャイルに
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D...
Ähnlich wie Speeda新機能開発にddd tddを取り入れた話
企業・業界データサービスSPEEDAの開発における複雑怪奇なデータとの格闘
企業・業界データサービスSPEEDAの開発における複雑怪奇なデータとの格闘
Akira Kitauchi
Speeda 20200507 saleshub
Speeda 20200507 saleshub
Natsuki Otake
Freee × Nport 経営数字の見える化をカンタンに実現する方法とは
Freee × Nport 経営数字の見える化をカンタンに実現する方法とは
marketing_freee_sbps
Cloud Days Tokyo 2014
Cloud Days Tokyo 2014
Cybozucommunity
20151001 FeedTech-パネルディスカッション資料
20151001 FeedTech-パネルディスカッション資料
Yoshihiro Okada
アジャイル開発と私たちのやり方
アジャイル開発と私たちのやり方
Moriyuki Hirata
入社4ヶ月 新入りPdMの取り組み
入社4ヶ月 新入りPdMの取り組み
Tsuyoshi Nagahashi
【Pm zen】pmはいつ学び始めるべきか? 20160311
【Pm zen】pmはいつ学び始めるべきか? 20160311
Manabu saito /SKYLIGHT CONSULTING Inc.
シラサギ紹介20161119
シラサギ紹介20161119
Naokazu Nohara
09 OSPD レジャーサービス
09 OSPD レジャーサービス
Yuto Yoshida
売上に効くデータ組織~データから売上や利益を作るために何をしているか~
売上に効くデータ組織~データから売上や利益を作るために何をしているか~
Recruit Lifestyle Co., Ltd.
データサイエンス業務と「ツール」
データサイエンス業務と「ツール」
The Japan DataScientist Society
ドローン向けソフトウェア事業
ドローン向けソフトウェア事業
Masayuki Isobe
プロダクトマネジメントパラダイム
プロダクトマネジメントパラダイム
Takashi Ohida
Drupal business consortiam in Japan:DBCJ 20140909
Drupal business consortiam in Japan:DBCJ 20140909
Hidekazu Ikeda
Portfolio gami0903
Portfolio gami0903
Yuki Futagami
Portfolio gami
Portfolio gami
Yuki Futagami
making an magazine with XP-practices
making an magazine with XP-practices
Kenji Hiranabe
リクルートオープンデータの取り組み
リクルートオープンデータの取り組み
Recruit Technologies
[よくわかるクラウドデータベース] Amazon RDS for SQL Server導入事例
[よくわかるクラウドデータベース] Amazon RDS for SQL Server導入事例
Amazon Web Services Japan
Ähnlich wie Speeda新機能開発にddd tddを取り入れた話
(20)
企業・業界データサービスSPEEDAの開発における複雑怪奇なデータとの格闘
企業・業界データサービスSPEEDAの開発における複雑怪奇なデータとの格闘
Speeda 20200507 saleshub
Speeda 20200507 saleshub
Freee × Nport 経営数字の見える化をカンタンに実現する方法とは
Freee × Nport 経営数字の見える化をカンタンに実現する方法とは
Cloud Days Tokyo 2014
Cloud Days Tokyo 2014
20151001 FeedTech-パネルディスカッション資料
20151001 FeedTech-パネルディスカッション資料
アジャイル開発と私たちのやり方
アジャイル開発と私たちのやり方
入社4ヶ月 新入りPdMの取り組み
入社4ヶ月 新入りPdMの取り組み
【Pm zen】pmはいつ学び始めるべきか? 20160311
【Pm zen】pmはいつ学び始めるべきか? 20160311
シラサギ紹介20161119
シラサギ紹介20161119
09 OSPD レジャーサービス
09 OSPD レジャーサービス
売上に効くデータ組織~データから売上や利益を作るために何をしているか~
売上に効くデータ組織~データから売上や利益を作るために何をしているか~
データサイエンス業務と「ツール」
データサイエンス業務と「ツール」
ドローン向けソフトウェア事業
ドローン向けソフトウェア事業
プロダクトマネジメントパラダイム
プロダクトマネジメントパラダイム
Drupal business consortiam in Japan:DBCJ 20140909
Drupal business consortiam in Japan:DBCJ 20140909
Portfolio gami0903
Portfolio gami0903
Portfolio gami
Portfolio gami
making an magazine with XP-practices
making an magazine with XP-practices
リクルートオープンデータの取り組み
リクルートオープンデータの取り組み
[よくわかるクラウドデータベース] Amazon RDS for SQL Server導入事例
[よくわかるクラウドデータベース] Amazon RDS for SQL Server導入事例
Speeda新機能開発にddd tddを取り入れた話
1.
SPEEDA新機能開発に DDD/TDDを取り入れた話
2.
自己紹介 - ヤップ・ジェイソン - フィリピン出身 -
東京で働いて4年目 - ユーザベースに2014年11月入社 - 現在 SPEEDAプロジェクトチーム
3.
SPEEDAとは - 企業・業界分析の情報フラットホーム - 全世界330万社超
/ 550業界のデータ - 世界最大級のM&Aデータ - 2009年6月ローンチ - 600社超に導入済み(国外含む)
5.
SPEEDAにある帳票(PIB - Public
Information Book )- 企業の包括的なレポート - 企業概要、競合比較表、いろいろなチャート等 - Word, PPT, PDFのフォーマット形式にてダウンロードできる - 約14ページ
9.
PIBはすごくリッチなレポートだけど長すぎて読む 時間がない
10.
クイックサマリーを作ろう
11.
クイックサマリー (ファーストバージョン) - 日本上場企業 -
PDFのみ - レイアウトが固定
12.
デベロッパー:2人 私先輩
13.
よっしゃ!TDDとDDDやる ぞ!! TDDとDDDを勉強したい! やらせてください!! ありがとうございます!! うい〜
14.
アーキテクチャー
15.
言語・ツール - Java 8 -
Scala (結合テスト) - AsposePDF (PDF作成ライブラリ)
16.
苦労したエピソードベスト4 1. ビジネスモデルをコード化する 2. ソースコード自体を仕様書にする 3.
クラスの名前 4. クラスっていつ作るの?テスト書く前?テスト書いた後?
17.
4. Javaクラスっていつ作るの?テスト書く前? テスト書いた後?
18.
CompanyRepositoryTest# GetCompanyById CompanyRepository#get
19.
CompanyRepositoryTest# GetCompanyById CompanyRepository#get
20.
CompanyFactory#create CompanyProfile Company Name Ticker Address CompanyRepositoryTest# GetCompanyById CompanyRepository#get hoge
hoge hoge
21.
CompanyFactory#create CompanyProfile Company Name Ticker Address CompanyRepositoryTest# GetCompanyById CompanyRepository#get テストを書くのを 忘れちゃう hoge
hoge hoge
22.
1. テストを書く (クラスやメソッドが存在しないのでコンパイルエラーになる) 1.
メソッドの実装がまだなので、モックフレームワークを使う (JMockit) 1. コンパイルエラーになっているクラスやメソッドを作る 1. テスト実行 1. 実装がないメソッドのテストを書く
23.
CompanyFactory#create CompanyProfile CompanyRepositoryTest# GetCompanyById CompanyRepository#get JMockitでcreateメソッド をモックする 何もないオブジェク トを作るだけ
24.
3. クラスの名前
25.
ユビキタス言語 (Ubiquitous language)
26.
ユビキタス言語 (Ubiquitous language) ユビキタス言語とは、Eric Evansが『Domain
Driven Design』において、開発者とユ ーザーとの間で共通の厳格な意 味を持つ用語を構築するという プラクティスを表すために使用 した用語である。 http://bliki-ja.github.io/UbiquitousLanguage/
27.
ユーザベースが日本企業なのでみんなが日本語を使 っている
28.
ただ、クラス名とかローマ字にするとちょっとわか りにくい
31.
もしオフショアチームができたら日本語がわからない
32.
やっぱり英語で
33.
上司 市場情報を入れて 私
34.
StockMarket Market Exchange 私
35.
英語得意でこの業務に詳しい人に聞かないと
36.
StockMarketでよさそう! Subject Matter Expert (その業務の専門家) 私
38.
2. ソースコード自体を仕様書にする
40.
非上場の場合、Ticker (証券コード)がない 住所のデータがない企業が多い
41.
Java8のOptionalが助けてくれる
43.
でもOptionalってserializableじゃないでしょう
44.
厳密ではないですが、実装等をなるべくdomain classに意識させない。
45.
1. ビジネスモデルをコード化する
46.
仕様書
48.
SPEEDA業務 SPEEDA業務
49.
PDF Generator ServiceFactoryRepository JSON SPEEDAドメイ ンクラス 帳票
(PDF)パラメータ
50.
PDF Generator ServiceFactoryRepository JSON SPEEDAドメイ ンクラス 帳票用
SPEEDA ドメインクラス 帳票 (PDF)パラメータ
52.
PDF Page Page Page ComponentGroup ComponentGroup Component Component Component Element Element Element Element SPEEDAドメ インクラス Component Element SPEEDAドメ インクラス
53.
リリースした
54.
今後TDDとDDDを他のプロジェクトにも採用するの で
55.
エンジニアを募集中です。 TDDとDDDに興味がある方、技術好きな方はぜひ
56.
終