【CakePHP】「CakePHP新春勉強会」に行ってきました

CakePHPの勉強会が久々にありましたので参加しました。
大規模なイベントは昨年10月のPHP Matsuri以来となりますが、当方は顔を出したものの完全参加はできなかったので、実質昨年5月以来です。

さて、今回はいつもの「Ktai Library」ではなく、CakePHPで製作されたCMSアプリケーション「BaserCMS」をLTでご紹介させていただきました。スライド(をPDF化したもの)を公開いたします。


クリックするとpdfを参照できます

Cake界隈では「Croogo」あるいはかなり前から存在している「Wildflower」などがありますが、これらは日本向けのCMSではないため、かなりカスタマイズをしないと難しい点がありました。しかしBaserCMSは日本で開発されているため作りも日本向けであり、サポートもされやすいてんがメリットです。また「コーポレートサイト」が簡単に作れるよう機能的にも的を絞っており、他の(Cake以外の)CMSと比べてもコーポレートサイト向けなら導入する価値が大変にあると思います。

当方も開発メンバーでありますが、本業が忙しくてなかなか出来ないところがあります。しかし今年はちょっとてこ入れをしていくつかプラグイン等を作っていきたいと思っています。何故なら本業でも売っていきたいので(笑)。ネタはいくつか考えていますが、一般向けのものについては是非公開していきたいと思います。

で、BaserCMSは福岡では勉強会も回数をこなしており、普及を促している方もたくさんいらっしゃるため盛り上がっているのですが、残念なことに関東では情報がやってこないためなかなか認知度がありません。なのでまずはこの便利なCMSを知っていただきたいと思い、今回勉強会を開催してみようと思っています。Cakeを日頃お使いの方はもちろんですが、特にデザイナーの方にも知っていただきたいと思っております。是非デザイナーさんをお誘いのうえ参加していただけますと大変に嬉しいです。
現時点ではとりあえず「やる」と表明しただけで、何も決まっていない状態です。現実的になってきましたら改めて告知させていただきます。また手伝っていただける方、会場をお貸しいただける方(企業)も絶賛大募集です。まずは小さくと思っておりますが、関東でも是非盛り上げていきたいと思いますのでよろしくお願いします。

…と告知が長くなってしまいましたが(汗)、勉強会そのものも大変に楽しかったです。
内容については他の方がレポートされていますし、ちょっとまとめる時間もなさそうなので今回は割愛させていただきますが、CakePHP2.0は今年の大注目になりそうですね。

2次会はカラオケボックス内でLT大会になりました(笑)。しかもそれがUstされたり!
こんな事をするのはCakeメンバーくらいかもしれません。
第2回CakePHP温泉部」をはじめ、私もいろいろと企画したいと思います。

【Ustreamによる発表録画はこちら】

http://www.ustream.tv/channel/cakephpstudy#utm_campaign=unknown&utm_source=712880&utm_medium=social

【参加された方のブログなど】

http://techlog.knocking.co.jp/archives/190
http://d.hatena.ne.jp/deeeki/20110118/cakephp_newyear_study
http://blog.livedoor.jp/hamichamp/archives/51564338.html

【KtaiLibrary】Ktai Library勉強会@東海に行ってきました!

先週土曜日は「Ktai Library勉強会@東海」ということで、行ってきました。
同勉強会は東京では2回行われていますが、それ以外の地域では初めての開催でした。

東海のCakePHP関連のイベントについては@a24lovewebさんのほうで主に開催されていらっしゃるのですが、以前から「何かやりたいよね」という話をしていまして、今回はかなり題材を絞ったイベントを開催するという目的で、Ktai Libraryを題材としたCakePHP勉強会としました。「どうせみんな集まってくれないだろう」と思っていたのですが、合計14名の参加ということで、会場になった つくる人株式会社様の部屋は人でいっぱいになりました!

参加者全員で記念撮影

内容については、前半30分程度で「入門編」として当方からKtai Libraryの概要について説明させていただき、後半の2時間で実際に使っていただく、という流れで行いました。東京では完全に書籍ベースで静かに黙々と行う形式であったのに対し、名古屋では内容についてはフリーではありましたが基本的に当方からの解説に沿っていく形式であったため、ちょっと一方的に当方から話してしまった感がありました。最後の時間でディスカッション的なものを用意していたのですが、いろいろトラブル等もあって時間がなくなってしまったので、この辺は残念だったです。

トラブルというのは、まあ以前からこの手のワークショップにはありがちですが、いわゆる「環境構築にてまどう」系です。Cakeではcakeフォルダとappフォルダを別の階層のディレクトリに配置したり、webroot内のものをいろんな場所に配置したりするとあまり良く動きません。まあそういうこともあっての「事前にCakeを動かして参加してもらう」だったのですが、まあこの辺は難しいですね。

具体的な内容についてはスライドをご覧ください。

1:入門「Ktai Library」

2:実践「Ktai Library」

