Home > PHP > 第五回CakePHP勉強会に行ってきた

第五回CakePHP勉強会に行ってきた

  • 2010-05-30 (日) 4:00
  • PHP

第五回CakePHP勉強会に行ってきました。
以下、覚書の印象に残った事柄を抜粋して書きます。

内容

// {{{ 特報目玉イベント2010 安藤さん

海外からスカイプを通してのプレゼンです。
今年のCakeMatsuriの紹介をしてくれました。
発表のスライドショーです。http://www.slideshare.net/yandod/20100529-phpday

オールナイト!!!!!!!
朝9時から翌日5時まで
講演スペースと開発スペースが用意される?各自開発するスペース
未発表作成・機能のコンテストを開催
開発タイム終了後いデモを実施
作業スペースは終夜可
レクレーションやイベントを開催予定
Litiumの思想をセッション
ワークショップ
入門者向け、中級者向け、Litium入門者
プラグインライブラリ賞
wordpressやsymfonyでも
ハッカソン賞
イベント開始後にテーマに沿って開発
ドキュメント賞
ベンチマークなどなど
協賛して頂ける企業を募集
コンテスト各賞のスポンサー
ディナー協賛などなど
運営スタッフ募集

かなりおもしろそーー!!!!!
twitterの方で情報が流れます。@phpmatsuri
// }}}

// {{{ CakePHP 1.3 Stable cakephperさん
発表資料です。http://www.slideshare.net/ichikaway/cakephp-tokyo5

1.3の新機能

Routes
Prefix Routing
Adminルーディングと同じ扱いに
RouteClass
ルーティング処理マッチング時に自作クラス呼び出し
DBの値を見てマッチング処理を行う
→例1:該当のslugがDBにあればroutingする
→例1:urlの一部変更でリダイレクト

config/routes.php

App::import( 'Lib', 'routes/SlugRoute' );
Router::connect(
    '/:slug',
    array( 'controller' => 'posts', 'action' => 'view' ),
    array( 'routeClass' => 'SlugRoute' )
);

app/libs/routes/slug_route.php

class Slug extends CakeRoute {

    function parse( $url ) {

        $params = parent::parse( $url );

        App::import( 'Model', 'Post' );

        $Post = new Post();

        $count = $Post->find( 'count', array( 'conditions' =>
            array( 'Post.slug LIKE ?' => $params['slug'] . '%' ) ) );

        if( $count ) {
            return $params;
        }
        return false;
    }
}

Virtual Fields
DBカラムを仮想定義して、Fieldとして扱える
詳細:http://book.cakephp.org/ja/view/1608/Virtual-fields
  ;http://d.hatena.ne.jp/hiromi2424/20100204/1265274976

Validation
マルチバイト対応
maxLength()などはmb_strlen()を使用
mb_strlen()が定義されていなければマルチバイトクラスのMultibyte::strlen()を利用
国別のルールを適用
Phone, postcode, SSN
例;日本のpostcodeなら222-3333というルール
→例あるからスライド参照しろ

// }}}

// {{{ Ktai Library on CakePHP1.3 MASA-Pさん

ライブラリクラスの分割
絵文字や機種情報なとをすべて読み込むとメモリを消費するので
→サブクラス化して必要なものだけ読み込むようにした

絵文字コンバートルーチンの改良
絵文字総当たりで置換していたためとても重かったためアルゴリズムを改良
異なるエンコーディングへの変換の場合に
絵文字のキャッシュ機能を付加

IPアドレスによるキャリア判定を搭載!!!!!!!!!!!
ユーザーエージェント偽装によるアクセスを対応

// }}}

// {{{ コアライブラリのエレガントなハック hiromi2424さん
http://github.com/hiromi2424/hack_plugin

どうしてハックするの

アプリケーションポリシーの埋め込み
sessionハイジャック対策でlogを吐きたいときなどなど

どうやってハックするの
エイリアスみたいにマップされたオブジェクトを置換する

