情報と電子とおおかた遊び

プログラムの備忘録を綴りつつ、適当に遊びも記載するゆるいブログ

Goあんこ LT大会 5kgに途中まで参加してきた。

久々の更新です。仕事が落ち着いてきたので、これから少しずつ更新していこうかなと思っております。

今回の内容は、勉強会のGoあんこ LT大会 5kgに参加してきました。 所用で全ては見れなかったのですが、というか雪も心配だった、とりあえず見たものは書いていこうかと。

gounconference.connpass.com

GolangCI の話

ざっくりとしたまとめ:

  • pull requestの問題を検知してコメントしくれる
  • Linterを31種類走る(すごい!
  • 一般的なLinterを網羅
  • yamlで実行するLinterなどの設定をする。
  • ローカルで動かしたいならGolangCI-Linteがある
  • gometalinternアドも有名
  • 結構お互い比べている、
  • 厳しいLinterはかなり負担だけど、ある程度の必要

感想: 私も会社でアプリ用ゲートウェイAPIなんかでgoを書いているので、makeファイルの中に組み込んでみるべきか? やはり、人の手では構文的なところは粒度が人により違うので必要かも?

go でビットベクトルを作った話

ざっくりとしたまとめ:

  • bitsetというOSSが既にある。
  • ただ上記のだと、ファイルの書き込みに問題がある
  • エンディアンとかも気にしないとダメ。
  • tcp/binary socketに描く場合はendian気にしないとダメ。
  • wolf/bitsetの課題
  • エンディアンを考慮したビットベクトル
  • unsafe.pointer を使うと、キャストとか無理やりに使う
  • unsafe.pointerGCカウントではない

感想:

ビットベクトルはあんまりわからないですが、unsafe.pointerでのゼロコピーでの処理は少し気になりますね。 やはり、I/O処理はボトルネックの一つなので

Star Wars

Go で GitHub リポジトリへの流入経路を改善するツール作った

  • githubアイキャッチ画像を作る!
  • CLIでも提供している!
  • 気軽にキャッチーなアイキャッチをを作れのでブログとか向け。
  • go-assetsを使えば、簡単にバイナリに含めてくれる。うちのサーバーでも使っていますね

感想:

ブログにgithubあげたい場合はなんかいいかもしれない。

golang.org/x/tools/go/analysisについて

ざっくりとしたまとめ: - Linterを自分で作ってみた - go は静的解析ツールがたくさんある - でも社内ルールに従うのは自作しないとダメ - analysisパッケージを使えばできる - 実際に作って、クリーンアーキの警察を作ってみた

感想:

簡単に自分でLinter作れるようになったとのことで、是非会社のために作りたいですね。

Go製アプリをDockernizeした話

ざっくりとしたまとめ: - API Gateway + Lambda は取り回しが難しい - コンテナ化してkubernetesに乗せて - stage毎の設定は環境変数にする - kuberに乗せた場合は死活確認をする

GAEアプリをCI/CDして結果をSlackに通知した話

ざっくりとしたまとめ: - 開発者はコードだけ書くことに注力すればいい - yamlに設定を記述する。それでGAEにデプロイができる。

などなど・・・

ここら辺で堆積したので申し訳ないで。詳しくはここで見ましょう!

gounconference.connpass.com