SWEet

A Software Engineer Is Eating Technologies

Golang

Custom Controller の開発で使えそうなコード集 #Kubernetes2 Advent Calendar 2020 16日目

この記事は Kubernetes2 Advent Calendar 2020qiita.com の16日目の記事です。 Custom Controller で よく使う、使えそう なコードの断片をラフに紹介してみようと思います。 想定する環境 Kubebuilder v2 go 1.14 今回実装した CRD の example apiVersion: …

About etcd and NoSQL

はじめに 本記事は adventar.org における19日目の記事になります. Previous ICCV2019 Best paper SinGANのできる事できない事[実践編] - Qiita Next @Shagamii による記事 となっていますのでよろしければこちらもどうぞ. さて, 今回は昨今多く世に出てきて…

GoのURL decodeするときの注意

TL;DR Goの net/url のURL構造体が持つ String() 関数は自動でエスケープされるから気をつけよう コードと意味 http://hoge.com/hoge.jpg%3Fversion%3Dv1 みたいなURLを http://hoge.com と /hoge.jpg~~ のようにFQDNとパスで分けて パスのエスケープをデコ…

Go言語でつくるインタプリタを読み終えて,独自拡張した話

Go言語でつくるインタプリタを漸く読み終わりました.といっても実際には1月末には終わっていて単純に記事にするのを忘れていただけなんです. 実際にコードを書きながら読んでいたのですが,リポジトリのログを遡るとファーストコミットは2018/6/24になって…

Golangにおけるプロジェクトのレイアウトについて

僕がGolangを好きな理由はいくつかあるが、主なものは コードが皆フォーマッターによって大体綺麗になる 言語機能が充実しすぎていないので処理が追いやすい(コーディングする時不便に感じることもあるが、チームでの開発においては読まれる方を重視したほう…

Goのプロジェクト内でgRPCで自分で定義したprotoファイルをimportする

自分で作ったprotoファイルを他のprotoファイルから参照する時にハマったのでメモ サンプルプロジェクトの構成 . ├── Makefile ├── team │ └── handler │ └── grpc │ └── team │ ├── team.pb.go │ └── team.proto └── user └── handler └── grpc └── user ├─…

Gormにおける多層外部キーの定義の仕方とコードの書き方

最近バイトの方でgormの振る舞いとデータベースのテーブル構造のことでハマったのでそれについてメモっておきます テーブル構造とgoのモデル 最初にあったテーブル構造は上の図のような感じ。 今回は例として地域、地域に存在する書店たち、書店の持つ本をマ…

GAEにデプロイするとき今のバージョンのzapは使っちゃだめ

GAEでgolangのwebサービスをデプロイしようとしたとき github.com unique id発行のために上のライブラリを使っていたんですが、内部でzapを使っていました。 github.com zapは以下のようにgo1.9から追加されたtype aliasを使っています。 package zap import…