はじめに
こんにちは。私が歌川です。
私は今日、「はてな×ドワンゴ合同ハッカソン@京都」に参加してきました。
実は、ハッカソンに参加するのはこれが初めてで、どういった感じのイベントなのだろうかと内心ビクビクしていました*1。
今日はもう無事に帰宅してきたわけですが、覚えているうちに何をしてきたか、何を見てきたかを書いていこうと思います。
ハッカソンの戦略
時間の限られているハッカソンでは、予め戦略を立てることが大事だ、と私は考えました。
私が立てた戦略は次の通りです。
- まず認証の仕組みを把握する(OAuth)
- アイデアを出す
- 書く
「何だこれだけかよ」という声が聞こえてきましたが、これって結構大事なことなんですよ(たぶん)。
私の感覚では、認証機能が全体の中で二番目ぐらいに難しかったです*2。
逆に言えば、認証機能さえ実装してしまえば、あとは完成したも同然です。
やったこと
認証機能を実装する
はてなのAPIを使うには、 OAuth1.0a による認証が必要です。
まあこれはライブラリの力を借りて書けばいいのですが、これがなかなか難しかったです。
確か午前中(1時間半ぐらい)は全部認証機能に費やしたと思います。
アイデアを出す
さあ認証機能が実装できたぞ!!!!! アイデアを出そう!!!!!!!
と、考えに考え(5分ぐらい)、はてブの未読をサクッと既読にできるwebアプリを作ろう、ということに決めました。
webアプリにした理由は次の通りです。
いやGUIはサクッとは書けないでしょ*3。
慣れないことをして時間ばかりを食ってしまうなら、簡素でも慣れている方に取り組む方がよいですからね。
実装する
方向性も固まったぞ!!!! さて実装だ!!!!!!
当然ながら Python3 で書くことは決まっていたのですが、じゃあどんなライブラリ・フレームワークを使おうか、というのもまた考えました(2分ぐらい)。
結果、サクッと書きやすそうな Flask を使うことにしました。
HTMLやCSSは全く書けないので、Bootstrap を使うことにしました。
できたぞ!!!!
完成したぞ!!!!
github.com
追記: Herokuで動かしました。→まだ読んでないんですか?
発表フェーズ
発表するぞ!!!!!!
このとき、バグを1つ残していたので、実質的に披露できた機能が本来の1/2だったので大変つらかったです。
でも楽しかったぞ!!!!!!!!
あと、「私が歌川です」を積極的に使っていきたいです。
総評
楽しい!!!!!!!!!!!!!
あとピザとかジュースとかが無料でとにかく学生最高って感じでした!!!!!!!
またいろんな勉強会やハッカソンに参加したいです。
次の夏は株式会社はてなにインターンで決まりだね!!!!!!!!!
使ったスライド
他の人の成果物
「ニコニコ動画の検索をシェル上で行いたくなるじゃないですか」 #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
シェル上から検索できて便利! #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
はてブのコメントがニコ動ぽく流れる #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
Fabricを使ったツイッタークライアント #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
はてな検索APIを使った連想ゲーム #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
人生初の形態素解析 #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
クイズどわごねあ #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
ボカロ曲クイズ(290曲収録!) #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
ホットエントリーから自分のお気に入りユーザーが登録していないものを抽出 #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
コメントから動画の盛り上がり具合を取得・盛り上がってるところから見たい #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
お探しはおよめですか? #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日
機械学習で似てるキャラをサジェスト #dwangohatena
— うたがわきき🔰💊 (@utgwkk) 2015年11月22日