ぼくとわたしのCakePHP

CakeMatsuri2009CakeMatsuriリレーブログ第6弾ということで、kaz_29さんからバトンをいただきましたので、今回は私MASA-Pがちょろっと書かせていただきたいと思います。先の諸氏がとても素晴らしい記事を書かれていますのでプレッシャーかかっています(^^;。皆さんの満足いく記事になるかどうかは分かりませんが、ちょっと視点を変えたネタも織り交ぜていきたいと思います。

■CakePHPを使い始めた理由

私は初めてCakePHPに出会ったのは、約2年ほど前。1.2ベータ版が出始めた頃になります。おそらく青年団(といっても私は名ばかり参加ですが)の中では後発部隊です。PHP歴は結構古くて4.06ぐらいから使っていましたが、それまではピュアPHPメインで開発しており、オープンソースフレームワークにはあまり興味がなく、いわゆる「オレオレフレームワーク」をメインで使っていました。

CakePHPを使い始めた理由は大変に消極的なもので、結局はPHP4のサポート終了がきっかけです。勤務先ではPHP4ベースのオレオレフレームワークをメインで使っていましたが、未来がないことが分かったのでメンテナンスはやめて、なんか適当なフレームワークを使おうと思いました。正直開発の合間をぬってメンテナンスするのに疲れたので(^^;。でも、会社の事情があってPHP5なサーバを立てる予算がしばらく下りそうもなかったため、とりあえずPHP4で作っておいて、PHP5なサーバを立てた時にするっと移行出来るようなフレームワークじゃないと… ということで、ほぼ実質CakePHPしか選択肢がありませんでした(^^;。

他にも理由はありましたが、大変に長くなりますので こちらの記事 を参考にしてください。なれそめについて一応詳細に記してあります。

▼なぜCakePHPなのか?
http://blog.ecworks.jp/archives/5

また、CakePHPに対しての私の思いは、過去にこちらの記事に書かせていただいております。こちらも是非ご参考ください。

【戯れ言】あえてCakePHPをヨイショしてみる
http://blog.ecworks.jp/archives/654

■なぜ「Ktai Library」を開発・公開したのか?

皆さんが興味あるのはきっとこの辺でしょう。

実はKtai Libraryの前身は10年近く前から存在していまして、iモードやJskyなんかも出はじめちゃったりしたため、「じゃあ携帯サイトなんか作ってみたらどうだろうか?」ということで実験的に携帯サイトを作って運営し、その時に出来た副産物を流用しています。 この携帯サイト、今では大変に印象が悪いのですが、いわゆる「出会いサイト」を作りました(一応「系」ではないです)。サクラもいないとっても健全なサイトでした(^^;。個人でやっていた割に会員数もそこそこ集まり、一回登録した人とお会いしたことも(ぉ。
…と、余談はこれくらいにして、一応当時もPHPやperlで携帯サイトを作る本が発売し始めたりしていましたが、どれも「キャリアで振り分けて違うHTMLを表示する」というものでした(今でもそのように解説されている書籍はありますよね)。当初からこの手法は納得できなかったのです。「画像や絵文字は確かに違うけど、他はほとんど一緒じゃん」みたいな。
以来、少しずつライブラリを成長させ、今日に至る感じです。この成長させたものが現在の「lib3gk.php」です。

で、CakePHP向けにまとめたのは、CakePHPの勉強中に携帯案件が来たためで、ちょうど良いのでCakeで作ってみようと。はい、私も当時はバイブル的な存在であった「CakePHP(1.1)ガイドブック」を片手にやりました!(この本には大変に感謝しています)
でも、実際の携帯サイトとなるとこの本の内容では足りない。ページ制御はまあ良いとして、絵文字やら何やらはやはり携帯ライブラリじゃないと… というわけで、とりあえずコンポーネントとヘルパーを作ってライブラリを組み込み、案件をなんとかしのぎました。

しかし、案件が一段落して考える時間が出来たとき、ふと思ったんですよね。「Cakeで実用的な各キャリア対応携帯サイトを作る場合、他の人はどうしているんだろう?」と。
ググってみると、いくつか情報は出てきますが、みんな各種各様というか、それぞれが何かしらんを最初から作って使っているみたい。なんかそれは時間的にもったいないというのか、1つ標準的なライブラリがあれば、みんなそれを使って楽できるんじゃないか?と。出来るだけ簡単な導入で、余った時間に一杯でも多くコーヒーを飲んでもらえればと思い、とりあえずアーカイブ化して発表したのが今年の3月です。
細かくバージョンアップしてはいるものの、まだ満足いくライブラリにはなっていませんが、でも今でははてブでも100に迫るブックマーク数となり、今でも多くの方に注目されている点については嬉しく思っています。

■プロジェクトを公開するようになって変わったこと

私はCakePHP関連では3つのプロジェクトを公開しています。一つはPHP1.2用のSmartyView(こちらはkaz_29さんの方でプラグイン化をしているので、実質手を離れました)、一つは最近音沙汰のないTplcutter(大汗)、そしてKtai Libraryです。

今まで私は、プロジェクトを公開したことはなかったのですが、CakePHPを使ってなんとか過密している自分のタスクを乗り切れるようになったため、恩返しの意味も込めて公開しました。でもこの行為がとても自分の世界観を広げたというか、華麗なる一歩だったように思います。いろんな意見が寄せられてプロジェクト自身の精度が上がっていくというのもあるのですが、それ以上に、いろんな方とお話をする機会が増えました。そして、いろんな方と接していくうちに、「ああ、自分はまだまだなんだな」と。「公開=成果・終わり」ではなく「公開=始まり・勉強」じゃないかと最近よく思います。
そして自分の世界観をさらに変えた「イベントでの発表」も、プロジェクト公開をしなかったらなかったように思います。

■イベントで発表するようになって変わったこと

自分の最大の転機はやはり「CakePHPカンファレンス東京」で、TplcutterのLTをした時だと思います。この5分は自分の人生の何割かを確実に塗り替えたと思っています。
発表の出来は、表向きはおそらく歴代LTでも最低の部類でしょう。アンケート結果もとても痛かったです(笑)。でも、懇親会で色々な方に「自分にも覚えがある」「詳細に聞きたかった」「使ってみたい」と嬉しい感想が聞け、さらにプロジェクトマネージャー(もう「だった」になってしまいましたね)のgwoo氏に「クールだ」と言ってもらえてとても嬉しかったです(そして当時通訳していた堂園さんがこのことを教えてくれなかったら、gwoo氏と直接話そうと思わなかったです。大感謝です)。
私は人前で話すのが大変に苦手で、こういったことは出来るだけ避けて通りたい方でしたが、この日をきっかけに逆転しましたね。「伝えること」はとても楽しいです。そして伝えることでたくさんのリターンがあります。その中でも一番の収穫は、皆さんの反応を受け取ることで、自分自身もより成長できる点だと思います。

第4回の勉強会では、今度はLTではなく普通のセッションでKtai Libraryの話をしてほしいとyandodさんからオファーが来て、これまたどうしようという感じだったのですが、またとないチャンスだったので引き受けることに。前回のLTではいろいろなものを詰め込みすぎて結果早口になってしまい何が何だか分からない発表になっていたように思ったので、この点はまず改善しないとと思いがんばりましたが、やっぱり肩の力が入りすぎていて、つまらない発表だったように思います。伝えるということはとても難しい… でも、LTの時と違っているのは、この難しい部分が楽しくなってきたことですかね。そしてその後の懇親会では、LTの時以上にいろんな人とお話しする機会が得られました。

そして今回のCakeMatsuriでは、ワークショップのスピーカーとしての参加。Ktai Libraryの話を1時限まるまるすることになりました。今までの失敗を生かして、もう少しましな話が出来たらと思っています。大変に楽しみにしています。

■積極的に発信してみよう!

色々書いてしまいましたが、通して言いたいことは「自分から何かを発信すると、それ以上の体験が得られる」ということです。私の場合はプロジェクト公開とイベントでの発表で大きく世界観が変わりました(たぶん)。もし、なにか行き詰まりや限界を感じていたり、もっと違う世界を除いてみたかったりしたら、ただやるのではなく、それを誰かに見てもらう方が、何倍も効果があるのではないかと思います。そして、それが知識となるだけでなく、それ以上のいろいろなものも一緒にやってくると思います。
ちょっと余談なのですが、最近私はプログラミングの勉強はそっちのけで起業するための勉強をしているのですが、私がもっとも尊敬する起業家が書かれた本の中に「与えよ、さらば与えられん」という、聖書の一節をもじった文が紹介されているのですが、これは格言だなぁと思います。

また、ブログ等で文章として公開すること自体良いことだとは思いますが、声としてそれを生身の相手に伝えるのはそれ以上に効果があります。これは自分自身で体験したことなので間違いないと思います。どんなに些細なことでも構いませんから、是非LTで発表してみてはいかがでしょう? 幸いなことに、CakeMatsuriでまだ募集しているようです。今がチャンスですよ!(笑)

■そしてCakeMatsuriです!

今年もCakePHP最大のイベントがやってきます。「CakeMatsuri」が10/30, 31に開催されます。
今回はなんと2日間開催! しかもカンファレンスだけでなく、ワークショップも催されます。今までの勉強会はコースが1つしかありませんでしたが、今回は3つのコースから選択できますので、より自分の知りたい内容が選べて良いのではないかと思います。自分自身で体験しながら学べるのもワークショップならではですよね。
そしてカンファレンスの方も、今年もコアデベロッパーの方をお呼びしています。生の…いや、焼きたてほやほやのCake話が聞けると思いますので、参加して損はないと思います。
さらに、昼食やパーティが会場内で催されますので、今回のイベントはユーザー同士で話す機会が大変に多いと思います。「LTはまだ勇気が…」という方でも、いろいろな人とお話しすることで、いろんな事を得られると思いますので、大変に有意義なイベントになると思います。お時間あるようでしたら…いや、お時間作って是非是非ご参加を!

CakeMatsuri2009

次のリレーブログは、「CakePHPのおいしい食べ方」でおなじみの堂園さんです。どうぞお楽しみに!


コメントは受け付けていません。