SQLアンチパターン「ディプロマティック・イミュニティ」

Hiroyuki Ohnaka
Hiroyuki OhnakaGrowth xPartners Incorporated.
ディプロマティック・イミュニティ (外交特権) 
2014/10/26 
大中浩行
Copyright 2014 Hiroyuki Ohnaka 
目的:ベストプラクティスを採用する 
•SubversionやGitなどのツールを用いて、ソース コードのバージョン管理を行う。 
•ユニットテストや機能テストを自動化し、実行 する。 
•ドキュメント、仕様書、コードコメントを書き、 アプリケーションの要件や実装戦略を記録する。
Copyright 2014 Hiroyuki Ohnaka 
アンチパターン:SQLを特別扱いする 
「アプリケーション開発のルールは、データ ベース開発には当てはまらない」
Copyright 2014 Hiroyuki Ohnaka 
考えられる理由 
•ソフトウェアエンジニアとDBAの役割の区別 
•SQL言語とプログラミング言語の性質の違い 
•ツールの普及の違い 
•データベース管理者へのアクセス権の集中
Copyright 2014 Hiroyuki Ohnaka 
アンチパターンの見つけ方 
「『軽量な』エンジニアリングプロセス」 
「データベース管理者はこのシステムを使わないだろう から」 
「データベースのテーブルや列が使われているかをどう やって調べればいい?」 
「2つのデータベーススキーマを一致させるには?」
Copyright 2014 Hiroyuki Ohnaka 
アンチパターンを用いてもよい場合 
その場限りのコード
Copyright 2014 Hiroyuki Ohnaka 
解決策:包括的に品質問題に取り組む 
•文章化 
•バージョン管理 
•テスティング
Copyright 2014 Hiroyuki Ohnaka 
文章化 
•ER図 
•テーブル、列、 ビュー 
•関連(リレー ションシップ) 
•トリガー 
•ストアドプロ シージャ 
•SQLセキュリティ 
•データベースイ ンフラストラク チャ 
•オブジェクトリ レーショナル マッピング (ORM)
Copyright 2014 Hiroyuki Ohnaka 
バージョン管理 
•データ定義スクリプト 
•トリガーとプロシージャ 
•ブートストラップデータ 
•ER図とドキュメント 
•データベース管理スクリプト
Copyright 2014 Hiroyuki Ohnaka 
テスティング 
•テーブル、列、 ビュー 
•制約 
•トリガー 
•ストアドプロ シージャ 
•ブートスタラップ データ 
•クエリ 
•オブジェクトリ レーショナルマッ ピング(ORM)を使 用したクラス
Copyright 2014 Hiroyuki Ohnaka 
複数のブランチを扱う
1 of 11

Recommended

CIサーバーとSchemaSpyでデータベースのドキュメント作成を自動化 by
CIサーバーとSchemaSpyでデータベースのドキュメント作成を自動化CIサーバーとSchemaSpyでデータベースのドキュメント作成を自動化
CIサーバーとSchemaSpyでデータベースのドキュメント作成を自動化Hiroyuki Ohnaka
7K views15 slides
論理思考とプログラミング 2013f#10 by
論理思考とプログラミング 2013f#10論理思考とプログラミング 2013f#10
論理思考とプログラミング 2013f#10Noritada Shimizu
1.8K views38 slides
20160416 Azure Data Lakeのはまりどころ by
20160416 Azure Data Lakeのはまりどころ20160416 Azure Data Lakeのはまりどころ
20160416 Azure Data Lakeのはまりどころ一希 大田
4.1K views21 slides
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017 by
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Kohei Saito
12.5K views27 slides
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API by
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open APIRESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open APIKohei Saito
2.6K views52 slides
Ansible x softlayer Provisioning by
Ansible x softlayer ProvisioningAnsible x softlayer Provisioning
Ansible x softlayer Provisioningsoftlayerjp
782 views21 slides

More Related Content

What's hot

