メルペイ本社で開催されたgolang.tokyo #26に参加した

六本木のメルペイ本社で開催されたgolang.tokyo #26に参加しました。

golangtokyo.connpass.com

気づいたのが前日とかだったので、唯一空いていたブログ参加枠で申し込みました。

 

会場

メルカリで開催されるものと思ってたら、よく見るとメルペイの方でした。

会場に着くとおにぎりセットと飲み物が提供されました。

セッション

新卒同期が目次見て面白そう、行きたい、と言っていたけど彼は飲み会とのことで参加できませんでした。

Go in Nature

はてなのmeckerelチームから出てNatureのCTOになったsongmuさんによる発表。たまにお会いするとお話してくれるので嬉しい。

Nature RemoはIoTスマートリモコンで、かなり売り上げているっぽい。元々Rubyで書かれていたのを、Goでどんどん書いているのだとか。

使用しているライブラリと、そこから生じる開発上の課題などを聞きました。

そういうわけなので、技術構成そのものはシンプルで、Webで使われているものとそんなに変わらないそう。

Nature Remo持ってないけど、裏から触ってみたくなりました。

 

Nature Remo用のGo API Clientを作った話

メルペイのtenntennさんによる発表。先のNature RemoをGoで使役するという内容です。

Nature RemoはSwaggerが公開されていて、そこから仕様を推測しつつAPIを作っていくのは面白そうでした。

結局は人間が使うものなので、家族からの家事執行を回避できないとか、UI大事なので考えるといった話もありました。

なにより実際にNature Remoを使ったデモが面白かったです。

APIあんまり書いたことないですが、Goで書くのもよさそうですね。

 

Raspberry Pi + Go で IoT した話

バンダイナムコのyaegashiさんによる発表。ラズパイを使った話。

Raspberry Piは最近になってGoに標準対応したと思っていたのだけど、調べてみると僕の勘違いだったっぽい(何と?)。 

マイコン用のクロスコンパイルが簡単で、組み込みシステムにも使えるというもの。

gpio制御の説明がありましたが機械語寄りで難しかった…。

Go用のI/Oライブラリも色々あるみたいです。機械いじりだしたらやってみたい。

 

Goを使ったセンサーデータ収集基盤の事例のお話

MODEのtakeshinodaさんによる発表。この方も普段はRubyを書いているそう。

先ほどに続いてこちらの方もクロスコンパイルが便利と言っていたので本当なんでしょう。

非同期処理はTSでもうまいこと書けるけど、発表者はCっぽく書けるGoが便利とのことでした。

この辺のハードに近いことをするには(少なくともPythonよりは)Goが便利なんだな、ということがわかりました。

 

Build real world data collecting architecture with goroutine & channe

やっぱりMODEのbanana_umaiさんによる発表。どっちか受かるかな、と言っていたら二人とも当選してしまったとのこと。

パイプラインとかストリーム処理の話をしていて、その処理にGoを使うと便利とのことでした。

こちらもハード寄りの領域だとGo便利だねという話でした。

 

感想

今回のテーマがIoTだったというのもありますが、Goはハードとの接続が強いんだなという印象を受けました。サーバーサイドも言うなればソフトとハードを媒介するものですし(インターフェース層とかなんとかありますよね)、Goに対する印象が変わりました。組み込みといえばC言語みたいな思い込みがありましたが、どうせならモダンなGo言語を身につけていきたいですね。しばらく業務で触ることはなさそうなので、みんなのGo言語読みながら触っていきたいなと思いました。

f:id:silloi:20190925214810j:plain