プロローグ
初めましての方は初めまして。
先日、高専ベンチャー社x私 高専ハッカソン in Kisarazuで優勝したチームAの私です。
今回も、備忘録ではないんですが、気合で作ったのでメモっておこうと思います。
今回はマジのメモです。参考になる情報は書いてませんし、脈絡もありません。
↓優秀なチームメイトの記事
↓その2
お前、何つくった
弊チームは「過去問共有サイト」を作成しました。
結構今回は盛り上がりましたね。
さて、弊チームの開発の軌跡を書いて行きましょうかね。
コンテスト概要
参加人数16名、5チームでのセミオンラインハッカソンです。
※というのも、学校開催なのでオフラインでMTGしたりすることが多かったですね。
コンテストテーマは
「高専生活をハックするサービスの作成」
みたいな感じでした。(多分)
開発期間は試験期間後1週間。
私は試験轟沈し、悲しくなりながら開発していました。
--- 顔合わせ後 ---
Dev A「カレンダー作らん?(超簡略)」
Dev B「ええやん(超簡略)」
私「過去問、手に入れる、つらい、俺、しぬ」
私「過去問共有サイト、つくる」
ということで過去問共有サイト作ることになりますた。
勉強ができないのをもののせいにする。
とことん無能ですね、私。
--- 開発会議後 ---
開発したいものざっくり決めよう会議(略して開発会議)が終わって、とりあえず作りましょうねとなった。
私以外は特に開発経験がないので、基本的に私はコードを書かず、教える方に徹することにしました。
--- 開発開始 ---
人に教えるということ
今回はテックリードとして、チームメイトに指導する側に回りました。
NuxtもFirebaseも、触ったことも書いたこともない人なので、かなり時間はかかるだろうと予想していました。
が、優秀だったので書きながら吸収していきましたとさ。
教えるって何ぞ
1 知識・学問・技能などを相手に身につけさせるよう導く。教育する。教授する。「英語を―・える」「イヌに芸を―・える」「学校では三年生を―・えている」
2 知っていることを相手に告げ知らせる。「道を―・える」「花の名所を―・える」
3 ものの道理や真実を相手に悟らせて導く。戒める。教訓を与える。「父の生き方に―・えられた」「今回の事件が我々に―・えるところは多い」
Goo国語辞典にはこういうふうに書いてありました。
基本的に1の意味ですね。
ただ私も今回のハッカソンで教わったことがあります。
これはまたあとで書きますね。
当たり前ですが、知らない言語、知らない考え方って人は理解しがたいんですよね。
Firestoreのコレクションやドキュメント、フィールドの考え方。
VuetifyのGrid System。
というか書いたことないNuxtのよくわからんComponentとかいう謎。
Firebaseについて
まず教えた概要は以下です。
Firebaseってもはや何
Firestoreって何
Firebase Storageって何
学校の授業てすこしカスったところもあるので、解説は楽でした。
Firestoreについては、コレクションとドキュメント、フィールドについて、ごっちゃになりやすいので、確認を繰り返しつつ理解を促しました。
結局のところ、Firestoreって、何。
Firebase Storageって、何。
Firestoreの構成を知ってもらうところから始まりました。
「Firestoreはコレクションから始まってうんたらぬんたら…」
こんな解説をしていて、私が眠くなってきたので、実際の実装例とともに、
「これは何を参照しているのか」、「このコードはなんなのか」ということを説明しました。
Firebase Storageだって同様です。
というか私も使ったことがなかったので、どういうコード実装したら動くんかね~って話をしました。
やはり実装例は正義。
Grid Systemについて
画面をGridにして、みたいな。
あまり言葉にせずに、黒板に図をかいて概要を教え、最終的にコード実装まで進めました。
※重きを置くには少し早かったので、書いてくれたコードを私がちょっと修正した感じです。
Componentについて
関数みたいなもん、と言った記憶はあります。
複数回使えたら楽だよね…みたいな。
C言語で使っている関数に対して、Nuxtのコンポーネントはどーなってるんだろーね?
ということを教えました。最初の開発はこの程度でじゅーぶん。(諸説あります。)
--- 発表 ---
パワポ資料を気合でゴロゴロ作り、めちゃくちゃに書いてやりました。
なかなかカオスな資料になりましたが、見やすくする努力をしました。
何故か今回も弊チームは一番最後…これはプレッシャー…とか思いながら、他チームの成果発表を聞いていました、が、
やばい。めちゃくちゃユニークでハイクオリティ。
最初からめちゃくちゃハイクオリティで渾身の右ストレートをくらいました。
弊チームはなんとか無事でした。
質疑応答が終わり、最終審査のためチームルームへ戻り、満身創痍な私。
--- 審査結果 ---
勝った。
しかし、審査員の方から御指摘いただいたことは本当にそのとおりで、アイデアの浅はかさも再確認できました…
--- 今回勉強したこと ---
人にものを教える方法を少し学びました。
ですが、結局理解を100%にすることができず、かなりしょっぱくなってしまいましたね…
今回はみんなの経験値的に、ハッカソンよりかは勉強会にしたほうが良かったのかなあ…と思いました。
でもでもでも、みんながみんなそれぞれの工夫を凝らして、とてもユニークなアイデア揃いでした。
ちなみに、Firebase Authenticationは私が実装しました。
うちの学校のAzureガバガバ
結論
めちゃくちゃ楽しかったです。
今回は開発以外にも勉強にもなりました。
参加者の皆様、審査員の皆様、お疲れ様でした。