ドメイン駆動設計のための Spring の上手な使い方 by
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
138K views55 slides
20200214 drupal-meetup-haneda by
20200214 drupal-meetup-haneda20200214 drupal-meetup-haneda
20200214 drupal-meetup-hanedaAcquiaJP
26 views31 slides
Macアプリのインストーラ作成ツールSwift版 by
Macアプリのインストーラ作成ツールSwift版Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版Akira Hayashi
1.9K views13 slides
Xcode以外の開発環境 AppCodeの紹介 by
Xcode以外の開発環境 AppCodeの紹介Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介Akira Hayashi
1.5K views7 slides
DevLOVE iPhoneアプリ勉強会 by
DevLOVE iPhoneアプリ勉強会DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会Toshimitsu Takahashi
1.3K views38 slides
インフラエンジニアに送るVSCode 入門 by
インフラエンジニアに送るVSCode 入門インフラエンジニアに送るVSCode 入門
インフラエンジニアに送るVSCode 入門Shinsuke Saito
821 views18 slides

What's hot(14)

ドメイン駆動設計のための Spring の上手な使い方 by 増田 亨
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨138K views
20200214 drupal-meetup-haneda by AcquiaJP
20200214 drupal-meetup-haneda20200214 drupal-meetup-haneda
20200214 drupal-meetup-haneda
AcquiaJP26 views
Macアプリのインストーラ作成ツールSwift版 by Akira Hayashi
Macアプリのインストーラ作成ツールSwift版Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版
Akira Hayashi1.9K views
Xcode以外の開発環境 AppCodeの紹介 by Akira Hayashi
Xcode以外の開発環境 AppCodeの紹介Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介
Akira Hayashi1.5K views
インフラエンジニアに送るVSCode 入門 by Shinsuke Saito
インフラエンジニアに送るVSCode 入門インフラエンジニアに送るVSCode 入門
インフラエンジニアに送るVSCode 入門
Shinsuke Saito821 views
Introduction to Kinect vNext by Akira Hatsune
Introduction to Kinect vNextIntroduction to Kinect vNext
Introduction to Kinect vNext
Akira Hatsune999 views
新 Microsoft Edge を Intune で配信・管理する by Shinsuke Saito
新 Microsoft Edge を Intune で配信・管理する新 Microsoft Edge を Intune で配信・管理する
新 Microsoft Edge を Intune で配信・管理する
Shinsuke Saito613 views
.NET の今 ~ 最新アップデートと 2019 年の展望 by Akira Inoue
.NET の今 ~ 最新アップデートと 2019 年の展望.NET の今 ~ 最新アップデートと 2019 年の展望
.NET の今 ~ 最新アップデートと 2019 年の展望
Akira Inoue2.9K views
Visual Studio App Centerを触ってみた! by Kentaro Higashi
Visual Studio App Centerを触ってみた!Visual Studio App Centerを触ってみた!
Visual Studio App Centerを触ってみた!
Kentaro Higashi226 views
ノーコーディングでAIサービスを使ってみた話 by 典子 松本
ノーコーディングでAIサービスを使ってみた話ノーコーディングでAIサービスを使ってみた話
ノーコーディングでAIサービスを使ってみた話
典子 松本900 views
LINE Commumity Microsoft_ConversationalAI_20200409 by Ayako Omori
LINE Commumity Microsoft_ConversationalAI_20200409LINE Commumity Microsoft_ConversationalAI_20200409
LINE Commumity Microsoft_ConversationalAI_20200409
Ayako Omori508 views
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya by Kenichi Hoshi
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoyauroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
Kenichi Hoshi1.2K views

Viewers also liked

DBスキーマもバージョン管理したい! by
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!kwatch
57.6K views37 slides
SQLアンチパターン読書会 「スパゲッティクエリ」 by
SQLアンチパターン読書会 「スパゲッティクエリ」SQLアンチパターン読書会 「スパゲッティクエリ」
SQLアンチパターン読書会 「スパゲッティクエリ」makopi 23
3.6K views20 slides
実録Blue-Green Deployment導入記 by
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記Hiroyuki Ohnaka
16.6K views103 slides
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~ by
JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~Hiroyuki Ohnaka
21.4K views83 slides
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 by
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
148.7K views45 slides
SQLアンチパターンNight by
SQLアンチパターンNightSQLアンチパターンNight
SQLアンチパターンNightHironori Miura
2.6K views48 slides

