Go
これは、なにをしたくて書いたもの? 記事や書籍などで、以下のような記述を見かけます。 $ go build -ldflags '-X main.xxxx=....' この-ldflagsと-Xの指定でプログラム内の値を変えているようなのですが、「変えられます」という情報以外のことを あまり見…
これは、なにをしたくて書いたもの? Goのエラー処理に関する情報を見ているとxerrorsというものがよく出てくるので、1度見ておこうかなと思いまして。 xerrorsパッケージ xerrorsパッケージは、Goのエラーハンドリングのためのパッケージです。 xerrors · p…
これは、なにをしたくて書いたもの? Goはapt(+PPA)でインストールしているのですが、他のバージョンが使いたくなる時もあったりします。 Ubuntu · golang/go Wiki · GitHub こういう時はどうしたらいいのかな?と思ったのですが、Go自体が複数バージョン…
これは、なにをしたくて書いたもの? Goで書かれたアプリケーションをデバッグする方法を、押さえておきたいな、と思いまして。 Goアプリケーションのデバッグ Goのドキュメントでデバッグについて書かれているのは、こちらのページです。 Debugging Go Code…
これは、なにをしたくて書いたもの? Goでのビルドツールは、makeを使うことが多いと聞いたので。 いくつか、Goで書かれた有名なOSSを見てみると、確かにMakefileが置かれています。 https://github.com/prometheus/prometheus/blob/v2.24.1/Makefile https:…
これは、なにをしたくて書いたもの? Goの本を読んだり、サンプルコードを見ていたりすると、こういうのを目にするのですが。 file, err = os.Create(filename) if err == nil { return } nilかどうかの判定はさておき…。 エラーの中身や種類に踏み込みたい…
これは、なにをしたくて書いたもの? プログラムを書く時に、Goのソースコードやライブラリのソースコードを見つつ、「これ使ったらいいのかな?」と使おうとすると アクセスできないこととかがあり。 そういえば、Goのスコープ的な話、知らないですね。特に…
これは、なにをしたくて書いたもの? Goでプログラムを書いていて、「この変数の型はなに?」みたいな時にどうやって型の情報を取得するんでしたっけ?ということで。 今の動機は、デバッグ時とかに型の名前が知りたい、くらいです。 fmtパッケージの%T書式…
これは、なにをしたくて書いたもの? こちらのエントリで、Goで書いたアプリケーションに含まれるモジュールなどがわかるだろうか?という確認をしました。 go tool nmコマンドで、Goの実行可能ファイルの定義やシンボルを表示する - CLOVER 次は、使用して…
これは、なにをしたくて書いたもの? Goで作ったアプリケーションに含まれるライブラリとかの情報ってわかるのかな?と思って調べてみたのですが、コマンドが あるようです。 go tool nmというコマンドが近い感じですね。 nm - The Go Programming Language …
これは、なにをしたくて書いたもの? Goのテンプレートエンジンを調べてみようかなと思ったのですが、標準ライブラリにあるようなので、こちらを試して みることにしました。 Goの標準ライブラリにあるテンプレートエンジン text/templateと、html/template…
これは、なにをしたくて書いたもの? Goの勉強にということで、Echo Server、Clientを書いてみようかなと。 お題 Goを使って、Echo ServerとClientをそれぞれ書いていきます。 Echo Server 引数でバインドするアドレスとポートを受け取る 指定しない場合は0.…
これは、なにをしたくて書いたもの? Goの勉強をしていて、メソッドのレシーバー定義が2つあって、どういう使い分けをしたらいいのかよくわからなかったので 調べてみることにしました。 2つ、というのは、こういうのと func (p Point) Length() float64 { …
これは、なにをしたくて書いたもの? Goで使う環境変数を知りたいなと思ったのですが、goコマンドを見ていてenvというコマンドがあるのに気づき。 少し見てみようかな、と。 環境 今回の環境は、こちらです。 $ go version go version go1.15.6 linux/amd64 …
これは、なにをしたくて書いたもの? Goにおける、アサーションなどの機能を提供するtestifyというライブラリがあるのを知りまして。 こちらを少し試しておきたいな、と。 testify testifyは、以下の機能を提供するライブラリです。 アサーション モック テ…
これは、なにをしたくて書いたもの? Goでのテストの書き方を学んでみようかなと。 Goにはテストの仕組みが標準で組み込まれていて、go testコマンドとtestingパッケージを使うみたいです。 testing - The Go Programming Language 環境 今回の環境は、こち…
これは、なにをしたくて書いたもの? Goを使ったプログラムを書いていこうと思うのですが、モジュールに関する情報を全然知らないので、試しながら学んで みようと。 プログラムを書いていたら、パッケージくらいは使うでしょう、と。 なお、ここで試す条件…
これは、なにをしたくて書いたもの? Goで書いたソースコードを、ディレクトリ内を再帰的にフォーマットしたいということで。 どうも、gofmtとgo fmtを使う場合で違うようです。 今回は、カレントディレクトリ(.)に考えます。 環境 今回の環境は、こちらで…
これは、なにをしたくて書いたもの? そろそろ、少しずつGoを扱ってみようかなぁと思いまして。 The Go Programming Language 触ったことがないので、今回はとりあえず簡単にインストーとエディタの設定くらいをやります。 環境 今回の環境は、こちらです。U…
これは、なにをしたくて書いたもの? Vegetaという、割と個性的な負荷テストツールがあり、コマンドラインで簡単に使えそうなので試してみようかということで。 GitHub - tsenart/vegeta: HTTP load testing tool and library. It's over 9000! Apache Bench…
ちょっとした調べ物をしていたら、CaddyというGo製のWebサーバーが便利だということを知りまして。CaddyCADDYで手軽にHTTP/2サーバを立てる - yuw27b’s blogCaddy で HTTP/2 と php-fpm を利用する - Qiita Caddy? Goで実装されたWebサーバーだそうです。Ca…