Fumiのブログ

「Go Conference 2019 Autumn」参加スケジュール

Time Title Place
10:50-11:40 Go GC algorithm 101 Hall 4F
11:40-12:00 GoにおけるAPI Client実装パターン Hall 4F
13:25-14:10 OSS Performance Tuning Tips Hall 4F
14:10-14:35 Accelerate Go development with Bazel Hall 4F
14:35-14;55 How to develop "Container/Kubernetes Ready" Go web Application? RoomA 2F
15:05-15:30 Golangで並行シミュレーテッドアニーリング RoomA F2
15:30-15:55 Microsoft Graph API Library for Go Hall 4F
15:55-16:35 Goでつくるゲームボーイエミュレータ、またはブラウザでの動かし方 RoomA F2
16:45-17:10 Schema first approach to GraphQL server development in Go Hall 4F
17:10-17:55 Goコンパイラをゼロから作ってセルフホスト達成するまで Hall 4F

「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

「mercari.go #10」に参加してきた!

はじめに

今日は、「mercari.go #10」に参加してきた!

mercari.connpass.com

イベント説明

概要

mercari.goは株式会社メルカリが主催するGoの勉強会です。 メルカリグループ所属のGoエンジニアが、社内でのGoの採用事例や、個人開発で得た知見、最近のトレンドなど、Goに関するいろいろな事をお話しします!

タイムテーブル

時間 登壇者 内容
19:00 - 開場 / Starting reception
19:30 ~ - オープニング / Opening Talk
19:40 ~ morikuni GopherCon 2019
19:50 ~ mark.hahn Workshop: Go-Beginner Training
20:00 ~ micnnicim How Uber Goes
20:10 ~ - 休憩 / Break
20:15 ~ upamune How I Write HTTP Web Services After Eight Years
20:25 ~ taqboz TinyGo
20:35 ~ - 休憩 / Break
20:40 ~ hunter PKI for Gophers
20:50 ~ yuki.ito Workshop: Observability in Go & Socket to me: Where do Sockets live in Go?
21:00 ~ - 懇親会 / Party
22:00 - 終了 / Closing the event

軽食とビール

メルカリさんの提供で、軽食とビールを頂いた:)

発表

GopherCon 2019

スライド

発表者

morikuni

twitter.com

go.googlesource.com

Workshop: Go-Beginner Training

スライド

発表者

mark.hahn

質疑応答

Q. Goを勉強する前にCを勉強した方がいいのか?なぜGoogleでGoが作られたのか?

How Uber Goes

スライド

speakerdeck.com

発表者

micnnicim

twitter.com

内容

  • 新しいマイクロサービスをフルスクラッチで作るコストの高さ
  • 各マイクロサービスのアーキテクチャの大きな蘇澳い
  • ...

How I Write HTTP Web Services After Eight Years

スライド

speakerdeck.com

発表者

upamune

twitter.com

内容

TinyGo

スライド

発表者

taqboz

twitter.com

内容

note.mu

play.tinygo.org

PKI for Gophers

スライド

発表者

hunter

内容

Workshop: Observability in Go & Socket to me: Where do Sockets live in Go?

スライド

speakerdeck.com

発表者

yuki.ito

内容

workshopのリポジトリ

github.com

socket optionのリポジトリ

github.com

クイズ大会

羨ましい!!!