blogPHPでWEB+DBシステムの開発をやっています。第3回CakePHP勉強会が開催されます。第3回CakePHP勉強会を開催します。CakePHPの活用事例やさまざまなネタで交流し、さらに広がるCakePHP界を盛り上げましょう。events.php.gr.jp第3回CakePHP勉強会が6/27(金)で開催されます。場所は前回と同じくトライコーンさん(いつもありがとうございます!)です。今回もyandoさんの尽力のおかげで強力な事例発表があり、かなり楽しみな内容となっています。13:00から↓のリンク先からお願いします。ここ最近PHP関連の勉強会は申込開始から数十分(!)で定員が埋まってしまうこともあるので、お忘れなく。events.php.gr.jpからどうぞ。1分16秒CakePHPアプリケーションの内容をphpinfo()風に見せるCakeInfoをCakePHP1.2-betaに対応しました。OpenFLPを表示するとこんな感じです。主な変更点は以下です。今回追加したControllerのaction_methodでは外部からアクションメソッドとして呼べるメソッドを表示しています。これを見ると公開するつもりの無いメソッドが公開されていないかを確認できるので、自作のCakeアプリにて試してみてください。[http://www.1×1.jp/blog/download/cakeinfo-0.1.2.zip]からzipファイルをダウンロードします。あとはダウンロードしたzipファイルを展開し、[cakeinfo.php][logo-mini.gif]を[app/webroot/]に設置するだけです。現在のところ設定項目は[DATABASE_CONFIG_FLAG]一つだけです。DATABASE_CONFIG_FLAGこの定数が設定されていればDatabase項目が表示されます。(デフォルトはコメントアウト)自作のアプリ以外にも、オープンソースで公開されているシステムの解析(の取っかかり)にも使えますね。PHPで書き直したという話です。先日受信したメールの内容を.forward経由でDBを保存するという処理を実装しました。ある処理なのですが、このシステムではWeb側をCakePHPで実装していたので、メール処理もCakePHPのCLI機能(cakeコマンド)を利用しました。実際に動作してみて数件程度では問題無かったのですが、負荷試験として短時間に数百件、数千件のメールを受信させると、LAが80程度まで跳ね上がりました。処理自体を見直したり、不要なSQLをカットしたりしたのですが、それほど大きな効果はありませんでした。これはフレームワークの起動に時間がかかっていると判断し、CakePHPを使わずベタなPHPスクリプトだけで実装してテストすると、同じ負荷をかけてもLAが3-4程度まで落ちました。timeコマンドで実行時間を計測しても、3-4倍の差がありました。hoge.php実はこういった場面はこれまでも経験していて、Web側では負荷が高い箇所やパフォーマンスが出ない箇所ではフレームワークを使わずに実装することがありました。CakePHPにCLI対応が含まれているとはいえ、CLI環境においてもパフォーマンスが出ないシーンでは、あえてフレームワークを使わないという選択肢は覚えておく必要があります。いったケースがあるからといって、どんなケースでもフレームワークを全く使わないというのは賢明ではありません。フレームワークで構築することには多くの利点があり、ある程度習得しているフレームワークであれば、PHPスクリプトだけで開発するよりも生産性や安定性等々で有利です。フレームワーク上で十分に性能が出ている場合はそのままで何ら問題ないです。このあたりのバランスを保つのが大事なのですが、まずはフレームワークで構築しておいて、問題がある箇所を崩していくというアプローチが単純で良いかと。今回の場合、フレームワーク上で実装していたものをPHPスクリプトで再実装したので、同じ機能をアプローチを実装しただけなので、短時間で再実装することができました。プロトタイプ的にフレームワークで組むというのも良いかもしれません。CakePHPのDB設定を参照するこれに関連してミニTipsを。フレームワーク無しで実装する際でもせめてDBの接続情報くらいは共有しておきたいものです。そこで今回はPHPスクリプトから[app/config/database.php]を参照するようにしました。app/config/database.phpの情報からDBに接続する。1分27秒Twitterで一番followされている人は誰でしょう?そんな時便利なのが、Twitterユーザに関する情報を表示してくれるTwitDirというサービスです。このサイトではキーワードによるユーザ検索がメインのようですが、ユーザのランキングが公開されており、これがなかなか面白いです。ランキングには以下のものがあります。Top100冒頭の疑問ですが、followされている人Top100を見ると、@leolaporteがFollowers:29,763でトップでした。macrumorsでも15,879になっています。ここまで来ると”つぶやき”では無いですね;-)他のランキングを見てもTop10には日本語ユーザはほぼ見当たりませんでした(botを除く)。その中で異彩を放っているのがお気に入りTop100です。日本語ユーザだらけ:-DTop100まで見てもほとんどが日本語ユーザでした。これは間違いなくふぁぼったーの影響かと。ちなみにこのサイトでは↓のようにTop10/100/1000に入る閾値が表示されています。followersでTop100入りするには3,586ユーザにfollowされる必要があります。ランキング上位を狙う人は目安にすると良いでしょう。ZONEでPHPコミュニティのTwitterアカウントが紹介されています。リストに並んでいるのはPHP本家の人や海外の人ばかりだったので、日本のすごいPHPerのTwitterアカウントを並べてみました。人)@suzuki(メールの人)@takagi(phpdocの人)@tsukimiya(symfonyの人)@yando(CakePHPの人)@yohgaki(セキュリティ、PostgreSQLの人)@yonekawa(S2*.PHP5の人)@yudoufu(symfonyの人)他にもTwitterアカウントが分からない人(この人とかこの人[@masugata?]とか)やリストに入っていない人、是非教えて下さい。:-D追記(2008/05/04):@kensuuと僭越ながら@shin1x1を追加。追記(2008/05/09):@mumumuと@masugataを追加。