SlideShare a Scribd company logo
DBFlute Introで
気軽にDBコメント変更
2017/11/26 #DBFluteFes @deco
Agenda
• 自己紹介
• DBFlute-introとは
• DBコメントにおける課題
• DBFlute-introでどう解決するか
• デモ
• 機能追加予定
• Q&A
自己紹介
自己紹介
• 名前 : 冨永晃史 @deco
• 職種 : Android、iPhoneエンジニア
DBFlute-introコミッター
DBFlute-introとは
DBFlute-introとは
• Javaの実行環境さえあれば利用できるツール
• アプリの外側で活躍するDBFluteの機能を、
GUIだけで実行できるツール
• 本日バージョン0.1.3をリリースしました。
https://github.com/dbflute/dbflute-intro/releases
DBFlute-introとは
DBFlute-introとは
• Github
https://github.com/dbflute/dbflute-intro
• 概要
http://dbflute.seasar.org/ja/manual/function/helper/intro/index
.html
https://www.slideshare.net/nakamu0718/dbflute-intro-
69599954?ref=https://connpass.com/event/43457/presentati
on/
DBコメントにおける課題
質問
• DB変更を行う機能追加を行ったことはありま
すか?
• DB変更時にコメントがなくて困ったことはあ
りませんか?
背景
• なんでこんなことが起きるのか?
• 考えてみました。(主観)
サービスリリース直後
サービスリリース直後
• テーブル数20未満
• 開発者1~2名
• それぞれテーブルの意味を把握している
リリース後1年
非公開
サービス後1年
• テーブル数50未満
• 開発者1~10名
• 他の開発者が作ったテーブルが把握できなくな
ってくる
• 開発者が多くないので、聞けば誰かが知ってい
る
リリース後10年後
非公開
サービス後10年
• テーブル数300以上
• 開発者30名~
• よくわからない、似たようなテーブル多数
• 作った人も社内にいないことが多い
• 有識者も分散していて誰に聞けばいいかわからな
い
課題
• コメントがないから、サービス特有の地雷を
踏む若手が続出。
• コメントを書こうとしても、ERMファイルを
変更するため時間がかかりやりたがらない人
が多い。(DBFluteの場合)
DBFlute-introでどう解決するか
DBFlute-introでどう解決するか
• DBの情報を見るのはER図かschema.htmlがほ
とんど。
-> schema.html上のDBコメントを直接変更で
きるようにしよう!!
DBFlute-introでどう解決するか
どうやって実現するのか
DBコメントの保存処理の流れ
scheme.html DBFlute-intro dfmap
DBコメントの保存処理の流れ
scheme.html DBFlute-intro dfmap
DBコメントの保存処理の流れ
scheme.html DBFlute-intro dfmap
DBコメントの保存処理の流れ
scheme.html DBFlute-intro dfmap
DBコメントの保存処理の流れ
scheme.html DBFlute-intro dfmap
DBコメントの反映処理の流れ
scheme.html DBFlute-intro dfmap
ファイルを開いたタイミングでintroにリクエスト
DBコメントの反映処理の流れ
scheme.html DBFlute-intro dfmap
dfmapファイルを読み込む
DBコメントの反映処理の流れ
schema.html DBFlute-intro dfmap
マージ結果をJSONに変換
JSON結果からschema.htmlをDOM操作
使い方
• DBFlute-introをダウンロード
• 起動
• schema.htmlからコメントを編集
使い方
• 各開発者が自分の作業ブランチでコメント編
集
• developブランチにマージされる。
• 再度作業ブランチを切ると他の開発者のコメ
ントを確認することができる。
デモ
機能の説明
• 最新のコメントをどのように判定しているのか
• コンフリクトの判定はどのようにしているのか
機能の説明
• コメントごとにハッシュ値、一つ前のハッシ
ュ値を持たせる
最新のコメントの判定方法
code: hoge
previous: null
code: fuga
previous: hoge
code: foo
previous: fuga
code: bar
previous: fuga
最新のコメントの判定方法
code: hoge
previous: null
code: fuga
previous: hoge
code: foo
previous: fuga
code: bar
previous: fuga
コンフリクトをHTML上に反映
コンフリクトの解消
code: hoge
previous: null
code: fuga
previous: hoge
code: foo
previous: fuga
code: bar
previous: fuga
code: end
previous: foo, bar
機能追加予定
機能追加予定
• 現状Columnコメントのみ対応しているので
Tableコメントも対応できるようにする
• Introを使っていない人でもコメントを表示で
きるようにする
• ERFluteとの連携してERMファイルに自動反
映できるようにする
Q&A
ご清聴ありがとうございました

