今日は、昨日から開催されている「PHPカンファレンス2010」に参加してきました。いわゆる”開発者向けカンファレンス”に参加するのは9年前に会社の出張でJavaOneに参加した時以来です。
内容の詳細はここや有志の方々のブログやTwitterで公開されているのでそちらを見て頂くとして、自分なりの感想をつらつらと。
基調講演
PHPの生みの親であるRasmus Lerdorfさんが登壇。PHP1の頃から現在までの歴史や、現在の最新バージョンで提供される新機能をご説明されました。その中で、名前空間のデミリタ(バックスラッシュ/円記号)になった理由とコンストラクタがクラス名と同じメソッドから__constructになった理由が興味深かったです。
フレームワークアップデートLT(Lightning Talks)
次は国内でよく使われている代表的なPHPフレームワークの状況を順番に5分程度で語るコーナー。ここではPHP5.3専用フレームワークであるLithiumの1.0がもうすぐ出る事を知りました。
HiPHoP for PHP
昼休憩を挟んで、今度はFacebookの中の人であるScott MacVicarさんからPHPのソースをC++に変換して実行するHiPHoP for PHPのお話がありました。個人的には発表当時PHPアクセラレータと比較してどうなんだろう…と眉唾だったのですが、アーキテクチャの説明や実際の動作デモを見て考え方が変わりました。
Microsoft ♥ PHP ~ 2nd Stage ~ WebMatrix登場!
こちらはイメージとしては珍しい?Microsoft社によるPHPへの取り組みの説明と、提供中のソフトウェアであるWeb Platform Installer(Web PI)とWebMatrixの動作デモ&ご紹介。両ソフトウェアの簡易さはさすがMicrosoftといった感じでした。
文字コードに起因する脆弱性とその対策
SJISの5c問題やUTF-7などを利用して、実際に脆弱性が発生するデモとその原因の説明を行うセッション。”プリペアドステートメントを使っていれば安全”と思っていた自分にはちょっと衝撃的な内容でした…勉強しなおさなければ!
PHPストリーム概説
PHP4.3から提供されているストリーム機構の説明。ストリームフィルタやストリームラッパーをそれぞれUNIXのパイプやリダイレクトに当てはめて分かりやすくご説明されていました。cURLが入っていない環境でPOSTメソッド利用やプロキシ経由でのアクセスでいつも重宝しております。
新潟アクセス修飾子のご提案
パンフレットの説明ではどういう講演なんだろうと思っていたのですが、PHPクラス(や他の言語でもそうかも)のアクセス修飾子であるpublic/protected/privateに加えて新しく”読めるけど書けない”niigata修飾子を言語仕様として組み込むまでの過程をまとめたものとなっていました。「言語仕様を追加する」と聞くと相当大変そうな実装に思えますが、楽しい説明でそれを感じさせない内容でした。
PHPの中の人によるパネルディスカッション
続いて基調講演で登壇されたRasmus Lerdorfさんと日本でPHPのコミット権限を持つ方などを交えてPHPについてディスカッション。PHPの言語仕様に対する考え方やPHPのマルチバイト対応(Unicode化)について議論を聞くことができました。
ライトニングトークス
最後に、有志の方々から応募されたPHPに関するさまざまな内容を5分で発表するコーナー。10人の方から次々に発表される内容に圧倒されました!
プライベートでの開発者カンファレンス初参加とあって、マイノートPCを持ち込んだり違うベクトルで張り切っていたのですが、充電し忘れてて結局いつもの様に紙にメモっていました(汗)。いつもはWebや雑誌を見て知識を深めていましたが、こうやって自分で行って講演を聴くというのも新鮮な刺激があってとても勉強になった1日でした。