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問題は結構切実な問題だと思うのだ
が,セッションテーマにはなってなかったのが不思議である。大垣さんにしゃ
べって欲しかったなあ(って出席してらっしゃらないようでしたが)。懇親会に
出て,小山さんに質問してみる手もあったけど,冷房病で体調悪かったのでまっ
すぐ帰ってしまった。ミクシィででも相談してみようかな。