More Related Content

What's hot

Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
 

What's hot (13)

Cocoa勉強会#57-Baseによるローカライズまとめ
Cocoa勉強会#57-BaseによるローカライズまとめCocoa勉強会#57-Baseによるローカライズまとめ
Cocoa勉強会#57-Baseによるローカライズまとめ
 
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014  「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」Developers Summit 2014  「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
 
LibreOfficeで仕様書が書けるか試してみた
LibreOfficeで仕様書が書けるか試してみたLibreOfficeで仕様書が書けるか試してみた
LibreOfficeで仕様書が書けるか試してみた
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
ソフトウェア開発と業務開発とアジャイルとWF
ソフトウェア開発と業務開発とアジャイルとWFソフトウェア開発と業務開発とアジャイルとWF
ソフトウェア開発と業務開発とアジャイルとWF
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
 
某S社のddd(メイリオ)
某S社のddd(メイリオ)某S社のddd(メイリオ)
某S社のddd(メイリオ)
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
 
RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile
 
詳細設計とアプリケーション開発工程
詳細設計とアプリケーション開発工程詳細設計とアプリケーション開発工程
詳細設計とアプリケーション開発工程
 

Similar to DBFlute Introで気軽にDBコメント変更

DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
 
Dev opsが注目されている理由
Dev opsが注目されている理由Dev opsが注目されている理由
Dev opsが注目されている理由
淳一 新野
 
[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata
VOYAGE GROUP
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
Insight Technology, Inc.
 
論理思考とプログラミング 2013f#10
論理思考とプログラミング 2013f#10論理思考とプログラミング 2013f#10
論理思考とプログラミング 2013f#10
Noritada Shimizu
 

Similar to DBFlute Introで気軽にDBコメント変更 (20)

DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
Devとopsをつなぐchat ops
Devとopsをつなぐchat opsDevとopsをつなぐchat ops
Devとopsをつなぐchat ops
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
Dev opsが注目されている理由
Dev opsが注目されている理由Dev opsが注目されている理由
Dev opsが注目されている理由
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
 
[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata
 
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
出勤から企業開発者を解放し、エンジニアの働き方改革を実現するリモート開発環境構築
 
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 
Mongo dbを知ろう devlove関西
Mongo dbを知ろう   devlove関西Mongo dbを知ろう   devlove関西
Mongo dbを知ろう devlove関西
 
heroku devcenter 翻訳プロジェクト へのお誘い
heroku devcenter  翻訳プロジェクト へのお誘いheroku devcenter  翻訳プロジェクト へのお誘い
heroku devcenter 翻訳プロジェクト へのお誘い
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot Framework
 
Hatena blogdevelopmentflow
Hatena blogdevelopmentflowHatena blogdevelopmentflow
Hatena blogdevelopmentflow
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
 
ディストリビューションを読む!ダイジェスト版
ディストリビューションを読む!ダイジェスト版ディストリビューションを読む!ダイジェスト版
ディストリビューションを読む!ダイジェスト版
 
Drupal deployment trial on Engine Yard
Drupal deployment trial on Engine YardDrupal deployment trial on Engine Yard
Drupal deployment trial on Engine Yard
 
論理思考とプログラミング 2013f#10
論理思考とプログラミング 2013f#10論理思考とプログラミング 2013f#10
論理思考とプログラミング 2013f#10
 
LightSwitchでマルチデータソース
LightSwitchでマルチデータソースLightSwitchでマルチデータソース
LightSwitchでマルチデータソース
 
AndroidでGeoFenceを使って見る
AndroidでGeoFenceを使って見るAndroidでGeoFenceを使って見る
AndroidでGeoFenceを使って見る
 

Recently uploaded

Recently uploaded (6)

人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
 
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 

DBFlute Introで気軽にDBコメント変更