「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」に参加してきました!
今回の参加枠は面白くて、
- 一般参加枠(定員:40人)
- Devquiz枠(定員:40人)
- ブログ参加枠(定員:3人)
- LT枠(定員:3人)
という枠が準備されていました。
「Devquiz枠」というのが面白くて、参加するときにGoに関する問題が出てそれが解けた人の中から抽選で参加できるというもの!
(※間違えたら抽選にすら参加できない)
ちょっと楽しそうだなぁっと思って、今回はこの「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 | 終了・撤収 |
軽食とお水
メルペイ水とおにぎり・唐揚げセット頂いた♪#golangtokyo pic.twitter.com/rOqD2jUPTd
— FUMI@Python&Go&Rust (@FumiProgrammer) September 25, 2019
ビール類のアルコールも出して頂いてました♪
年をとったのか、缶1本でもアルコール飲むと頭回らなくなるので、
今回はお水だけ頂きました。
セッション
Go in Nature(仮)
発表者
songmuさん
内容
songmuさんが作成したツール
gocreditshttps://t.co/Uh5L6pBBuy
— FUMI@Python&Go&Rust (@FumiProgrammer) September 25, 2019
#golangtokyo
songmuさんがCTO勤めている会社紹介
Nature株式会社https://t.co/w9MQ7KbnIW
— FUMI@Python&Go&Rust (@FumiProgrammer) September 25, 2019
#golangtokyo
Nature Remo
Nature Remohttps://t.co/zk8neaRVl5#golangtokyo
— 渡邉 洸 / Ko Watanabe (@ko_watanabe_tw) September 25, 2019
- 自宅の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に乗り換えたい
取り組み
- ECSのdeployにecspresso導入
Go Modules導入
Dependabot導入
- git-pr-release
- 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/
内容
Nature Remoとは?
- スマートリモコン
- アプリから赤外線リモコンの信号を送信できる
SDK
- tenntennさんの作ったgoからNature Remoを操作できる
- Cloud API と Local API両方対応
電子版なら読めそうhttps://t.co/krQfguXwu6 #golangtokyo
— к ё м е (@KeME_S) September 25, 2019
APIクライアントのデモで “家族が見ているかもしれない” 自宅のテレビのチャンネルを変えてみるwww #golangtokyo pic.twitter.com/qOvmfWQB7C
— オトモレ🎧 (@otomore01) September 25, 2019
テレビやライトはリモコンのボタンと赤外線信号が大体一対一対応してるんですけど、エアコンは状態によって同じボタンでも信号が変化するので、検出が難しいんですよね #golangtokyo
— songmu (@songmu) September 25, 2019
Google カレンダーのイベント → IFTTT → GAE → Nature Remo の API を叩く、みたいなことをやったが、なんとなく不安定だったし、なんなら Google カレンダーへの登録という作業が発注されるようになっただけだった。悲しい物語… #golangtokyo
— パン粉 (@pankona) September 25, 2019
誰でも使える LINE を用いて時間予約エアコン操作をできるようにした。良さそう #golangtokyo
— パン粉 (@pankona) September 25, 2019
LINE Bot -> App Engine -> Cloud API なるほどなー #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
まとめ
- Nature RemoとAPIでスマートホーム楽しい
- 赤外線リモコンならワンチャンある
- やれることは色々ありそう
LT
Raspberry Pi + Go で IoT した話 (仮)
発表者
yaegashiさん
ハードウェアに Raspberry Pi を用いた IoT の案件で Go 言語を活用した事例を紹介します。Go 言語からの利用を前提とした GPIO、ストレージ、Wi-Fi 制御のコンポーネント選択や、組み込み Linux システムの構築についても説明します。
内容
バイナリハックのLTされてた方だ!
— しょーちゃん Gopher Ninja400 (@PGShohei) September 25, 2019
GoConも出られるのね
#golangtokyo
Raspberry Pi + Go で IoT する例。いいねー #golangtokyo
— パン粉 (@pankona) September 25, 2019
MQTThttps://t.co/Qyc2VeL7G3https://t.co/FdeIrsGKDV
— FUMI@Python&Go&Rust (@FumiProgrammer) September 25, 2019
#golangtokyo
Goを使ったセンサーデータ収集基盤のお話(仮)
発表者
takeshinodaさん
Goを使いB2Bなデータ収集基盤のビジネスをやっています。その事例についてお話ししたいと思います。
内容
MODE, Inc. 、Googleで二番目の日本人がシリコンバレーで創業した会社らしい #golangtokyo
— 能力の高い女 (@silloi93) September 25, 2019
MODE,Inc の話。IoT で定番となる機能 (Device 管理とかログ管理とか) を提供している。ので、使う人々は自分のビジネスに集中できるぜ、煩わしいのすっとばせるぜ、というビジネスモデル。Go は Gateway とサーバーサイドで使ってるぞ #golangtokyo
— パン粉 (@pankona) September 25, 2019
Build real world data collecting architecture with goroutine & channel
発表者
banana_umaiさん
gorutineとchannelはGolangの並列処理のための基本的なビルディングブロックです。この機能を活用して、IoTデバイスのような不安定な環境でも安定的に現実世界のデータを収集するソフトウェアを構築するための工夫をお話させていただきます。
「mercari.go #10」に参加してきた!
はじめに
今日は、「mercari.go #10」に参加してきた!
イベント説明
概要
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 |
軽食とビール
メルカリさんの提供で、軽食とビールを頂いた:)
ご飯とビール🍺 pic.twitter.com/wazMEinrZs
— FUMI@Python&Go&Rust (@FumiProgrammer) August 20, 2019
発表
GopherCon 2019
スライド
発表者
morikuni
Workshop: Go-Beginner Training
スライド
発表者
mark.hahn
質疑応答
Q. Goを勉強する前にCを勉強した方がいいのか?なぜGoogleでGoが作られたのか?
FAQをみると良さそう https://t.co/KRHwCpwqNI #mercarigo
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) August 20, 2019
Goを勉強するためにCを勉強する必要はなさそう #mercarigo
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) August 20, 2019
今の話はこの辺の話ですかね https://t.co/OISUWvBgYG #mercarigo
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) August 20, 2019
なぜGoを開発したかはもう以下で必要十分な気が
— nari@技術書典7📖 GoとAWSで作る本格slackbot (@fukubaka0825) August 20, 2019
>One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language.
#mercarigo
How Uber Goes
スライド
発表者
micnnicim
内容
続いて、Uber(のエンジニアが発表した)でのGoの事例 。
— みずりゅ(技術書典7サークル参加:しがないラジオsp65出演しました。) (@MzRyuKa) August 20, 2019
メルカリのゴールドスカラシップに参加された型の発表。強い。#mercarigo
- 新しいマイクロサービスをフルスクラッチで作るコストの高さ
- 各マイクロサービスのアーキテクチャの大きな蘇澳い
- ...
UBERのGo 3つの課題
— ひがっしー (@tklogyk) August 20, 2019
新しいマイクロサービスを作るためのコストの高さ
→ロギング、ライブラリは何を使うか
各マイクロサービスのアーキテクチャの違いが大きい
→認知負荷が高い
#mercarigo
https://t.co/Xp4qPHKFBm
— nari@技術書典7📖 GoとAWSで作る本格slackbot (@fukubaka0825) August 20, 2019
#mercarigo
uber-go/fx
— ひがっしー (@tklogyk) August 20, 2019
DIを中心とする薄いアプリケーションフレームワーク
#mercarigo
これかhttps://t.co/viNRNut1Ou
— i-dach (@i74176307) August 20, 2019
#mercarigo
How I Write HTTP Web Services After Eight Years
スライド
発表者
upamune
内容
https://t.co/YwBiYSu0c1 これかー#mercarigo
— かまたけんし (@knsh14) August 20, 2019
https://t.co/O5QniwDlSl
— ともやっと (@tomoyat1) August 20, 2019
プレゼンの元ネタです#mercarigo
TinyGo
スライド
発表者
taqboz
内容
TinyGoとはGoのコンパイラでバイナリファイルのサイズを抑えてビルドできるとのこと。現在のバージョンは0.7.1.
— 神田 佳積 (@kazumiks) August 20, 2019
#mercarigo
https://t.co/k0nx1a9ayr#mercarigo
— FUMI@Python&Go&Rust (@FumiProgrammer) August 20, 2019
https://t.co/qn7TiHZdiQ#mercarigo
— FUMI@Python&Go&Rust (@FumiProgrammer) August 20, 2019
ここにどのマイコン上で動作できるか書いてあったhttps://t.co/rsPMMkITSV#mercarigo
— FUMI@Python&Go&Rust (@FumiProgrammer) August 20, 2019
PKI for Gophers
スライド
発表者
hunter
内容
次はPKI for Gopherのセッションについて。ちなみに、元スライドはこちらみたい。 https://t.co/uVULVrO6vs #mercarigo
— 神田 佳積 (@kazumiks) August 20, 2019
https://t.co/Q5t8XAdEjg
— nari@技術書典7📖 GoとAWSで作る本格slackbot (@fukubaka0825) August 20, 2019
#mercarigo
Workshop: Observability in Go & Socket to me: Where do Sockets live in Go?
スライド
発表者
yuki.ito
内容
workshopのリポジトリ
socket optionのリポジトリ
クイズ大会
クイズ大会優勝した #mercarigo pic.twitter.com/eHXUFm7LSE
— ぷらす (@p1ass) August 20, 2019
羨ましい!!!