www01.hanmoto.com 昨日 09:22

現場のGoプログラミング 実プロジェクトで役立つイディオムとテスト - Inanc Gumus(著/文)…他1名 | インプレス

インプレス刊『現場のGoプログラミング 実プロジェクトで役立つイディオムとテスト』(Inanc Gumus著)の書誌情報。B5変型判464ページ、定価4,100円+税、発売予定日2026年9月9日。実プロジェクトで役立つGo言語のイディオムやテスト手法を扱う技術書。

インプレス刊『現場のGoプログラミング 実プロジェクトで役立つイディオムとテスト』(Inanc Gumus著)の書誌情報。B5変型判464ページ、定価4,100円+税、発売予定日2026年9月9日。実プロジェクトで役立つGo言語のイディオムやテスト手法を扱う技術書。
↗ 元記事を開く
zenn.dev 昨日 00:06

通るだけの回帰テストを防ぐ:前提条件とミューテーションで検証する

回帰テストが緑でも守りたい処理を実際には検証できていないケースを、Go製OSSのglob処理の実例から解説する記事。テスト入力が本来の分岐より手前のサイズ制限で拒否され、対象ゲートを削除してもテストが成功し続ける「通るだけの回帰テスト」を発見。対策として、入力が対象経路へ到達することを明示的に検査する、性能の代理指標ではなく守りたい不変条件を直接検査する、意図的に分岐を壊して赤になるか確認するミューテーションテストの手法を紹介し、レビュー時のチェックリストも提示している。

回帰テストが緑でも守りたい処理を実際には検証できていないケースを、Go製OSSのglob処理の実例から解説する記事。テスト入力が本来の分岐より手前のサイズ制限で拒否され、対象ゲートを削除してもテストが成功し続ける「通るだけの回帰テスト」を発見。対策として、入力が対象経路へ到達することを明示的に検査する、性能の代理指標ではなく守りたい不変条件を直接検査する、意図的に分岐を壊して赤になるか確認するミューテーションテストの手法を紹介し、レビュー時のチェックリストも提示している。
↗ 元記事を開く
zenn.dev 2日前

TrustBlocとは?Go言語でW3C準拠のSSI(分散型ID)を実装するエンタープライズフレームワーク入門

Go言語製のエンタープライズ向けSSI(分散型ID)フレームワーク「TrustBloc」を解説する記事。W3C VC Data Model・DID Core・SD-JWT・BBS+署名など幅広い標準仕様への準拠状況を、vc-go/did-go/vcs等の主要リポジトリ構成とともに紹介し、Credo-TSやwalt.id、SpruceID DIDKitといった類似フレームワークと比較している。ブロックチェーンに依存しない独自DIDメソッド「did:orb」の仕組みも解説。実際にvc-goでVCを構築・シリアライズ・パースするGoコードのデモと実行結果を示し、標準ライブラリ(encoding/json)とのベンチマーク比較(VCパースで約4.9倍遅いが絶対時間は約23µsで実用上問題なし)も行っている。

Go言語製のエンタープライズ向けSSI(分散型ID)フレームワーク「TrustBloc」を解説する記事。W3C VC Data Model・DID Core・SD-JWT・BBS+署名など幅広い標準仕様への準拠状況を、vc-go/did-go/vcs等の主要リポジトリ構成とともに紹介し、Credo-TSやwalt.id、SpruceID DIDKitといった類似フレームワークと比較している。ブロックチェーンに依存しない独自DIDメソッド「did:orb」の仕組みも解説。実際にvc-goでVCを構築・シリアライズ・パースするGoコードのデモと実行結果を示し、標準ライブラリ(encoding/json)とのベンチマーク比較(VCパースで約4.9倍遅いが絶対時間は約23µsで実用上問題なし)も行っている。
↗ 元記事を開く
sigma-star.at 3日前

Hunting Down a Go Runtime Bug on 32-Bit Embedded Systems

Go製アプリが32bit ARM組み込みLinuxで断続的にクラッシュする問題を調査した記事。原因はGoランタイムのnetpollがeventfdとソケットfdを区別する際に使うev.Dataフィールドで、生ポインタとタグ付きポインタが混在し32bitリトルエンディアン環境でfdseqカウンタとアドレスがエイリアスしてしまうこと。長時間稼働しfdseqが数百万に達すると発生し、著者はテストケースを作成してGo本体に修正パッチを提案・マージされた。

Go製アプリが32bit ARM組み込みLinuxで断続的にクラッシュする問題を調査した記事。原因はGoランタイムのnetpollがeventfdとソケットfdを区別する際に使うev.Dataフィールドで、生ポインタとタグ付きポインタが混在し32bitリトルエンディアン環境でfdseqカウンタとアドレスがエイリアスしてしまうこと。長時間稼働しfdseqが数百万に達すると発生し、著者はテストケースを作成してGo本体に修正パッチを提案・マージされた。
↗ 元記事を開く
zenn.dev 4日前

Sliver C2をGoから操作する:コンソール操作とgRPCを比較検証

筆者の隔離検証環境でSliver C2をGoプログラムから操作する方法を検証した記事。Sliverコンソールとgrpcを比較し、operator configを用いてGoのCustom ClientからSliver Serverへmtls接続し、GetSessions()でセッション取得、Execute()でwhoamiを実行する手順とサンプルコードを示している。コンソール操作は文字列解析が必要だが、grpcはProtocol Buffers定義のフィールドとして構造化データを扱える点が利点として整理されている。

筆者の隔離検証環境でSliver C2をGoプログラムから操作する方法を検証した記事。Sliverコンソールとgrpcを比較し、operator configを用いてGoのCustom ClientからSliver Serverへmtls接続し、GetSessions()でセッション取得、Execute()でwhoamiを実行する手順とサンプルコードを示している。コンソール操作は文字列解析が必要だが、grpcはProtocol Buffers定義のフィールドとして構造化データを扱える点が利点として整理されている。
↗ 元記事を開く
zenn.dev 4日前

ドキュメントのコードを腐らせないCLIを作ってみた

ドキュメント内のサンプルコードが実装から乖離して腐る問題に対し、mdファイル向けにソースコードをMDSYNCコメントで同期するCLI「mdsync」と、Goのドキュメンテーションコメント内のサンプルをリンターとして検証・自動修正する「godocsync」を開発した記事。mdsyncは正規表現・region指定によるコード抽出、アトミックな更新、負のoffset対応などを実装し、godocsyncはGoの静的解析フレームワークの制約(パッケージ単位のサンドボックス)を`pass.ReadFile`の差し替えで突破し、テストパッケージから元パッケージのドキュメントを検査・修正できるようにしている。

ドキュメント内のサンプルコードが実装から乖離して腐る問題に対し、mdファイル向けにソースコードをMDSYNCコメントで同期するCLI「mdsync」と、Goのドキュメンテーションコメント内のサンプルをリンターとして検証・自動修正する「godocsync」を開発した記事。mdsyncは正規表現・region指定によるコード抽出、アトミックな更新、負のoffset対応などを実装し、godocsyncはGoの静的解析フレームワークの制約(パッケージ単位のサンドボックス)を`pass.ReadFile`の差し替えで突破し、テストパッケージから元パッケージのドキュメントを検査・修正できるようにしている。
↗ 元記事を開く