Goあんこ LT大会 5kgに途中まで参加してきた。
久々の更新です。仕事が落ち着いてきたので、これから少しずつ更新していこうかなと思っております。
今回の内容は、勉強会のGoあんこ LT大会 5kgに参加してきました。 所用で全ては見れなかったのですが、というか雪も心配だった、とりあえず見たものは書いていこうかと。
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.pointer
はGCカウントではない
感想:
ビットベクトルはあんまりわからないですが、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にデプロイができる。
などなど・・・
ここら辺で堆積したので申し訳ないで。詳しくはここで見ましょう!