PHPカンファレンス2008。
今年も行ってみたー。ぐりちゃんも一緒に。
でも、WiFiでうまく繋げなかった…何故?orz
なにはともあれ、いつも手書きメモから書き写してた内容を
今回は、そのままテキストをコピペなので便利だー。
てな訳で、横着してほんとにだらだらメモった内容をコピペ。
たぶん、何か見間違いとか聞き間違いもあるかと。
絶対何か間違いがあるかと(苦笑)
・PHPでつくるぐるなび 11時から
- 事業
1996年からの話
ビジネスモデルについて
7億2千万PV
ぐるなびもいろいろあるのね…
サービス数やら続く
ほぼ全てでPHP
- システムの話
検索システム
最初の頃
管理系と検索系UI
店舗検索にDelphi
検索システムはDBF?
店舗データはエクセル
2002〜2004
2007〜
店舗データをXML
DBが悩みだったらしい
カテゴリマスタだけMySQL
PHPの導入に関して
文字コードはUTF8
php.iniあんまカスタマイズしてないっぽい
NFSの話
結構普通な構成
検索エンジンとDB周りでチューニングしているっぽいが
php自体には、さほど変わった事はしてない模様
- 今後の展開
- PHP5化
- 共有ライブラリ・エンジン
- 国際化
PHP5は一割、あとPHP4らしい
って事は、OOPっぽくないかな?
サービスごとに構築したので、同じような機能がまとまってないらしい。
PHP5でリファクタしながら移行中らしい
基本クラス、標準拡張モジュールやZendをラップしたりー
ビジネスロジックの共通化
…って、どっかで聞いたような話だな。
- 基本クラス
Zendの一部を使う。
multibyte系で不具合があるー。
SimpleXMLを使おうとしているぞー。
- 共通エンジン
ベースモジュールにOpenPNEを利用しているー
- 国際化
上海に子会社があって、中国語でも掲載しているが
中国ではPHPの技術者が少ない…JavaからPHPに移行中?
…この話題って国際化って呼ぶの?
リソースファイルとかどうしてるんだろー?
- 質問ターイム
PostgreSQLからOracleに移行した時の話
DBまわりのスクリプトをいちから作り直したっぽい
バックアップは?
DBはdumpしてNASに保存
デプロイの時は?
NASの負荷、負荷分散
贅沢なNASを使ってるから大丈夫っぽい。
・楽天xPHP 楽天におけるPHPの過去・現在・未来 13時から
安藤さん アーキテクチャ標準化推進グループ
CakePHPの本
なかなか面白かったけど、具体的なところが…
何かソースサンプルとか見てみたかったねぇ。
symfonyとCakePHPの比較とかもしてくれたらいいのになぁ。
- 楽天のこと
野球チーム、楽天市場
品川シーサイドに移転したらしい
ROMA fairy
まつもとさんの日記に社員食堂の話
- 開発体制
データセンター構築・設計
サーバ構築・管理
アプリケーション開発
200205 E10K
6000台
8.6Gbps
サンのサイトにも事例として載ってるよ
Oracleにも載ってるよ
必要に応じてossも使うんだよー
あんまポスグレは使わないよー
利用にあたって留意点
十分な検証の上で導入
必要な場合はパッチも作成
グリーの藤本さんコンサル
規模の指数
アプリケーションの数 150以上
サーバ台数 800台以上サーバ群
PV 5000万PV
開発者の人数 最大1000人以上のエンジニア
さまざまな戦いの歴史
サービスを展開するスピード
サービスを開発するコスト
増大する負荷
2000年頃PHP3からスタート
PHP3からPHP4へ
負荷増大
safe_mode
IO見直し
スレーブDBの利用
NASの依存問題
高負荷
スクリプト・コンテンツ
rsyncでローカルへ
セッションはNASのまま
独自フレームワーク
2003年頃
社内での車輪の再開発とか
標準化推進の開始、社内ライブラリ・フレームワークの整備
社内独自アプリでPVとか集計して見れる
楽天GORAゴルフ場検索・予約
フレームワーク期(PHP4)
2005年 Mojavi
コードジェネレータ開発
APC導入
PHP4でのスタイルの確立
DB周りとロジックは未整備
新卒エンジニアも開発
フレームワーク期(PHP5)
2006年 最初は独自フレームワーク
Mojaviに近い
スケルトン生成機能
学習コストがかかる
O/RマッピングPropelについても様子見
設定ファイルかー
小さいサービスに対して大げさになっちゃう
比較的軽量
学習コストが少ない
事例)携帯版ブックマーク
大規模な開発への適正
ライブラリが未整備
Railsとの兼ね合い
- まとめ
スピードとコストを両立
共有ライブラリなどの整備により運用性を向上
質問ターイム
デザイナーとの作業に関して
htmlでもらって、エンジニアがテンプレートにおこす
・大規模向けパッケージソフトウェアとphp 14時から
サイボウズ 米川さん
ガルーン2
- ガルーン2とは?
webグループウェア
画面数1200
Smartyテンプレート2500
開発者の人数 10人 オフショアでベトナム4〜5人
国際化版を開発中
- phpとガルーン2
簡単インストール
httpd.confの設定なしにインストールできるように考えてるらしい
独自SAPI
PATH_INFO から実行スクリプトの相対パスを取得して起動
PHP拡張
パフォーマンスを要求される箇所はCで書いている
独自PHP拡張
日付・時刻処理
AES暗号
ライセンス処理
たーしかーになぁ、XMLパーサー重いよね。。。
スケジューリングサービス C++
登録されたイベントを定期的に実行
Windowsでも使えるcron
PHPでコントロールできるcron
便利だねー
セキュリティ
escape modifier を自動で埋め込む
CSRFリスト
CSRF対策するアクションのリスト
アクションへのリクエストはチケットが必要
チケットは自動でassignされる
国際化アーキテクチャ
日付時刻をローカルタイムゾーンに変換
サマータイムも考慮
タイムゾーン情報はデータベースに持つ
メッセージの切り替え
リソースが埋め込まれたテンプレートを自動生成
動的リソース埋め込みの負荷を軽減
テンプレートジェネレータで生成する