2021-11-01
今年も JPHacks に参戦した
後編の記事を書きました: JPHacks 悔しかった
A ブロック(北海道・東北)で一位になりました!やったー 🏅🎉
北海道東北ブロック優勝やった〜#JPHACKS #JPHACKS2021
— たかぴろ (@takapiro_99) October 30, 2021
1 年ぶり 3 回目の JPHacks
公式には「日本最大規模のハックイベント」って書いてます。
チームでプログラミングや技術のアウトプットをしよう~っていうイベントです。
おととしは 「アプリからデザインを投稿できるクリスマスツリーイルミネーション」
去年は 「IoT キッチン量り」 を作ってたやつです。
今年作ったもの
ズバリ、 「自動開閉マスク」 です
元のアイデアはチームメンバーの Koki からでした。(彼の JPHacks 参戦記もぜひ読んでください)
接触確認アプリの COCOA の電波を受信し、近くに電波があればマスクが閉じ、周りに電波がなければマスクが開く、というマスクを作りました。
それだけでなく、アプリもあります。
サロンパスマンがマスクの状態を教えてくれます。
チームと担当
サークル (HUIT)から 5 人チーム(B4×2 + B2×2 + B1×1)で参加しました。
うち 3 人は 技育展 → テクのこ(というハッカソン)→ JPHacks と毎月何かしら開発していて、充実した 3 か月間だったと思います。
僕の役割としては、チームを引っぱり、フロントエンドのロジックを書き、デバイスのハードを提供し、また UI向上委員長
も担当しました。
開発、楽しかったけど大変だったね
みんな git を使いこなしていて本当に助かりました。2 年前と比べると大変成長したなと感じます。
さて、今回(も)フロントエンドが足を引っ張る形になってしまいました。バックエンドとデバイスで作ってくれた機能を全部使えなくてごめん
30 分くらいでできるだろ~って思って始めたら無限 rendering を作ってしまい見つけ出すのにもう 30 分溶かしたり、手を動かすよりついつい口を動かしてしまい、自分の実装力を見積もるのが甘いなとなりました。今回も。
まあ、あとは、後輩たちにチーム開発の良さとか難しさとかの雰囲気が伝わったなら良かったな~って思ってます。
感想
このアイデアは聞いたときからワクワクが止まらなかったので、形にできてとても満足です。
技術
技術的なところでは web bluetooth
というクールな機能を使えたのがいい経験になりました。W3C
のドキュメントや chrome
の実装を直接読みに行ったりしてエンジニアやってるなっていう感じがしていました。
その中でいくつか不具合?に当たりましたが、OSS で issue を出したり解決策を考える余裕はありませんでした。就職したらこの辺もしっかりやっていきたいですね
挑戦したこと・できなかったこと
- フォーマットがー、とか コンフリクトがー、とかを出来るだけなくして良い開発経験で進めていきたかったので、PR 時に自動フォーマット(&commit)くんを作りました。これは非常に良かったです。
- 徹夜; ゼミの発表以来の完徹をしました。やる気に満ち溢れていたので頑張れました。
- service worker でオフライン対応とか通知とかしてみたかった。決勝進んだらやります。
- タスク管理はもうちょっと細かいほうが良かったかな、今回は開発期間が 1w だったのと、毎日全体ミーティングをやっていたのでなんとかなっていました。
git 運用のはなし
さて、git のブランチ運用は main
をベースに frontend
backend
device
ブランチがあり、各機能はそのそれぞれのブランチから切って開発するということにしていました。開発終盤には思考停止でmain
直 push をし始め、(結局見えるのは main
ブランチだからしょうがない)その変更をあっちやこっちで merge
からの PR とごちゃごちゃしていたのが気になりました。
もういっそのこと、どんなに小さい機能でも main
から生やして main
に PR 出す 運用も試してみたいです。
最後に
全国大会への進出発表がこれからあり、行けたらそこでも賞を取る勢いで頑張ります!
技術的なはなし
は、GitHub レポジトリ と 僕の Twitter に少し詳しく書いたのでそっちを見てください。
おわり