Go言語でcodemod
大規模なコードベースでリファクタリングを省エネ化するためにcodemodを最近調べていて、軽く試行錯誤したのでそのメモ。 やりたいこと 例えば以下のようなTable Driven TestなコードをBEFOREからAFTERに書き換えたい。コード量が多いため人間がやるのは現実的ではなく、codem
大規模なコードベースでリファクタリングを省エネ化するためにcodemodを最近調べていて、軽く試行錯誤したのでそのメモ。 やりたいこと 例えば以下のようなTable Driven TestなコードをBEFOREからAFTERに書き換えたい。コード量が多いため人間がやるのは現実的ではなく、codem
この記事は OpenCensusとhttptrace.ClientTraceを使ってHTTPリクエストのlatencyを可視化する - oinume journal(https://journal.lampetty.net/entry/opencensus-httptrace) のOpenTelem
Go1.17beta1がダウンロードできるようになったので、Generics(Type Parameters)でStackを書いて軽く遊んだメモ。 Generics (Type Parameters)について 最新の仕様のProposalは以下を見ると良い。 実際にどんな感じのコードになるのかは、
Goでよく使われるMockの生成ツールとしてgomock(https://github.com/golang/mock)がある1(fn:1)。個人的にはgomockが生成したコードでモックを書くのが好きではないので、代替としてmoq(https://github.com/matryer/moq)を使
はじめに アプリケーションが大きくなってくると、テストを並列で実行しないとどんどんgo testの実行時間が長くなってしまい、いわゆる「CI待ち」というものが発生してしまう。この記事は自分用のメモだが、テストを少しでも速くしたいという人のための記事。おそらく会社の誰かがもっと丁寧な説明のブログ記事を
はじめに みなさんこんにちは。これはGo5 Advent Calendar 2019(https://qiita.com/advent-calendar/2019/go5)の19日目の記事です。この記事はOpenCensusとhttptrace.ClientTraceを使ってHTTPリクエストの内部
はじめに これは以下の記事の続きの記事。以下の2つではgoroutineとchannelについて説明したので、これらを使って具体的な並行処理のユースケースを書いてみる。 Goにおける並行処理 - goroutine編 - oinume journal(https://journal.lampe
はじめに これはGoにおける並行処理 - goroutine編 - oinume journal(https://journal.lampetty.net/entry/concurrency-in-go-goroutines)の続きの記事。goroutineに引き続き、Goの並行処理を支える重要な概
はじめに Goでは、goroutineとchannelが言語仕様として組み込まれているため、他の言語に比べてとても並行処理のコードが書きやすい。この2つの基本的な動作原理についてまとめた自分用のメモである。(channelについては別の記事で書く予定) goroutineとは? gorout
これはなに? Go言語におけるcontextパッケージ(https://godoc.org/context)を使ったキャンセルやタイムアウトについて説明する。この記事を読むと以下について詳しくなれるはず...! context.WithCancel context.WithTimeout