SlideShare a Scribd company logo
1 of 90
Download to read offline
DMMの闇に触れた話
DMM.com Labo ⽥田中克典
DMM.Study Night 2015.11.26
⾃自⼰己紹介
⽥田中克典
DMM.com Labo
⾦金沢デザイン部
フロントエンドチーム所属
2014.10  DMM.com Labo へ Join
2014.11  デザイン部フロントエンドチーム へ Join
以後、既存サービス・共通基盤の改修に従事
埼⽟玉県出⾝身  富⼭山市在住
DMM.Study Night 2015.11.26
夜も更けて参りました…⋯
(まだ少し早いけど)
DMM.Study Night 2015.11.26
DMMの闇に触れた話
開始します!
DMM.Study Night 2015.11.26
と、その前に・・・
DMM.Study Night 2015.11.26
本発表に先⽴立ち
こんなことが有りました
DMM.Study Night 2015.11.26
DMM.Study Night
2015.11.26
発表資料レビュー会開催
https://www.flickr.com/photos/leecullivan/5357085004/
弊社スタッフの反応
DMM.Study Night 2015.11.26
“⽥田中さん、⾔言い過ぎると
DMMから消されますよwww”
‒–ーDMM.com Labo フロントエンドチーム某メンバー
DMM.Study Night 2015.11.26
ん?まじすか…⋯
怖いなあ。
問題ないかシステムさんに
資料を⾒見て頂こう!
DMM.Study Night 2015.11.26
“セキュリティ的には問題ないが、”
DMM.Study Night 2015.11.26
‒–ーDMM.com Labo 某システムエンジニア
ε=( ̄。 ̄;)フゥ
DMM.Study Night 2015.11.26
“ネガティブな内容なので
セキュリティとはずれますが、
デザイン部の上⻑⾧長承認を
とっておくのがよいのでは?”
DMM.Study Night 2015.11.26
‒–ーDMM.com Labo 某システムエンジニア
https://www.flickr.com/photos/j_̲benson/7023561195/
DMM.Study Night
2015.11.26
“⽥田中さん、これって・・・”
‒–ーDMM.com Labo フロントエンドチームリーダー
DMM.Study Night 2015.11.26
(((( ;゚Д゚)))ガクガクブルブル
DMM.Study Night 2015.11.26
ということで、
DMM.Study Night 2015.11.26
今回の内容、
正直⽇日和ってます!ハイ!
DMM.Study Night 2015.11.26
でも、
笑いに昇華すれば
⼤大丈夫なはず!
DMM.Study Night 2015.11.26
DMMの闇に触れた話
開始します!
DMM.Study Night 2015.11.26
と、その前に・・・
(しつこい)
DMM.Study Night 2015.11.26
伏線を張ります
DMM.Study Night 2015.11.26
DMM既存サービスおよび
プラットフォームの開発フロー
DMM.Study Night 2015.11.26
フロントエンド開発
静的ファイル専⽤用サーバ
バックエンド開発
開発環境
ステージング環境
本番環境
sftp
sftp
専⽤用ツール
cvs
DMM.Study Night 2015.11.26
フロントのタスクに絞って
もう少し細かく⾒見ていきます
DMM.Study Night 2015.11.26
フロントエンド開発
静的ファイル専⽤用サーバ
バックエンド開発
HTML
PHP
sftp
DMM.Study Night 2015.11.26
CSS
JS
IMG
デザイナー
フロントエンドエンジニアは、
ビューファイル(PHP)
に触れる事はない
DMM.Study Night 2015.11.26
※⼀一部、別基盤の新規案件は除く
伏線はここまで!
(⻑⾧長すぎ)
DMM.Study Night 2015.11.26
DMMの闇に触れた話
開始します!
DMM.Study Night 2015.11.26
闇とは?
DMM.Study Night 2015.11.26
“闇(やみ)とは、光の無い状態のこと。
暗闇(くらやみ)とも、暗⿊黒とも。
…⋯
予測不可能な状態を喩える場合にも使われる語彙
「⼀一⼨寸先は闇」のように⽤用いる。”
‒–ーWikipedia
DMM.Study Night 2015.11.26
フロントエンドの闇とは?
DMM.Study Night 2015.11.26
“闇(やみ)とは、使途不明な既存コードのこと。
暗闇(くらやみ)とも、暗⿊黒とも。
…⋯
予測不可能なバグを誘発する状態を
喩える場合にも使われる語彙
「⼀一⼨寸先は闇」のように⽤用いる。”
DMM.Study Night 2015.11.26
私が出会ったフロントまわりの闇
DMM.Study Night 2015.11.26
Darkness
Legacy Code
DMM.Study Night 2015.11.26
“何年も前に誰かが作り、
内容が複雑で何をしているのかよく分からず、
まともな仕様書もない”
‒–ー「レガシーコード改善ガイド」のススメ
DMM.Study Night
2015.11.26 http://codezine.jp/article/detail/4103
あるある!
DMM.Study Night 2015.11.26
⾔言い換えると・・・
DMM.Study Night 2015.11.26
使途不明な影響範囲の広いコード
DMM.Study Night 2015.11.26
使途不明な影響範囲が広いソースコード
✓ コメント情報不⾜足
✓ CVSコミットメッセージ情報不⾜足
DMM.Study Night 2015.11.26
CVSコミットメッセージ?
DMM.Study Night 2015.11.26
フロントエンド開発
静的ファイル専⽤用サーバ
バックエンド開発
開発環境
ステージング環境
本番環境
sftp
sftp
専⽤用ツール
cvs
DMM.Study Night 2015.11.26
壊れないように必要最低限の
コード修正 or 追加
さらに闇が深くなる
DMM.Study Night 2015.11.26
使途不明な影響範囲が広いソースコード
闇を放置しておくと・・・
DMM.Study Night 2015.11.26
JS:もらい事故
改修箇所とは関係無い箇所で
バグ発⽣生(顕在化)
DMM.Study Night 2015.11.26
使途不明な影響範囲が広いソースコード
CSS:セレクタ詳細度UP!
DMM.Study Night 2015.11.26
使途不明な影響範囲が広いソースコード
そんなCSSでお困りの我々に
福⾳音の書が!
DMM.Study Night 2015.11.26
SMACSS
Scalable & Modular Architecture for CSS
https://smacss.com/
少し脱線
CSS Architecture
DMM.Study Night 2015.11.26
CSS Architecture
BEM
Block, Element, Modifier
https://en.bem.info/
DMM.Study Night 2015.11.26
<link href="/css/old.css" media="screen"
rel="stylesheet" type="text/css">
<link href="/css/new.css" media="screen"
rel="stylesheet" type="text/css">
…
…
…
<div id="container">
<div class="hogebox">
<h2 class="hogebox__heading">
…
改修⽤用CSS
改修箇所HTML
.hogebox__heading {
  …
  background-color: #fff;
  color: #333;
  …
}
あれ?当たらないぞ?
new.css
DMM.Study Night 2015.11.26
CSS Architecture
#container h2 {
  …
  background: #222;
  color: #fff;
  …
}
こいつのせいか・・・
old.css
DMM.Study Night 2015.11.26
CSS Architecture
#container .hogebox__heading {
  …
  background-color: #fff;
  color: #333;
  …
}
"o(-‑_̲-‑;*) ウゥム…⋯
new.css
DMM.Study Night 2015.11.26
CSS Architecture...!?
既存CSSが存在する
⼤大規模サイト内の
ページ改修においては、
CSS設計は苦労します。
DMM.Study Night 2015.11.26
CSS Architecture
Darkness
jQuery
DMM.Study Night 2015.11.26
“デザインさん
あるページだけクリックしても
反応しないんだけど、、、”
‒–ーDMM.com Labo 某Webディレクター
DMM.Study Night 2015.11.26
jQuery Syntax
$('#js-hoge').on('click', function(e) {…
DMM.Study Night 2015.11.26
Uncaught TypeError:
$(...).on is not a function(…)
DMM.Study Night 2015.11.26
jQuery Syntax
(  ゚д゚) ・・・
DMM.Study Night 2015.11.26
jQuery Syntax
□_ヾ(・_̲・ )console
DMM.Study Night 2015.11.26
jQuery Syntax
DMM.Study Night 2015.11.26
jQuery Syntax
> $.fn.jquery
<- "1.3.2"
    _̲, ._̲
(;゚ Д゚) …⋯!?
DMM.Study Night 2015.11.26
jQuery Syntax
読み込むページによって
jQueryが異なる
下限は1.3.2
DMM.Study Night 2015.11.26
jQuery Syntax
$('#js-hoge').bind('click', function(e) {…
DMM.Study Night 2015.11.26
jQuery Syntax
⼿手戻りが怖いから、
共通基盤案件では、
取り敢えず1.3.2までの
APIで書いています
DMM.Study Night 2015.11.26
jQuery Syntax
少し脱線
multiple versions of jQuery
DMM.Study Night 2015.11.26
multiple versions of JQuery
<script text/javascript
src="/js/library/jquery_1_8_3/jquery-1.8.3.min.js">
</script>
…
…
…
<!-- 1.3.2 -->
<script type="text/javascript" src="/_js/jquery.js">
</script>
DMM.Study Night 2015.11.26
DMM.Study Night 2015.11.26
> $.fn.jquery
<- "1.3.2"
multiple versions of JQuery
どうしてこうなった!!
ヾ(。`Д´。)ノ⼺彡
DMM.Study Night 2015.11.26
フロントエンド闇化の原因
✓ 知識差による品質低下
✓ リファクタリングしない・できない
✓ 放置されるバグ
「とりあえず実装」
DMM.Study Night 2015.11.26
このまま闇を放置して
おくつもりはありません!
DMM.Study Night 2015.11.26
つい最近ですが、
闇対策はじめました!
(*´∇`*)
DMM.Study Night 2015.11.26
breaking the darkness
Refactoring
DMM.Study Night 2015.11.26
breaking the darkness
git
(Atlassian Stash)
DMM.Study Night 2015.11.26
フロントエンド開発
静的ファイル専⽤用サーバ
バックエンド開発
HTML
PHP
sftp
DMM.Study Night 2015.11.26
CSS
JS
IMGgit管理
breaking the darkness
code review
DMM.Study Night 2015.11.26
breaking the darkness
coding guidelines
DMM.Study Night 2015.11.26
DMMでは
フロント周りで
まだまだやることが
たくさんあります!
DMM.Study Night 2015.11.26
・・・ということで
DMM.Study Night 2015.11.26
DMM.Study Night
2015.11.26 https://www.flickr.com/photos/donkeyhotey/5666065982
共にDMMの
フロントエンドの闇を
切り裂いてくれる
勇者を募集しています!
DMM.Study Night 2015.11.26
闇との戦いだけじゃない!
DMM.Study Night 2015.11.26
旧基盤に縛られない新規案件
最新のフロントエンド技術
の実践投⼊入
DMM.Study Night 2015.11.26
DMM.com Labo
Front-‑End Team
DMM.Study Night 2015.11.26
since 2014
DMM.Study Night
2015.11.26 https://www.flickr.com/photos/thelastminute/1972425722/
このビッグウェーブに
乗るしかない!
DMM.Study Night 2015.11.26
ということで
DMM.Study Night 2015.11.26
ご清聴ありがとうございました!
DMM.Study Night 2015.11.26
Thank you!!
DMM.Study Night 2015.11.26

More Related Content

What's hot

SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」Seiko Kuchida
 
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみようa-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみようSeiko Kuchida
 
Xamarinは辛いよ
Xamarinは辛いよXamarinは辛いよ
Xamarinは辛いよTakkiiii
 
Why prism for xamarin.forms
Why prism for xamarin.formsWhy prism for xamarin.forms
Why prism for xamarin.formsAtsushi Nakamura
 
Jaws ug沖縄2014 cloud-on_the_beach(share)
Jaws ug沖縄2014 cloud-on_the_beach(share)Jaws ug沖縄2014 cloud-on_the_beach(share)
Jaws ug沖縄2014 cloud-on_the_beach(share)Takaki Sugitani
 
a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」Seiko Kuchida
 
AWS+WordPress - AWSでスケーラブルなWordPressサイトを構築しよう
AWS+WordPress - AWSでスケーラブルなWordPressサイトを構築しようAWS+WordPress - AWSでスケーラブルなWordPressサイトを構築しよう
AWS+WordPress - AWSでスケーラブルなWordPressサイトを構築しようKiminori Yokoi
 
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)Tsukasa Nagata
 
Cocoa Binding 童貞だけど解説してみる
Cocoa Binding 童貞だけど解説してみるCocoa Binding 童貞だけど解説してみる
Cocoa Binding 童貞だけど解説してみるTakkiiii
 
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)Kiminori Yokoi
 
a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」Seiko Kuchida
 
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作Maboroshi.inc
 
Word pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオンWord pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオンHidetaka Okamoto
 
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」Seiko Kuchida
 
a-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなすa-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなすSeiko Kuchida
 
a-sap10「モジュールIDを理解する」
a-sap10「モジュールIDを理解する」a-sap10「モジュールIDを理解する」
a-sap10「モジュールIDを理解する」Seiko Kuchida
 
タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜Masaya Kogawa
 
YARAIYA! Opendata with WordPress
YARAIYA!  Opendata with WordPressYARAIYA!  Opendata with WordPress
YARAIYA! Opendata with WordPressHidetaka Okamoto
 
Sass実践編+Compass入門
Sass実践編+Compass入門Sass実践編+Compass入門
Sass実践編+Compass入門Yoshiya OKI
 
フロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみたフロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみたKei Yagi
 

What's hot (20)

SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
 
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみようa-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
 
Xamarinは辛いよ
Xamarinは辛いよXamarinは辛いよ
Xamarinは辛いよ
 
Why prism for xamarin.forms
Why prism for xamarin.formsWhy prism for xamarin.forms
Why prism for xamarin.forms
 
Jaws ug沖縄2014 cloud-on_the_beach(share)
Jaws ug沖縄2014 cloud-on_the_beach(share)Jaws ug沖縄2014 cloud-on_the_beach(share)
Jaws ug沖縄2014 cloud-on_the_beach(share)
 
a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」
 
AWS+WordPress - AWSでスケーラブルなWordPressサイトを構築しよう
AWS+WordPress - AWSでスケーラブルなWordPressサイトを構築しようAWS+WordPress - AWSでスケーラブルなWordPressサイトを構築しよう
AWS+WordPress - AWSでスケーラブルなWordPressサイトを構築しよう
 
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
Webデザイナーが使うバージョン管理ツール(20150205 Web業界なんでも勉強会)
 
Cocoa Binding 童貞だけど解説してみる
Cocoa Binding 童貞だけど解説してみるCocoa Binding 童貞だけど解説してみる
Cocoa Binding 童貞だけど解説してみる
 
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
くものフレンズ 第1話「あまぞんちほー」 (Amazon Lightsail × WordPress - AWSでWordPressを簡単に運営しよう)
 
a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」
 
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作
 
Word pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオンWord pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオン
 
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
 
a-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなすa-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなす
 
a-sap10「モジュールIDを理解する」
a-sap10「モジュールIDを理解する」a-sap10「モジュールIDを理解する」
a-sap10「モジュールIDを理解する」
 
タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜
 
YARAIYA! Opendata with WordPress
YARAIYA!  Opendata with WordPressYARAIYA!  Opendata with WordPress
YARAIYA! Opendata with WordPress
 
Sass実践編+Compass入門
Sass実践編+Compass入門Sass実践編+Compass入門
Sass実践編+Compass入門
 
フロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみたフロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみた
 

Viewers also liked

第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ外道 父
 
BUYMAにおけるRepro運用
BUYMAにおけるRepro運用BUYMAにおけるRepro運用
BUYMAにおけるRepro運用Takashi Matsumoto
 
BUYMAの商品検索システムの改善の取り組み
BUYMAの商品検索システムの改善の取り組みBUYMAの商品検索システムの改善の取り組み
BUYMAの商品検索システムの改善の取り組み慎太郎 木村
 
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜龍治 常盤木
 
PSR-1 と PSR-2 を 5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解するPSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を 5分でざっくり理解するWataru Terada
 
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携Masashi Shinbara
 
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月suno88
 
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPressMasashi Shinbara
 
新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHPYusuke Ando
 
【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料
【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料
【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料8a1
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Shogo Kawahara
 
Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話Masataka Kono
 
traitを使って楽したい話
traitを使って楽したい話traitを使って楽したい話
traitを使って楽したい話infinite_loop
 
第7回こども病院移転計画調査委員会資料
第7回こども病院移転計画調査委員会資料第7回こども病院移転計画調査委員会資料
第7回こども病院移転計画調査委員会資料f_kodomo
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録Fumiya Sakai
 
はじめて作ったアプリが10,000ダウンロード達成したから自慢する
はじめて作ったアプリが10,000ダウンロード達成したから自慢するはじめて作ったアプリが10,000ダウンロード達成したから自慢する
はじめて作ったアプリが10,000ダウンロード達成したから自慢するNatsumi Oki
 
Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話sters
 
Trait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみるTrait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみるTakuya Fujimura
 
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2Masashi Shinbara
 

Viewers also liked (20)

第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
 
BUYMAにおけるRepro運用
BUYMAにおけるRepro運用BUYMAにおけるRepro運用
BUYMAにおけるRepro運用
 
BUYMAの商品検索システムの改善の取り組み
BUYMAの商品検索システムの改善の取り組みBUYMAの商品検索システムの改善の取り組み
BUYMAの商品検索システムの改善の取り組み
 
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜
 
PSR-1 と PSR-2 を 5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解するPSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を 5分でざっくり理解する
 
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
 
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
 
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
 
新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP
 
【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料
【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料
【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
 
Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話
 
traitを使って楽したい話
traitを使って楽したい話traitを使って楽したい話
traitを使って楽したい話
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
第7回こども病院移転計画調査委員会資料
第7回こども病院移転計画調査委員会資料第7回こども病院移転計画調査委員会資料
第7回こども病院移転計画調査委員会資料
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録
 
はじめて作ったアプリが10,000ダウンロード達成したから自慢する
はじめて作ったアプリが10,000ダウンロード達成したから自慢するはじめて作ったアプリが10,000ダウンロード達成したから自慢する
はじめて作ったアプリが10,000ダウンロード達成したから自慢する
 
Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話
 
Trait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみるTrait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみる
 
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
 

Similar to DMMの闇に触れた話

JavaScriptをまじめに考えました+
JavaScriptをまじめに考えました+JavaScriptをまじめに考えました+
JavaScriptをまじめに考えました+Hiroaki Okubo
 
僕の Serverless web application
僕の Serverless web application僕の Serverless web application
僕の Serverless web application祐樹 夏目
 
DMMのIPv6に関する取り組み 2016年2月版
DMMのIPv6に関する取り組み 2016年2月版DMMのIPv6に関する取り組み 2016年2月版
DMMのIPv6に関する取り組み 2016年2月版Ken SASAKI
 
レスポンシブ+α 第12回WordBench大阪
レスポンシブ+α 第12回WordBench大阪レスポンシブ+α 第12回WordBench大阪
レスポンシブ+α 第12回WordBench大阪Junko Nukaga
 
Sass/Compass よくあるトラブルと 解決方法・回避方法
Sass/Compass よくあるトラブルと 解決方法・回避方法Sass/Compass よくあるトラブルと 解決方法・回避方法
Sass/Compass よくあるトラブルと 解決方法・回避方法Maboroshi.inc
 
イマドキのスライス事情
イマドキのスライス事情イマドキのスライス事情
イマドキのスライス事情Sou Lab
 
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012Tatsuhiko Kubo
 
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろうイマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろうMori Kazue
 
JAWS-UG CLI専門支部 #16 CDPにIAM関連のデザインパターンが 無いので提案してみる
JAWS-UG CLI専門支部 #16 CDPにIAM関連のデザインパターンが無いので提案してみるJAWS-UG CLI専門支部 #16 CDPにIAM関連のデザインパターンが無いので提案してみる
JAWS-UG CLI専門支部 #16 CDPにIAM関連のデザインパターンが 無いので提案してみるNobuhiro Nakayama
 
3D Photo Tool by Ruby/Sinatra + JavaScript
3D Photo Tool by Ruby/Sinatra + JavaScript3D Photo Tool by Ruby/Sinatra + JavaScript
3D Photo Tool by Ruby/Sinatra + JavaScriptNISHIMOTO Keisuke
 
WordPress 3.5 目覚めし8つの新機能
WordPress 3.5 目覚めし8つの新機能WordPress 3.5 目覚めし8つの新機能
WordPress 3.5 目覚めし8つの新機能Odyssey Eightbit
 
Azure MLやってみよう
Azure MLやってみようAzure MLやってみよう
Azure MLやってみようA AOKI
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶHiroshi Oyamada
 
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み
とある会社のエンジニアたちのAndroidへのフリーダムな取り組みとある会社のエンジニアたちのAndroidへのフリーダムな取り組み
とある会社のエンジニアたちのAndroidへのフリーダムな取り組みKei Nakazawa
 
Sugarcubeをはじめよう
SugarcubeをはじめようSugarcubeをはじめよう
SugarcubeをはじめようEihiro Saishu
 
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN kamiyam .
 

Similar to DMMの闇に触れた話 (18)

JavaScriptをまじめに考えました+
JavaScriptをまじめに考えました+JavaScriptをまじめに考えました+
JavaScriptをまじめに考えました+
 
Code Anything
Code AnythingCode Anything
Code Anything
 
僕の Serverless web application
僕の Serverless web application僕の Serverless web application
僕の Serverless web application
 
DMMのIPv6に関する取り組み 2016年2月版
DMMのIPv6に関する取り組み 2016年2月版DMMのIPv6に関する取り組み 2016年2月版
DMMのIPv6に関する取り組み 2016年2月版
 
レスポンシブ+α 第12回WordBench大阪
レスポンシブ+α 第12回WordBench大阪レスポンシブ+α 第12回WordBench大阪
レスポンシブ+α 第12回WordBench大阪
 
Sass/Compass よくあるトラブルと 解決方法・回避方法
Sass/Compass よくあるトラブルと 解決方法・回避方法Sass/Compass よくあるトラブルと 解決方法・回避方法
Sass/Compass よくあるトラブルと 解決方法・回避方法
 
イマドキのスライス事情
イマドキのスライス事情イマドキのスライス事情
イマドキのスライス事情
 
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012
 
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろうイマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
 
JAWS-UG CLI専門支部 #16 CDPにIAM関連のデザインパターンが 無いので提案してみる
JAWS-UG CLI専門支部 #16 CDPにIAM関連のデザインパターンが無いので提案してみるJAWS-UG CLI専門支部 #16 CDPにIAM関連のデザインパターンが無いので提案してみる
JAWS-UG CLI専門支部 #16 CDPにIAM関連のデザインパターンが 無いので提案してみる
 
3D Photo Tool by Ruby/Sinatra + JavaScript
3D Photo Tool by Ruby/Sinatra + JavaScript3D Photo Tool by Ruby/Sinatra + JavaScript
3D Photo Tool by Ruby/Sinatra + JavaScript
 
Aiming study#6pdf
Aiming study#6pdfAiming study#6pdf
Aiming study#6pdf
 
WordPress 3.5 目覚めし8つの新機能
WordPress 3.5 目覚めし8つの新機能WordPress 3.5 目覚めし8つの新機能
WordPress 3.5 目覚めし8つの新機能
 
Azure MLやってみよう
Azure MLやってみようAzure MLやってみよう
Azure MLやってみよう
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み
とある会社のエンジニアたちのAndroidへのフリーダムな取り組みとある会社のエンジニアたちのAndroidへのフリーダムな取り組み
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み
 
Sugarcubeをはじめよう
SugarcubeをはじめようSugarcubeをはじめよう
Sugarcubeをはじめよう
 
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN
 

DMMの闇に触れた話