「実践~」の方には、先週の「第5回CakePHP勉強会@東京」にて発表しました「Ktai Library on CakePHP1.3」にて触れた「「なう」な使い方」の実践編として、そしてCakePHP1.3の新機能を用いた「PCサイトとモバイルサイトを1システムで制作する新しい方法」としてTipsを紹介させていただきました。簡単に説明すると、CakepPHP1.3からの新機能のApp::build()でのパスの登録を、モバイル時のパスを登録することでビューファイルを整理することができるというものです。本当はコントローラについてもPC用とモバイル用とで振り分けることができればなお良かったのですが、残念なことにdebug=0の時にうまく動かないなどの数々の問題点が出てしまい、結局骨抜きになってしまいました(^^;。自分としても少々消化不良ですので、良い方法を思いついたらまた研究してみたいと思いますが、まあ早い話が「Ktai Libraryのサブクラスを直接呼ぶことでもっといろいろなことができるよ」というのが言いたかったです。

参加者のレベルは本当にまちまちで、「PHPを使い始めた」方から「実際にKtai Libraryを業務で使ったことがある」方までいろいろでした。京都や東京から遠路はるばる参加された方、そして@evertOnさんは日本語が得意ではないにもかかわらず、がんばって聞いてくれました(今度携帯サイトを作る案件があるので参加してみた、とのことです)。しかし、皆なんらかの得るものがあったみたいでその辺はほっとしました。
あつさんがおっしゃるには「名古屋ではそもそも勉強会が少ないので、もっといろいろやって参加者が増えるといいな」ということでした。東京ではほぼ毎日何らかの勉強会があるんじゃないかと言うくらいインフレ状態ですけど、名古屋でももっと盛り上がってくれたらいいなと思いました。私もこれに限らずまた参加してみたいと思います。

勉強会後は懇親会でいろいろなお話を聞くことができました。
そしてSymfonyユーザ会でご活躍されています@hidenorigotoさんが途中参加され、いろいろお話を伺うことができました。
あっという間に時間が過ぎてしまいましたが本当に楽しかったです。

夜はあつさんのところにお邪魔をして、今後のこととかをいろいろお話ししました。
そして「何かやりたいね」的なお話も。

帰りはふと好奇心からJR高速バスで帰ることに。
行きはN700系できたのですが、思ったよりも居心地が悪く、またバスの方は「スーパーシート」なるものがあり、ゆったりできるかなと思ったからです。

帰り間際は、名古屋で有名な味噌カツ屋である「矢場とん」に。
1.5倍サイズのある「わらじとんかつ」を食したのですが、うまかった!

矢場とんの「わらじとんかつ」。でかいがうまい!

JR高速バスは、ここでは東名高速の昼行路線バスを指していますが、スーパーシート席のある「スーパーライナー」というのがあり、超特急便で主要バス停しか止まりません。といっても夜行バスなどの直行便と比べて停車回数も多く、それと比べるとゆっくりですが。13時に名古屋を出発して19時に到着予定「でした」。

座席は一般席と比べて若干ふかふかで、ヘッドレストが枕みたいで気持ちいい!

高速バスは何度か経験していますが、このスーパーシートはなかなか座り心地が良く快適です。
強いて問題点を挙げれば、シートピッチは普通席とあまり変わらないらしく、若干足下が狭いです。

最前席の見晴らしは最高!

またスーパーシート席は2階席の最前列から3列くらいまであり、私は運良く先頭列のど真ん中。見晴らしは最高で、ゲームみたいな見下ろしの視点で楽しく過ごすことできました。

しかし…東名で事故渋滞に遭遇し、御殿場-厚木間で40km!
ちょっと疲れました。
渋滞がなければとても満足度は高かったです。
まあこの辺は仕方がないですかね。

まあハプニングも含めてとても楽しかったです。
また名古屋に行きたいと思います。

参加者の皆様、会場を提供していただいた「つくる人株式会社」の皆様、そして主催のあつさん、どうもありがとうございました!

ほかのイベントレポートはこちら

▼Ktai Library for CakePHP勉強会@東海に参加してきた。(@mick0124)
http://mick.blog16.jp/index.php/main/2010/06/05/ktailibrary_1

▼Ktai Library for CakePHP勉強会@東海を開催しました(@a24loveweb)
http://as.blog16.jp/index.php/2010/06/06/p1332

「CakePHP勉強会@東京5」報告

昨日は1年越しの「CakePHP勉強会@東京5」が開催されました。
簡単ですがイベントの内容の報告と、当方で発表しました「Ktai Library on Cakephp1.3の資料を公開させていただきます。

ご覧の通り満員御礼!

今回は、前回の勉強会から丸1年、途中であったCakeMatsuriからも半年以上大きなイベントがなかったこともあるかもしれませんが、50名以上がひしめき合うイベントとなりました。セッション内でアンケートを採ったところ、そのうちの半分以上はこれらイベントを未経験ということで、なかなかフレッシュな集まりでした(笑)。

そして今回は、「福岡」「名古屋」「札幌」のサテライト会場、そして「ニューヨーク」からのセッションといった、今までになかった試みが行われました。凄いですね!遠くで同じイベントを共有できるなんて、時代の進歩というのか、とうとう勉強会もここまできたか!という感じでした。まあ装備や通信環境といった負担があるのでなかなか全部とは言えないですが、こういう仕組みは今後もやっていきたいですね!サテライトに名乗りを上げていただいた福岡の@k1LoWさん、札幌の@nazoさん、名古屋の@a24lovewebさん、ありがとうございました! 時差を乗り越えて発表された@yandoさんお疲れ様でした!

セッション時はこんな感じ

最初のうちは厳かに、というかちょっと堅い雰囲気でのスタートでした。

途中で茶菓子などが出たり、サテライト会場の中継とかが入って若干堅さが和らいだところで、いよいよ当方の発表とあいなったのですが… ちょっと外しましたね(^^;

というわけで、当方で発表しましたスライドを上げておきます。

「Ktai Library on CakePHP1.3」スライドの閲覧は画像をクリック

各セッション、LTの内容は今回もとっても濃かったですね。
特に、@takamunetaniiさんの「教えてこの子twitterツイート君」の事例紹介は、Twitterサービスをはじめとする「ヒットしたらドカンとアクセスが来ちゃう系サイト」を考えている方の励みになるものではないかと思います。何を隠そう、自分もとっても参考になりました!
それから、@hiromi2424さんのCakePHPハックもとても参考になりました。特に初期化周りに関してはテストコードを書く際にとっても参考になると思います。自分もはまりました(笑)。

Cakeマシュマロ配布なう

前回の勉強会は、「Cakeまんじゅう」なるものが配布されましたが、今回は「Cakeマシュマロ」が参加者全員に配布されました。これがなかなかかわいくて、食べるのがもったいない! そう思った人も多いはず(笑)。

立ち飲み形式で懇親会。#cake_beer!

勉強会が終わり、同会場で懇親会。ビールやサンドウィッチを片手に参加者との交流です。

今回とっても感じたことは、Ktai Libraryは既に業務レベルで活躍している点。そして皆さんに「とっても便利だ!」といっていただけている点にとても嬉しく思いました。本を出させていただいた点もある程度認知度の向上に役立ったかと思いますが、Ktai Libraryユーザーが確実に増えているんだなと実感できました。本当にありがとうございます!

また、今回はゲーム関連の業務をされている方にも何名かお会いしました。以前そのようなところで仕事をしていましたのでとても懐かしかったです(しかも昔おつきあいのあった会社さんだったり!)

これは懇親会開始直前の記念写真。「はい、Cake!」

それからこれも大変に驚いたのですが、なんとあの「セカイカメラ」もCakePHPで動いているそうです!
いやー、これは凄いことです!
懇親会の終わり間際に中の人とご挨拶させていただいたのですが、このあと付近の和民で2次会が行われたのですが、席をご一緒させていただけたのでずっといろいろなお話をさせていただきました。ありがとうございました。
とてもためになりました。

自分はそのあと終電の関係で先に上がらせていただいたのですが、日が変わって4次会くらいまで行われたみたいで、しかもそのあと「オクトーバーフェスト」で#cake_beerされていたみたいです。ちなみに当方は結局終電に乗れず、一人寂しく途中駅付近のマックで執筆活動をしてました(でも酔いが回っていてそれほど進みませんでしたが)。

次のCake関連のイベントは、勉強会内でもありましたとおり10/2~3に開催される「PHP Matsuri」です。海外からPHPに関連するゲストを招いてのセッションがある他、開発合宿→コンテスト等もあったり、2日間を「夜通しで」楽しめる大変に濃いイベントを現在計画しています。日頃業務以外での開発は難しいでしょうし、他の人との共同作業とかもなかなかできないと思いますので、なかなか新鮮な体験が出来るのではないでしょうか。また、それ以外にも楽しい催しも企画していますので、祭りとして楽しんでいただけますと幸いです。こちらの方も是非宜しくお願いします!

USTREAMの録画はこちら

http://www.ustream.tv/channel/cakephpstudy

他の発表者のスライドのリンクはこちら(発表順)

▼特報目玉イベント2010(@yando)
http://www.slideshare.net/yandod/20100529-phpday

CakePHP1.3 stable(@cakephper)
http://www.slideshare.net/ichikaway/cakephp-tokyo5

Ktai Library on CakePHP1.3(@ecworks_masap)
(上記にあります)

▼コアライブラリのエレガントなハック(@hiromi2424)
http://www.slideshare.net/hiromi2424/cakephpstudy5-hacks-jp

▼twitterとcloud serverとcakeで新規サービス(@takamunetanii)
http://docs.google.com/present/view?id=d4b7q8p_21cq5hkjg8

▼WordPressとCakePHP連携(@kara_d)
http://www.slideshare.net/karadweb/cakephp-and-wordpress

▼CakePHPでjQueryを使ってみた(@nano_eight)
http://www.slideshare.net/nanoeight/cakephpjquery-4357936

▼Cakephp tips for my next project(@evertOn)
http://www.notreve.com/cakephp_study-2010-05-29.pdf

▼あのCMS eZ publishをCakePHPのModelにしちゃう(@leebenny)
http://prezi.com/ugsu8hwgypud/datasource-for-ez-publish-in-cakephp/

実”戦”CakePHP Plugin(@k1LoW)
http://www.slideshare.net/k1LoW/cakephp-plugin-4364102

イベントの感想記事はこちら

▼「第5回CakePHP勉強会@Tokyo 東海サテライト」に行ってきました(@longkey1)
http://blog.longkey1.net/archives/902

▼東京のCakePHP勉強会を札幌でUst参加する会まとめ(@nazo)
http://d.hatena.ne.jp/nazone/20100529/p1

▼第 5回CakePHP勉強会 まとめ ~CakePHPへ貢献編~(@nycom)
http://d.hatena.ne.jp/nycom/20100529/1275116447

第5回CakePHP勉強会 まとめ ~発表された方のTwitter ID~(@nycom)
http://d.hatena.ne.jp/nycom/20100601/1275389287

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

▼第五回CakePHP勉強会Tokyoに行ってきました。(@hamichamp)
http://blog.livedoor.jp/hamichamp/archives/51445403.html

▼第5回 CakePHP勉強会@Tokyoに参加してきましたw(@leebenny)
http://d.hatena.ne.jp/bennylee/20100602

▼第5回CakePHP勉強会に参加してきました(@tkykmw)
http://wp.serpere.info/archives/1251

▼第5回CakePHP勉強会@Tokyoに参加してきました(@kazukichop)
http://d.hatena.ne.jp/kazukichop/20100602/1275493956

▼第5回CakePHP勉強会に参加いたしました。(@yashio)
http://yashio.wordpress.com/2010/06/03/%E7%AC%AC5%E5%9B%9Ecakephp%E5%8B%89%E5%BC%B7%E4%BC%9A%E3%81%AB%E5%8F%82%E5%8A%A0%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82/

▼CakePHP 勉強会@東京(2010年5月)(@mon_sat)
http://text.tklabo.net/blog/18/cakephp-study-2010-05

▼第5回CakePHP勉強会@Tokyoに参加・発表してきました。(@hiromi2424)
http://d.hatena.ne.jp/hiromi2424/20100603/1275558884

▼第5回CakePHP勉強会メモリスト
http://pub.studio15.jp/archives/2655

▼第5回 CakePHP勉強会@Tokyo 東海サテライトを開催しました(@a24loveweb)
http://as.blog16.jp/index.php/2010/06/03/p1330

▼第5回CakePHP勉強会@Tokyoに参加してきました(@nano_eight)
http://d.hatena.ne.jp/nano-eight/20100531/1275307253

【追記】(2010/05/31)
発表者スライドのリンクを追加しました(未公開分を除く)

【追記2】(2010/05/31)
ブログ感想のリンクも追加しました

【追記3】(2010/05/31)
若干記事を修正し、ブログ感想のリンクを追加しました

【追記4】(2010/06/01)
発表者スライドのリンクを追加しました

【追記5】(2010/06/02)
ブログ感想のリンクを追加しました

【追記6】(2010/06/03)
ブログ感想のリンクを追加しました

【追記7】(2010/06/03)
スライドのリンクを修正し、ブログ感想のリンクを追加しました

【追記8】(2010/06/04)
ブログ感想のリンクを追加しました

【戯れ言】花見OFFを来週末頃に開きたい

寒い冬もようやく終わりお花見シーズンになりましたので、軽~いOFF会でもどうかと思い提案します(笑)。
4/2頃都内では満開になりそうですので、その付近の夜、仕事が終わったあとにどこかに集まって缶ビール片手にIT話等で盛り上がれればと。気軽に集まってもらいたいのと運営の手間も無くしたいので、基本飲食物は各自好きなものを持ってきてもらって適当にやってもらう趣向です。

ただ、金曜日の夜(4/2)かなーと思っていたのですが、会社行事などで休日の方が都合がよい方もいらっしゃるみたいですので、いくつか候補立てすることにしました。都合の良い日程をコメント欄などでお知らせいただけますと幸いです(複数解答OK)。

  • 4/2(金) 20時頃~
  • 4/3(土)10時頃~
  • 4/3(土)17時頃~
  • 4/4(日)10時頃~
  • 4/4(日)17時頃~
  • 4/5(月) 20時頃~
  • その他

休日午前中からですと、花を見ながら開発とかも良いかもしれませんね。逆に午後からですと場所取りが難しいかもしれません。
また、CakePHP縛りはとりあえずしない方向ですので、お友達やご家族ご一緒にというのも大歓迎です。
あと場所については都内のどこかで。平日なら新宿か渋谷のどこかですかね。休日なら少し離れていても良いかもしれませんが。おすすめの場所がありましたらそれも教えていただけると助かります。

それでは宜しくお願いします!

【KtaiLibrary】Ktai Library勉強会楽しかった!

昨晩、「Ktai Library勉強会@関東」がE2さんにて行われました。
まずはお集まりいただいた皆様&スタッフの皆様どうもお疲れ様&ありがとうございました!

CakePHP関連のイベントは色々ありましたが、1冊の本がベースで、しかもそれに準じて開発していく形式のイベントは今回初めてだったため、大変におもしろかったです。なんというか、従来のカンファレンス形式は「聞くだけ」なのに対し、自分で手を動かす「ワークショップ」形式は達成感のようなものが得られる点、そして本をベースにすることにより、解説を聞くことで作業が中断してしまうことが無く自分主導で進捗が得られる点にメリットがあるかなーと感じました。逆に、開催中は大変に静かになるため、個人的には全く落ち着かないのですが(笑)。

誤植関係が良く見つかってまあお恥ずかしい限りですが、それとは別に、また例によって環境依存系のトラブルが多発しまして、進捗がなかなか得られなかった方もいらっしゃいました。そのトラブルとは、「Firefox3.6 & FireMobileSimulator1.1.10でdocomo・au表示の際にバイナリ絵文字が表示されない」というもので、Windows, Mac関係なしに出ていました。バイナリではなくて数値表現にすると出てくるため、ブラウザ内で表示トラブルだと思うのですが…

まあ2時間では限界があり、結局セットアップで終わってしまった方が多かったのではないかと思いますが、とりあえず皆さん絵文字が表示できていたみたいなのでホッと胸をなで下ろした感じです。

後半は懇親会というか、ピザ&ビール片手に雑談会でした。
CakePHP1.3の新機能系の話や、symfonyやCodeIgniterとCakeとの思想の違いのような話、Cakeの未来はどうなる?的な話等々で盛り上がりました。
そして、当方でざっくりと「Ktai Libraryの今後について」をご紹介。
詳細についてはまたブログの方で書かせていただきますが、現在開発を進めている0.3の話などをさせていただきました。
そしてkaz_29さんの方から、現在目下制作中の「ExtJSプラグイン」ですがこれが大変に素晴らしい!ブラウザOSっぽいことが出来たりするのですが、Cakeのアプリのユーザインターフェースががらりと変わりそうなイノベーションを感じる!

気がつけば終電を気にしなければならない時間まで経過してしまいましたが、最後に記念撮影をして終わりました。

参加メンバー全員で記念撮影

まあ運営側にはいくつか課題点はあるのですが、こういった勉強会スタイルはもっと数が増えたらいいなと思いました。普通にCakePHP勉強会をやっても「さて何を勉強しよう」みたいになっちゃうと思いますが、ある程度的が絞れるので。スタッフ間で「Model勉強会、とかみたいにしても十分需要あるかもね」みたいな話とかもしました。まあ今回もたくさんある手法の1つだと思うのですが、いろいろなものを試してみたいと思います。

まあそんなわけで次もあると思うので、今回参加された方、逃した方も是非宜しくお願いします。

【KtaiLibrary】「Ktai Library勉強会」が開催されます!

当方で執筆しました「PHPで作る携帯サイト デベロッパーズガイド」をお手本にCakePHPで携帯サイトを制作するための勉強会が、来週月曜日(3/8)の19:30から開催されます!

▼Ktai Library for cakephp 勉強会@関東やります
http://yashio.wordpress.com/2010/03/02/ktai-library-for-cakephp-%E5%8B%89%E5%BC%B7%E4%BC%9A%E9%96%A2%E6%9D%B1%E3%82%84%E3%82%8A%E3%81%BE%E3%81%99/

▼Ktai Library for cakephp 勉強会@関東(申し込みはこちら)
http://atnd.org/events/3413

私の方からは、今後のKtai Libraryについて少ししゃべらせていただきます。
また進行にかかわらず、もし本書もしくはKtai Library、その他全般で分からない点等がありましたらご質問いただいて構いません。

Cakeの勉強会で、書籍をベースに勉強会を開催するのは初めてだと思いますが、携帯に限らずCakePHPを始めて間もない初心者の方でもお気軽に参加できる内容だと思います(一応参加条件としてCakeでの実装経験が必要ですが)。
是非ご参加いただけますと幸いです。

なお、勉強会の性質上、当書籍が必要になります。
お持ちでない方は、是非こちらからお買い上げいただけますと幸いです(宣伝)。

アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。

【CakePHP温泉部】第一回活動報告デス!

2/6~7の2日間、「CakePHP温泉部」第一回の活動が箱根で行われました。
途中現地に到着するまでにハプニングがいくつかありましたが、活動そのものは大変有意義なものでした。
2日間の活動内容について報告させていただきます。

【日程】
2010年2月6日/7日(1泊2日)

【場所】
ホテル箱根アカデミー(箱根・湖尻)

【参加者】
konnoy(@konsan)
hidetoshing(@hiden)
kara_d(@kara_d)
bin(@binbin4649)
TAK(@takamunetanii)
T.FUJIWARA(@tfmagician) [スタッフ]
cakephper(@cakephper) [スタッフ]
MASA-P(@ecworks_masap) [言い出しっぺ:スタッフ]

■到着まで

メンバーは全員で8名でしたが、当方の車と@konsanさんの車に全員が4対4で便乗しての出発でした。@konsan組は秋葉原スタートで東名経由、当方は相模原、藤沢、国府津でピックアップしながら箱根へ、という感じだったのですが、初っぱなから当方の車は大失態です。
スライド資料の制作がぎりぎりまでかかってしまったため、予定の30分遅れくらいで出発。ところが渋滞にはまりまくって、最大2時間の遅れで箱根に向かいました。
箱根の山はかなり雪が残っていました。箱根新道はそれなりだったのですが、時間稼ぎのために箱根スカイラインを一気に山越えしたのですが、かなり積もっていているにもかかわらずポテンザ(スポーツタイヤ)でかなりのスピードを出して走ったため、搭乗者全員をびびらせたと思います(笑)。でも雪景色が下界に見える箱根スカイラインの景色は最高で、皆で感激しました。
なんとかホテルには予定していた13時ぴったりに着いたのですが、皆食事を全くしていなかったので、少し時間をもらって近所でワカサギ天ぷらなうどんそばを食べてきました(わかさぎうまかったです)。
ちなみに@konsan組は11時くらいには着いてしまっていて、かなり暇していたみたいです。ごめんなさいでしたm(__)m。

今回お世話になったホテル箱根アカデミーさんは、研修等に向いた多人数の会議室・セミナー室が2部屋あり、どちらも100名超の収容が可能な、かなり大きな施設を持っています。今回はプロジェクターをお借りしたことや、たまたま空室だったため大会議室の2/3をお借りできたのですが、とても広い!!
しかも、LAN環境(光回線!!)や電源がしっかりと準備されていて、とてもびっくりしました。ホテルの担当様には大変にお世話になりました。大感謝です!(ホテルの様子は後ほど)

■前半の部

全員が大きな会議室に集結し、前半の部がスタートです。
はじめは事前のアンケートなどで、CakePHP1.3betaやCroogoをさわるというつもりで現地に向かったのですが、暇していた@konsan組で、当方がMLでURLを添付していた「BaserCMS」が話題になってなっていたらしく、それじゃあということでCMS大会になりました。

BaserCMSは大変に作り込みがされていて、見た目はそのままでも商品として販売できそうなすばらしいプロジェクトなのですが、皆で触っているうちに、(現時点で)大変に機種依存がしやすいシステムということがわかってきました。CKEditorで実現されたAjaxなフォームの部分はなどいくつかの箇所がXAMPPで動かなかったり(XAMPPの呪い)、そもそもインストールがうまくいかなかったりで、メンバー皆苦労していました。

またBaserCMSは、システム部分をかなりカスタマイズしていて、Cakeの従来の実装方法と異なる部分もあるため、ソースを追いにくいというのがメンバーの意見でありました。ある程度普及させるために、皆が使ってくれるようにするためには、Cakeの標準的な書き方にできるだけ準拠した方が、メンテがしやすくて良いのではないか? というのが話題になったりしました。

とはいえ、国産CMSということで、かなり国内案件(特にコーポレートサイト!)に向いたシステムなので、今後の展開に期待したいと思っています。私も個人的にお手伝いしたいです。

@kara_dさんが最後にWildflowerを触っていました。最近バージョンアップをしたとのことで、少々期待していたのですが、シンプルすぎる相変わらずのシステムだったため、やはり日本向けのシステムではないかな、というのが全員の共通意見でした。

BaserCMSがなかなかうまく動作しなくて苦戦中。結局XAMPPが原因だったみたい
こんな感じの部屋。ものすごく大きな会議室です。

■温泉と食事

ここまでであっという間に3時間が経過し、暗くなりかけてきましたので、温泉タイム!
掛け流しの大浴場はかなり広く、露天風呂はもちろん、なんとサウナ室まで完備しています。
温泉好きの私は当然ながら露天の方を1時間近く堪能!

食事も大変に、満足のいくもので、食べきれないほどのたくさんの量が。
風呂上がりのビールで乾杯しながら楽しい食事を満喫しました。

■後半の部

食事も済み、そこから夜11時までは後半の部となりました。
CMSの方は一通り落ち着いたので、後半は発表タイムです。

【CakePHP + My Development Story】(T.FUJIWARA)

現在開発中のCakePHPベースのプロジェクトについての発表。
その中で、モデルやコンポーネントなどで実装が必要な共通処理を、そのクラスに書かずに別クラスで「部品として」作成し、それを継承することで再利用かを効率よく行うための手法を紹介されました。普通はAppModel等を直接呼ぶと思いますが、MyHogeAppModel、MyFugaAppModelなど、用途に合わせた複数の部品モデルを作成して、状況に応じて継承も分けたりすることで、無駄を省くことが出来る、というわけです。
実は私も最近このような手法に出会ったりしたのですが、この手法はやり過ぎもメンテが難しくなってしまうので一長一短だと思います。AppModelを含めて3~4階層程度にとどめておけば、便利に使えるんじゃないかと思います。

【脱XAMPP開発環境への道】(MASA-P)

前半の部でメンバーがまっていた「XAMPPの呪い」を見越して用意してきた発表!(笑)
というか、VMware Serverを使ってみてとっても使えることが分かったので、嬉しくて発表したという感じです(^^;

発端は「PHP出作る携帯サイト デベロッパーズガイド」執筆時にXAMPP環境にてMedia PluginやCake Schemaで不具合が出まして、それからバーチャルマシン化をかなり考えていました。そもそも、公開サーバがLinuxなのですが、Windowsサーバで作成したものをLinuxに適用するのはどうなのかという点で、最低でも公開サーバのOSと開発側のOSを合わせないと信頼性の面で?マークだと思うのです。

この発表で当方の私生活もかなり暴かれたりしたので(笑)スライド公開は遠慮させていただきたいのですが、この中でググってもなかなか出てこない「Windows7でVMware Serverを構築するためのTips」等にもふれていていたりして、かなりプレミアム度の高い発表だったのかな?と勝手に思っています(笑)。機会ありましたら何らかの形でまた発表したいと思います。

【CakeFestベルリン報告・YHA(Yaya High Availability)システム】(cakephper)

昨年氏が参加されたCakeFestベルリンの様子をスライドにまとめたもので、これは昨年に行われたCakeオフ会で発表されたものでもあります。そしてこのときの様子を「CakeMatsuriTOKYO2009」でお手本にしていたり。
次回NYという噂があるのですが、参加したいなーと思いました。

YHAも以前に発表されたものなのですが、初めて教えてもらったときはかなり衝撃を受けました。VMをうまく使って安価に冗長性を持たせるというテーマなのですが、本当に素晴らしい仕組みです。最新版も現在目下開発中とのことで、大変に楽しみです。Corei7とかもかなり安くなったので、今ならもっと凄いのがいけそう!

【HTML5】(kara_d)

現在仕様制定が進められているHTML5をかいつまんで解説された発表。
正直、もう変なプラグインのインストールが一切いらなくなるという、素晴らしい技術です。
私も数日前のkara_dさんのつぶやきに張り付いていたリンクで概要を見たのですが、本当に便利ですね。
ただご指摘されていたのは、HTMLによって「デザイナーのスキルがより求められる」という点で、「HTMLが出来る」というのはこれからはFLASHと同等の技術を持って初めて言えるようになるわけで、タグを操作するだけではダメ…ということになりそうです。また、個人的にはクロスブラウザ問題が再燃しそうでかなり心配でもあります。

発表タイムの様子

■2日目

2日目は完全にノープランで、会議室はもう使えないため、チェックアウトギリギリまで、1つの部屋に全員で集まって皆でノートPCをいじっていました。結構室内が広かったので、8名ならこれでも十分だったかも。というか、昨晩会議室での活動が終わった後で、集まって少しやっても良かったかなとも思いました。
kara_dさんが「NoseRub」というCakeベースのソーシャルツールを見つけ、みんなでさわっていました(ちなみに私はこの記事を書き進めていました。ゴメンナサイ)。これが非常に出来がよいとのことで、これを日本語化するプロジェクトを作ったそうです(良かったら参加してみてください)

全員で集まってチェックアウトまで過ごしました

チェックアウト後は、せっかくなので観光ということで、箱根スカイラインの見晴らしの良いところで停まり、記念撮影などをしました。今年の富士は本当に真っ白で美しく、富士の裾野が大変に綺麗で感激でした!

美しい富士山をバックに記念撮影(撮影した私は写っていません)

その後は一度小田原市まで走り、みんなで話をしながら軽く昼食をとったあとに一応解散となり、それぞれの車で分かれて帰宅となりました。
ちなみに私は一番遅くの帰宅となり、20時半くらいでした。

■感想

正直言いまして、今回は他のイベントと比べてはるかに「準備をしていなかった」のですが、何となくCMSをさわり、発表もしたり聞いたりして過ごしたのですが、このゆるさが心地よかったというのか、「たまにはのんびりイベントもいいんじゃね?」という感じでした。それでいて内容はどれも有意義なもので、自分の発表は半分以上が恥さらしなのでどうでもいいとして、活動や発表を聞いたりしていろいろなものを吸収できたかと思います。
また、今回はCakeべったりという訳でなく、サーバ環境の話とか、HTMLとか、どちらかというとアンカンファレンスノリでした。Cakeに縛られない内容も別にいいんじゃないかと思いました(というか、最終的にはどれもCakeに結びつく話だと思うので、無意味なものはないと思いました)。

ホテルの担当の方や皆のご協力もあって、集まりそのものは大成功だったと思います。企画して本当に良かったと思います。この場を借りて皆様にお礼を申し上げます。ありがとうございました!

ちなみにかかった費用ですが、宿泊・会議室使用代は合計で13,000円弱!
大変に安く上がりました。
交通費は、交通機関利用で都内からだと往復で7000円くらいかかると思いますが、車で便乗したのでそれでも1000円程度で済んでいます。
基本箱根はぼったくられることが多いのですが、素敵な設備に満足いく料理、そして広い会議室利用でこの値段だったので、逆に申し訳なくなってしまいました。もし泊まりのイベントをお考えでしたら是非おすすめしたいです!

次回開催は未定ですが、是非やりたいと思います。日帰りだともっと参加者が集まるかもしれませんが、2日でも時間が足りない状況だったので、この辺は悩みどころです。泊まりなら、またここでやりたいと思います。

ホテルを発つ前に記念写真。看板の文字に注目!

【参加者のレポートはこちら】

▼第1回cakePHP温泉部に参加した(@konsan)
http://www.ban-systems.com/wordpress/?p=61

【CakePHP温泉部】受付締切は本日12:00!

CakePHP温泉部(第1回)の受付締切は本日12:00となっています。
まだ参加枠はありますので、今週末のご予定に是非いかがでしょうか?

募集要項は こちら

基本的に「Cake仲間と温泉に浸かって疲れをとりながらCake話で盛り上がる」という趣旨ですが、とりあえず先日発表されたばかりのCakePHP1.3betaをみんなで触ってみる、ということで軽いウォーミングアップ的なことをやって、その後はいくつかのネタについて取り組んでみる感じです。

発表については、枠は特に設けていませんが、とりあえず私の方から1本させていただく予定です。
サプライズ発表は…あるのかな?
期待したいところですね(笑)。

ちなみに宿泊・活動はこんなところでやります。

「ホテル箱根アカデミー」さんの正面玄関
芦ノ湖湖畔に面していて、遊覧船乗り場のそば
ロビーの写真
各部屋はこんな感じ。結構綺麗なところ。
セミナールーム。プロジェクター完備。
MAX180名までOK。凄く広い施設です。

日曜日については特に決めていませんが、ただ帰るだけではつまらないので、何かしたいところです。
遊覧船に乗って1周回ってくるまでに何らかのサービスを作るとか…無理か(^^;。
箱根駅伝コースを走るとか…いやいやそんな体力ないっすorz。
まあでもせっかくの箱根なので、行き当たりばったりで何かやろうと思います。

今日明日はなんか雪みたいなので、土日に残らないのを祈りつつ…

参加受付は こちら で「温泉部参加希望」と明記してご応募ください。
皆様のご参加お待ちしています!

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

cake-logo勉強会参加の皆様、本当にお疲れ様でした。
また、当方の「つまらない話」に耳を傾けていただいた皆様、本当にありがとうございました。
そして、懇親会にてお声がけいただいた皆様、そして会場を提供していただいたGREE様、スタッフの皆様、yandodさんをはじめとする発表者の皆様、本当にありがとうございました。

さて、勉強会報告の前にまずは自分の反省会なのですが…
まあ前回カンファレンス東京のLTよりはマシになったかもしれませんが、でもまだ全然でしたね。
内容はだいぶ削ったのですが、やっぱり早口でした(^^;;;
早口ですから皆さんもついて行くのに必死だったのではないでしょうか?
本当にすみません…

また、LTの時はは時間が絶対的に足りなかった(つまり扱うネタを間違えた)という反省点がありました。今回は時間は(個人的には足りないのですが)まあよしとして、別の点で改める必要がありそうです。いまいちターゲットを絞れていなかったというのか、初めて聞く方と、ある程度触っている方のネタを両方とも同じくらい入れてしまったのが反省すべき点…というか難しかったです。あとは話慣れていない点ですね。この辺は経験値だと思いますので、ご迷惑かもしれませんが回数を重ねさせていただいて改善したいと思います。

さて、自分の反省はこのくらいにしておいて、他の皆さんの発表に対しての自分の考え等をつらつらと書いていきたいと思います。

■candycane:yandodさん

私にとっては大注目だったテーマで、これは成功したら大変なことになると前から考えていました。実は、2回目の勉強会で知り合った方々と、「redmine移植したら凄いよね」的なところでやる企画はあったのですが、それが立ち消えしてしまったのです。Pukiwiki機能他オリジナル機能も搭載されるとのことなのでとても良いツールになりそうな予感です。コード公開されたら、是非Ktai LibraryのBTSをこれにさせていただきます(笑)。

■「Ktai Library」で携帯サイトを高速開発:MASA-P

「Ktai Library」スライドダウンロード
「Ktai Library」スライドダウンロード(PDF形式)

内容については、上記スライドの方をご覧ください。

■極めるroutes.php:akiyanさん

素晴らしいドキュメントです。
スライドを公開されるそうなので、routesを詳しく使いたい方には良い教材になると思います。
でも、個人的に言わせてもらうと、まだ極められていない!(笑)
是非Routes::connectNamed()に関する記述を入れて欲しいところです。

クエリパラメータ(「?~」「#~」)に関しては、私もKtai Libraryの開発時に、ソースを追っていって気がつきました。確かにマニュアル等、何処にも記述がないんですよね。

■CakePHP 1.3:cakephperさん

デプロイとJsHelperは大変興味があります!
それからSQL Exprainは「つくかも」とのことですが、便利なので標準になって欲しいですね。
他にどんな機能がついていくんでしょうね。
また、IRCはいつもありがとうございます。私も非力ながらお手伝いできることがあったらさせてください。

■phpUnderControl:miauさん

内容の前に、まず「見せ方」が大変に面白かった!
今までにない発想で楽しかったです。
ただ、時間がない影響でやはり早口で進行してしまっているところがあり、また割と上級向けの内容だったためについて行くのがやっとだった印象です。私の前回のLTを見ているようだったので、自分は人のことが言えないですが、でも是非改善いただければと思います。

で、内容なのですが、これはなかなか面白いツールですね!
グラフでいろんな履歴が丸わかりというのか、プロジェクトの健全性分析に威力を発揮するなと感じました。
また、テスト関連の自動化は素晴らしいというのか、こりゃー楽だみたいな。
自分の会社がもしでかくなったら、こういうツールも是非検討したいと思います。

■ImageGraph:s-yo-koさん

私は、同様のグラフ作成として、Google Chart APIを考えていました。
何故かというと、ImageGraphだとたぶんGDがいると思うのですが、レンタル鯖でGDが入っていない不届きものがいたりするので、こちらの方が一般化しやすいかな、と。
でも、グラフなどによる情報の可視化は私もこれからのテーマになりそうです。

■Behavior:matsuuraさん

Bakeryに、お宝は結構ありそうですね。
ソフトデリートは、今まで律儀に毎度書いていたので、ビヘイビア使用に切り替えても良いかなと思いました。
また、slugも便利そう。
私的にもビヘイビアはあまり触っていない方なので、これからは積極使用したいです。

■プラグイン三段活用:slywalkerさん

エンターテイナーだなぁ(笑)。
うらやましい発表でした。
内容も素晴らしい! マジでKtai Libraryをプラグインで出した方が良さそうな気がしてきました。
問題点は…多少手書きでおのおののカスタマイズが必要になり、簡単インストールで無くなってしまいそうな点ですね。
ここを解決できれば、とてもウマーになりそうです。

■10分でできるApp::import:shinさん

この話については、いろいろと物申すところがあります(笑)。
いろいろ使っていくとですね、やはりApp::import()はキャッシュが効いていたとしても重い!
こちらの記事で書きましたが、tree()を軽くしないと、やはりApp::import()はまだまだ小悪魔です。
せめて、Coreを更にいくつか分けてサーチの最適化をして欲しいところ。
ちなみにKtai Libraryでは、ライブラリ本体は独自の方式でスタティックで実体のインスタンスを管理し、コンポーネントなどではその参照を受け取るようにすることでムダを省いています(まあこれはこれで欠点もあるでしょうけど)。

あと、某関西自虐ネタな写真は最高でした!
あり得ないですw

~・~・~・~・~・~・~・~・~・~・~

いろいろ書いてしまいましたが、どれも大変に有用でためになるものばかりでした。
そして、懇親会も含め、大変に楽しいイベントだったと思います(まあ毎度ですが)。
今回も出て良かったです。
また是非参加したいと思います。

【追記】
スライドは別途公開予定です。
準備中なのでもうしばらくお待ちください

公開しました

【戯れ言】あえてCakePHPをヨイショしてみる

prog-logo今回はCakePHP記事としてでなく、一般的なプログラミング…いや、完全個人的な戯れ言としてちょっと書いてみたいと思う。

発端は最近のはてブのエントリで、こちらこちら の記事でいろいろなフレームワークの比較が書かれているのだが、どうも直感的に各フレームワークの良さが伝わってこなかったのだ。例えば前者の方は、最終的にZendFrameworkをお勧めしているのだが、そのお勧め理由が全くよく分からないというのか、「自分が好きだから良いですよ」的な結論にどうしても見えてしまう(いえ、その主張そのものを否定はしないです)。というのは、以前まで話されていたフレームワークの比較が、現時点では通用しなくなってきているというのか、どれもバージョンアップを重ね、よりよいものになってきているからである。自分も このような記事 を書いていたりするけど、丁度良い機会なので、今自分が感じていることを以下に書いてみる。

個人的に言わせてもらえば、私のメイン使用であるCakePHPも「かなりのところでいい線いっているんじゃないか」と最近思っている。CakePHPを初めてさわってまだ1年半程度だけど、この間にとんでもないほど機能は向上し、そして安定もしたように思う。Cakeは現在メジャーバージョンは1.2で、当初はまだ1.1だった。この進化の過程で、Cakeの出来ることは格段に増えていった。

例えば、フレームワーク比較で良く目にする違いとして「symfonyは大規模向け、CakePHPは中小規模向け」というのがある。これはいったい何なのだろう? よく読むと、大抵は「symfonyはプラグイン機能があるため、大規模向け」という書き方がされている。これは本当にそうなのだろうか?

まず簡単なツッコミをさせていただくと、CakePHPは、既にプラグイン機能を装備している。symfonyとほぼ同じように、一連機能を持った仕組みを簡単に入れたり抜いたり出来る。つまり、この定義でいけば、CakePHPは十分に大規模向けだ。

でもよく考えてみて欲しい。プラグイン機能は本当に「大規模」なサイトを構築するための機能なのだろうか? いいや、私はそうは思わない。本当の大規模サイトというのは、フロントエンドは何十ものサーバがロードバランサなりラウンドロビンなりで制御され、バックエンドも同様に複数のDBがレプリケーションなりで動いているような、そんな状態のことを言うのではないのだろうか? そして、そのような機能を搭載しているフレームワークこそが「大規模向け」ではないだろうか? 安定しているかどうかは置いといて、CakePHPはこれらを支援する機能を持っているし、実際に「Firefox アドオン」サイトのような大規模なサイトもちゃんと動いている。
そしてプラグインは、私はむしろ逆の、中小規模向けのものと考える。何故なら、第三者の制作したものを、手っ取り早く自分のものに出来るというのが実質的なところであり、そういった用途のものは中小規模向けに書かれているものが多いからだ。そして、それを使う人も勿論中小規模の環境をもつ人が多い。大規模環境を持っていれば、間違いなく自前で専用にカスタマイズされたものを持たざるを得ない。

そういった意味で、最近のCakePHPは隙が全くない。大規模から小規模まで自在だし、前からPHPは4でも5でも動く(いずれ出るであろう6にもサポート表明している)。1.2になって軽量とは言えなくなってきてしまってはいるが、それはサーバスペックを上げればどうにでもなるし、そもそもキャッシュを使えば重さは感じなくなる。何より強力なアソシエーション機能は、おそらくDBをもっとも都合良く操作できるのではないだろうか?

勿論、symfonyやZendFrameworkなど他のフレームワークには、それぞれの良さがあると思うし、繰り返すけどどれもバージョンアップを重ね、機能的にはどれも大差ないように思える。まあどちらかと言えば、Cakeとsymfonyは同じグループで、ZendFrameworkはグループが違うように思う。Zendのほうは各機能が独立して機能する点は今でも継承していて、それが特徴的かつ有用な機能の一つだからだ。Adobeとかがサポートしている点も大きいと思う。symfonyの豊富なプラグイン機能は、未だ優位だと思うし(でも多少勢いの衰えた感はある)。

だけど私は、Cakeの良さは、単体としての機能はとりあえず置いといて、別の点で「少なくとも日本では」優位であることを主張したいと思う。それは、特に最近、いろんな事例やTipsなど、豊富なドキュメント…とりわけ日本の有志の方が残した「日本語のドキュメント」がおそらく一番多く存在している点…これこそ、CakePHPの最大の強みではないだろうかと思う。フレームワークが高機能だったり高速だったり、そういった要素も勿論大事だと思うけど、結局は満足に使いこなせなければ意味がないわけで、それを使いこなすための手法が、ネットで検索すれば沢山手に入る。それも手に入る情報は「使えない」「改造が必要」といった後ろ向きなものでなく、前向きなものばかりだ。CakePHPのドキュメントは、本当に宝の山に思える。フォーラムも活発で、勉強会の頻度もおそらくは一番だ(Zendは少なくともPHPフォーラムであまり見たことがない)。

思えばその1年半前、さんざんに悩んだあげく、メインで使っていくフレームワークをCakePHPに絞った。もしかしたら機能的な面で言ったら、ZFやsymfonyの方が良かったかもしれない。いや、RoRだったり、Javaだったりした方が良かったかもしれない。だけど、勉強会に参加したり、ブログで情報を発信したりしてみて、Cakeに関係する皆さんがそれぞれ知り得た情報がしっかりと共有できているというか、もっといえば繋がりが非常に強く結束力のようなものがあり、皆でCakePHPを盛り上げているという実感がある。その辺が凄く楽しい! 新しい発見があるし、それが自分への刺激にもなって心地よい。自分の情報はその中でどのくらい役に立っているのかは分からないけど、それでも自分の情報が、その人にとって有効に働いてくれたら嬉しいし、それがきっかけでその人も更にCakePHPを盛り上げていってくれるのならもっと嬉しいと思う。今回CakePHP勉強会で壇上でKtai Libraryを発表することになったけど、これもそんな気持ちで現在取り組んでいる(まあもっともKtai LibraryはCake以外でも是非使って欲しいんだけど)。

何か最後は終わった後の感想みたいになっちゃったけど、まあ言いたいことは、「CakePHPはいろいろな点でなかなかイカしているぜ!」みたいな感じですかね(笑)。そして改めて、情報を公開されている方には感謝をしたいと思います。いつもありがとうございます。