SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
PHPアプリの品質を(ある程度)  
保つために出来る事
〜~組織編〜~
PHP  カンファレンス  2017  
2017/10/08  
株式会社  サイバード  
三浦  克浩
⾃自⼰己紹介
• 名前:三浦  克浩  
• Twitter  ID:@MiuraKatsu  
• 仕事:恋愛ゲーム  
• 好きなフレームワーク:
Laravel、Sails.js  
• 浦和レッズ:
⼥女性向け恋愛ノベルゲーム
• シリーズ  通算14タイトル  
• 海外展開  5カ国  6タイトル  
• シリーズ以外  4タイトル  
• 展開プラットフォーム  14プラットフォーム
⼥女性向け恋愛ノベルゲーム
前提
• 新規開発じゃなくて、既存運⽤用の話  
• ソシャゲ運⽤用=毎⽉月なんかしらイベントがある  
• サーバサイド(PHP)の話中⼼心  
• コードをどう変えるか?じゃなくて変えるため
に何をしたのか?
• タイトル毎に運⽤用チー
ム  
• それぞれチームリーダ
とメンバー  
• 1チーム3〜~6⼈人  
• 海外は別チームの場合
も
全体で50〜~80⼈人のエンジニア
神クラス
ハイクラス
新卒  
PHP3ヶ⽉月⽬目
PHPerにも神はいる
品質をよくするには?
• 神がコードを書けば品質が良くなる
• 神がコードレビューをすれば品質が良くなる
• 神だけがコードを書けば品質が良くなる
• 神がコードを書いた部分だけ品質が良くなる
• 神がすべてのコードレビューをすれば品質が
良くなる
「神頼み」
そ
れ
で
も
神
な
ら
し
て
く
れ
る
神
な
ら
な
ん
と
か
突然の退職
新規⼤大型タイトル開発に引
き抜かれる
「神は死んだ!」
「神頼み」からの脱却
仕組み化
何をしたか?
• 横断チームの新設  
• 開発運⽤用サイクルの改善  
• 品質評価軸の可視化  
• 専⾨門チームの組成
• 特定タイトルにつかない
横断チーム
横断チームの役割
• 共通系システムの維持メンテ  
• 各チーム間の交流のHub  
• ⽇日々のカイゼンだけではできないことをする
何をしたか?
• 横断チームの新設  
• 開発運⽤用サイクルの改善  
• 品質評価軸の可視化  
• 専⾨門チームの組成
Development  
-‐‑‒ VCS(Git)によるソース管理  
Deploy  
-‐‑‒  ⾃自動デプロイ
Service  Monitoring  
-‐‑‒ ステータス監視  
開発運⽤用サイクルの改善
横断チームが仕組み導⼊入
Development  
-‐‑‒ VCS(Git)によるソース管理  
-‐‑‒ Pull  Request  運⽤用  
Code  Check  
  -‐‑‒  コードレビュー  
  -‐‑‒  コーディング規約  
Deploy  
-‐‑‒  ⾃自動デプロイ
Service  Monitoring  
-‐‑‒ ステータス監視  
-‐‑‒ パフォーマンス監視  
開発運⽤用サイクルの改善
Development  
-‐‑‒ VCS(Git)によるソース管理  
-‐‑‒ Pull  Request  運⽤用  
Code  Check  
  -‐‑‒  コードレビュー  
  -‐‑‒  コーディング規約  
Test  
-‐‑‒ Syntax  チェック  
-‐‑‒ ユニットテスト  
-‐‑‒ 継続的インテグレーション
Deploy  
-‐‑‒  ⾃自動デプロイ
Service  Monitoring  
-‐‑‒ ステータス監視  
-‐‑‒ パフォーマンス監視  
開発運⽤用サイクルの改善
ユニットテストよりCIが先
Development  
-‐‑‒ VCS(Git)によるソース管理  
-‐‑‒ Pull  Request  運⽤用  
Code  Check  
  -‐‑‒  コードレビュー  
  -‐‑‒  コーディング規約  
  -‐‑‒  静的解析
Test  
-‐‑‒ Syntax  チェック  
-‐‑‒ ユニットテスト  
-‐‑‒ 継続的インテグレーション
Deploy  
-‐‑‒  ⾃自動デプロイ
Service  Monitoring  
-‐‑‒ ステータス監視  
-‐‑‒ パフォーマンス監視  
-‐‑‒ プロファイリング
開発運⽤用サイクルの改善
•運⽤用チームで取り組みづらい事を横断チームが
仕組み化・⾃自動化  
•⾃自動化できたところに乗っかってもらう  
  →導⼊入コストを下げる  
