We build fast, honest Go tools in the open: networking, storage, runtimes and developer tooling. Your next commit belongs here.

- Repositories
- 103
- GitHub stars
- 723
- Articles
- 42
- Languages
- 23
Join in three steps
No sign-up. Everything happens on GitHub.
Pick a project
Find a repository that matches what you love to build, from relays to databases.
GoOpen an issue or PR
Report a bug, propose an idea or send a fix. Small pull requests are welcome.
GoWrite for the blog
Share what you learned. Every post is translated into 20+ languages automatically.
GoProjects looking for you
Our most starred repositories. Pick one and say hi.
Publishes localhost services to the agentic web through self-hostable, trustless relays.
Human and machine friendly speedy open source coding harness. Our defaults. Your agent. dal is a minimal, pluggable coding agent; dalgona adds opinionated batteries. Make either yours with Starlark plugins, written by you or your agent.
Independent bitcoin full node in Rust
sites/artifacts alternative
Randflake ID: a distributed, uniform, unpredictable, unique random ID generator.
Golang implementation of an x402 payment facilitator
From the blog
Deep dives written by GoSuda members.

Rethinking the Git Monorepo: 人間と Coding Agents のための CAS-Native アーキテクチャ
標準のGit上にゼロデーモンでCASネイティブなモノレポを構築する方法:親なしのトランク・スナップショット、分離されたワークスペース参照、インメモリのマージツリー、階層型OWNERS、そしてO(delta)のミラー同期を用いて。

gosuda.org/zstd: CGO不要かつクラッシュ隔離を備えたDataDog/zstdの完全互換ドロップイン置換
CGO_ENABLED=0 の Go 向け Zstandard ライブラリであり、共有メモリワーカー内で上流の C ライブラリ libzstd 1.5.7 を実行します。DataDog/zstd 互換 API、再利用可能なコンテキスト、一括バッチ処理を備えています。

gosuda.org/sqlite3: 共有メモリIPCを介したCGO_ENABLED=0対応のdatabase/sqlドライバ
CGO_ENABLED=0 を用いた Go 向けのドロップイン型 database/sql SQLite 3.54.1 ドライバーであり、HQQ 共有メモリによるワーカー分離、64 KiB 単位のバッチ行プリフェッチ、SLSA 認証済みバイナリを特徴とします。

HQQ: キャッシュライン共有メモリを介したGoからのCライブラリの隔離
共有メモリリングを介して、分離されたワーカープロセス内でネイティブ C11 ライブラリを実行する、zero-cgo IPC ランタイム、IDL コンパイラ(hqq-bindgen)、および検証済みプロセススーパーバイザである。

Schottky: Go向けのゼロアロケーション・順序保存型バイトキーエンコーディング
ゼロアロケーションのGoライブラリであり、複合タプルを memcmp 順序のバイトキーにエンコードします。ASC/DESCのソートを独立して指定でき、NULL配置タグおよびプレフィックススキャンの境界を提供します。

Portalite: マルチリレーバインディングと標準 net.Listener ベースの軽量 Portal Go SDK
Go標準のnet.Listenerインターフェースに対応し、複数のリレーへの同時バインド、エンドツーエンド暗号化(E2EE)、自動セッション復旧をサポートする軽量なPortalクライアントおよびCLIです。

Go 1.27、あるいは私がいかにして心配するのをやめてジェネリックメソッドを愛するようになったか
ジェネリックメソッド、encoding/json/v2、標準のuuidパッケージ、そして実際に機能するgoroutineリーク検出器。すべて実際に実行された例を用いたGo 1.27の概要紹介。

マネージド言語のランタイム構造とGoバイナリのAMD64アセンブリ解析
マネージド言語とアンマネージド言語の実行モデルを比較し、go tool objdumpによって抽出したAMD64アセンブリを通じて、Goバイナリのスタックチェックおよびランタイム関数呼び出しの構造を分析します。

Go 条件文(if)のAMD64アセンブリコード生成と分岐命令の分析
Go コンパイラが if-else 条件文を CMPQ、JGE、JMP などの AMD64 機械語分岐命令へ変換する過程を、C コンパイラ(-O2)による分岐コード生成の結果と比較します。

AIネイティブ開発方法論:ツール活用を超えた双方向コンテキスト循環
AI依存型開発と単純なツール活用段階の構造的限界を比較し、設計意図と組織コンテキストを双方向に蓄積するAIネイティブ開発プロセスを定義します。

