PHPカンファレンス2007@大田区産業センターPiO
<2007.09.01(Sat)>
今年もPHPカンファレンスに参加@大田区産業センターPiO。実際は朝から開催
だが,午後から参加。その午後のセッションも10分弱遅刻。それにしても、京
浜蒲田駅前の踏切,単線なのに往復待ちというのがスゴイ。
午後一のセッション,どうやら部屋を間違えたらしい。「PHP Framework
Update」を聞くつもりだったのが「マイクロソフトの次世代Webテクノロジー徹
底解説」のセッションの部屋に入ってしまった。もう講演は始まってるので仕方
なくそのセッションを聴くことに(苦笑)。でもとりあえずPHPにも多くのフ
レームワークがある,ということを知れば十分かもしれない,すでにあるシステ
ムの保守にフレームワーク導入,と言う訳にも行かないのだし,新規システムは
JAVAなんだから。
その「マイクロソフトの次世代Webテクノロジー徹底解説」、話者はもちろん
MSの人だが,PHPerにも分かるようソフトな話者であった。結論を言えば,
「IISはもうだいぶ枯れてますよ,インターネットサーバとしても使い物になり
ますよ」と言うお話。実際,Apacheのシェアも落ちてるんだそう。
と言うことで先ずはこうした講演のツカミとして,IISシェアの伸びを示す数
字的なネタ出し。最近は年2〜3%のペースでApacheのシェアを喰っているそ
う。
+−−−−−−+−−−−−−−−−−+−−−−−−−−−−−−+
| PHP |サイト全体:34% | 開発者全体:31% |
+−−−−−−+−−−−−−−−−−+−−−−−−−−−−−−+
|Web Server | Apache 48% | IIS 34% |
+−−−−−−+−−−−−+−−−−+−−+−−−−−−−−−+
|クライアント|LINUX 0.5%|MacOS 2〜8%|Windows 90%以上|
+−−−−−−+−−−−−+−−−−−−−+−−−−−−−−−+
まぁPHPの世界ではLAMPなんて言われてるけど,現実にはLinuxなんてほんの一
握り,Windowsが大半なのでWindowsでWebサーバーを。と言うことでWindows上の
Zend Core(Web Server+PHP+DB環境構築アプリ)の紹介。当然ORACLEも使用可
能。
特に話者はFastCGIについて説明。CGIは都度PHPインタープリタが起動されて
重いし,かといってIISとPHPをくっつけるISAPIのやり方も密結合過ぎて不安
定。とりあえずISAPIに比べても速度は遜色ないとのこと。
さて15:00からのセッションは「PHP at Yahoo! JAPAN」、今日の目玉と言って
もいい、ヤフー!がPHPをメインweb言語としているのは知られているところだ
が,その開発内情を披露するのは日本では初のことであるらしい(本国アメリカ
ではすでにあるようだ)。ここで真先ずは数字的ネタだし。
Yahoo! JAPANのアクセス数:13億PV/日
トップページだけでも毎日1億8千万のアクセスがあると言う。さすが日本のイ
ンターネットを牽引するサイト。有料ユーザのID数約2,000万、サービスは14
0。
+−−−−−+−−−−−−−−−+−−−−−−−−+
| サーバ | Filo Server | Apache(1996) |
+−−−−−+−−−−−−−−−+−−−−−−−−+
| DB |フラットファイル | MYSQL(1999) |
+−−−−−+−−−−−−−−−+−−−−−−−−+
| 言語 |yScript | PHP(2002) |
+−−−−−+−−−−−−−−−+−−−−−−−−+
1994年のYahoo!創業時は左側の環境であったのが、徐々にオープンソースに流
れていった様子を表にまとめる。OSはFreeBSD、すなわちヤフー!は原則FAMPの
環境(ただしORACLEも使ってるし,OSはヤフー!使用にチューニング,その他独
自技術多数)。
気になるのはPHP選択の理由。
・動的コンパイル
・国際化
・オープンソースコミュニティ
・トレーニングコストが低いこと
国際化なんてのはオープンソースじゃないと難しいよね,MSが中央アジアの
少数言語なんかに対応する訳はないのであって,国際化にこそオープンソースの
強みがあると思う。日本も例外じゃなく,MSはShift JISにしか対応してない
訳で(むろんIEは対応してますが)。トレーニングコストを重視する理由は,彼
らがSIerではないから。彼らはホームページ屋である、ページデザイナーは開発
のプロである必要はない。
PHPは主としてビジネスロジックに使用,コアロジックはC/C++を使用。プラッ
トフォームはほぼ./configure --disable-allで使用していると言う。
ライブラリにはおなじみPEAR,PECLに加え独自エクステンション。
セキュリティは1.開発ルール、2.プラットフォーム整備で対応。
気になるPHP5対応,Yahoo!にもPHP4はかなり残っているようで,今年中に5.2
へ移行すると言う。1時間のセッションでは詳細には触れなかったが,開発者日
記がブログにあるかもしれない。
XSS脆弱性検索ツールにScanmusというのを使っているらしい。独自ツールのよ
うにも見えるが,固有名詞を出しているのだからオープンソースとして公開され
ているか?
セキュリティ上の設定として,
・open_basedir設定
・allow_url_fopen, allow_url_include = off
・safe_mode = off
・display_errors = off
・log_errors = on
・error_reporting = E_ALL(|E_STRICT)
CSRF対策にはCrumb。
パフォーマンス向上策,opcode_cache(中間コードを消さずに常駐させてしま
う手法)
APCを採用(∵開発者がヤフー!社内にいるから)
セッションの利用は避ける=ステートレス
→暗号化しクッキーに保存+POST
国際化:UTF-8
フレームワーク:あまり使っていない(エンジニアに任せている)
内製、Smarty不可、一部symfony使用
最後はライトニングセッション。別部屋で「ビジネス側面から語るPHP」と言
うセッションをやっていたが,こっちを選ぶ。ビジネスシステムでPHPを使って
いるのだから後者に行くべきだが,実際問題としてPHPはもはや現行システムを
保守する目的,と割り切っている(これからはJAVAで行きたい)し、むしろPHP
の小規模開発向きの面白さを知った方が役に立ちそうだ。
実際のライトニングセッション,一人5分だからもはや政見放送状態,良い講
演も要点だけだし,泡沫候補もいたりする訳だし(笑)。でもどんな発表であ
れ,5分で言いたいことを言うプレゼン能力は見習うものがある。先ずが字がで
かい。テレビドラマみたいに,次のページは一体何?と観客を引きつける話の展
開を見せるところ。モテ話なんて砕けた話題が出てくるのも,企業に属さずフ
リーで仕事を取ってるプログラマーが結構いることを考えると案外まじめに考え
るべき話題でもあるようだ。
面白かったものをいくつか。
・PEAR DB_DataObject開発ケーススタディ
PEARの開発も案外のんびりしてるものなんだな(笑)
・コードなにがし
オープンソース開発者のためのコミュニティサイト
・PHPでシェルを作る
誰かやるだろうとは思ってました(^o^) Perlでやってる人は確かにいるが,
PHPだとLTになるということはやはりマイナーなんだな,と。
全体の感想,9月に入って急に気温が下がり,会場の冷房も効き過ぎで半袖が
寒くてしんどかった。それにしても、PHP5問題は結構切実な問題だと思うのだ
が,セッションテーマにはなってなかったのが不思議である。大垣さんにしゃ
べって欲しかったなあ(って出席してらっしゃらないようでしたが)。懇親会に
出て,小山さんに質問してみる手もあったけど,冷房病で体調悪かったのでまっ
すぐ帰ってしまった。ミクシィででも相談してみようかな。