•横断チームが作ることで標準化される  
•あるんだから使ってよね、というプレッシャー  
開発運⽤用サイクルの改善
GitHubでソース管理する  
→PullReq運⽤用ができる  
→→PullReqがくるからコードレビューする  
⾃自動デプロイする  
→デプロイの前にCIが回せる  
→→CIが回るからユニットテスト書く
開発運⽤用サイクルの改善
• 仕組みを⼊入れることで⾏行動が変わる
巻き込み⽅方
ユニットテスト  
回したいんです
⼯工数が余計
にかかるからダ
メ
巻き込み⽅方
振り返り/KPT
バックログ/タスク化
バグチケットヒヤリ・ハット
何が防げるかを理解してもらう
巻き込み⽅方
障害発⽣生! 再発防⽌止策
障害報告書 ここに盛り込む
ピンチをチャンスに!
何をしたか?
• 横断チームの新設  
• 開発運⽤用サイクルの改善  
• 品質評価軸の可視化  
• 専⾨門チームの組成
品質を定義する
• サービス的な品質:レスポンスが早い。サーバ
負荷が軽い。  
• コード的な品質:静的解析のスコアが⾼高い。テ
ストカバレッジが⾼高い。
数値化できるものを計測する
品質評価軸の可視化
• 評価軸をチーム(タイトル)毎に可視化して公開  
• 静的解析スコア/テストカバレッジ/スロークエリー
発⽣生数/レスポンスタイム/etc  
• ⾃自チームの数字が⾒見えるようになる:  
  →⾃自分事になる  
• 他チームの数字が⾒見えるようになる:  
  →勝⼿手に競い合う
サービス的な評価軸計測
• Zabbix  :統合監視ツール。計測値の可視化  
• NewRelic:SaaS型パフォーマンス監視(有料)  
• Monyog:MySQLモニタリングツール(有料)
パフォーマンス監視&プロファイリング
コード的な評価軸計測
• Scrutinizer:静的解析SaaS(有料)  
• SonarQube:静的解析ツール  
• Coveralls:カバレッジレポート(有料)
単純に⾼高ければ⾼高評価でもない  
古いタイトルには負の遺産も多い  
変化を⾒見ている
可視化
• Zabbix/NewRelic:時系列でグラフ表⽰示  
• Chatwork:Alert/CI結果を通知  
• Wiki:バッチリスト。こんなやつ→
何をしたか?
• 横断チームの新設  
• 開発運⽤用サイクルの改善  
• 品質評価軸の可視化  
• 専⾨門チームの組成
優先度
• レスポンスが早くなると、売上は上がる  
• スコアが上がっても、売上は上がらない
まずはサービス品質の改善から
サービス的な改善
とにかくボトルネックを潰す  
DBボトルネックが6割強  
スロークエリーの撲滅
• インフラチーム  
• インフラチーム内にDBA
SQL道場
• 毎週DBAによるSQL指導  
• 今週発⽣生したスロークエリー数の報告  
• 今週発⽣生したイケてないクエリーについての
指導
ORMの功罪
• PHPerにはSQLが分からぬ  
• かならずDB操作をしなければならぬ  
• 功:PHPerでもDB操作ができる!  
• 罪:どんなクエリが吐かれるか、吐いてみない
と分からない
DBAとの対話
• DBAはクエリーしか⾒見ない  
• プログラムの内容は知らない  
• ゲーム仕様も知らない  
• 開発者の⾔言い訳に同情しない
インフラ担当との対話
• インフラはサーバ負荷しか⾒見ない  
• 負荷理由(exイベント開始)を知らない  
• サーバ増はコスト増  
• 開発者の⾔言い訳に同情しない
道場開設当初
こんなクソクエリー書いたのは誰だ!
インスタンスタイプ上げると  
毎時xx円コストが上がるんだよ!
なんで⽇日またぎのバッチと  
イベントフィーバー被せるんだよ!
オンプレだからサーバ増やせないっ
て⾔言っただろ!
スロークエリー数:閾値10s超で数百件
ボコボコにされるPHPer
現在(開設から2年)
スロークエリー数:閾値0.5sで数件まで削減
PKでしか検索かけてないのにスロークエリーにな
るということはDiskアクセス発⽣生してませんか
キャッシュ周りのパラメータを⾒見直して
みましょう
現在のままのサーバスペックでは、次回イベント
時の負荷に耐えられないかもしれません。
新しいサーバで、負荷テストして⾒見ましょう
改善⽅方法はひとつじゃない
• クエリーを修正する  
• プログラムを修正する  
• サーバをスケールアウト/スケールアップする  
• RDBからKVSに切替える  
• ゲーム仕様を変更する
いろんな⼈人を巻き込む
ステークホルダー/専⾨門家じゃないと  
解決できない事もある
まとめ
• 運⽤用だからカイゼンできる  
• 仕組みを変えると⾏行動が変わる  
• 「推測するな。計測せよ」  
• ⾒見える化⼤大事  
• 開発者以外を巻き込む
新規開発も既存運⽤用も  
エンジニア募集中
ご清聴ありがとうございました。

