メルペイ本社で開催されたgolang.tokyo #26に参加した
六本木のメルペイ本社で開催されたgolang.tokyo #26に参加しました。
気づいたのが前日とかだったので、唯一空いていたブログ参加枠で申し込みました。
会場
メルカリで開催されるものと思ってたら、よく見るとメルペイの方でした。
会場に着くとおにぎりセットと飲み物が提供されました。
珍しく開始前に到着 (@ 株式会社メルカリ 東京本社オフィス in 港区, 東京都) https://t.co/I5GOKpYS3e
— 能力の高い女 (@silloi93) September 25, 2019
おにぎりとビール助かる #golangtokyo pic.twitter.com/NU569Uqbh7
— 能力の高い女 (@silloi93) September 25, 2019
セッション
新卒同期が目次見て面白そう、行きたい、と言っていたけど彼は飲み会とのことで参加できませんでした。
Go in Nature
はてなのmeckerelチームから出てNatureのCTOになったsongmuさんによる発表。たまにお会いするとお話してくれるので嬉しい。
songmuさんだ、みんなのGo言語第二版書いました #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
Nature RemoはIoTスマートリモコンで、かなり売り上げているっぽい。元々Rubyで書かれていたのを、Goでどんどん書いているのだとか。
2年弱で10万すごい #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
使用しているライブラリと、そこから生じる開発上の課題などを聞きました。
ハードの制約があって難しいことができないっぽい #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
カヤック謹製ecspresso https://t.co/Y1wUdnMP5M #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
dependabot、依存ライブラリのバージョンが上がるとpull request上げてくれるの便利 #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
デプロイ→接続切断→再接続ラッシュ→APIが過負荷、大変そう #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
そういうわけなので、技術構成そのものはシンプルで、Webで使われているものとそんなに変わらないそう。
WebAPIとWebSocketの組み合わせだ #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
Nature Remo持ってないけど、裏から触ってみたくなりました。
Nature Remo用のGo API Clientを作った話
メルペイのtenntennさんによる発表。先のNature RemoをGoで使役するという内容です。
GoからNature Remoが操作できるAPI Client、直前の発表を踏まえていくの面白い #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
Nature RemoはSwaggerが公開されていて、そこから仕様を推測しつつAPIを作っていくのは面白そうでした。
NatureのSwagger API公開されてるんだ #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
結局は人間が使うものなので、家族からの家事執行を回避できないとか、UI大事なので考えるといった話もありました。
Dialogflow 親切 #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
なにより実際にNature Remoを使ったデモが面白かったです。
遠隔で家族が見てるテレビのチャンネル変えるの面白い #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
家電のID公開されちゃってるの面白い #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
APIあんまり書いたことないですが、Goで書くのもよさそうですね。
Raspberry Pi + Go で IoT した話
バンダイナムコのyaegashiさんによる発表。ラズパイを使った話。
バンナムの人!!! #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
Raspberry Piは最近になってGoに標準対応したと思っていたのだけど、調べてみると僕の勘違いだったっぽい(何と?)。
Raspberry Pi、最近Goに標準対応した気がしてたんだけど勘違いだったっぽい。何と勘違いしていたんだ… #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
マイコン用のクロスコンパイルが簡単で、組み込みシステムにも使えるというもの。
Goは組み込みシステムにも使えて便利 #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
gpio制御の説明がありましたが機械語寄りで難しかった…。
うおーめっちゃ低級言語っぽい #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
Go用のI/Oライブラリも色々あるみたいです。機械いじりだしたらやってみたい。
Goを使ったセンサーデータ収集基盤の事例のお話
MODEのtakeshinodaさんによる発表。この方も普段はRubyを書いているそう。
MODE, Inc. 、Googleで二番目の日本人がシリコンバレーで創業した会社らしい #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
先ほどに続いてこちらの方もクロスコンパイルが便利と言っていたので本当なんでしょう。
クロスコンパイルが便利(二度目) #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
非同期処理はTSでもうまいこと書けるけど、発表者はCっぽく書けるGoが便利とのことでした。
イベント発生処理をGoで書くとTSほど辛くなくてC言語っぽい #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
この辺のハードに近いことをするには(少なくともPythonよりは)Goが便利なんだな、ということがわかりました。
Build real world data collecting architecture with goroutine & channe
やっぱりMODEのbanana_umaiさんによる発表。どっちか受かるかな、と言っていたら二人とも当選してしまったとのこと。
どっちか通るかな、でどっちも通るの笑う #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
パイプラインとかストリーム処理の話をしていて、その処理にGoを使うと便利とのことでした。
データを送る順番や即時性がやっぱり大事という話っぽい #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
こちらもハード寄りの領域だとGo便利だねという話でした。
感想
今回のテーマがIoTだったというのもありますが、Goはハードとの接続が強いんだなという印象を受けました。サーバーサイドも言うなればソフトとハードを媒介するものですし(インターフェース層とかなんとかありますよね)、Goに対する印象が変わりました。組み込みといえばC言語みたいな思い込みがありましたが、どうせならモダンなGo言語を身につけていきたいですね。しばらく業務で触ることはなさそうなので、みんなのGo言語読みながら触っていきたいなと思いました。