Go
Blog:
goのローカル開発環境でもo11yスタックを活用したい

近年、ソフトウェア開発におけるObservability(観測性)の重要性がますます高まっています。通常、本番環境にモニタリング環境を導入しますが、ローカル開発でも同じ環境を簡単に起動できることが理想的です。この記事では、ローカル環境でo11yスタックを迅速に立ち上げ、実際に使用できるサンプルを通じて、その手法とメリットを詳しく解説します。

Blog:
xk6でk6にカスタム関数を追加する

k6はjavascriptでシナリオが書ける負荷試験ツールですが、es6のみしかサポートしていないため、cryptoをはじめとした複雑な処理を呼び出すことができません。k6は実のところ拡張性が高くつくられており、xk6というビルドツールを使うことで、独自のモジュールを追加したk6を簡単にビルドすることができます。本記事では、xk6を使ってk6にカスタム関数を追加する方法を紹介します。

Blog:
CosmosのAppHash不整合をデバッグする

CosmosSDKで作成したブロックチェーンの、非決定的な処理によるConsensusErrorを解決する1手法をまとめたので紹介します。

Blog:
slogでログにTraceIDを出す

go1.21で構造化ログを出すslogが標準ライブラリに導入されました。これを使ってTraceIDを一緒にログに出すようにします。

Works:
AvatarMeets

AvatarMeetsは2023年7月に秋葉原の大通り沿いにて開催されたVKetRealというイベントにて実施した企画です。横幅6Mもの巨大ディスプレイの前で、複数人同時にモーションキャプチャーを行い、VRの中の人と交流できるイベントです。この記事では、このAvatarMeetsを制作する上で注力した点などを解説しています。

Blog:
Goプログラムのトレースを取ってGrafanaCloudで可視化する

GoでAPIサーバーを構築していると、「エラーログがでたけどこのログはどのリクエストに紐づいているんだっけ?」となることが多々あります。traceは主に処理時間の内訳や呼び出しの依存関係を示してくれますが、スパンのコンテキストにいろんな値を保持しておき、それをエラーログと結びつけることでデバッグに便利に使えます。また、自身でtraceやlogの記録・可視化を行う環境を構築することは面倒ですが、GrafanaCloudの無料枠を使うとこれが快適に行えるので今回はこれを活用します。

Blog:
golangでdynamoDBを叩く

バイトでgolangでdynamodbを叩くlambdaを書く機会があったので、そのときに調べたことを軽くメモしています。 goはほんと触りたてなので、あたまわるコードや誤りが存分に含まれている可能性高いです。