Viewers also liked(20)

DBスキーマもバージョン管理したい! by kwatch
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch57.6K views
SQLアンチパターン読書会 「スパゲッティクエリ」 by makopi 23
SQLアンチパターン読書会 「スパゲッティクエリ」SQLアンチパターン読書会 「スパゲッティクエリ」
SQLアンチパターン読書会 「スパゲッティクエリ」
makopi 233.6K views
実録Blue-Green Deployment導入記 by Hiroyuki Ohnaka
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記
Hiroyuki Ohnaka16.6K views
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~ by Hiroyuki Ohnaka
JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
Hiroyuki Ohnaka21.4K views
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 by Takuto Wada
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada148.7K views
SQLアンチパターンNight by Hironori Miura
SQLアンチパターンNightSQLアンチパターンNight
SQLアンチパターンNight
Hironori Miura2.6K views
MySQLで論理削除と正しく付き合う方法 by yoku0825
MySQLで論理削除と正しく付き合う方法MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
yoku082579.3K views
AWSでアプリ開発するなら 知っておくべこと by Keisuke Nishitani
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani22.8K views
アジャイルサムライ 5章「具現化させる」 by makopi 23
アジャイルサムライ 5章「具現化させる」アジャイルサムライ 5章「具現化させる」
アジャイルサムライ 5章「具現化させる」
makopi 234.7K views
SQLアンチパターン読書会 09章 ラウンディングエラー by Yosuke Nakazawa
SQLアンチパターン読書会 09章 ラウンディングエラーSQLアンチパターン読書会 09章 ラウンディングエラー
SQLアンチパターン読書会 09章 ラウンディングエラー
Yosuke Nakazawa1.9K views
SQLアンチパターン読書会 レジュメ by Norito Agetsuma
SQLアンチパターン読書会 レジュメSQLアンチパターン読書会 レジュメ
SQLアンチパターン読書会 レジュメ
Norito Agetsuma3K views
SQLアンチパターンNight ライトニングトーク by Itabashi Masayuki
SQLアンチパターンNight ライトニングトークSQLアンチパターンNight ライトニングトーク
SQLアンチパターンNight ライトニングトーク
Itabashi Masayuki2.5K views
マジックビーンズ by Akira Suenami
マジックビーンズマジックビーンズ
マジックビーンズ
Akira Suenami22.9K views
ドメインロジックの実装方法とドメイン駆動設計 by Tadayoshi Sato
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato14.8K views
HerokuではじめるRailsプログラミング入門 6-3節「複数モデルの連携」 by makopi 23
HerokuではじめるRailsプログラミング入門  6-3節「複数モデルの連携」HerokuではじめるRailsプログラミング入門  6-3節「複数モデルの連携」
HerokuではじめるRailsプログラミング入門 6-3節「複数モデルの連携」
makopi 2340K views
Drone.io のご紹介 by Uchio Kondo
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
Uchio Kondo32.2K views
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々 by Kazuhiro Sasaki
CRM分析サービス  crm analyzer expressを 支えるサーバレスな色々CRM分析サービス  crm analyzer expressを 支えるサーバレスな色々
CRM分析サービス crm analyzer expressを 支えるサーバレスな色々
Kazuhiro Sasaki885 views
"Ora et Labora" la Via Francigena in provincia di Pavia @BIT2016 by Emanuela Marchiafava
"Ora et Labora" la Via Francigena in provincia di Pavia @BIT2016"Ora et Labora" la Via Francigena in provincia di Pavia @BIT2016
"Ora et Labora" la Via Francigena in provincia di Pavia @BIT2016
Kurani drejt shkences by Durim Bajrami
Kurani drejt shkencesKurani drejt shkences
Kurani drejt shkences
Durim Bajrami1.4K views

