この前の土曜日に、Qiita Hackathonが開催されたのですが、縁あってうちの会社が会場提供協力していました。
自分は当日午後から、別の勉強会の会場提供の協力をしていた関係で、ずっと会場にいれる状況でなかったのですが、最初のテーマ発表&雰囲気だけでも何となく体験したかったので、受付開始直後位に会場入りしていました。
会場内に音楽が流れてて、普段うちの会社がやるような技術セミナーとは当然違う雰囲気を感じつつ、午後からの勉強会会場提供のために、AM11:00頃に会場を後にしました。
リモートだけどQiitaのハッカソン疑似体験してみた
午後からの勉強会の会場準備が終わった後、会場にいなかったけど、折角なのでQiitaのAPI活用して、TitaniumMobile+CoffeeScriptで、ビューワーアプリでも作ってみようと思ってチマチマ作業してました。
反省点
当日の朝8:00頃に会場近くのスタバにいたので、そこである程度事前の環境準備していたのですが、以下の理由でおもったようにコードがかけずに、結局時間になってしまいました
- ここ最近Titaniumいじってなかったので、楽にコードを書くための細かい設定(例:MakeTi&TestFlightの設定)を忘れていた。
- 最近Coffee Script勉強し始めたので、Coffeeで書くことを決めて作業したが「JavaScriptでxxxみたいに書くのにCoffeeだとどう書くんだろう」という感じで、都度思考が止まってしまう
- これまで使っていたEmacsではなく、最近SublimeText2 を使っていたのでそっちで作業したがまだ手になじまない
- Provisioningファイルの設定にはまる(従来使っていたiPod Touch 4Gではなく、少し前に購入したiPhone4sをAppleのDeveloperサイトに登録してなかったというのがそもそもの原因だった)
上記にあげた細かい所もですが、一番の反省点は、限られた時間の中で、何かつくり上げる場合に以下の様な「割り切り」が必要なのかと思いました。
自分が書くコードに対する割り切り
綺麗なコードを書くことを意識しすぎて、実装がなかなか進みませんでした。こういうのは経験ある人なら最初から綺麗なコードを書けるんでしょうけど、まずはベタなコードでもいいので、ひとまず動作するものを書いていくべきだったのかなと。
実装する機能に対する割り切り
Qiitaのビューワーアプリ作るのは決めていたのですが、どんな機能を持ったアプリにするか事前に書き出さずにコードを書いていました。
限られた時間で、自分のスキルを考えてアプリを作るなら、どの機能を優先して実装するのかを考えないと、無駄に時間を費やしてしまうので、そのあたりの実装に対する割り切りも必要なんでしょうね
今回作りかけたアプリのソースはGistに貼っておきます。(気が向いたらもう少し手を入れるかも)
※追記:2012年10月15日16時29分
会社休みで、家族サービスの合間の時間が意外とあったので、ついカッとなってここまで作ってみた