PHPMATSURIに行ってきた
PHPMATSURI
http://2010.phpmatsuri.net/
今回はハッカソン(ハック+マラソン)だ。
早い話が規模の大きい開発合宿。
泊まりなんだが、当日朝まで一切準備してないw
まあ、そんなに荷物は無いんだけど、どの鞄にしようとか、二つに分けようかとか、
朝からごちゃごちゃやって出発。
結局いつもの鞄をパンパンにして行った。
ハッカソンなので、なにをやろうか大体考えておいて、
前日夜に、必要なpluginを動かしてみた。
動かしてみたのは以下。
最近、githubなるものを覚えたので、「試してみる」というのがとても楽しい。
CakePHP 「GeoSimple Plugin」にGoogle Static Mapsを扱うHelperを追加してみた
http://www.exgear.jp/blog/2010/09/geo_static_map_helper/
TwitterKitではじめる OAuthスピードクッキング
http://php-tips.com/php/cakephp-php/2010/07/cakephp-twitterkit-slid
GeoSimple Pluginはブログに書いてある通りにやってみたら、あっさり動く、しかもすごい使えそうだ。
そしてTwitterKit。入れてセッティングしてみたらば、404と出て動かない。
え?ファイルが無い?そんなわけない。設定が間違えているのか?色々確認してみる。
しかし分からない。
うーむ、そうだ!、Twitterで本人に聞いてみよう!
2~3回のやり取りでは解決できず、PHPMATSURIに来るというので会場で直接伺うことに。
PHPMATSURIすばらしい。
windows久しぶりということで、サーバーに侵入までしていただいて出てきた答えが、トップディレクトリにhtaccessが無いだけ、と言うオチでした。
嗚呼。
無事表示されたが、今度はログインできない。
またしても見てもらったら、Twitterに登録したときに、ブラウザアプリで登録していないだけだった。
以前にもTwitterにアプリを登録したことがあって、その事は知っていて、当然ブラウザアプリで登録している。と思っていた。
嗚呼。
話をグイっと戻して、PHPMATSURIが始まった。
最初の講演は、「大人のプログラミングキャンプ by よしおかひろたか」。
タイトルだけ見ると、何を言うのか、さっぱり分からない。
とりあえず技術的な話ではない。という事はわかる。
しかしいざ聞いてみたら、とても為に成る講演だった。
ぶっちゃけこの講演が一番よかった。
以下、自分にとってなにがどうよかったのか?を箇条書き。
English, or Die.
直訳すれば、英語か死か。
プログラミングの世界で生き残る為には、英語が必須である。ということ。
師匠と弟子。
常に、どんな時でも、自分は弟子であり、相手は師匠である。という気持ちを持つこと。
たぶん違うことを言っていた様にも思うけど、僕にはこんな感じに聞こえました。
気が付けば周りには、この師匠と弟子メソッドが溢れている。
先生!、兄貴!、Master!、ネ甲!
この師匠と弟子メソッドを常に意識することが大事なんだと思った。
自分へ「弟子に成れ!」。
達人メソッド。
達人になる方法は、達人に質問すること。
これが達人になる方法、達人メソッドである。
余談ですけど、この達人メソッドというのを聞いて、○○メソッドという使い方が、腑に落ちた気がする。
Learn how to learn.
学び方を学ぶ。ということ。
やり方は書いてある。ネットでもいいし、本でもいい。
しかし学び方は書いていない。
これを学ぶことができるのが、勉強会とかハッカソンとか、そういうところ。
実際に同じ空間で同じ時間を過ごすことによって、学び方の学び方を学ぶことも出来る。
つまり、learn to learn to learn to learn to …
強引にまとめると、英語だってことだ。
英語勉強しよう。
コアデベロッパー達の講演が続く。
プログラミングの奥深さを学ぶ。
でも、半分も理解してないかも(嗚呼)。
しかし通訳の人がとてもいい声だった。司会とか声優とかやってそう。
そしてコアデベロッパーの難解な話をよく通訳できるなーと、感心しきり。
コード読みながら通訳してたよね?結構有名なプログラマーだったりして。
新しいバージョンのPHPでUnicodeを担当していたはずの人。シャレたTシャツだ!
山田君、座布団1枚持っていきなさい!
夕飯。
ハックタイム。
TwitterKitとGeoSimple Pluginは動くようになった。
GeoSimple Pluginのデモでは、緯度経度付きの駅名データをDBに突っ込んで、最寄の駅を表示するようになっている。
これを付近のお店にしたい。
そんなわけでHotpepper APIを使ってお店データを引っ張ってくることにする。
APIを叩くコードはできた。
あとは駅とお店を差し替えるだけなんだが、ここでつまづく。
駅情報は当然のことながら、cakephpのmodelを使って取得している
なのでお店データもcakephpのmodelを使わないと、GeoSimple Pluginの機能を生かすことができない。
詳しく書くと、findでHotpepper APIを叩かないとダメってこと。
どうすれば良いのか散々悩むが、答えが出ない。
@osakanapowerさんに相談してみると、そういうのはdatasourcesにすればいいんじゃない?とのこと。
おお!それだ!聞いたことあるw
さっそくdatasourcesを覗いてみる。
他の人が書いたdatasourcesも覗いてみる。
しかし一向に理解できない。
どれもこれも同じような処理を書いているように見えない。
同じdatasourcesなんだから共通点があって、そこを探れば理解できると思ったんだけど、難しい。
一つ一つのコードを追いかけて、読んでみたが、
じゃあHotpepperのdatasourcesはどう書くの?が出てこない。
終いにはビールを飲み始めたり、油を売り歩いたりし始めるw
2時30分頃、挫折。
シャワーも浴びずに、そのまま寝る。
RedBull Girlからもらった!
7時半頃起床。
同室になった@kaz_29さんは、僕より遅く寝たはずなのにすでに起きてる!気合が違うw
朝食を頂き、ハック会場へ。
TwitterKitの@nojimageさんの隣が空いてる!さっそく、師匠!と呼びながら隣席をゲット。
寝る前、datasourcesが書けないなら、APIのデータを一旦DBに保存して、それからfindすればいいんじゃね?
いやいや、それはあんまりでしょ、とか色々考えていた。
そのことを@nojimageに相談してみたら、まあ良いんじゃないですか?とのこと。
そうか、いいのか!
LTの応募締め切りまであと2時間くらい、ここで火がつく。
綺麗なコードとかどうでもいいから、とにかく書く!昼食も抜き!
途中、google map上にピンが立たない!ではまり、
そしたらGeoSimple Pluginを書いた人なら来てますよ、ってことで早速その人のところへ行き、
コードを見せたら、viewで書き換えていない部分が見つかり、直したら動いた!
やっぱりPHPMATSURIすばらしい!
さっそくLTへ応募。
そしたらなんと大トリになってしまった。
タイトルとか自己紹介とか、超簡単に資料を作って、自分の番を待つ。
待ってる間は、やっぱり落ち着かないw
そして発表。
プログラムの発表をするのは生まれて初めて、年甲斐も無く緊張しました。
少しは笑いも取れたみたい。
発表したことで、なんだか俺やった感が生まれる。
もちろん賞は取れなかったけど、発表できてよかった。
発表のUstがあった。51分から僕ですw
http://www.ustream.tv/recorded/9970632
クロージング。
実はこのイベントは個人イベントだった。と言うことを知り、
これのために、個人で約250万立て替えた。ということを知った。
その個人とは、@yandoさん。
挨拶できなかったのが悔やまれる。
どこかで会えたら英語で挨拶してやろう!(本当かw)
どこかで会えたら、よろしくお願いします!w
帰りがけ、@hiromi2424と@evert0nと一緒に、勝どき駅付近のもんじゃ焼き屋へ。
怪しい英語と日本語を混ぜながら、#cake_beer!
@evert0nはドイツに行くらしい、とか。
そして海外の勉強会などは、日本と比べるとものすごく高いらしい、とか。
今回みたいなイベントなら7~8万くらいはするんじゃないか、とか、
それでも人が集まるから、高くなるらしい、とか。
日本と日本人は恵まれている。それなのになぜ日本発のWEBサービスが無いのか?全部アメリカから来てるじゃないかと、聞いてみたら。
やっぱり英語だった。
英語圏に生まれて来なかったのは不幸なのかもしれない。それでも日本と日本人は恵まれていると思う。あとは努力次第だ。
感想。
疲れた。
それは、山あり谷ありでとても充実してたってこと。
そしてたくさんの気づきをもらえた。ありがとう!
企画した@yandoさん。スタッフのみなさん。そして参加者の皆さん。ありがとう!
前の記事: 960 Fluid Grid System CakePHP Bake Templatesを使ってみた。
次の記事: さくらVPSにLAMP環境を整えてみる。
作ったものを張ってみる。
http://59.106.182.108/ktai-dev/gmaps/gps2
いつまでアクセスできるかは分かりません。
会場で開発してたときは、何回アクセスしても、センターが晴海グランドホテルだったので、
本当に動いているのか?ちょっと不安だったw