Más contenido relacionado

La actualidad más candente

NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020gree_tech
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)Ikuru Kanuma
 
5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方Jumpei iwamura
 
ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証gree_tech
 
1年くらいScalaプロジェクトに関わった結果 #ichigayageek
1年くらいScalaプロジェクトに関わった結果 #ichigayageek1年くらいScalaプロジェクトに関わった結果 #ichigayageek
1年くらいScalaプロジェクトに関わった結果 #ichigayageekMichihito Shigemura
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にするテスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする77web
 
インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話雅也 山本
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo!デベロッパーネットワーク
 
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装Satoshi Nagayasu
 
オブラブ冬合宿以降にやったことのふりかえり
オブラブ冬合宿以降にやったことのふりかえりオブラブ冬合宿以降にやったことのふりかえり
オブラブ冬合宿以降にやったことのふりかえりYasunobu Kawaguchi
 
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09Masahiro Nishimi
 
20140131 万葉帰社日発表 チーム積み重ね 公開版
20140131 万葉帰社日発表 チーム積み重ね 公開版20140131 万葉帰社日発表 チーム積み重ね 公開版
20140131 万葉帰社日発表 チーム積み重ね 公開版tatsuo sakurai
 
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情我が家のフロントエンド開発事情
我が家のフロントエンド開発事情Naoki Yamada
 
リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方Mikiya Okuno
 
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜Akira Nagata
 
5分で詰め込む フロントエンド最適化
5分で詰め込む フロントエンド最適化5分で詰め込む フロントエンド最適化
5分で詰め込む フロントエンド最適化Shohei Tai
 
サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善PIXTA Inc.
 

La actualidad más candente (20)

NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)
 
Djangoのススメ
DjangoのススメDjangoのススメ
Djangoのススメ
 
5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方5年しかもたない最高のシステムとの向き合い方
5年しかもたない最高のシステムとの向き合い方
 
ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証
 
1年くらいScalaプロジェクトに関わった結果 #ichigayageek
1年くらいScalaプロジェクトに関わった結果 #ichigayageek1年くらいScalaプロジェクトに関わった結果 #ichigayageek
1年くらいScalaプロジェクトに関わった結果 #ichigayageek
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にするテスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
 
インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話インフラ部門で働くCプログラマの話
インフラ部門で働くCプログラマの話
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
 
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
 
オブラブ冬合宿以降にやったことのふりかえり
オブラブ冬合宿以降にやったことのふりかえりオブラブ冬合宿以降にやったことのふりかえり
オブラブ冬合宿以降にやったことのふりかえり
 
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
 
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
 
20140131 万葉帰社日発表 チーム積み重ね 公開版
20140131 万葉帰社日発表 チーム積み重ね 公開版20140131 万葉帰社日発表 チーム積み重ね 公開版
20140131 万葉帰社日発表 チーム積み重ね 公開版
 
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
 
リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方
 
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
 
5分で詰め込む フロントエンド最適化
5分で詰め込む フロントエンド最適化5分で詰め込む フロントエンド最適化
5分で詰め込む フロントエンド最適化
 
サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善サービスのスケール化のための検索システム改善
サービスのスケール化のための検索システム改善
 

Destacado

PHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったことPHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったことYoshio Hanawa
 
OPcache の最適化器の今
OPcache の最適化器の今OPcache の最適化器の今
OPcache の最適化器の今y-uti
 
PHPとシグナル、その裏側
PHPとシグナル、その裏側PHPとシグナル、その裏側
PHPとシグナル、その裏側do_aki
 
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則Hiroshi Tokumaru
 
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略片手間MySQLチューニング戦略
片手間MySQLチューニング戦略yoku0825
 
アプリチームを支えるSlack bot
アプリチームを支えるSlack botアプリチームを支えるSlack bot
アプリチームを支えるSlack botKazuaki KURIU
 
20151205フルスクラッチcms作成のノウハウ With Laravel
20151205フルスクラッチcms作成のノウハウ With Laravel20151205フルスクラッチcms作成のノウハウ With Laravel
20151205フルスクラッチcms作成のノウハウ With LaravelTakumi Yoshida
 
Laravelを使ってみた
Laravelを使ってみたLaravelを使ってみた
Laravelを使ってみたJaeseop Jeong
 
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイントカスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイントFumiya Sakai
 
デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3Fumiya Sakai
 
わかってるフレームワーク Laravel
わかってるフレームワーク Laravelわかってるフレームワーク Laravel
わかってるフレームワーク LaravelMasashi Shinbara
 
Phpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろうPhpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろうSyouta Tada
 
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード  +  現場エンジニアのコメント付きデザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード  +  現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付きMayumi Narisawa
 
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築Masashi Shinbara
 
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
 PHPでPostgreSQLとPGroongaを使って高速日本語全文検索! PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!Kouhei Sutou
 
JavaScriptから利用するFirebase
JavaScriptから利用するFirebaseJavaScriptから利用するFirebase
JavaScriptから利用するFirebaseTakuji Shimokawa
 
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリFirebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリFumihiko Shiroyama
 
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説Fumiya Sakai
 

Destacado (20)

PHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったことPHP拡張をPECLに登録してわかったこと
PHP拡張をPECLに登録してわかったこと
 
OPcache の最適化器の今
OPcache の最適化器の今OPcache の最適化器の今
OPcache の最適化器の今
 
PHPとシグナル、その裏側
PHPとシグナル、その裏側PHPとシグナル、その裏側
PHPとシグナル、その裏側
 
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
 
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
 
アプリチームを支えるSlack bot
アプリチームを支えるSlack botアプリチームを支えるSlack bot
アプリチームを支えるSlack bot
 
20151205フルスクラッチcms作成のノウハウ With Laravel
20151205フルスクラッチcms作成のノウハウ With Laravel20151205フルスクラッチcms作成のノウハウ With Laravel
20151205フルスクラッチcms作成のノウハウ With Laravel
 
Laravelを使ってみた
Laravelを使ってみたLaravelを使ってみた
Laravelを使ってみた
 
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイントカスタムトランジションやジェスチャーを生かしたUIの実装ポイント
カスタムトランジションやジェスチャーを生かしたUIの実装ポイント
 
デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3デザインにもこだわったUiの事始め3
デザインにもこだわったUiの事始め3
 
わかってるフレームワーク Laravel
わかってるフレームワーク Laravelわかってるフレームワーク Laravel
わかってるフレームワーク Laravel
 
3 tips of Laravel
3 tips of Laravel3 tips of Laravel
3 tips of Laravel
 
Phpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろうPhpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろう
 
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード  +  現場エンジニアのコメント付きデザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード  +  現場エンジニアのコメント付き
デザイナーがXcodeを使って 開発効率をUPさせた 5つのエピソード + 現場エンジニアのコメント付き
 
Laravel LT
Laravel LTLaravel LT
Laravel LT
 
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
 
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
 PHPでPostgreSQLとPGroongaを使って高速日本語全文検索! PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
PHPでPostgreSQLとPGroongaを使って高速日本語全文検索!
 
JavaScriptから利用するFirebase
JavaScriptから利用するFirebaseJavaScriptから利用するFirebase
JavaScriptから利用するFirebase
 
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリFirebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
 
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
指の動きや遷移時等のアニメーションを生かしたUIのサンプル解説
 

Similar a PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜

三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~Rakuten Group, Inc.
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaShigeru Hanada
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱Koichi ITO
 
勉強会:設定管理について
勉強会:設定管理について勉強会:設定管理について
勉強会:設定管理についてWataru Sato
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~infinite_loop
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learningRetrieva inc.
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前にYasui Tsutomu
 
Heroku で作る
スケーラブルな 
PHP アプリケーション
Heroku で作る
スケーラブルな 
PHP アプリケーションHeroku で作る
スケーラブルな 
PHP アプリケーション
Heroku で作る
スケーラブルな 
PHP アプリケーションMasashi Shinbara
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)Masahiro Nishimi
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform拓将 平林
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイントKentaro Matsui
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Shota Umeda
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1MinGeun Park
 
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみようTakuya Kawabe
 
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!ペアプロはリモートでもできる!
ペアプロはリモートでもできる!Tatsuya Deguchi
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Tokuhiro Matsuno
 

Similar a PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜 (20)

三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
勉強会:設定管理について
勉強会:設定管理について勉強会:設定管理について
勉強会:設定管理について
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learning
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
Heroku で作る
スケーラブルな 
PHP アプリケーション
Heroku で作る
スケーラブルな 
PHP アプリケーションHeroku で作る
スケーラブルな 
PHP アプリケーション
Heroku で作る
スケーラブルな 
PHP アプリケーション
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう
 
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!ペアプロはリモートでもできる!
ペアプロはリモートでもできる!
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 

PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