Go Conference 2019 Autumnに参加してきました

はじめに

10/28(金)にGo Con autumnに参加してきました。 Goを仕事で使い始めてから半年ほど経ち、〇〇.goなどのミートアップには積極的に参加するようにしていましたが、GoConのようにオフィシャル?なイベントには初参加です。

やはり見応えのあるセッションが多くやる気maxになりました。

エセGopher脱却に向けて日々精進します。 以下見たセッションの紹介です。

セッション紹介

Go GC algorithm 101

speakerdeck.com

1個目からヘビー目の発表でしたが、 あまり触れたことのない人向けに説明も交えつつGOのGCの歴史について学ぶことが多かったです。

以下の本がオススメされていました。

ガベージコレクションのアルゴリズムと実装

stop the worldによりlatencyが落ちてしまう Mark and Sweep方式にて実装されていた以前のGOと

concurrent Mark and Sweep GCの違いなど、 今まで意識したことのない内容が多くとても楽しく聴くことができました。

Goにおける API Client実装パターン

speakerdeck.com

Gopher道場出身の方らしい。

begginer向けと書いてあり、わかりやすい内容だったが、実務で役立つ点・共感できる点も多かったです。

帰って早速exponential backoffについて実装してみました。

OSS Performance Tuning Tips

speakerdeck.com

まず世の中のソフトウェアは全て遅いものと考える という意識に脱帽しました。

  • 問題箇所の特定
  • benchmark
  • どう解決するかの引き出し
  • マージされるPR
  • 解決策を考えたら一度benchmark

各項目についてテクニック?を発表されていましたが、 その中を通して、すぐpprof, benchmarkと言った心がけが大事ということが伝わってきました。

avoでGoでアセンブラが書けるなど、asmの闇に飲まれかけているらしいです 笑

Accelerate Go development with Bazel

speakerdeck.com

monorepo build 辛い...などいきなり共感できる内容でした笑

gazzel, bazelの関係など今まで曖昧だったことがわかりやすく解説されていました。

以前軽く触れたことがあるのですが、学習・導入コストを考えると気軽にいれれるものではないそうで、istioもbazelをrepositoryから消したらしい...

  • gazel: goのファイルを解析してbazelファイルを生成
  • .bazelrc: option指定
  • bazelisk: bazelのバージョン管理
  • nogo: bazelの静的解析チェック

Check Container Images with Original Rules

speakerdeck.com

container imageはコントロールしやすい! 数々のdockerの脆弱性検知ツール開発者による発表で、 GKEなどマネージドオーケストレーション上ではコントロールできる部分が限られてくるということ、

docker imageは静的解析が容易だということを力説されていました。

思ったよりお手軽にできそうに見えるので挑戦してみたいと思います。

Microsoft Graph API Library for Go

speakerdeck.com

microsoft graph api SDKがGOに対応していないということで自分で作っちゃいました、という発表。

office365など自分では使っていないのですが、SDK作成のつらみ、ポイントなどが面白かったです。

Go Conference 2019 Autumn Go で超高速な 経路探索エンジンをつくる

speakerdeck.com

重み付き有向グラフ、ダイクストラ法などギリギリ聞いたことがある内容でこの発表は理解できないかもしれないと思っていましたが、

しっかり解説されており、slice, mapなど基礎的なものをいかに高パフォーマンスで使うかという内容はとても勉強になりました。

さすがD社という気持ちです。

Welcome to Linter

speakerdeck.com

linterを実際に会社で作成している方の発表。

最近静的解析に興味を持って取り組んでいるので、なんとかついていくことができました。

広く触れられている発表でしたが、実際の運用に乗せるまでのtipsなど興味深かったです。

compiler

speakerdeck.com

以前記事でみたことのある内容でしたが、やはりみたいと思ってホールへ 喋りが面白くて、何回か爆笑してしまいました(panicの実装を忘れていたなど)

目の前で実際に第二世代以降のコンパイラをビルドしたりエンターテイメント性があって面白かったです。

これだけのことを実行にうつしてしまう姿勢は見習いたいです。

まとめ

会社の仕事をほぼほったらかして参加しましたが、得たものを仕事で活かせば必ずプラスだと言えるくらい濃い内容だったと思います。

どの発表もプライベートor仕事にすぐ活かせる内容が入っており、モチベーションが爆上がりです。

初参加でしたが、敷居は全然高くなく、それでいて(自分にとっては)ハイレベルなカンファレンスだったので次も必ず行きたいです。