SKYWILLハッカソン2019冬の陣

今回のお題は【フレッシュ】

初めて参加される方もいらっしゃいましたが、雑談しながら楽しく開催することができました。

f:id:monozukuri-bu:20191126102250j:plain f:id:monozukuri-bu:20191126102318j:plain

チーム 1:写真共有アプリのフレーム作成

API の知識を深める
・node + express + mongodb の知識を深める

API 設計
URL メソッド 内容
/ GET 全ユーザ取得
/:id GET ユーザー取得
/ POST ユーザー登録
/:id PUT ユーザー更新
/:id DELETE ユーザー削除
$curl -X POST http://localhost:3000/ -H "Content-type: application/json"  -d '{"userid":"1","username":"sugi","password":"password"}'
{"user":{"_id":"5dd535f8c45a380d95a7555b","userid":1,"username":"sugi","password":"password"}}

$curl -X GET http://localhost:3000/ -H "Content-type: application/json"
[{"_id":"5dcfa5eadebf7f5a6f912840","userid":2,"username":"ryu","password":"password","__v":0},{"_id":"5dd535f8c45a380d95a7555b","userid":1,"username":"sugi","password":"password","__v":0}]

$curl -X GET http://localhost:3000/1 -H "Content-type: application/json"
{"_id":"5dd535f8c45a380d95a7555b","userid":1,"username":"sugi","password":"password","__v":0}

$curl -X PUT http://localhost:3000/1 -H "Content-type: application/json"  -d '{"username":"ryu"}'
{"_id":"5dd535f8c45a380d95a7555b","userid":1,"username":"ryu","password":"password","__v":0}

$curl -X DELETE http://localhost:3000/1 -H "Content-type: application/json"
使用技術

・JS
・Node
・Express
・MongoDB
・Docker

感想

・新しい言語を触って知識を深められた。
ペアプロスキルが向上した。
API の知識が深まった。

チーム 2:フレッシュな Web サービス

・あなたのフレッシュ度を判定する心理テスト
 5 つの質問に答えると、フレッシュ度を判定してくれるスグレモノ。

f:id:monozukuri-bu:20191126105907p:plain

・画像のフレッシュ度を判定する深層学習
 画像のフレッシュ度を計算してくれる。

f:id:monozukuri-bu:20191126174535p:plain

 ※画像はぱくたそ様よりお借りしました。(モデルリリース取得画像)
 photo by すしぱく / model by yumiko

・フレッシュな気持ちになれる Google Chrome 拡張機能
 背景など特定の要素だけフレッシュな色に変える魔法。 f:id:monozukuri-bu:20191126110119p:plain

使用技術

Python, Bottle, Jinja2
HTML5, JavaScript, CSS
・TensorFlow, Keras

感想

・深層学習は1時間でできた(精度無視)けど、まだフロントで躓くことが多い。
・自分の技術力を見直せた。
・ゼロからモノづくりしたことがなかったので、いい経験が出来た。

チーム 3:音楽データのパート分割・加工・合成

・最新の音楽素材分離エンジン「spleeter」を用いて、最新技術の使用を体験する。
・音声データを「ボーカル、ベース、ドラム、ピアノ、その他」の5分割をした。
・「pyaudio」ライブラリを用いて音の高さ・速度を変化させた。

f:id:monozukuri-bu:20191126180159p:plain f:id:monozukuri-bu:20191126180218p:plain

使用技術

Python
・spleeter, pyaudio

感想

・最新の技術なので記事が3つ程度しかなかったが、プログラムの構造を見て自分で考える良い機会となった。
・最新の技術を用いて音声データの分割・合成を楽しめるいい機会となった。
・ピッチの変更、instrumental や 8bit 曲の作成など個人使用の範囲で楽しめる可能性を感じた。

チーム 4:いつも通る道のりに、寄り道を加えて案内してくれるアプリ

いつもと違う道のりを歩いてみることで新しい発見を促す。

f:id:monozukuri-bu:20191126103346p:plain

使用技術

HTML5(GeoLocationAPI)
AWS(S3)
Google Maps API
・geolib
・ServiceWorker

感想

・PWA 化をするため、ServiceWorker, Manifest ファイル配置などを行ったが、うまく動かなかった。(ホーム画面に追加ボタンでホームに追加されない…)
HTML5 の位置情報を取得する API(GeoLocationAPI)が、GoogleChrome では HTTPS 接続でないと動作しなかった。

全体を通して

各チーム、発表時に動くもの、今後のベースなど作成できていて安心しました。

短い時間で何かを作ることはとても大変なことです。
チームのスキルセットを把握、役割分担し、作るものを決める。
やりたいこと、好きなことができるわけではないですが、チームとして手や頭を動かす必要があります。

苦労することもありますが、非日常的、刺激、チーム開発体験などハッカソンに参加する良さはたくさんあります。

今回は社内イベントとして開催しましたが、今後もconnpassなどで募集して社外向けイベントとして開催することもあると思います。
これを機にハッカソン参加してみようかな~と思ってくださったら幸いです。

参加してくださったみなさま、本当にありがとうございましたー!