くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

ハッカソンで #Azure を活用したら #日本Microsoft 賞をいただいた件について #hackchu

ハッカソンに参加してきた

私は、ハッカソンへ参加してきた。。ハッカソンとは、炎上しているプロジェクトに投入される人を数日間疑似体験できるマゾ的イベントである(違う)。

私は、名古屋帝国で知らない人がいない放送局、「中京テレビ」

の主催する「HACK-CHU」というハッカソンに参加してきた。参加した理由は、「うえぽんさん」と言われる方にお誘いいただいたので申し込んだ。(Facebook のコメント欄で煽られたともいう)

最初は、5人チームで申し込んでいた。

Twitter で「長濱ねるちゃん推し」の仲間を集めて、チームを組んだ。エンジニア5人というバランスはあまり良くない形だった。 まあ、最終的にはエンジニア1人とデザイナー1人が加わってバランスがいい構成になったのでよかったかなと。

ハッカソンは、全体で3日かけて行われました。

1日目がアイディアソン・2、3日目がハッカソンという構成だった。 正確には、アイディアソンは予選である。予選を勝ち進まねばハッカソンには出場できないのである。

まぁ、アイディアソンでのあれこれは過去記事を参照していただければ幸いである(また書くのが面倒)

kuxumarin.hatenablog.com

アイディアソンでのアイディアは、

家族が見ているテレビ番組を取得して、その番組でやっていた内容をパパに伝えて、 パパは、その情報を元に家族旅行計画を立てて、家族内での株を上げるサービス。 (テレビで紹介されてたところへ家族旅行で行けたら最高じゃない?)

結果は、20チーム中8チームが決勝進出できる中、決勝へ進出した。

使った技術要素的なの

技術的なことを書かないとタイトル詐欺になるので、書きます。

Microsoft Azure はいいぞ

今回のハッカソンのサーバーサイドはAzure を多用した。 システム構成図的なのを見ればわかる人はわかると思う。

https://scontent-nrt1-1.xx.fbcdn.net/v/t1.0-0/s480x480/17191271_1808010316190379_909539999753251023_n.jpg?oh=e6eb18d749596abf89b1732d63f6d773&oe=596D9EF1

Azure Function はいいぞ

Azure Function は今はやりの Server Less Archtecture です。

簡単にいうと

Serverのセットアップをする必要はなく、コードを書くだけで動く!

ってサービスです。 言語は、 Node.JS を利用しました。Webエディタを利用してコーディング_デバッグをしました。
実行するごとに課金されると聞いていたのですが、 設定を変えたら実行ごとに課金されるってことはなくなったりしました。
Azure Function を使う人は初めての人だけでチャレンジしましたが、サービスを作り上げるところまで作り上げれるぐらい入りは簡単でした。

ノウハウとか注意点とか

  • Twitter からデータを取ってくるときのテストに @chomado さんのアカウントを使うといい感じ(大体の時間でTwitterしてるから)
  • デバッグの時のエラーメッセージがあまり出てくれない
  • 出力窓へ出力するためには、 context.log(“”) を利用しないといけない

Cognitive Service(LUIS 含む) はいいぞ

こちらも初めて使いましたが、 ハッカソンの1日目にサポータとしてきていただいていた 日本Microsoftエバンジェリストの 大森さんの手厚いサポートのおかげで サービスを利用するところまでいけた感じです。

利用した Cognitive Service 一覧

  • Bing Image Search API
  • LUIS (Language Understanding Intelligence Service)

Bing Image Search API とは

まぁ、名前の通り、Bing で 画像検索をかけてくれる素晴らしいサービスです。 簡単に使えた ただ、アプリのバグで 一月で使える 制限を超えてしまったので課金制限をニャーンして無理やり使えるようにしてました。。。。

LUIS とは

LUIS は機械学習を簡単に使えるようにしてくれるやつです。 初めての機械学習 でも簡単に使えました。

辛かったこと

学習データを読み込ませるときに、CSV とかでまとめて学習させたいな〜と

App Service > Logic Apps はいいぞ

Logic Apps を使いました。 Microsoft Flow の上位互換みたいな感じでしょうか。

Azure Function でやると 認証とかで面倒そうな場面でコードをシンプルにするために、 代わりに認証をして Json で返してあげるって感じで行いました。

使い方があってるかは知らないです。

Azure Web Apps はいいぞ

毎度お馴染みな Github にプッシュしたら Azure WebApps に自動反映してくれる機能を利用してウェブアプリを作りました。

http://hack-chu.azurewebsites.net/

View post on imgur.com
imgur.com

少し大変だった点は、データベースにウェブアプリから直接アクセスできないので、 代わりに DataSpider にとりにいってウェブアプリから取得して表示してました。

Kintone はいいぞ

API 提供企業に Kintone があったので利用した感じです。 主に、RDB みたいな感じで利用しました。

Azure Logic Apps からデータを投稿できるのは驚きだった。

ハードウェア要素

今回の肝かも、担当していないので詳細が間違っているかもしれないです。

前提として、家族の観ているテレビ番組を特定するために作ってあります。

機器としては以下のものになります。

まぁ、以下の画像(と一番下にあるスライド資料)を見ればなんとなくわかるかもしれない!

View post on imgur.com
imgur.com

View post on imgur.com
imgur.com

次にチャレンジしたいこと

Xamarin を使ったものを作りたい

Xamarin が個人的には好きな技術なので好きな技術を使ってハッカソンに出て観たいです!

最終プレゼン資料

ハッカソンの結果

初めて参加したハッカソンの結果は、

日本Microsoft 賞をいただきました!

https://www.facebook.com/photo.php?fbid=1808189616172449&set=a.1465186907139390.1073741826.100009442854724&type=3&theater¬if_t=like¬if_id=1489314889975170

www.instagram.com

MSP として 日本Microsoft賞 は取らなきゃいけなかった感もありますが。
とにかく自分たちの行いがある意味で認められたのかなと思うので、胸をはれるかなと思いました。

買ってください!

www.amazon.co.jp