Okinawa.rbの勉強会に参加してきたよ!

勉強会はブログ書くまでが勉強会!
Okinawa.rbの勉強会に参加してきました。

具体的には、iPhone勉強会のやり方に倣って、Ruby/Rails初心者な方達には過去の勉強会資料などを使ってチュートリアルを行い、そうでない方々にはモクモクとハッカソンをしてもらう、という形です。

僕はモクモクとハッカソンしました。
ハッカソンの様子。真ん中で寝てるのが僕。
http://29.media.tumblr.com/tumblr_lu74q7cR8m1qzr282o1_500.jpg
Yohei Yasukawa on Instagram: “もはや床で。#okinawarb ”

僕がハッカソンで書き直したかったもの

はてなブックマークのタグ付けのデータを元に自分(や他人)が今興味をもっていることを視覚化したい。」
そう思ってしこしこ授業中に作ったのがこちら。

Processingを直接使うより手慣れた言語でやった方が早く出来るだろう。
データの取得も表示も同じ言語でやった方がやりやすそうだ。
ということでプロトタイプをRubyで書きました。

  1. 自分のはてなブックマークAtomフィードをダウンロード
  2. Ruby + Nokogiriでタグ等を抜き出す
  3. Ruby Processingを使って表示

という流れ。これを皆が見れるようにウェブブラウザで動くように書き直そう!というのが僕の今日のハッカソンの目標。

ハッカソンでやったこと

とりあえずブラウザでProcessing.js使って加工済みのデータを表示するところまで出来ました。

  1. はてなブックマークのデータを取りたいのでAPI調べる
    1. どうやらはてなブックマークフィード仕様 - Hatena Developer Centerを参考にフィードのURLにパラメータ渡せば欲しいデータとれそう
  2. Anemoneっていうクロール用のgemがあるっぽいので入れて少し使ってみる
  3. Sinatra等でサーバー側書いたり、Anemoneでデータ取って来るにしても表示出来ないとどうしようもない
  4. とりあえずRuby Processingで書いたやつをProcessing.jsに移植
    1. Rubyでクラスとか使ってたのをJSで直接書くのはやだ
    2. CoffeeScript使おう
    3. Processing.jsのサンプルをCoffeeScriptで書いて動くのを確認
    4. 気がついたら昼。飯食べに行きつつ書き直し。
    5. [ ].push 123はアリなのに[ ].shiftは駄目で[ ].shift()と書かなきゃ駄目など、引数無しの関数あたりでハマる
  5. 同級生がやってたTry Rubyにちょっかい出す
  6. 気がついたら17時すぎててタイムアウト

といった感じでした。
書き直す前の元データと書き直した奴まとめて成果物として置いておきます。
全部まとめてzip

反省点
  • ハッカソンは昼飯かって持ってきてたほうが時間節約出来る
  • 自分に優先順位と時間制限をつける
  • 下調べが足りてなかった orz
    • Processing.js周り
    • CoffeeScriptチュートリアル一通りやってて満足して触ってなかったし
    • よく考えるとフィード取ってきて云々もRubyじゃなくてクライアント側のJSで出来るだろう
      • 最初のアイディア話して意見聞いてもよかったのでは
    • 今日はCoffeeScriptしか書いてないけどRubyで書いたのを移植、だからRuby勉強会のハッカソンの内容的にはいいはず…!
      • ほんとはSinatraとか使ってそこでRuby分補給する予定でした orz
  • 勉強会終わるまでにデプロイが理想
  • もっと話しかければよかったー&今度は懇親会出よっと
    • 懇親会ではなちんさんは何者かという話があったらしいww
    • 「誰一人として本名も年齢も経歴も知らない」中yasulabさん経由で経歴がばれるという謎の現象
  • 初めてバスで帰った。800円ちょいで那覇市内までいける。
    • Googleさんによると自宅まで徒歩2時間半ぐらい。Googleさんを信じて次は歩いてみようと思う。

感想

こういうもくもくもいいですね。楽しかったー。自分も(完全ではないにしろ)ブラウザで動くようになったし。
同級生がRubyハマってくれたようだし、初めてRubyやる人多かったけど皆楽しいって言ってましたね。(英語がつらいとも…)
Okinawa.rbの人に長田のうどん屋、栄町のサワディ・おでんの東大など美味しそうな店紹介してもらった。行かねば。(特にうどん)
今月は26・27日にもハッカソンがあるのでたのしみです。2日も実装に使えるのでいいネタ考えねば! (2つ作るのもありなのかな)

リンク

libkinjoさん

忘れ物しないようにチェックを入れる事が出来るウェブアプリ
http://twitter.com/#!/libkinjo/status/132713851992023040:twitter
http://quiet-stone-4194.heroku.com/sheets
ソースコード

yamanetoshiさん

Node.jsいじってたらしい。自分もいじりたい。
ハッカソン - /var/log/messages

ふりかえりメモ

Google グループ