初めに
鹿児島でハッカソンを開催しようと思ってる方はぜひ名称をハッカドンにされてみてください。私が爆笑します。
この記事は、九州高専ハッカソン2026に参加した私が、イベント自体についてや、期間中にあった様々な事について言いたい放題言いまくるという物になっております。気にさわる文言があったらごめんなさい。
一部、特定の技術への誹謗中傷を含みます!くれぐれも私が怒りに任せて放った戯言に騙されずに、自分で使ってみて良し悪しを判断されてください。
技術以外編
初めての、開発の話が驚くほど少ない、ビジネス重視のハッカソンという事で、さまざまなビジネスっぽいキーワードや教えを浴びて、非常に良い経験になりました。同時に、ビジネスに自分が全く興味がないという事も分かって良かったです。
また、初めてプログラミングで金を得たという事で、私にとって記念すべき日になりました。これで私もプロプログラマー略してプロプロを名乗れなくもないという事です。
参加を検討されている方へ
技術/ビジネスとかできないんだけど、、、。
技術力があれば、そっち担当になれば良いので、ビジネスがダメでも大丈夫だとは思います。ただ、本当に技術系の質問とかが全然されなかったので、そこの寂しさだけは耐えることになります。
技術力が無いという方でも、発表だったり、デザインだったり、ビジネスだったり、がむしろメインなので、ぜひ参加されると良いと思います。
チーム
チームを指定無しにして応募すると、面白い出会いもあったりするので、神に祈って指定無しにするのはありです。
ただ、普通に指定もできたと思うので、そこをしっかり活用していくというのも良い事だと思います。
運営は何物?
第2回ぐらいから、過去の参加者の中の有志が大部分を占めるようになってるみたいです。
そういうことで、不慣れな点も数多く見られます。見られました。参加する場合、注意しておきましょう。
技術編
技術構成
今回の最終的な構成は、
フロント: React on Next.js on Vercel
バック: firebase (authentication, firestore) + Vercel Blob + Next.js on Vercel
でした。
デプロイまでやったのは多分うちのチームだけでしたが、やった方が良いと思います。普通に技術力は審査対象なので。
なぜfirebaseに加えてVercel Blobも?
firebaseのオブジェクトストレージ (firebase storage) が有料プランでないと使えないようになっていた 事に作り始めてから気付いたからです。今後firebaseを使うかもしれない人はこの事実を覚えておくと役に立つかもしれません。
firestore (firebaseの標準的なDB (NoSQL))
個人の戯言です。技術選定の際は、実際に自分で使ってみて良し悪しを判断されてください。
何回かキレそうになりました。
NoSQLを使うのは初めてでしたが、できれば今後はRDBを使っていきたいと思いました。なので、BaaSを使いたい人は、supabaseの方がまだ良いんじゃないかと思います。supabaseはセキュリティがやたら厳重なので、そこだけ全解除等の対応を取ってもらって、、、。
なにがそんなに嫌だったかと言うと、RDBなら大体やり方が分かる物が、NoSQLだと改めて調べなくてはならなかったからです。新しい概念、新しい呼び名、新しい方法。RDBと実現する動作は大して変わらないので、かなり遠回りに感じられます。また、好みの問題ですが、RDBに加えてNoSQLも少し分かるようになるよりも、RDBがさらに分かる方が好きです。
加えて、これはfirestoreだけかもしれませんが、理解できない挙動がいくつか見受けられました。
とはいえ、擁護すると、通常の開発ではこれらは大して問題にならないかもしれません。
ただ、少なくともハッカソンでは時間も無いので、慣れてる方を使えば十分だと思います。そもそも実はハッカソンで使った事のない技術を使うこと自体控えるべきなのかもしれません。でも使った方が面白いという考えもまた捨てきれるものではないのです。ご自身で決めらるのがベストだと思います。
ストップ!リダイレクト!
firebaseのauthenticationでsignInGoogleWithRedirect()みたいなのがありましたが、あれは不具合の温床なのでやめておきましょう。
Next.jsの設定に明るければ問題無いとは思います。
そんな事無い人は、大人しくポップアップの方を使いましょう。
ドキュメントにはポップアップはスマホだと良くないかもしれないみたいに書いてありましたが、特にそんな事は無く、なんなら勝手にリダイレクトしていました。
そうだ、ドキュメント読もう。
何回か使った事がある物のドキュメントは1回落ち着いて全体を読む機会を意識的に設けるべきだと感じました。特にNext.jsとか。
Vercel Blobのprivate/public
Private Storageとかいうのがbeta版であったので使ってみましたが、その後の処理がちょっとだけ面倒だったので、ハッカソンだけでしか使わないならpublicにしておいても良かったです。
これはどちらでも良いと思うので、使う予定の人は、ご自身で選ばれると良いと思います。
結び
このようにたかが数日間とは思えないほどの学びが得られるハッカソンとかいうイベント。ぜひ行くべき。