Similar to SQLアンチパターン「ディプロマティック・イミュニティ」

ソフトウェアUI妥当性確認の形式化に向けて by
ソフトウェアUI妥当性確認の形式化に向けてソフトウェアUI妥当性確認の形式化に向けて
ソフトウェアUI妥当性確認の形式化に向けてShuji Kinoshita
1.3K views11 slides
チケットの利用による経験を活かした開発の可能性 by
チケットの利用による経験を活かした開発の可能性 チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性 Makoto SAKAI
6.7K views22 slides
ISO/IEC DIS 20246 についての(ごく簡単な)説明 by
ISO/IEC DIS 20246 についての(ごく簡単な)説明ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明しょうご すずき
3.2K views39 slides
OSSを利用したプロジェクト管理 by
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理Tadashi Miyazato
557 views80 slides
よりよい開発を目指すための、プロセス&ツール活用 by
よりよい開発を目指すための、プロセス&ツール活用よりよい開発を目指すための、プロセス&ツール活用
よりよい開発を目指すための、プロセス&ツール活用Kaoru NAKAMURA
1.9K views38 slides
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力 by
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力オラクルエンジニア通信
162 views38 slides

Similar to SQLアンチパターン「ディプロマティック・イミュニティ」(20)

ソフトウェアUI妥当性確認の形式化に向けて by Shuji Kinoshita
ソフトウェアUI妥当性確認の形式化に向けてソフトウェアUI妥当性確認の形式化に向けて
ソフトウェアUI妥当性確認の形式化に向けて
Shuji Kinoshita1.3K views
チケットの利用による経験を活かした開発の可能性 by Makoto SAKAI
チケットの利用による経験を活かした開発の可能性 チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性
Makoto SAKAI6.7K views
OSSを利用したプロジェクト管理 by Tadashi Miyazato
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
Tadashi Miyazato557 views
よりよい開発を目指すための、プロセス&ツール活用 by Kaoru NAKAMURA
よりよい開発を目指すための、プロセス&ツール活用よりよい開発を目指すための、プロセス&ツール活用
よりよい開発を目指すための、プロセス&ツール活用
Kaoru NAKAMURA1.9K views
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力 by オラクルエンジニア通信
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
エンジニア目線での対外ブランディング ~ヌーラボ編~ by ikikko
エンジニア目線での対外ブランディング ~ヌーラボ編~エンジニア目線での対外ブランディング ~ヌーラボ編~
エンジニア目線での対外ブランディング ~ヌーラボ編~
ikikko 3K views
サービス開発における工程 by Hidetoshi Mori
サービス開発における工程サービス開発における工程
サービス開発における工程
Hidetoshi Mori1.4K views
HTML5ハイブリッドアプリ開発のベストプラクティス by アシアル株式会社
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望 by Yoichi Kawasaki
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
Yoichi Kawasaki14K views
アジャイルソフトウェア開発の道具箱 by Koichi ITO
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Koichi ITO5.8K views
ユーザー企業における標準化のあり方 : QCon Tokyo 2010 by Yusuke Suzuki
ユーザー企業における標準化のあり方 : QCon Tokyo 2010ユーザー企業における標準化のあり方 : QCon Tokyo 2010
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
Yusuke Suzuki5.4K views
【Agile Conference tokyo 2011】 継続的フィードバック by 智治 長沢
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
智治 長沢1.6K views
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説 by Daisuke Nishino
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Daisuke Nishino4.3K views
OSC2018 hiroshima session slide by OSSC by Daisuke Nishino
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
Daisuke Nishino49.5K views
Web API を気軽に使える ツールやサービスのご紹介 by CData Software Japan
Web API を気軽に使えるツールやサービスのご紹介Web API を気軽に使えるツールやサービスのご紹介
Web API を気軽に使える ツールやサービスのご紹介
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点 by Makoto SAKAI
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Makoto SAKAI4.5K views
Node-REDから見えた未来 - 変わるもの、変わらないもの - by Makoto SAKAI
Node-REDから見えた未来 - 変わるもの、変わらないもの -Node-REDから見えた未来 - 変わるもの、変わらないもの -
Node-REDから見えた未来 - 変わるもの、変わらないもの -
Makoto SAKAI4.9K views

