私が歌川です

@utgwkk が書いている

はてな×ドワンゴ合同ハッカソン@京都に参加してきた #dwangohatena

はじめに

こんにちは。私が歌川です。

dwangohatena.connpass.com

私は今日、「はてな×ドワンゴ合同ハッカソン@京都」に参加してきました。
実は、ハッカソンに参加するのはこれが初めてで、どういった感じのイベントなのだろうかと内心ビクビクしていました*1
今日はもう無事に帰宅してきたわけですが、覚えているうちに何をしてきたか、何を見てきたかを書いていこうと思います。

ハッカソンの戦略

時間の限られているハッカソンでは、予め戦略を立てることが大事だ、と私は考えました。
私が立てた戦略は次の通りです。

  1. まず認証の仕組みを把握する(OAuth)
  2. イデアを出す
  3. 書く

「何だこれだけかよ」という声が聞こえてきましたが、これって結構大事なことなんですよ(たぶん)。
私の感覚では、認証機能が全体の中で二番目ぐらいに難しかったです*2
逆に言えば、認証機能さえ実装してしまえば、あとは完成したも同然です。

やったこと

認証機能を実装する

はてなAPIを使うには、 OAuth1.0a による認証が必要です。
まあこれはライブラリの力を借りて書けばいいのですが、これがなかなか難しかったです。
確か午前中(1時間半ぐらい)は全部認証機能に費やしたと思います。

イデアを出す

さあ認証機能が実装できたぞ!!!!! アイデアを出そう!!!!!!!
と、考えに考え(5分ぐらい)、はてブの未読をサクッと既読にできるwebアプリを作ろう、ということに決めました。
webアプリにした理由は次の通りです。

  1. GUIが書けない。
  2. フレームワーク使えば書けそう。

いやGUIはサクッとは書けないでしょ*3
慣れないことをして時間ばかりを食ってしまうなら、簡素でも慣れている方に取り組む方がよいですからね。

実装する

方向性も固まったぞ!!!! さて実装だ!!!!!!
当然ながら Python3 で書くことは決まっていたのですが、じゃあどんなライブラリ・フレームワークを使おうか、というのもまた考えました(2分ぐらい)。
結果、サクッと書きやすそうな Flask を使うことにしました。
HTMLやCSSは全く書けないので、Bootstrap を使うことにしました。

できたぞ!!!!

完成したぞ!!!!

github.com
追記: Herokuで動かしました。→まだ読んでないんですか?

発表フェーズ

発表するぞ!!!!!!
このとき、バグを1つ残していたので、実質的に披露できた機能が本来の1/2だったので大変つらかったです。
でも楽しかったぞ!!!!!!!!
あと、「私が歌川です」を積極的に使っていきたいです。

総評

楽しい!!!!!!!!!!!!!
あとピザとかジュースとかが無料でとにかく学生最高って感じでした!!!!!!!
またいろんな勉強会やハッカソンに参加したいです。
次の夏は株式会社はてなインターンで決まりだね!!!!!!!!!

使ったスライド

docs.google.com

他の人の成果物

*1:MBAを持ってる人がめちゃくちゃ多くてビビってました。

*2:一番難しかったのは、いいアイデアを出すことでした。

*3:まともに書いたことがないだけなんだよなあ……。