2022-01-01から1年間の記事一覧
概要 参考情報 概要 いつも忘れるので、以下自分用のメモです。 たまに、go test の結果をプログラム側からいじりたいので json形式 で欲しいときがあります。 go test には、-json フラグがあるので、それを指定すると結果が JSON で取得できます。 (昔は、…
概要 参考情報 概要 いつも忘れるので、以下自分用のメモです。 作ったアプリを go install で $(go env GOPATH)/bin に置いた後に、後で削除したい場合は以下のようにします。 手で消しても同じなのですが、やっぱりコマンド経由でやりたい。 $ go clean -i…
概要 サンプル 参考情報 概要 bep/logg というログライブラリが公開されていて、ベンチマークの結果を見ると速かったのでちょっと触ってみました。 apex/log からフォークしたライブラリみたいですね。 まだ、バージョンは v0.1.0 だけど、シンプルな構成で…
概要 本家 その他の有用情報 参考情報 概要 先日、Go 1.19 がリリースされましたね。各所で情報を公開してくださっている方々がいっぱいいらっしゃるので忘れないうちに自分用にメモメモ。。。 本家 go.dev go.dev go.dev go.dev go.dev 個人的には、今回追…
概要 サンプル Taskfile.yml sender receiver 実行結果 参考情報 概要 よく忘れるので、ここにメモメモ。。。 たまに、Goのプログラムから他のプロセスに対してシグナルを送りたいときがあります。 以下、サンプルです。 サンプル 2つのプログラムで試して…
概要 サンプル Taskfile.yml lib.go lib_test.go 実行結果 参考情報 概要 よく忘れるので、ここにメモメモ。。。 goでテストを行う際、たまに所定の回数分テストを実行してほしいときがあります。 その場合、以下のように指定します。 $ go test -count N ./…
追記(2022-08-10) 概要 参考情報 追記(2022-08-10) gitpod/workspace-go の latest タグが更新されましたので、latestタグのイメージが Go1.19 になっています。 なので、2022-08-10現在では以下のタグは利用しなくても Go1.19 が利用できるようになって…
概要 サンプル Taskfile.yml lib_test.go 実行結果 参考情報 概要 よく忘れるので、ここにメモメモ。。。 goでテストを行う際、たまにランダムでテストを実行してほしいときがあります。 その場合、以下のように指定します。 $ go test -shuffle on ./... サ…
概要 サンプル Taskfile.yml lib.go lib_test.go 実行結果 参考情報 概要 よく忘れるので、ここにメモメモ。。。 goでカバレッジを採取した後、それをHTMLで出力するには以下のようにします。 $ go test -coverprofile /path/to/coverage/result ./... $ go …
概要 サンプル Taskfile.yml 実行結果 参考情報 概要 よく忘れるので、ここにメモメモ。。。 利用しているライブラリで、どのバージョンが利用可能なのかを調べるには以下のようにします。 サンプル Taskfile.yml version: "3" tasks: default: cmds: - go l…
概要 サンプル 参考情報 概要 よく忘れるので、ここにメモメモ。。。 xml の Marshal/Unmarshal で入れ子の要素の値を取得する場合、ちゃんと要素毎に type 作って指定していくのが正道だと思いますが、面倒なので一気に取得したいときがあります。 んで、 x…
概要 サンプル 参考情報 概要 使うことはほぼ無いと思いますが、知っておくと役に立つときが来るかもしれません。 Goで string から []byte へ変換したい場合は、通常以下のように b := []byte(s) とします。これで何も問題ないのですが、内部ではメモリコピ…
概要 サンプル 参考情報 概要 使うことはほぼ無いと思いますが、知っておくと役に立つときが来るかもしれません。 Goで []byte から string へ変換したい場合は、通常以下のように s := string(buf) とします。これで何も問題ないのですが、内部ではメモリコ…
概要 参考情報 概要 知らなかったので、忘れないうちにメモメモ。。。こんなコマンドあったんですね。 docs.microsoft.com linuxのfindコマンドみたいな使い方が出来るので、これは便利。 以下のようにすると、カレントディレクトリの下から3日以前のファイ…
概要 サンプル Taskfile.yml Mutexでクリティカルセクションを作っているサンプル 参考情報 概要 少し前に以下のメモをアップしました。 devlights.hatenablog.com 上記ではスライスでしたが、マップも同様です。 こちらはスライスとは違って、ちょっとでも…
概要 サンプル main.go Taskfile.yml bench_test.go 参考情報 概要 Stackoverflowには Go Collective というのがあります。 stackoverflow.com The official Q&A channel for Google's Go Programming Language. と書いてある通り、公式のQ&Aとなっていて、…
概要 サンプル main.go Taskfile.yml 参考情報 概要 Stackoverflowには Go Collective というのがあります。 stackoverflow.com The official Q&A channel for Google's Go Programming Language. と書いてある通り、公式のQ&Aとなっていて、いい質問と回答…
概要 サンプル main.go Taskfile.yml 参考情報 概要 よく忘れるので、以下にメモメモ。。。 そのまま http.ListenAndServe で起動すると当然駄目なので、http.Server を作って起動します。 サンプル main.go package main import ( "context" "log" "net/htt…
概要 概要 Publickeyさんの方で以下の記事が上がっていたので、忘れないうちにメモメモ。。。 今後、使うことになるかもしれないので。 www.publickey1.jp devblogs.microsoft.com ツールは以下で公開されています。 github.com SBOM と SPDXって何?って場…
概要 サンプル 参考情報 概要 以前にビットフラグについて、以下のような記事をアップしました。 devlights.hatenablog.com Go 1.18 からジェネリックが導入されたので、このような処理が汎用的に書けるようになりました。 てことで、ちょっとしたサンプルで…
概要 サンプル Taskfile.yml データ競合が発生する版 データ競合が発生しないようにする(1) データ競合が発生しないようにする(2) データ競合が発生しないようにする(3) 参考情報 概要 Goは、非同期処理が比較的簡単に書けるので、ちょちょいと書い…
概要 サンプル 参考情報 概要 使うことはほぼ無いかもしれませんが、知ってるとちょっと便利かもしれません。 bufio.Scanner さん に対して、独自のデリミタでSplitしてほしい場合、bufio.SplitFunc を作って渡します。 このやり方がちょっと難しかったので…
概要 サンプル Taskfile.yml 参考情報 概要 よく忘れるので、忘れないうちにメモメモ。。 Goでクロスコンパイルするときに、GOOSとGOARCHを設定する必要がありますが、それの一覧を出力するやり方。 Goの標準コマンドで出力できます。 $ go tool dist list …
概要 参考資料 概要 久しぶりに python をコマンドラインでガチャガチャやっていると、mypyとかtype hintとかについて忘れていること多いのでガイドみたいなのないかなーって探したら以下を発見。忘れないうちにメモメモ。。。 sadh.life 基本からしっかりと…
概要 apt-get でコケる 調整後の .gitpod.yml と .gitpod.Dockerfile .gitpod.yml .gitpod.Dockerfile 起動したイメージ サンプルリポジトリ 概要 バッチリ動く環境が作れたので、忘れないうちにメモメモ。。。 以前、gitpod で flutter の環境を作るって以…
概要 -d (--dir-diff) オプションを指定 参考情報 概要 知らなかったので、忘れないうちにメモメモ。。。 以前の記事で以下のように WinMerge とか Beyond Compare を設定するやり方は記載していました。 (今はVSCodeとかがデフォルトで設定されるので、その…
概要 サンプル 参考情報 概要 いつも使いたいときに忘れているので、ここにメモメモ。。。 commons-ioのFileUtils使えって言われればそうなのですが、自力でやらないといけないときもあります。 C#とかだと、Directory.Delete(path, true) ってやるとバサー…
概要 サンプル 参考情報 概要 Go には構造体のフィールドにタグをつけることができます。一種のメタ情報ですね。 jsonやxmlやyamlを処理する際によくお世話になる `json:"id"` とかのやつです。 基本的に利用するライブラリが定義しているタグを指定して使う…
概要 サンプル 参考情報 概要 Goで作られた cloc クローン。使いやすいですねー。作者さんに感謝です。 github.com サンプル 試しに、自分のリポジトリ でやってみたら、以下のように出力されました。 gitpod /workspace/try-golang (master) $ go run githu…
概要 参考情報 概要 いつのまにか、vim 9.0 がリリースされていた。 vimスクリプトに大きな改善が入って、速度がとても上がったみたいですね。 まだ、使えてないですが、後から調べられるよう情報メモメモ。。。 Vim 9.0 : vim online Vim: version9.txt vim…