ポータルトンネル:分散型パブリックリレーを介してローカルホストのサービスを公開する
アカウントの登録も実行ファイルのインストールも不要で、マルチリレー型かつ許可不要のPortalトンネルを経由し、単一のcurlコマンドでローカルのHTTPサービスを公開インターネットに公開できます。

シャノンのチャネル容量限界とAIベースのセマンティック通信(Semantic Communication)構造
シャノン・ハートレーの定理に基づく物理的チャネル容量の限界を検討するとともに、共有知識ベースとセマンティック・エンコーダ/デコーダを通じて、ビット単位ではなく意味単位で伝送データを圧縮するセマンティック通信について論じる。

Portal: ローカルサービスを外部ネットワークへ中継する、エンドツーエンド暗号化のオープンリレー
公的IPアドレスやクラウドインフラの設定を必要とせず、ローカルサーバーを、エンドツーエンド暗号化(E2EE)されたオープンなリレーネットワークを介して外部インターネットに公開する Portal アーキテクチャについて説明します。

純粋な Go による syscall.Syscall と unsafe.Pointer を用いた Linux システムコールの直接呼び出し
cgoを使用せず、ABI に整合した構造体、unsafe.Pointer、および標準の syscall パッケージを用いて、純粋な Go から SYS_SYSINFO などの Linux カーネルのシステムコールを直接呼び出すこと。

Any は Any ではないが、Any は Any である
Go言語の`any`型と内部の`EFace`構造を詳細に分析し、`reflect`パッケージおよび型アサーション・型スイッチを活用した動的型処理の方法について説明します。

Go標準暗号ライブラリにおけるFIPS 140-2およびFIPS 140-3実装の構造
外部 C OpenSSL Provider 連携の限界を分析し、BoringCrypto(FIPS 140-2)から始まり、ネイティブ Go 標準 crypto パッケージの FIPS 140-3 モード、Fail-Fast 検証、Hedged ECDSA、DRBG 構造までを扱います。

活気あふれるビットマップ
データベースのビットマップインデックスの概念から、Roaring Bitmapの動作原理、Go言語での活用法まで。大規模データセットを効率的に処理するためのビットマップ最適化を検討します。

政治とコンピュータ
政治学とコンピュータ工学、一見異なるようでいて似通った二つの分野が、どのように社会問題の解決に寄与し、開発者が新たな立法者となりうるのかを検討します。

Go ゴルーチン(Goroutine)の動作原理: 2KB の可変スタックと M:N GMP スケジューラ
並行性(concurrency)と並列性(parallelism)の違いから始めて、ゴルーチンの2KBの初期の可変スタック、ユーザーレベルのコンテキストスイッチング、GOMAXPROCSおよびGMP(Goroutine-Machine-Processor)のランタイムスケジューリングモデルについて説明します。

データベースサーバーと組み込み型データベース:アーキテクチャおよびI/O特性の比較
独立プロセス型RDBMSと、SQLite、RocksDB、BadgerDB、PebbleDBなどのインプロセス組み込み型データベースを、NVMe SSDのI/O遅延、MSAにおけるデータ分離、およびデプロイメント構造の観点から比較します。

Go アプリケーション内蔵型 NATS サーバーの構成とインプロセス通信の構造
Go プロセス内部に NATS ブローカー(nats-server/v2)を組み込んで起動する設定方法と、InProcessConn に基づくインメモリ通信およびコンシューマー定義インターフェースの設計について扱います。

Go インターフェースと構造体の埋め込み: クラス継承との違いと合成による設計
Java/C++のクラス継承とGoのインターフェースにおける構造的型付け(structural typing)の違いを比較し、構造体の埋め込み(struct embedding)とメソッド委譲(method delegation)を用いた合成(Composition)パターンをコード例によって説明します。

システムおよびバックエンドエンジニアリングの観点から見たGo言語の5つの設計特性
高速なネイティブコンパイルと実行性能、フレームワークなしで動作する標準ライブラリ(net/http、database/sql)、M:Nゴルーチンスケジューラ、後方互換性の保証を中心に、Goの設計思想を整理します。

Go ランタイムに奪われる一杯の緑茶の余裕、GreenTea GC
Goの新しいGreenTea GCは、メモリスパンに基づいて小さなオブジェクトのGC効率を高めることで、性能を向上させます。従来のGCの問題点とGreenTea GCの利点について見ていきます。

Go HTTP ファイルアップロード応答遅延の短縮:チャネルベース非同期ワーカーキューの実装
net/http のファイルアップロードハンドラーにおいて、一時ファイルの受信と Incus コンテナへの転送処理を、バッファ付きチャネルとゴルーチンのワーカープールによって分離し、エンドポイントの応答遅延を低減する構造です。

