この記事はSSSRC Advent calender 2021 10日目の記事です。

 

初めまして、B3 熱系/構造系の笹岡です。

書くネタは色々ありますが、面白いかと言われれば微妙なものが多いので、書くネタを考えていたこの3日間は夜も眠れず、朝も起きれなかったです。

熟考やいろいろなデータを参照した結果、開発面のことが良いだろうと思いました。

 

そこで、今年行った開発は主にDiscovery Hackathon 2021と衛星設計コンテストがあるのですが、衛星設計コンテストは先輩が書いていたので、ハッカソンで得られた教訓について書こうと思います。文章書くのは苦手なので、分かりづらくなるかもしれませんが、暖かく見守ってくださると幸いです。

 

まず、ハッカソンという言葉は聞きなれないと思うので、簡単に説明するとハッカソン(Hackathon)とは、ハック(Hack)とマラソン(Marathon)を掛け合わせた造語で、与えられたテーマに沿って、短期間(今回は9/4,9/5の2日間)に集中してアイデアを考えたり持ち寄ったりして、サービスやシステム、アプリケーションを開発、発表する大会です。ソフトウェアがメインになるので、衛星では主にハードがメインとなる僕にとってはほぼ縁が無い大会です。しかし、僕は前々からソフト面に興味を持っていたので、良い勉強機会だと思ってソフトに強い友達を誘って応募しました。

応募してすぐ、メンバーで何を作るかという話が出ました。AR?、VR?など色々と議論が続きましたがtwitterのデマをどうにかしたい、機械学習を使いたいという意見がでました。大会2週間くらい前にある審査員にアイデアを評価、アドバイスしてもらう機会(8/19だった気がする)を経て、テーマである”RECOVER”(常に変化するものも指す)に合うようにした結果、ネット上(twitter)のデマを検知してその中で流行しているものでユーザーに大喜利してもらってtwitterボタンを押すことで、大喜利をツイートしてもらうというサイトを作ることにしました。審査員からアイデアに対して意見をされたときはかなり緊張しました。ブログ書いている今の方が緊張していますが…

 

このあと、開発の準備になるわけですが、ここで機械学習の辛さを知ることになります。まず、機械学習はデータ収集とデータ解析が必要となります。データ収集は関連性(リツイート等)を考慮してツイートを最大8万件収集しました。次に、データ解析です。データはエクセルで出力されるのですが、真偽は信頼できるメディア(NHKなど)を用いて、手打ちで入れる必要があります。あとは察しが付くと思いますが、ひたすらシートに打ち続ける。長時間の単純作業ってやっぱりしんどいよね昇天

 

それと並行して、サイトの開発を決めていくわけですが、そこでも配色や各種機能の配置を協議しつつ決めていきました。

知ってた?Twitterボタンって公式から配布されているんだよ(Twitterやっぱり愛してる)。

冗談抜きで助かります。

 

ハッカソン当日のデータ解析の様子

 

後は実装です。うーん、実装は全然理解できん。ただただ友達が実装する様子を眺めるだけで終わりました。(その間に発表資料作ってた)

 

これで、開発行程は終わりです。結果的にハッカソンで賞をとることができましたが、色々思ったことがあるので書いておきます。

 

1.衛星などの長期プロジェクトはしっかり要求分析、仕様検討に時間を注げるが、ハッカソンのような短期プロジェクトではソフトウェアだったこともあるが、要求分析、仕様検討に時間をかけず、一気に開発準備、開発に移るべきである

 

2.衛星の方に甘えた結果、html、css、Java script、pythonの機械学習を勉強する時間を減らしてしまったので、次回短期プロジェクトを行う場合、もっと入念に準備するべき

 

3.やりたい分野に精通している友達を持つことは大事。衛星ではもっと勉強してそっち側に立ちたい(ありがとう、ハッカソン同じチームのメンバー、受賞できたのは君たちのおかげだ)

 

4.やっぱり開発はかなりしんどいけど、出来上がった時の達成感は気持ちよい(まるで二郎マジックカップラーメン)

 

しまらないので、最後に一言だけ書いておきます。

 

ハッカソンだけでなく開発全体において、苦しいことがあります。ただ、その苦しみを避けようとすると何もできないし、何も得られることは無いです。また、開発には興味や知識欲は苦しみを楽しむためにも必要になると思います。なので、これから開発をする人や始める方は興味のあることに積極的に首を突っ込んでいってください。