PHPカンファレンス2007メモ書きと初心者の所感(間違いがたくさんあるかな、、、迷い込んできた人は読み飛ばしてください。。。)
- ①基調講演(PHPの動向2007)
- PHP6.0のメインはUnicode対応
- Unicode対応に伴い、mb_string関数はどうなる?
- PHP4系は今年一杯でEOL(但し、致命的なセキュリティホールについては2008/8までサポート)
- PHP4→5系への以降については、特にクラス部分の記述に注意。PEARのE_STRICTとZendEngineの互換〜で移行に伴う構文チェックを行う。
- ベンチマークテストはphp_home/Zend/bench.phpで計測可能
- セキュリティに関しては「www.hardened-php.net」「www.php-security.org」の辺りを参考に。後者はユーザの注意喚起の為に、悪意のあるコードを公開していたこともあった。
- PEAR1.3もEOL。PEAR2.0に。2.0はPHP5.2以降に対応。
- PHP6.0エクステンション:MySQLND(今まではThirdPartyのライブラリのため、PHP側のみでのメモリ管理ができなかったが、PHP側のみで管理できるように組み込み)
- PHP6.0機能追加・改良:名前空間。ガーベージコレクタ。
- 所感
- 今年はPHP4→5への移行がメインなのかなぁというところもあるので、PHP6はまだまだ先の話のような気もしました。うーん、そもそもPHP4で満足してるユーザが大多数なのではないんでしょうか?わかりませんが。当初のPHP5が出たタイミングでのパフォーマンスの悪さが、移行の遅延を招いているのかもしれません。
- ②A:大規模サイトの構築・運用ノウハウ(ウノウ㈱ 尾藤さん)
- ウノウさんはBtoCメインでやっているらしい。
- フォト蔵、vpop、ポケットブレイナーあたりのサイトを構築されたようです。後で見てみます。
- 講演は、サーバの構築がメインでした。
- 内容は「http://labs.unoh.net/2006/06/post_21.html」とか「http://labs.unoh.net/2006/07/post_26.html」の内容と同じみたいです。
- 実際のパワポの画像もサイトのものと同じでしたね。。。
- ケーブル処理やサーバのラッキングとかのノウハウ。
- サーバハードウェア構成やOSはすべて統一する。
- などなど、詳しくはサイト参照。
- ZendOptimizer:コード最適化
- xdebug:プロファイラ(ボトルネック解析)
- PEAR::Benchmark: ベンチマーク
- 上の3つでphpコードを最適化しましょう。
- アクセス数が増えた際に、ハードウェアのリソース追加しやすいような設計を構築時におこなう。
- DBは更新系クエリと参照系クエリに分け、JOINは使わない。
- JOINをつかわなかったら、RDBMSの意味が無い?
- 監視ツールはNagios,Cactiとか、一般的なやつ。
- 所感:
- ネットワークのあたりは、私が前の会社でやっていた内容のほうが良くできていましたね(笑)。業界が違うとこうも違うのかと思いました。おもしろかったです。あと、最近Nagiosを会社のサーバたちに入れて監視し始めましたが、やはりメジャーなソフトだったみたいです。Muninも入れたのですが、こっちは話には出てきませんでしたね。。。個人的には、DB系をもっと勉強しなきゃです。
- ②B:大規模サイトの構築・運用ノウハウ(GREE㈱ 藤本さん)
- 所感:
- ③PHP Framework Update
- ③A:symfony
- ohloh.net---グラフ化サイト。後で見ます。
- zend frameworkも使用可能。
- 日本では9サイトしか使われていない(!?)
- ③B:Cake PHP
- ③C:Piece Framework
- ③D:Ethna
- 所感:
- symfonyは良くわかりませんでした。yahoo(inc)に開発者がいるらしく、yahooでは使われ始めているらしいのですが、、、。
- Cake PHPは使いやすそうですね。導入も楽だし。ちょっとさわってみたいです。ページングの自動生成とかはよさげ。
- Pieceはおもしろかった。GUIで記述してそれが自動的に生成されるのはすごいと思いましたね。ただ、毎回あんな風に図示したら結構面倒かなぁというのもあるにはあるのですけど。開発環境にも踏み込んでいるというところが画期的ですね。
- Ethnaは悪いところしか言ってませんでしたが、日本で一番普及しているので勝者の余裕が出てたでしょうか(笑)。ただ、流れ的にPEAR依存は確かにちょっと頂けないですね。あと、DB周りとかAjax周りを何とかって感じですか。でも使います。
- ④PHP at Yahoo!JAPAN
- 以前のイタリア講演の日本語訳だそうです。
- これですね。http://www.sooey.com/journal/2007/05/26/648/
- yahoo incにphp,pecl,symfonyの開発者がいます。
- www.php.netもyahoo incが提供しています。
- OSはFreeBSDを使用。ミドルウェアはApache,MySQL,PHP。Oracleも使ってるそうです。
- 汎用的なフレームワークは使ってません。
- PHPは最小構成でビルド。パフォーマンスのため。
- Yahoo JAPANもPHP4を使っているので、年内には5に移行するようです。
- 不正アクセス対策には、プラットフォームレベルでのフィルタリングを行っている。
- Scanmus:クロスサイトスクリプティング対策。Yahoo incのRasmus氏が開発。
- rasmus氏はAPCの開発にも携わっている。
- PHPエクステンションとして、CやC++で書いてPHPに取り込んでいるそうです。パフォーマンス重視のため。
- セッションは使わない。POSTでつなげるか、Cookie。これもパフォーマンス重視のため。
- テンプレート管理ツール r3をyahooで開発。オープンソース化しているみたいです。(テンプレートエンジンではなく、管理ツールだそうです。)
- Smartyもオーバーヘッドのため、使っていません。
- Yahoo!Bookmarksなどで、symfonyが使われたそうです。
- あと社内ではCVSが使われているようです。
- フレームワークは格エンジニアに任せているので、乱立しているみたいです。
- 所感:
- ⑤パネルディスカッション(ビジネスの側面から語るPHP)
- PHPの、というかWebアプリケーション開発のアウトプットとして何ができたら、技術者として合格なのか、基準があいまい。
- 資格やスキルセットの整備が必要。
- PHPは手軽にできるし、ライブラリをテキトーにコピペすればなんとなく動くのでステキなのですが、実際にハードウェアレベルでの動作を気にしなさすぎて、最近の若者はステキなコードをかけなくなっている。
- 各言語の使い分けは、フロントはPHPでバックエンドはJavaなどの使い分けをしている。
- PHP以外に取得しておくべきこととしては、Ajax、それよりもコンピュータの挙動の中身。
- つまり基礎が重要。
- エンドユーザに使い立場で仕事をするとよい。
- というか、ユーザに怒られたほうがよい。
- そうすれば自然とクオリティの高いものが出来上がる。
- 所感:
以上。落書き終わり。
いつかこれを振り返ってみるかな、、、。
偶然迷い込んできた人は、こんな初心者の所感なんて無視してください。はい。