More from Hiroyuki Ohnaka

remote Docker over SSHが熱い by
remote Docker over SSHが熱いremote Docker over SSHが熱い
remote Docker over SSHが熱いHiroyuki Ohnaka
710 views11 slides
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験 by
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験Hiroyuki Ohnaka
672 views23 slides
Remote Development with Visual Studio Code & A clean dev env, working every ... by
Remote Development with Visual Studio Code &  A clean dev env, working every ...Remote Development with Visual Studio Code &  A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...Hiroyuki Ohnaka
455 views13 slides
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話 by
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話Hiroyuki Ohnaka
1.1K views41 slides
「WindowsデスクトップでWeb開発 改訂版」サンプル by
「WindowsデスクトップでWeb開発 改訂版」サンプル「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプルHiroyuki Ohnaka
672 views24 slides
Mackerelの薄い本 by
Mackerelの薄い本Mackerelの薄い本
Mackerelの薄い本Hiroyuki Ohnaka
2K views18 slides

More from Hiroyuki Ohnaka(20)

VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験 by Hiroyuki Ohnaka
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka672 views
Remote Development with Visual Studio Code & A clean dev env, working every ... by Hiroyuki Ohnaka
Remote Development with Visual Studio Code &  A clean dev env, working every ...Remote Development with Visual Studio Code &  A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka455 views
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話 by Hiroyuki Ohnaka
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
Hiroyuki Ohnaka1.1K views
「WindowsデスクトップでWeb開発 改訂版」サンプル by Hiroyuki Ohnaka
「WindowsデスクトップでWeb開発 改訂版」サンプル「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプル
Hiroyuki Ohnaka672 views
Microsoft DocsにContributeした話 by Hiroyuki Ohnaka
Microsoft DocsにContributeした話Microsoft DocsにContributeした話
Microsoft DocsにContributeした話
Hiroyuki Ohnaka940 views
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版 by Hiroyuki Ohnaka
 技術書典4  く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版 技術書典4  く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
Hiroyuki Ohnaka2.6K views
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版 by Hiroyuki Ohnaka
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
Hiroyuki Ohnaka737 views
仮想通貨始めました~GethではじめるEthereum~ by Hiroyuki Ohnaka
仮想通貨始めました~GethではじめるEthereum~仮想通貨始めました~GethではじめるEthereum~
仮想通貨始めました~GethではじめるEthereum~
Hiroyuki Ohnaka1.3K views
錬金術MeetUpへのお誘い by Hiroyuki Ohnaka
錬金術MeetUpへのお誘い錬金術MeetUpへのお誘い
錬金術MeetUpへのお誘い
Hiroyuki Ohnaka1.5K views
Mackerelではじめる お手軽サーバー監視 by Hiroyuki Ohnaka
Mackerelではじめる お手軽サーバー監視Mackerelではじめる お手軽サーバー監視
Mackerelではじめる お手軽サーバー監視
Hiroyuki Ohnaka4.1K views
「GebとSpockではじめるシステムテスト自動化」 by Hiroyuki Ohnaka
「GebとSpockではじめるシステムテスト自動化」「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka9.8K views
TDDはじめて物語Second Season(updated) by Hiroyuki Ohnaka
TDDはじめて物語Second Season(updated)TDDはじめて物語Second Season(updated)
TDDはじめて物語Second Season(updated)
Hiroyuki Ohnaka1.3K views
TDDはじめて物語 Second Season #tddbc by Hiroyuki Ohnaka
TDDはじめて物語 Second Season #tddbcTDDはじめて物語 Second Season #tddbc
TDDはじめて物語 Second Season #tddbc
Hiroyuki Ohnaka4.3K views
XP祭り2017 LT 「DevOps再考」(改題) by Hiroyuki Ohnaka
XP祭り2017 LT 「DevOps再考」(改題)XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)
Hiroyuki Ohnaka2.6K views
JDK9の真の目玉機能はこれだ! by Hiroyuki Ohnaka
JDK9の真の目玉機能はこれだ!JDK9の真の目玉機能はこれだ!
JDK9の真の目玉機能はこれだ!
Hiroyuki Ohnaka2.9K views
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~ by Hiroyuki Ohnaka
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Hiroyuki Ohnaka10.3K views
「すいーとみゅーじっく」のできるまで by Hiroyuki Ohnaka
「すいーとみゅーじっく」のできるまで「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまで
Hiroyuki Ohnaka904 views

