薄いブログ

技術の雑多なことを書く場所

2023-01-01から1年間の記事一覧

bytecodealliance/javy を軽く調べた

javy の処理の流れ github.com この記事は 0df708ec7b455a4896481a4926eccb23fe6c6014 時点でのソースコードをもとに書いています。詳細は自分で確認してください。 背景 sqlc-gen-typescript が tsc + esbuild + javy を使って作られていてそこで javy の存…

sqlc internals

github.com sqlc は何をやっているのか、問題に遭遇したときに調査するべき箇所はどこか? というのを sqlc 1.20 時点の情報をもとに書いていきます。 背景 最近 sqlc に PR を送るようになり sqlc についての理解が深まってきたのでまとめておこうというの…

sqlc plugin を書こう

背景 https://github.com/orisano/sqlc-gen-ts-d1 というプラグインを作成していて生成コードの好みが人によって大きく異なると感じることがありました。 一つのプラグインで生成コードをカスタマイズできるアプローチには保守性的な意味でも限界があるだろ…

次なる pkg/errors を探してを読んで

https://tech.kanmu.co.jp/entry/2023/06/19/150000 を読んで思ったこと、調べたことを書きます。 pkg/errors の移行先を探すという話で cockroachdb/errors goark/errs の2つが候補から最終的には cockroachdb/errors を選んでいました。 検討の中で求める…

Go 1.15 から io.CopyBuffer はコピー先が *os.File だと指定したバッファーを使わない

TL;DR Go 1.15 から io.CopyBuffer はコピー先が *os.File だと指定したバッファーを使わない 6/3 21:57 追記 調べてみたら Go 1.15 の Release Note https://t.co/VUcSeYYrZB の os の項目に説明がありました。issue もあるみたいですね https://t.co/q1mhw…

Apple Silicon だと go tool pprof の Disassemble が動かない問題とその対応

まとめ macOS ARM64 では -no_pie オプションが使えなくなっていて、現状だと go tool pprof で Source / Disassemble が使えない。 プロファイリング対象のバイナリ自身でプロファイルを書き換えるライブラリを作成し Source / Disassemble ができるように…