今日は2限に演習Cがあった.
朝の7時過ぎに今週分の課題を完了させて3時間睡眠の状態で授業に挑んだ.
授業といっても最後の発表に向けて完備化手続きの改良方法を少し教えてもらっただけなのでそんなに難しいことはなかった.
今週の課題が動いた時点で演習Cとしては合格点と明言してくれたのであとはチョロい.
晩にHackAichiのお疲れ様会と題してチームみんなで焼肉食べ放題に行った.
壺に詰められていた鶏肉の味付けが濃くて美味しかった.
野菜も食べられて良かった.
11/7 (土) ~ 11/15 (日) に開催された大学対抗のハッカソンに友人らとの5人チームで参加した.
各大学1チームしか参加出来ないルール(複数チーム応募が来た場合は抽選)だったので,参加できたのは運が良かった.
あと別の大学の参加者に高専時代の1つ上の先輩が居たのでとても驚いた.
まず最初にアイデア出しの集まりがあった.
協賛企業さんから4つの課題が出され,各チームがその中から1つ選んで課題解決のためのアイデアを出すという流れだった.
今回提示された4つの課題
課題選択の時間も課題解決案を出す時間も想像以上に短かったので,僕らのチームは他とアイデアが被らないかつある程度解決案が考えやすそうなファッションの課題を選んだ.
最終的には,気軽にファッション雑誌を作って共有できるサービスを作ろうとなった.
アイデアをまとめた後は各チームのアイデア発表を全体で行い,参加者全員で良かったと思う2つのチームに投票した.
投票結果は15大学中4位だったので「頑張って実装すれば受賞ワンチャンあるな…」と思ってた.
アイデアはこの1週間で実装した.
メイン機能(雑誌ページor表紙作成)の班3人とSNS班2人で分かれて開発を進めた.
僕はSNS班のバックエンド担当となった.
ハッカソンの大枠のテーマが “「モノづくり×AI・IoT」で新型コロナウイルスの脅威を解決しよう!”だったので,AIとなるとメイン機能の言語は python 確定となり,Webアプリケーションフレームワークもそれに合わせてDjangoになった.
11/8に将棋大会スタッフのバイトがあったので,Djangoの入門本を買って実装に着手したのは11/9 からとなった.
ハッカソンなので当然と言えば当然だが,開発の全てがギリギリだった.
最終プレゼン資料を 11/14 (土) の18時までに上げないといけなかったので,それに伴ってデモ動画も上げる必要があり,18時までに一通り動かすところまで到達する必要があった.
実際に動いたのは17時を超えてからで,充電が30%を切った画面開きまくり(タブいっぱいChrome,開発用ターミナル,通話&画面共有Discord)のMacBookAir上でデモ動画を撮った.
動作がカクカクでメイン機能の実行に1分以上かかってたので本当に最低限のデモ動画だったが,自分としては何とか動いて良かったと心から思った.
今 GitHub を見直してみると,金曜日と土曜日(下2段)に多くの草をはやしており,修羅場ってたことが分かる(水曜日と木曜日はサボっているわけではなく,ブランチへのpushでは草が生えない仕様のせい…のはず).
最終プレゼン資料にはとりあえずでSNSサービスにアクセスするためのQRコードを載せてもらい,11/15 (日) の15時30分最終発表開始までにデプロイすれば大丈夫だと考えていた.
甘かった.
「IPアドレスとかAWS感のあるURLだとダサいからドメイン取っとくか~」と言って取得したドメインの紐づけ以前に,本番用DBへの切り替え,ネットワークの設定,そもそものプロジェクトフォルダの置き場,全てにつまずいてきちんとしたデプロイが間に合わなかった.
結局,IPアドレスのままZoomのチャットにURLを送り,メイン機能は動きません状態で公開した.
プレゼンはチームメンバーが良い感じに行ってくれた.
自分は前半のうちはデプロイ作業してをしていて前半の発表をほぼ見てないが,後半の他の発表と遜色のない良い物だった.
課題の定義,解決案の提示,AI使ってるアピール(人物切り抜きやキャプション生成),今後の展望を短い時間の中でスムーズに発表してくれた.
ただ,結果は受賞ならずだった.
やはり審査員はアイデア+実際に動くかの2点を見るため,本番環境でメイン機能が動かなかったのは説得力に欠けていた.
チームみんなごめん.
久しぶりに集中して開発をした気がする.
大学の友人と通話を繋いで開発を行う日が来るとは思ってもみなかった(高専時代はプログラミング同好会に入っていたが大学では将棋部に入っているだけなので).
Discordのメッセージやら通話やらで友人とやり取りをしながら開発をするのはめちゃくちゃ楽しかった.
一人で開発している時間はBanG Dream!の曲をヘビロテしてた.
開発期間1週間となると時間的に余裕がなく,人間的な生活が出来なくなるので突然鼻血が出てきたり足がむくんで小指が謎に痛かったりしたが,無事にイベント終了まで生きていたのでヨシ.
技術的なところでは,WebアプリケーションフレームワークのうちRails と Laravel は触ったことがあったのでこの機会に Django を触ることが出来て良かった.
謎のパッケージ管理?仮想環境構築?システムの pipenv を知ることが出来たのもデカい.
今後修士の研究でも python をぼちぼち触ると思うのでまた機会があればよろしくしたい.
最後に,ハッカソンを運営して下さったJerryWareさんおよび協賛企業さん,そしてハッカソンに誘ってくれたチームメンバーに感謝.
1週間お疲れ様でした.