PHPcon2009ビジネスデイに行ってきた
今年のPHPconは「ビジネスデイ」と「テックデイ」と銘打って2日間に渡って開催されました。どのようにそれぞれのカラーを打ち出していくのか、というかビジネスデイをどう形作っていくのかが気になっていたんですが、結論から言うとうまくキャラクター付けが出来ていたように思いました。
まずオラクルを会場で使えたことが大きい。一般的なイベントスペースでもなく、ベンチャーのオフィスでもない場所で開催できたというだけでもかなり違う。想像以上に格調高いオフィスで、進行のお姉さんも別の世界の人のようでした。電源の説明してる時に「おコンセント」って単語が飛び出しりするんだもん。どこまで丁寧なんだ!
スタッフ陣もそれっぽい格好で、(心なしか緊張気味だったような…)いい顔してました。PHPは良くも悪くも他のLLに比べてGeek色が薄いので、それをいい方向に活かす試みとして非常に大きな意味のある一日だったと思います。
会場もPHPconはもちろん、勉強会の類に参加したことがないという人が多数いて、普段のイベントとはかなり違う空気でした。スーツ率も高かった。そういう人達の感想ってネットではなかなか拾えないのでフィードバックを得づらいけど、どうだったんだろう。お約束的なネタで笑える層とそうでない層の受け取り方の違いというのは気になる。
そんな中、各セッションの終了から最大遅延3分という前代未聞のスピードで、id:riafが(id:wozozoも?)レポートを上げてくれました。
なので概略は飛ばして、個人的な感想だけ細々と。
最初の3セッションがCMSの解説。全般に言えるんだけど、PHPconでやるんだから技術的・内部的な話をして欲しかった。ビジネスデイだからこれでいいのか? とも思うけど、個別のCMSの機能とかそんなに興味ないし、そういう使う側視点での話はCSS Niteとかの方が発達してる。まぁ、来る人の層が違うだろうから、これはこれで有意義だったのかな。とは言え、技術的な話は質疑応答で出てきて初めて語られる感じだったのは残念。
■WordPress
WordPress.comは当然WordPressで作られてる。負荷対策が気になるところだけど、ふつうにmemcached使ってるらしい。
Web制作系の人達の間では「再構築に時間がかかるけど表示が速いMT」「再構築いらないけどアクセスが多いと使えないWP」という評価が定着してるようなので、memcached対応はWordPress本体に組み込んだらいいのになぁと思った。
もちろん一般的なホスティングサービスではmemcached使えないだろうけど、「入れれば快適に使える」ってだけでかなりのウリになるはず。
※追記:「memcachedじゃなくてSuperCacheじゃないの?」というツッコミをもらいました。WordCampでアメリカのでかい新聞社のサイトをWPで構築した時にそれで大量のアクセスをさばいてる話があったとか。質疑応答の時にちょろっと出た話なので聞き間違えたのかも。エンジニアの人のプレゼンではなかったので、そのあたりあまり明瞭な回答ではなかったことも付け加えておきます。なお、SuperCacheってのはWPのプラグインらしい(初めて知った)
■EzPublish
具体例として、http://www.elle.co.jp/=title:ELLEの導入事例が紹介されました。日本だけじゃなくて、USとかフランスとか各国のサイトをこいつで統括管理してるらしい。リッチなコンテンツを頻繁に更新できるようになったことでアクセス数が10倍になったとのこと。各国合計で月間2100万PVぐらいらしい。
Wordファイルを取り込んで、そのままWebページとして公開するデモはすげーなと思った。変換も速かったし、確かにこれは使われるだろうなと思わせるだけの説得力がありました。
■Oracle
「MySQL使ってる人どれぐらいいますか?」→「Oracle使ってる人は… 1/8ぐらいですね。聞かなきゃよかったかな…」萌えす
「Oracleは高いイメージがあるかも知れませんが、安いのもあるんです」→「63万円から」のスライドに会場沈黙
(追記:一応フォローしておくと、63万安いだろ?って感じじゃなくて、半ばネタ気味な提示でした。「スベりましたね…」って言ってたし。まぁ確かに完全にスベってたけど)
「Oracleはインストールや管理が難しいと言われますが、GUIで簡単にインストールできます」という発言に世界の違いを思い知らされた。GUIですか。
そう言えば、PHPconとは関係ないけど、DBD::Oracleのインストールにはめちゃくちゃ苦労させられた苦い思い出があります(結局使わなかったんだけど)。Perlのことはサポート対象としては考えられていないっぽいので仕方ないっちゃ仕方ないのかね。
最近はOracleXEって無償版があるらしくて、日本ではあまり前面に出してないけど、海外ではかなり力を入れてるらしい。そんなのあったんだ、と思って後で見てみたら、10gの無償版がそれにあたるらしい。正しくは、10gに限らず「Express Edition」を略してXEと呼ぶらしい。てことは結構前からの流れなのね。
XEは1CPU、メモリ1GB、DBは1つだけで、データも4GBという制限があるらしい。この環境だとMySQLなどの無償で使えるDBに対して、正直なところこれといったアドバンテージは無いように思える。上位のプロダクトへのアップグレードが可能というのはもちろんあるだろうけど、それが想定されるプロジェクトなら最初から予算取るだろうし。
DBサーバの仮想化に対して力を入れて取り組んでいるらしく、Xenベースの「Oracle VM」ってのがあったり、EC2用のOracle XEのインスタンスを3種類提供しているらしい。EC2と組み合わせて使うってのは面白いかも。クラウドでのライセンスサポートもちゃんと考えてるらしく、そのあたりへの対応は積極的なようだ(詳細は元々を知らないのと時間的にそこまで取れないのでよく分からない)。
EC2をインフラとして使うということは、物理的な堅牢性という意味ではOracleである「安心感」みたいなアドバンテージは無くなるようにも思えるのだけど(MySQL動かしても同じじゃね?)、そのへんどう考えてるのかな。「論理的な堅牢性がより重要になる」みたいなアピールをしてるんだろうか。
あとは、Oracle CoherenceというOracle用のmemcachedみたいなのがあるらしく、詳細までは触れる時間が無かったけど興味を惹かれたので軽くググってみたら、こんな記事があった。
- インメモリ製品「Oracle Coherence」、証券システムに採用 − @IT
- @IT Special PR: 複数のメモリ空間を横断的に統合する“ミドルウェア・データグリッド”の先進的テクノロジー
「memcachedみたいな」って例えはかなりデフォルメした説明っぽい。まぁ、そもそもmemcachedって汎用のキャッシュシステムだから、Oracle用って時点で同じ物ではないよね。ざっと目を通した感じではトランザクションもサポートしてたりDBクラスタの制御なんかも受け持つ、かなり大規模な物のよう。
自分で使うことは恐らく無いだろうけど、yodobashi.comの商品検索に使われてるらしく、知らないところで恩恵は受けていたらしい。ヨドバシのシステムってリニューアルでクソ重くなって大不評だったんだけど、最近また変わってレスポンスが異常に速くなってびっくりしたばっかりだったので、自分的にはタイムリーな話題でした。
Oracleというとお堅いイメージが強くて、サポートも「有料なのにテンプレ対応しかしてくれない」みたいな話を聞いていたけど、このプレゼンは非常に軽妙で面白かったです。正直かなり意外だった。
■GREE
「PHP」という単語が一切出てこない、完全なビジネストーク。一言でまとめると「GREEはこうして成長しました」というセッション。「ビジネスデイ」というからには、こういうセッションもあるだろうとは思ってたけど、本当に完全無欠にビジネストークだったので、もうちょっとバランスは取った方がいいかなという気もする。
それならそれで、もう少し突っ込んだ話が聞きたかったけど、こういう場で代表が出てきて話をするからには完全な「外向け」のトークに終始してしまうんだろうな。
■45分で分かる、安全なWebアプリケーション開発のための、発注・要件・検収
安心の徳丸ブランド。当日の資料も既にアップされてます。
- ダウンロード - PHPカンファレンス2009 ビジネスデイ 講演資料
- HASHコンサルティング徳丸浩の日記 - 9月4日 PHPカンファレンス2009 ビジネスデイで発表しました - 発注者のためのセキュリティ(追加しました)
ビジネスデイということで発注者向けの内容と、「と言っても今日ここにいらっしゃる皆さんは開発者の方が多いと思いますので」開発者向けの内容でうまくバランスを取ったプレゼンは流石。
発注側に向けた内容の主なトピックは以下。
- 脆弱性の責任は発注者側にあるという認識が一般的になってきている
- 発注者には「安全なアプリを作らせる義務」があるという認識が進んでいる
- セキュリティ要件をシステム仕様としている場合は瑕疵となる
- もちろん内容は「セキュリティホールが無いこと」のような物ではダメ
- お勧めのRFP、基本は提案してもらう
- 開発体制、セキュリティ的な機能の提示を求める
- セキュリティ検査にパスできる根拠を説明してもらう
- セキュリティ検査結果を納品物として必須にする
- 発注側にも知識が必要である
- 予算に余裕があれば第三者に依頼
この中で気になるのは、適切なセキュリティ要件が示されていた場合、セキュリティ上の問題を瑕疵として扱うというもの。経産省の意向であって、徳丸さんの見解とは異なるとのことでしたが、この部分はもう少し深く聞きたかった。実情を鑑みると、IT業界、とりわけ多重発注を前提としたSIerの世界では、このようなガイドラインは下請けいじめにつながることが懸念されるが…
そして、開発者に向けた内容としては以下のような流れ。
- SQLインジェクション、XSSは今となっては「バグ」と言っていいだろう
- 脆弱性対策は開発標準に盛り込むのがよい
- 開発基準のレベルが発注に影響すればエンジニアにもプラス
- IPAのあれとか薄くて現実的な物から始めよう
- htmlspecialchars
- なんであんな長いんでしょうねぇ
- プレゼンの場でまごつかないよう、打つ練習してる
- Web健康診断
- 往々にしてこういう委員会ってのは仕事しないもんですが、ここは例外的に異常に仕事してます。何故かと言うと…
- 委員に「高木浩光」の名前が
- 高木先生を納得させる内容でなければいけなかった
やはり注目すべきは「htmlspecialcharsのタイピング練習をしている」というくだり。釣りだと分かっていても食いつかざるを得ない。
初めて聞く内容では無いものも多いのに、それでも引きつけられてしまうあたり、本当に講演がうまい。
あとは、最近はSQLインジェクションの検査にORではなく、正しいパスワードを入力した上でAND 1=1を使うらしい。なんでだろう。その方が検査のスコープを絞り込めるって判断なのかな。
せっかくだから、セッション中で紹介されてたドキュメントのまとめ貼っておきますね。
- 情報処理推進機構:情報セキュリティ:脆弱性対策:安全なウェブサイトの作り方
- 発注者のためのWebシステム/Webアプリケーション セキュリティ要件書|脆弱性診断.jp
- ウェブ健康診断 - 財団法人 地方自治情報センター(LASDEC)
軽く済ませようと思ったけど、書いてみたら結構なボリュームになってしまった。テックデイは参加者も多かったし、レポートもたくさん上がるだろうから、もっと軽く書こう…