マップングされたオブジェクトの置換
Component::_loaded[ $key ] // $keyにくるのはコンポーネントの名前
オブジェクトへのリファレンス
フックするタイミング
initialize()

init() ←オブジェクトのマッピング
initialize()←プロパティなどの設定
startup()←staring process処理を開始

// }}}

// {{{ twitterとcloud serverとcakeで新規サービス 谷井さん
スライド:http://docs.google.com/present/view?id=d4b7q8p_21cq5hkjg8

twitterアプリの問題
APIの返事が遅すぎる

1時間に150回制限
oauthを使う
APIの返事が遅すぎる
twitterのデータをDBに保存してキャッシュすればいけんじゃない?

rackspaceはいい
スケールの設定
DNSの逆引きができる

負荷対策
apatchの設定
MaxClient 150 → 1000
MaxKeepAliveRequests 100 → 20000

mysqlの設定
my.cnfをいじる
[mysqld-5.0]
max_connections=450
thread_cache=450
key_buffer_size=10M
// }}}

以下LTです
「WordPressの中でCakePHPを使って連携する」
スライド:http://www.slideshare.net/karadweb/cakephp-and-wordpress
おもしろい。自分でも動かしてみようかな。

「CakePHPでjQueryを使ってみた」
http://github.com/nano-eight
スライド:http://www.slideshare.net/nanoeight/cakephpjquery-4357936
素晴らしすぐる!jQueryのプラグインをヘルパーで利用できるようにする。
使わせてもらいます!

「CakePHP tips for mys next project」
スライド:http://bit.ly/9yFAps
参考になるサイトを紹介してくれました。

「あのCMS eZ publishをCakePHPのModelにしちゃう」
スライド:http://prezi.com/ugsu8hwgypud/datasource-for-ez-publish-in-cakephp/
eZ publishとCakePHPの連携方法です

実”戦”CakePHP Plugin」
スライド:http://www.slideshare.net/k1LoW/cakephp-plugin-4364102
pluginの紹介でした。

所感

自分的にはKtai Libraryがip addressチェックを実装してくれていることがうれしいですね。
jQueryプラグインをヘルパーで吸収して利用出来るようにしたnano_eightさんのサンプルとソースはかなりそそられます。
「勉強会は懇親会が本番です。」こういうふうに言う勉強会は珍しいですよね。
運営者が勉強会を運営するにあたって大切にしていることが、勉強会で出逢う人との「つながり」だそうです。
やはり運営にそういう意識があるからなのか、アットホームな勉強会になりとても楽しいものでした。
この場でお礼申し上げます。運営者の皆様、また発表者の皆様ありがとうございました。

話は変わりますが、勉強会で全員にプレゼントされたマシュマロです。http://twitpic.com/1s1rmx
かわいいですね。

ではでは

Comments:0

Comment Form
Remember personal info

Trackbacks:2

Trackback URL for this entry
http://blog.cypher-works.com/wp-trackback.php?p=1159
Listed below are links to weblogs that reference
第五回CakePHP勉強会に行ってきた from CYPHER-WORKS(コピペプログラマから書けるプログラマへ)
pingback from Tweets that mention CYPHER-WORKS(コピペプログラマから書けるプログラマへ) - 第五回CakePHP勉強会に行ってきた -- Topsy.com 10-06-02 (水) 1:21

[...] This post was mentioned on Twitter by cakephper and R0zette, tikitikipoo. tikitikipoo said: ブログ「第五回CakePHP勉強会に行ってきた」http://bit.ly/be2Otw #phpstudy_95, #cakephpstudy [...]

pingback from 「CakePHP勉強会@東京5」報告 | ECWorks Blog 10-06-02 (水) 5:22

[...] ▼第五回CakePHP勉強会に行ってきた(@tikitikipoo) http://blog.cypher-works.com/?p=1159 [...]

Home > PHP > 第五回CakePHP勉強会に行ってきた

Search
Feeds
Meta

Return to page top