Recently uploaded

Najah Matsuo Self Introduction by
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self IntroductionNajahMatsuo
10 views29 slides
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私修治 松浦
208 views36 slides
概要.pdf by
概要.pdf概要.pdf
概要.pdfTaira Shimizu
6 views1 slide
onewedge_companyguide1 by
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1ONEWEDGE1
54 views22 slides
SSH超入門 by
SSH超入門SSH超入門
SSH超入門Toru Miyahara
457 views21 slides
システム概要.pdf by
システム概要.pdfシステム概要.pdf
システム概要.pdfTaira Shimizu
44 views1 slide

Recently uploaded(6)

Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self Introduction
NajahMatsuo10 views
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by 修治 松浦
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
修治 松浦208 views
onewedge_companyguide1 by ONEWEDGE1
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1
ONEWEDGE154 views

SQLアンチパターン「ディプロマティック・イミュニティ」

  • 2. Copyright 2014 Hiroyuki Ohnaka 目的:ベストプラクティスを採用する •SubversionやGitなどのツールを用いて、ソース コードのバージョン管理を行う。 •ユニットテストや機能テストを自動化し、実行 する。 •ドキュメント、仕様書、コードコメントを書き、 アプリケーションの要件や実装戦略を記録する。
  • 3. Copyright 2014 Hiroyuki Ohnaka アンチパターン:SQLを特別扱いする 「アプリケーション開発のルールは、データ ベース開発には当てはまらない」
  • 4. Copyright 2014 Hiroyuki Ohnaka 考えられる理由 •ソフトウェアエンジニアとDBAの役割の区別 •SQL言語とプログラミング言語の性質の違い •ツールの普及の違い •データベース管理者へのアクセス権の集中
  • 5. Copyright 2014 Hiroyuki Ohnaka アンチパターンの見つけ方 「『軽量な』エンジニアリングプロセス」 「データベース管理者はこのシステムを使わないだろう から」 「データベースのテーブルや列が使われているかをどう やって調べればいい?」 「2つのデータベーススキーマを一致させるには?」
  • 6. Copyright 2014 Hiroyuki Ohnaka アンチパターンを用いてもよい場合 その場限りのコード
  • 7. Copyright 2014 Hiroyuki Ohnaka 解決策:包括的に品質問題に取り組む •文章化 •バージョン管理 •テスティング
  • 8. Copyright 2014 Hiroyuki Ohnaka 文章化 •ER図 •テーブル、列、 ビュー •関連(リレー ションシップ) •トリガー •ストアドプロ シージャ •SQLセキュリティ •データベースイ ンフラストラク チャ •オブジェクトリ レーショナル マッピング (ORM)
  • 9. Copyright 2014 Hiroyuki Ohnaka バージョン管理 •データ定義スクリプト •トリガーとプロシージャ •ブートストラップデータ •ER図とドキュメント •データベース管理スクリプト
  • 10. Copyright 2014 Hiroyuki Ohnaka テスティング •テーブル、列、 ビュー •制約 •トリガー •ストアドプロ シージャ •ブートスタラップ データ •クエリ •オブジェクトリ レーショナルマッ ピング(ORM)を使 用したクラス
  • 11. Copyright 2014 Hiroyuki Ohnaka 複数のブランチを扱う