Golang

IntelliJ IDEAで大きなファイルがインデックスされないときの解決方法

GoLandやIntelliJ IDEAなどJetBrainsのIDEで大きなファイルがインデックスされないときの解決方法を紹介します。 TL;DR Help > Edit Custome Properties... をクリック 開かれたファイルに idea.max.intellisense.filesize=10000000 と追記する 発生した問題…

client-goでDynamic Clientを使用して複数のマニフェストを適用する

client-goで単体のリソースを作成する場合は以下のように明示的に対象のclientを作成することで行うことができます。 func main() { ... deployment := &appsv1.Deployment{} deploymentsClient := clientset.AppsV1().Deployments(apiv1.NamespaceDefault) …

Kubernetes上で動くGoサーバーでプロファイラを動かしWeb UIで表示する

Goにはプロファイラとして標準パッケージにpprofが搭載されています。 pprofの使い方としてはすでに多数の優良記事が存在するため、ここでは扱いません。 今回はpprofをk8s上で動くサーバーに対して実行し、結果をWebUIで表示する必要があったのでそのやり方…

Go ModulesなプロジェクトのDockerビルドを高速化する

Go Modulesに対応させたプロジェクトをDocker内でビルドして実行するとします。 単純にDockerfileを書いてしまうとソースコードに変更が入るたびにModulesのダウンロードが走ってしまい、とても時間がかかってしまいます。 そこでDockerのイメージレイヤのキ…