Page 1
改
Real World PHP in pixiv
pixiv 2016 SPRING BOOT CAMP
年 月 日
2016 3 15
公開日:
by USAMI Kenta @tadsan
改
Real World PHP in pixiv
pixiv 2016 SPRING BOOT CAMP
年 月 日
2016 3 15
お前誰よ
うさみけんた
/ tadsan
Ruby
注意
時間配分は考慮してない
資料はあとで公開します
アジェンダ
現状についてだらだら話す
年 月頃
GitLab (2015 10 )
年 月
GitLab (2016 3 )
pixiv.git (クラスのお友達)
├ accounts.pixiv.net ├ rpc.pixiv.private ├ admin.pixiv.net ├ sensei.pixiv.net ├ api.pixiv.net ├ source.pixiv.net ├ batch ├ spapi.pixiv.net ├ dev-script ├ 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 ( 10 )
ってたくさん書いてた!!
include_once
改善してた
pixiv-lib
phpab include
の コード 現在
pixiv PHP ( )
を撲滅した!!
include_once
シンプルなクラスローダを手書き
phpab include
の コード
pixiv PHP
コミットログやコード内コメントは、
意識高く「全部英語で」など拘らない
Github Flow
loadset.php
各プロジェクトの初期化ファイル
include_once
の
pixiv SQL
MySQL 5.5
SQL …
脆弱性対策の文脈で生まれたが書きやすい
の
pixiv SQL
なぜ自動クエリビルダー利用しないの?
Q:
の
pixiv WebAPI
いろんな試行錯誤をしてきた
CSV API ( )
RESTful API
API (RPC)
API (not REST)
の
pixiv WebAPI
なぜ か なぜ じゃないのか
RESTful ? REST ?
API(RPC)
URL
の
設計
pixiv WebAPI
モバイルアプリは を捨てる採用しない
REST ( )
も全て で受ける
HTTP Method POST
API
パッケージ管理
を利用
Composer
Satis
のテスト
pixiv
基本的に でテストを書く
PHPUnit
master push
のレビュー体制
pixiv
毎週 に携る各チームのレビュアーで
pixiv.git
レビュアーが各チームに持ち帰る
ガイドラインや推奨スタイルの確立
そのほか
のデプロイ回数は一日およそ 回
pixiv 40
WebUI
ふろく 連載
(WEB+DB PHP )
特におもしろい記事
続きは で
Web
https://github.com/pixiv