Go 1.25 encoding/json/v2 の動作変更点と v1 互換性レイヤーの分析
Go 1.25の実験的機能(goexperiment.jsonv2)として導入されたencoding/json/v2における、大文字小文字を区別しないマッチング、omitempty/omitzeroの意味の変更、nilスライスおよびnilマップのシリアライズ、ならびにオプションについて比較します。

Go コンパイル時変数の注入: go build -ldflags -X の活用法
外部の .env ファイルを使用せず、go build -ldflags "-X" リンカーフラグとパッケージのシンボルパスを指定することで、コンパイル時に Go の文字列変数の値を埋め込む方法について説明します。

より煩わしさを減らしてHTTPエラーを処理する + RFC7807
Go API のエラー処理が面倒だと感じていませんか? RFC7807 を使えば、より簡潔かつ明確にエラー処理を行えます。

LLMコード生成環境における言語設計の比較:抽象化コストとGoの明示性
オブジェクト指向のポリモーフィズム、シンタックスシュガー、複雑なモジュールツリーがLLMのコンテキスト推論コストを高める要因を分析し、明示的な制御フローと単純な文法を備えたGoがAIコード生成に有利である理由を扱います。

Cilium の物語:小さなコード変更がもたらした驚くべきネットワーク安定性の向上
Cilium プロジェクトにおける小さなコードの変更が、LRU ベースの NAT 接続管理の安定性をいかに飛躍的に向上させたかを詳しく見ていきます。

MCPホストを少し理解してみる
Anthropicの MCPプロトコルと、Goで実装されたMCPホスト(mcphost)の理解を助けることを目的とした記事です。

dotnet Aspireで拡張可能なGoサーバーを実行してみる
.NET Aspire で Go サーバーをスケーラブルに実行する方法: YARP リバースプロキシを用いた水平スケーリングと自動化構成の例.

Go言語におけるMLDSAおよびMLKEMの利用記
Go言語における耐量子暗号MLDSAおよびMLKEMの利用方法を解説し、各アルゴリズムの特徴とコード例を提供します。

Go 1.24 リリース概要:Swiss Table マップ、ML-KEM、os.Root、testing/synctest
Go 1.24の技術概要:Swiss Table built-in maps、crypto/mlkem(FIPS 203)、TLS Encrypted Client Hello、runtime.AddCleanup、os.Root、およびtesting/synctest。

Randflake ID: Sparx64ブロック暗号を用いた分散64ビット一意ID生成
30ビットのタイムスタンプ、17ビットのノードID、17ビットのローカルカウンタを組み合わせ、推測不可能なIDを生成するためにSparx64 ARXブロック暗号を用いる、分散型64ビット一意ID生成器。

クライアントサイドキャッシュ(Redis)によるリアクティビティの向上
Redis Server Assisted Client Side Cacheを用いたAPI応答性の向上

Go と Tcl/Tk 9.0 による複数ファイル対応リストボックスベースの画像ビューアの実装
modernc.org/tk9.0に Tcl listbox のコマンドバインディングと仮想イベントハンドラを追加し、複数の画像ファイルの読み込み、選択の切り替え、リスト項目の削除が可能な GUI 画像ビューアを実装します。

CGo なしの Go による Tcl/Tk(modernc.org/tk9.0) GUI 実装:ウィジェットのパッキングと画像レンダリング
CGo への依存がないクロスプラットフォームライブラリ modernc.org/tk9.0 を使用して、Go でのウィンドウ作成、ボタンやメニューバーのウィジェットのパッキング、SVG/PNG/ICO 画像のレンダリングを実装します。

Go と OpenAPI エコシステム
Go言語でOpenAPIに基づくAPI開発を行う際に利用できるライブラリと戦略を紹介します。

Go 並行処理スターターパック
Go の並行性管理のための、ゴルーチン、チャネル、ミューテックスなど、さまざまなツールと技法を紹介します。

Go が try-catch による例外送出の代わりに明示的なエラー返却と panic-recover を採用した理由
呼び出しスタックに沿って例外処理の責任を転嫁する try-catch 構造の限界を検討し、呼び出し地点における明示的な error 処理と、回復不可能な状態に限定された Go の panic-recover 設計について説明します。

Go による AI サービス基盤の構築:並行処理と API 連携
Goが、基盤モデルAPIのオーケストレーション、並行ネットワークI/O、ストリーミングパイプライン、およびクラウドネイティブなサービスデプロイメントをどのように扱うか。