第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バッジをもらいました。カワユス。
いやー、毎回盛り沢山ですごいですね。
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アプリケーション開発 (単行本(ソフトカバー))