Page 1
Real World PHP in pixiv
ぐるなびピクシブ合同勉強会
年 月 日
2015 10 23
公開日:
by USAMI Kenta @tadsan
Real World PHP in pixiv
ぐるなびピクシブ合同勉強会
年 月 日
2015 10 23
お前誰よ
うさみけんた
/ tadsan
Ruby
注意
時間配分は考慮してない
資料はあとで公開します
アジェンダ
現状についてだらだら話す
pixiv.git (クラスのお友達)
├ accounts.pixiv.net ├ rpc.pixiv.private ├ admin.pixiv.net ├ source.pixiv.net ├ api.pixiv.net ├ spapi.pixiv.net ├ batch ├ spotlight.pics ├ embed.pixiv.net ├ ssl.pixiv.net ├ m.pixiv.net ├ touch.pixiv.net
├ me.pixiv.net ├ util ├ oauth.pixiv.net ├ vendor ├ pixiv-lib ├ web-test
├ public-api.pixiv.net └ www.pixiv.net
変遷
以前 年頃までは、サブディレクトリ
(2013 )
Git
を として扱ってた
submodule
共通部分の抽象化もうまくなされて居らず、
変遷
は疎結合なモジュールに適する
submodule
リポジトリを統合することで凝集度を高め
細部が異なる重複コード問題も根絶
デプロイ
基本的にサーバー全台 台程度に
(xx ) rsync
( )
件程度のエラーが発生してしまってた
xxx 現在は の確立で、
Blue-GreenDeployment
/
デプロイ
(pploy)
汎用的なデプロイシステム
デプロイと変遷
ブログ記事紹介
( )
開発・デプロイ環境の変遷 年春版
2014
git
のデプロイを支える
pixiv pploy
の開発環境
pixiv
などの依存が多く、ローカルに環境を構
DB
不可能でもない
( )
共有の環境に でログインして開発
SSH
Emacs Vim
の開発環境
pixiv
の を大胆に活用
Apache VirtualHost
DNS
pixiv-lib
の操作を抽象化する層
DB (DAO)
Common
懐古
extlib
の コード
pixiv PHP
PHP 5.5 + Apache
HHVM
mod_rewrite
の コード
pixiv PHP
既存のフレームワークに依存しない
どちらにしろ自分たちでセキュリティを
の コード
pixiv PHP
動的な言語機能は必要ない限り利用しない
の コード
pixiv PHP
ってたくさん書いてる!!
include_once
鋭意改善中
pixiv-lib
phpab include
の コード
pixiv PHP
コミットログやコード内コメントは、
意識高く「全部英語で」など拘らない
Github Flow
loadset.php
各プロジェクトの初期化ファイル
include_once
の
pixiv SQL
MySQL 5.5
SQL …
脆弱性対策の文脈で生まれたが書きやすい
の
pixiv SQL
なぜ自動クエリビルダー利用しないの?
Q:
の
pixiv API
いろんな試行錯誤をしてきた
CSV API ( )
REST API
API (RPC)
パッケージ管理
を利用
Composer
Satis
のテスト
pixiv
基本的に でテストを書く
PHPUnit
master push
のレビュー体制
pixiv
毎週 に携る各チームのレビュアーで
pixiv.git
レビュアーが各チームに持ち帰る
ガイドラインや推奨スタイルの確立
そのほか
のデプロイ回数は一日およそ 回
pixiv 20
WebUI
ふろく 連載
(WEB+DB PHP )
特におもしろい記事
続きは で
Web
https://github.com/pixiv