Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

イベント 技術情報

CakePHP勉強会第4回@Tokyo:参加レポート

投稿日:


CakePHP饅頭
第4回CakePHP勉強会@Tokyoに参加してきました。
第4回CakePHP勉強会@Tokyo
cakephpstudy on USTREAM: . Conference
今回、勉強会としては初めて懇親会まで参加できたのですが、帰りの電車がやばくなってきたのでLTを全部聞き終えたところで退散しました。ただ、もともと興味があったところや、全く知らなかったノウハウなんかも満遍なく聞く事ができたので有意義な時間を過ごさせてもらいました。
「レポート書くまでが勉強会」って事で、メモをちょっとだけリライトして書いてみます。(長いよ)
※リンク等はあとから補足します。

candycane(yandodさん)

第4回CakePHP勉強会@Tokyo無事終了 – yandodの日記

いきなり「秘密の饅頭」配布w
candycane
クリスマスの飴が由来(Cakeから連想で)
誰でも使えるBTSを作りたかった
redmine(RoR)からの移植
始めは忠実に移植していった
CakePHPらしさも取り入れつつ
簡易調査(redmineって知ってる?)
グー :redmine使った事ある
チョキ:redmine知ってる
パー :redmine知らない
グーとチョキがほとんど。認知度高い
最近、日本で人気沸騰
でも、Railsインストールしないといけない
そもそもBTS自体が小難しい
→PHPで作ってみようジャマイカ
PHP化すると
インストールが簡単
Railsいらない
ビギナーでも設置して使えるBTS
BTSのキラーアプリになる!?
CakePHP製の代表的なアプリケーションになれるのでは?
Tracも認知度が高い
世界では、Trac優位。だけど未だにMantisとか人気
ロシアでもredmine人気
candycaneをどうしたいか
WordPress、Pukiwiki、XOOPS、phpMyAdmin
これらの共通項は・・・
インストール簡単
PHPバージョンや拡張に依存しない
他の手段があっても便利だから使ってしまう。
PHP以外の言語のユーザーも使ってしまう(Railsユーザが全員tDiaryつかってるわけではない)
誰にでも使える課題管理システム
コマンドなしでインストール
PHP4でも動かす
Redmine+オリジナル
Pukiwiki記法をサポート(yandodさんがそうしたかったw)
歴史
2009/02/某日:yandod思い付き、iogi名前を決める
2009/03/01:開発合宿準備
2009/03/21:thechaw.comへ最初のコミット
2009/04/某日:開発合宿
メンバー
yandod
halt(アカウント、認証)
k-kishida(チケット更新系)
akiyan(チケット参照系)
nazo(プロジェクト関係)
hnw(wikiモジュール)
kaz29(ニュースモジュール)
suzuki(管理画面系)
shin1x1(チケットのサマリ画面)
i_ogi(ゴットファーザー)
開発合宿
2泊3日 18000円
15名
合計6時間くらいしか寝てない。地獄・・・
コミット量すごい
やってみて
Rubyのmix-in
redmineの積み重ねて来た更新で統一性ない
国際化はGlocを使っていた→gettextに移行?
ロードマップ
フェーズ1
基本機能
フェーズ2
リポジトリ
プラグイン
フェーズ3
普及期
要望とか
αテスター募集
画面のURLなどはなんとなく自重
ここで饅頭の謎が明らかに!!
デプロイ
capistrano使っている
gitリポジトリからアップデート→本番に上げるとかを自動化
デプロイの実演も成功
コード本体も近日公開します。
▼Q&A
ソースはいつ見れますか?
認証付きのリポジトリにあるのでまだみれない
公開と同時にアクセスできるようになるはず

仕事でTracは使っているし、Redmineも調査目的でインストールして触ってみたけど、どちらもインストールの難易度という意味ではかなり敷居が高いんですね。
BTS(ITS)は実はリテラシーの低い人や新米プログラマーにこそ使ってほしかったりするのですが、その辺の敷居の高さがネックになる事は良くある事です。
本当にcandycaneはヒット間違いなしとみているので期待しています。
アーンド、テストサイトも教えてもらったのでちょっと触ってみようと思います。

