#27 golang.tokyo - Go Conference 2019 Autumn afterparty
27回目のテーマは「Go Conference 2019 Autumn 2次会」です。
GoConの熱気が冷めないうちにgolang.tokyoとして非公式2次会を開催しました。
Go Conference 2019 Autumn | Home
今回のgolang.tokyoは以下のいずれかに該当するプロポーザルの発表がありました。
- GoConに応募したが惜しくも採択されなかった方
- 応募締切に間に合わなかった方
- GoConに登壇したが採択されなかった別のプロポーザル
僕は運営兼ブログ枠としてgolang.tokyoに参加しました。
ブログ枠兼運営として初techplay#golangtokyo https://t.co/Wz7G6Sb2Jo
— Ryota.I (@_pavlog) 2019年11月5日
尚、受付をしていたこともあって発表内容を一部聞き漏らした部分もあるので、間違いがありましたらご指摘頂けると幸いです。
- DevQuiz
- #1 Create shell manager with golang
- #2 Multi Cloud Serverless Application Architecture
- #3 uber-go/guide の解説
- #4 SaaS間連携における静的解析の活用
- おわりに
ていうかあんまり中身もないから、発表資料を是非読んでください。
DevQuiz
DevQuizに挑戦しても、しなくても問題ありませんが、参加することで抽選に有利になります。
遊び心を感じますね。ややこしい問題でした。
package main import "fmt" func main() { switch ok := false; { case true: fmt.Println("true", ok) case false: fmt.Println("false", ok) default: fmt.Println("default") } }
クイズのswitch文、ok:=falseの後のセミコロンの後が空なのが味噌だよね#golangtokyo
— MakKi (@makki_d) November 5, 2019
#1 Create shell manager with golang
Twitter: Y.Komatsu (@yusuke_k0matsu) | Twitter
発表資料: https://speakerdeck.com/usk81/create-shell-manager-with-golang
Motivation
- How to manage dotfiles?
- 開発環境を共有すれば環境構築に1日使わなくてよいのでは?
そこで「自分とチームで共有したいものの管理が可能なツール」を作成した話
元々ShellScriptで書き始めた。ただ、お決まりのように条件分岐で肥大化し管理が難しくなりそうなことが判明 => Goで書くことに
感想
正直に受付であまり聞けなかった、すみません…
参照
#2 Multi Cloud Serverless Application Architecture
Twitter: 渋川よしき (@shibu_jp) | Twitter
発表資料: Multi Cloud Serverless Application Architecture最新版
「普通のEC2は人類にはまだ早い」
entrypointの違いとビルド方法の違いがあるがコードジェネレータでカバーでき、シングルソースでマルチクラウドサーバーレスAPI対応は可能 #golangtokyo
— showylee@shori (@showylee_7) November 5, 2019
- サーバーレス+マルチクラウドでいろいろやっていきたい
- マルチクラウドはGo Cloud(Go CDK)で実現できそう
=> サーバーレスマルチクラウドアプリケーションできるやん
GCP Cloud FunctionsとAWS Lambda APIの違い
- GCPはソースコードでアップロード
- AWSはバイナリでアップロード
細かい各種制限やmainパッケージを使う使わないなどの違いがある
=> Cloud Functions / AWS Lambda向けにワンソースで動くように対応
まとめ
- マルチクラウドサーバーレスアプリケーションは実現可能そう
- Go Cloudはとても良い
感想
mainパッケージの違いを吸収するのが難しくシングルバイナリは厳しい
ただシングルソースではいけそうなのはよかったし、実際にやってみてできた話を聞けたのでちょっとワクワクした(やるとは言っていない)。
Go Cloudは触ったことなかったので、興味が湧いたから触ってみようと思いました。
また、Go Cloudについて連載をFuture Tech Blog で行われるそうなので、興味がある方は見てみると良いかもしれません。
(受付でしっかり聞けなかった)。
参照
- Go CDK
- Docstore · Go CDK
- GitHub - go-chi/chi: lightweight, idiomatic and composable router for building Go HTTP services
- GitHub - awslabs/aws-lambda-go-api-proxy: lambda-go-api-proxy makes it easy to port APIs written with Go frameworks such as Gin (https://gin-gonic.github.io/gin/ ) to AWS Lambda and Amazon API Gateway.
- GitHub - google/go-cloud: The Go Cloud Development Kit (Go CDK): A library and tools for open cloud development in Go.
#3 uber-go/guide の解説
Twitter: かまたけんし (@knsh14) | Twitter
uber-go/guide*1を和訳してみた
Motivation
- 英語の言い回しの勉強もできる
- 翻訳しながらのほうが深く考えながら読める
uber-goのlintを実装した ulinterを作り始めたらしい(まだまだ完成は時間がかかりそう)。
できそうなところから実装中とのこと。
Sliceの定義の仕方など、一貫した書き方をしないと一部違うところに深い意味があるのではないかと勘ぐってしまい、それだけで脳のリソースを食ってしまう #golangtokyo
— showylee@shori (@showylee_7) November 5, 2019
感想
翻訳関連は、権利関係の扱いが面倒臭そうだなと思ってやったことなかったので、とりあえずやってみるスタイルは(そう見えただけ?)良いかもしれない。
日本語訳をヘルプに原文を読もう #golangtokyo
— showylee@shori (@showylee_7) November 5, 2019
参照
#4 SaaS間連携における静的解析の活用
Twitter: yoheimiyamoto (@yoheimiyamoto_) | Twitter
発表資料: SaaS間連携における静的解析の活用
概要: SaaS間連携における静的解析の活用事例
連携元と連携先の間に例えばwebhookなどを噛まして、ASTを使って静的解析を行い条件を連携先に正しく出力することについての発表でした。
感想
多分一度読んだことある、tenntennさんの資料が出てきた 👀
たまに静的解析ツールを書こうと思ったりもするのだが、既に存在するもので満足してしまって未だに何か使えるものを作ったことはないので改めて勉強になりました。
参照
おわりに
何度かブログ枠でブログ書いてる気がするけれど、記事にするのめっちゃ難しいな!
golang.tokyo自体は盛況で、非常に濃いLTが多かったですが、このブログの内容は一層薄いものとなっております。
また久しぶりにお酒を飲んだところ、家に帰ってから疲れが噴出してしまったのであまり無理しないようにしようと思います。
*1:Uber 社内で使われてるスタイルガイド