Fumiのブログ

「golang.tokyo#26」に参加してきた!

はじめに

今日は、「golang.tokyo#26」に参加してきました!

golangtokyo.connpass.com

今回の参加枠は面白くて、

  • 一般参加枠(定員:40人)
  • Devquiz枠(定員:40人)
  • ブログ参加枠(定員:3人)
  • LT枠(定員:3人)

という枠が準備されていました。
「Devquiz枠」というのが面白くて、参加するときにGoに関する問題が出てそれが解けた人の中から抽選で参加できるというもの!
(※間違えたら抽選にすら参加できない)
ちょっと楽しそうだなぁっと思って、今回はこの「Devquiz枠」で応募して、無事参加権を得ました♪

f:id:fantm21:20190925183049p:plain
Devquiz枠で参加

タイムテーブル

時間 内容
19:00 ~ 開場・受付
19:30 ~ 19:40 オープニング
19:40 ~ 20:10 Go in Nature(仮) by songmu
20:10 ~ 20:40 Nature Remo用のGo API Clientを作った話(仮) by tenntenn
20:40 ~ 21:10 休憩
21:10 ~ 21:20 LT1 Raspberry Pi + Go で IoT した話 (仮) by yaegashi
21:20 ~ 21:30 LT2 Goを使ったセンサーデータ収集基盤のお話(仮 by takeshinoda
21:30 ~ 21:40 LT3 Build real world data collecting architecture with goroutine & channel by banana_umai
21:40 ~ 21:50 終了・撤収

軽食とお水

ビール類のアルコールも出して頂いてました♪
年をとったのか、缶1本でもアルコール飲むと頭回らなくなるので、
今回はお水だけ頂きました。

セッション

Go in Nature(仮)

発表者

songmuさん

twitter.com

内容

songmuさんが作成したツール

songmuさんがCTO勤めている会社紹介

Nature Remo

  • 自宅のWifiに接続してローカルIPは保持
  • Nature Remoの中はマイコンでCを使って書いてる
  • スマホアプリからはAPIリクエストを送っている
  • クラウドシステムがNature RemoにWebsocket経由で指令を送る

なぜWebsocket?

  • 結構リアルタイムに双方向通信がお手軽にできる
    • 「普通の」Web技術
  • 接続や切断時の再接続はNature Remo側が制御
  • 常時接続になるため接続管理がめんどくさい

コンポーネント

  • API *スマホアプリやスマートスピーカとの通信
  • Stream
    • Nature RemoとWebsocketで常時接続
  • Worker

    • ルールの実行
  • フレームワークは使わずGorilla web toolkitを部分的に使っている

  • Redis Pub/Subを活用している
    • 相互通信しない疎結合を実現している

課題

  • ALB一本化したい
  • streamをdeployすると一斉にNature Remoとのsつ族を切断することなるため一気に再接続が起きてしまう
  • schemalexに乗り換えたい

qiita.com

github.com

ken39arg.hatenablog.com

取り組み

  • ECSのdeployにecspresso導入

github.com

devblog.thebase.in

  • Go Modules導入

  • Dependabot導入

https://dependabot.com/

qiita.com

  • git-pr-release

qiita.com

  • ECS Scheduled Tool管理のためのツール ecsched

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

発表者

tenntennさん

メルカリ/メルペイ所属。 バックエンドエンジニアとして日々Goを書いている。 Go Conference主催者。golang.tokyo、Goビギナーズ、GCPUG Tokyo運営。 大学時代にGoに出会い、それ以来のめり込む。 社内外で自ら勉強会を開催し、> Goの普及に取り組んでいる。 マスコットのGopherの絵を描くのも好き。人類をGopherにしたいと考えている。

Twitter: https://twitter.com/tenntenn Qiita: https://qiita.com/tenntenn 過去の発表資料: https://www.slideshare.net/takuyaueda967/

twitter.com

内容

Nature Remoとは?

  • スマートリモコン
    • アプリから赤外線リモコンの信号を送信できる

SDK

  • tenntennさんの作ったgoからNature Remoを操作できる
    • Cloud API と Local API両方対応

github.com

まとめ

  • Nature RemoとAPIでスマートホーム楽しい
    • 赤外線リモコンならワンチャンある
    • やれることは色々ありそう

LT

Raspberry Pi + Go で IoT した話 (仮)

発表者

yaegashiさん

ハードウェアに Raspberry Pi を用いた IoT の案件で Go 言語を活用した事例を紹介します。Go 言語からの利用を前提とした GPIO、ストレージ、Wi-Fi 制御のコンポーネント選択や、組み込み Linux システムの構築についても説明します。

twitter.com

github.com

内容

periph.io

github.com

Goを使ったセンサーデータ収集基盤のお話(仮)

発表者

takeshinodaさん

Goを使いB2Bなデータ収集基盤のビジネスをやっています。その事例についてお話ししたいと思います。

twitter.com

内容

Build real world data collecting architecture with goroutine & channel

発表者

banana_umaiさん

gorutineとchannelはGolangの並列処理のための基本的なビルディングブロックです。この機能を活用して、IoTデバイスのような不安定な環境でも安定的に現実世界のデータを収集するソフトウェアを構築するための工夫をお話させていただきます。

twitter.com

github.com