Ktai Library(MASA-Pさん)

【CakePHP】第4回CakePHP勉強会@Tokyo無事終了! | ECWorks Blog

携帯サイトを高速開発するためのライブラリの話
自己紹介
フォーラムとかにも良く顔出してます
SmartyView, Tplcutter
CakePHP歴:1年半
10月に会社をおこすらしい(パチパチ)
Ktai Libraryとは
「どのキャリアでも一つのビューで表示する。」(重要)
必要コード・ビューが減り開発期間短縮
SEO的に有利になる(かもしれない)(→根拠は?)
メリット
ビューが少なくなるので更新漏れがなくなる
確認作業時間も確実に減る
実機確認は減らないがそれ意外の確認作業がへる
Ktai Libraryで何が解決できる?
各キャリア対応で問題になる4大要素
セッション/絵文字/画像/メール
セッション
ドコモはクッキーに対応していない
リダイレクトでセッションが切れたり
paginate等でnamed paramを使うとSIDが自動付加されない
絵文字
絵文字コードが各キャリアでバラバラ
文字エンコーディングを切り替えると文字化ける
エンコーディングをまたいでも大丈夫
afterRenderのあとの出力をまとめて変換するオプションもある
TypePad画像絵文字を取り込むこともできる
画像
SBの高解像度携帯で画像が小さくなってしまう(VIELA携帯とか)
絵文字が存在しない場合に使う絵文字画像も小さくなってしまう。
スクリーンサイズが小さい機種でも不具合
HTMLHelper::imageみたいな呼び方でOK
メール
SBのmailtoをurlencodeするとか
iPhoneのmailtoは\r\nだけurlencodeするとか
Ktai Libraryのインストール
チュートリアルはブログで公開されている
cakeのフォルダに入れるだけ
app/config/routes.php
named parameterを「:」から「~」に変えた
app/controllers/app_controller.php.ktai
app_controller.phpを設置
既存のapp_controllerがある場合はオーバーライド部分だけをコピペ
app/controllers/*_controller.php
Ktaiコンポーネントを呼び出すだけ
view
CakePHPの標準関数のような感じで呼べる
ktai->image()
ktai->link()
今後
メール関連強化(デコメール、空メール)
IP制限機能とか
ドコモのブラウザ仕様変更(!)
javascript対応
COOKIE
・・・
困ってます

期待のKtai Libraryを、出来る事から使い方まで説明されていました。
ボクも楽したい・・・から携帯開発ではうまく使っていきたいなぁ。

極める routes.php(akiyanさん)

極める routes.php (CakePHP 1.2) : akiyan.com

akiyan
akiyan.com
スライドは公開されるのでメモしなくてもOK
いえいえ、メモりますとも
URLを自由に作れるようになれます!
routes.php
ルーティングするもの
app/config/routes.php
記述順で上から検索してURLパターンマッチした設定が適用される
基本:静的
:action
アクション名が代入される
paramsルーティング(akiyan命名)
/member/:user_id/:action/
/member/:user_id/
URLは完全に一致する必要があります。
応用
パラメータ制約
第3引数に正規表現で制限をかける(数字だけとか)
静的パラメータをセットできる
パラメータのデフォルト値として使える
(この辺は別途サンプル必要だな・・・)
逆ルーティング
コントローラー/アクションからURLがわかる
routes.phpに書いてる設定をそのまま渡す感じ
完全一致が原則
逆ルーティングするときに静的パラメータを追加できる(!)
Paginatorにパラメータ付ける
pagnation に options を付ける(重要)
key-valueでセット
マニュアル未掲載(うそーん!)
ルーティングを色々変えていたらいつのまにかマッチしなくなった(あるある)
他のルーティングに先にマッチしまっている事が多い
* とかで設定されているrouteを疑う
制約をかけていない paramsルーティングも疑う
routes.phpのデバッグ
pr($this->params)が便利

冒頭でakiyanさんが
「rewrite使わないで、routes.phpだけで自由にURL作れますか?」という質問をされていたけど、このプレゼンの内容を把握していれば本当に大体のURLパターンは網羅できそうですね。パラメータのデフォルト値をセットできるという裏技も発見できたし(ただ、これは普通につかっちゃうとコントローラー側で、URLにパラメータ渡してないのになんでこうなる?みたいな事にならないか?)
あと、パフォーマンス面ではrewrite使うのとroutes.php使うのではどちらがいいんでしょうね。
つまりApacheモジュールにやらせるのか、PHPにやらせるのかって問題だと思うのだけど・・・超大規模システムでなければ気にするレベルの話じゃないのかもしれないけど。

LT: CakePHP1.3(cakephperさん)

cakephp勉強会@tokyo #4で発表してきました – cakephperの日記(cakePHP1.2ベース)

SQL Explain Component開発してます
CakePHP1.2
1.2.3リリースされたばかり
1.2.1のユーザは要アップデート
CakePHP1.3
PHP4,5対応
CakePHP2.0
PHP5,6対応(PHP4からの脱却)
CakePHP1.3の機能
SQL Explain 機能
Bakeの改善
JsHelper
デプロイツール
マイグレーション
thechaw.comにソース
認証鍵が必要なのでブログ参照
gitでソース落としてくる
JsHelper
複数のライブラリ使える
デフォルトJquery→prototypeとかも使える
自動読み込み
デプロイツール
コード、DB定義の更新ツール
議論されている最中
マイグレーション
Model::deleteに統一とか
del、removeはなくなる

最近、バッチ系を良く触っているのでBakeの改善とデプロイツールにwktk

LT: PHPUnderControl + CakePHP(miauさん)

CakePHP 勉強会で発表してきました – miauの避難所
特徴的なプレゼン方法で全くメモできませんでしたw
マインドマップ的なツールで目まぐるしく移動する画面…フラッシュ暗算している気分
しかし、PHPUnderControlのレポーティング機能は特に見た目が良い。
視覚化重要だなぁ。

LT: CakePHP+Image Graph(s_yo_koさん)

第4回CakePHP勉強会@Tokyo 感想 – Do you CakePHP はてな

Do You CakePHPはてなの住人です
Do You Cakeはてなの公式(w)姉妹サイト
PEAR::Image_Graph
go_pear
手動インストール
include_path配下におけばいいんじゃね?
普通にrequire_onceして動いた
空のviewを用意しないとエラー → autorenderをfalseにすればviewいらない(akiyan)

PEARとか外部のライブラリも普通に使えますね。
置き場所とか、呼び出しかたについては最後の新原さんのLTが参考になったり

LT: CakePHP ビヘイビアの紹介(syuhariさん)

CakePHP 勉強会で発表してきました | Sun Limited Mt.

Behavior使ってますか?
あんまり使われてない
モデルに機能を追加できる
使い方
$actsAs に ビヘイビア名を入れる
ユーザ情報をソフトデリート(論理削除)
Soft Deletable Behaviorというのがあった(!)
beforeDeleteで処理してくれてる
model::deleteを呼ばないようにfalseが帰るので注意
他にもPublishableBehaviorとか
Bakeryで探そう

そっか、もっとたくさん使えそうなbehaviorは存在していそうだな。
本当にBakeryでさがしてみよう。

LT: プラグイン三段活用(slywalkerさん)

第4回CakePHP勉強会@TokyoのLTで発表してきました! – 忍び歩く男 – SLYWALKER

予想通り(w)時間が押したので、懇親会でお酒が入った後に始まったLT。
関西の方で、東京初プレゼンとおっしゃっていたのですが・・・
紙芝居漫才みたいで面白かったw
内容は、Component/View/Behaviorに機能をまとめていきましょうと、Component/View/Behaviorはどんどんpluginsフォルダにぶち込みましょうというお話で、とても参考になる内容でした。
コピペすると、
「バグの数×コピペファイル数=修正しないといけないソース量」
という事になってしまうのでやっちゃだめ。

LT: 10分でできるApp::import(shin1x1さん)

第4回CakePHP勉強会@Tokyoが終了しました&発表資料 | Shin x blog

こちらも懇親会中のLTだったので、メモできていませんでしたけど。
関西人がトリに来ている場合は100%ネタが仕込んであるんですね、わかりますw
今日は話題のスポット大阪から、豚インフ(ry

App::importはrequireのパワーアップ版みたいなもん
サーチパスは覚えておいた方がよい。
第3引数で実際のファイルパスを指定できる!
Dispatcherをappフォルダ内のオレオレDispatcherに上書き可能!

Dispatcherの書き換えは、Baker騒然って感じでしたね。
自分ではこれが出来る事で便利な事をすぐに思い付かないけど。

まとめ

アンケートの提出でCakePHPバッジをもらいました。カワユス。
CakePHPバッジ
いやー、毎回盛り沢山ですごいですね。
20分枠からLTまでスゴく実践的で濃い発表が多くて大変タメになったと思います。
そして、慣れない懇親会で思ったのは「LTでも良いから発表者で参加した方が良いな」という事。他の参加者が話しかけてくれたりとかして会話がスムーズに進みそう。特に引っ込み思案なオイラは自分から声をかけるのが苦手なので…。
最後になりましたが、会場提供のグリーさんありがとうございました。
また、運営のみなさまお疲れさまでした。

参加者のエントリー

ぐさぎ どっと こむ – 第4回CakePHP勉強会@Tokyoに参加してきました
むしの手記。 » cakephp勉強会第4回に参加してきた
第4回CakePHP勉強会@Tokyoが終了しました&発表資料 | Shin x blog
CakePHP 勉強会で発表してきました – miauの避難所
【CakePHP】第4回CakePHP勉強会@Tokyo無事終了! | ECWorks Blog
CakePHP 勉強会で発表してきました | Sun Limited Mt.
第4回CakePHP勉強会@Tokyoの動画 – おぎろぐはてな
第4回CakePHP勉強会@Tokyo無事終了 – yandodの日記
cakephp勉強会@tokyo #4で発表してきました – cakephperの日記(cakePHP1.2ベース)
cakephp勉強会@tokyo #4 参加報告 – cakephperの日記(cakePHP1.2ベース)
第4回CakePHP勉強会@TokyoのLTで発表してきました! – 忍び歩く男 – SLYWALKER
cakePHP勉強会参加報告 – ふと、気づいたんだ。
第4回CakePHP勉強会@Tokyoに参加してきました – Web、只今勉強中
CakePHPを使った事が無い人は使ってみるべき – ぷぎがぽぎ
第4回CakePHP勉強会@Tokyoに参加した – Hamaco@無職の日記
第4回CakePHP勉強会@Tokyo 感想 – Do you CakePHP はてな
極める routes.php (CakePHP 1.2) : akiyan.com
2009-05-23 – LINDの喜・*・*・楽
CakePHPによる実践Webアプリケーション開発 (単行本(ソフトカバー))
4839930651

-イベント, 技術情報

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

no image

明日の時事通信セミナー:爆発するソーシャルメディアに参加します

参加費8000円のところで正直迷ってたんですが、無料で行ける事になったので行ってきます。ブログ、SNS、Second Life(セカンドライフ)、YouTubeなどなど盛り沢山ですねぇ。 ・爆発するソ …

MacBookのハードディスクを160GBから500GBに交換

今使っているMacBook(Late 2008)は2008年10月に購入したので、もう丸2年使ってるんですね。もともと160GBのHDDだったのですが、写真や動画などを保存しているとすぐに容量がギリギ …

Parallels Desktop for Mac の Windows XP を再インストールした

MacBook と共にすでに長い付き合いとなっている Parallels だが、どうもこの頃色んな面で調子が悪くなってきた。 1)そもそもディスク食い過ぎ(60GBのHDDの内、Windowsで20G …

ガンダム占い

Yahoo!占いにガンダム占いってのがあったのでやってみました。 誕生日と血液型のデータを入力して導き出す宇宙世紀型の占い……それがガンダム占いです! 統計に基づいて全人類を48種類のガンダムキャラク …

“善”意でつながるブログリレーション「zenback」

去る6/28に参加させていただいたSix Apart Media Dayでシックス・アパート社から発表された「zenback」をブログに導入しました。まだベータ版とのことで申し込み制ですが、順次アカウ …

スポンサードリンク

スポンサードリンク