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.

Přehodnocení Git monorepo: CAS-Native architektura pro lidi a Coding Agents
Jak vytvořit monorepo bez démonů a nativně založené na CAS nad standardním Gitem pomocí trunk snapshotů bez rodičů, izolovaných referencí pracovních prostorů, slučovacích stromů v paměti, hierarchických souborů OWNERS a synchronizace zrcadel se složitostí O(delta).

gosuda.org/zstd: Drop-In náhrada DataDog/zstd s kompresí bez CGO a izolací pádů
CGO_ENABLED=0 Go knihovna Zstandard spouštějící upstream C knihovnu libzstd 1.5.7 v pracovním procesu se sdílenou pamětí, s API kompatibilním s DataDog/zstd, opakovaně použitelnými kontexty a dávkovým zpracováním.

gosuda.org/sqlite3: CGO_ENABLED=0 database/sql Driver nad Shared-Memory IPC
Ovladač SQLite 3.54.1 pro Go kompatibilní s rozhraním database/sql, bez nutnosti CGO (CGO_ENABLED=0), s izolací workerů přes sdílenou paměť HQQ, předčítáním řádků po dávkách o velikosti 64 KiB a binárními soubory opatřenými attestací SLSA.

HQQ: Izolace C knihoven od Go prostřednictvím sdílené paměti zarovnané na cache line
Běhové prostředí IPC bez cgo, kompilátor IDL (hqq-bindgen) a ověřený supervizor procesů, které spouštějí nativní knihovny C11 v izolovaných pracovních procesech prostřednictvím kruhových front ve sdílené paměti.

Schottky: Zero-Allocation, Order-Preserving Byte-Key Encoding pro Go
Knihovna pro jazyk Go bez alokací paměti, která kóduje složené n-tice do bajtových klíčů uspořádaných podle memcmp, s nezávislým řazením ASC/DESC, značkami pro umístění hodnot NULL a mezemi pro prefixové skenování.

Portalite: lehký Portal Go SDK s vícenásobnou relay vazbou a standardním net.Listener
Lehký klient Portal a CLI, který podporuje standardní rozhraní net.Listener jazyka Go, současné vázání na více relé, end-to-end šifrování (E2EE) a automatické obnovení relace.

Go 1.27, aneb Jak jsem se naučil přestat se strachovat a zamilovat si generické metody
Generické metody, encoding/json/v2, standardní balíček uuid a detektor úniku goroutin, který skutečně funguje. Přehled jazyka Go 1.27 s příklady, které byly všechny skutečně spuštěny.

Generování assembly kódu AMD64 pro podmínkový příkaz (if) v jazyce Go a analýza větvicích instrukcí
Porovnáváme, jak Go kompilátor překládá podmíněné příkazy if-else do strojových instrukcí větvení architektury AMD64, konkrétně CMPQ, JGE, JMP a dalších, s výsledky generování větvicího kódu C kompilátorem s přepínačem -O2.

Analýza běhové struktury řízených jazyků a assembleru AMD64 pro binárních souborů Go
Srovnáváme modely provádění řízených (managed) a neřízených (unmanaged) jazyků a na základě assembleru AMD64, extrahovaného nástrojem go tool objdump, analyzujeme kontrolu zásobníku (stack check) v binárních souborech Go a strukturu volání runtime funkcí.

Metodologie vývoje nativní pro AI: bidirekcionální cirkulace kontextu přesahující využití nástrojů
Srovnáváme strukturální omezení přístupů založených na závislosti na AI a fáze jednoduchého využívání AI jako nástroje a definujeme proces vývoje nativního pro AI, který oboustranně akumuluje záměry návrhu a organizační kontext.

Portal Tunnel: Zpřístupnění služeb na localhostu prostřednictvím decentralizovaných veřejných relé
Zpřístupněte lokální HTTP služby veřejnému internetu jediným příkazem curl prostřednictvím vícereléových, bezoprávnění nevyžadujících Portal tunelů, bez nutnosti vytváření účtů nebo instalace binárních souborů.

Shannonova kapacita kanálu a struktura sémantické komunikace (Semantic Communication) založené na umělé inteligenci
Zamysleme se nad fyzickými kapacitními limity kanálu podle Shannon-Hartleyho věty a zabýváme se sémantickou komunikací, která prostřednictvím sdílené znalostní báze a sémantických kodérů/dekodérů komprimuje přenášená data na úrovni významových jednotek, nikoli bitů.

Portal: otevřený relé s end-to-end šifrováním pro předávání lokálních služeb do externí sítě
Tento dokument popisuje architekturu Portal, která zpřístupňuje lokální server v externím internetu prostřednictvím otevřené relé sítě s end-to-end šifrováním (E2EE), a to bez nutnosti veřejné IP adresy nebo nastavení cloudové infrastruktury.

Přímá volání systému Linux v čistém Go pomocí syscall.Syscall a unsafe.Pointer
Vyvolávání systémových volání jádra Linuxu, jako je SYS_SYSINFO, přímo z čistého Go pomocí struktur zarovnaných podle ABI, unsafe.Pointer a standardního balíčku syscall bez cgo.

Any není Any, ale Any je Any
Podrobně analyzujeme typ `any` jazyka Go a jeho interní strukturu `EFace` a vysvětlujeme metody dynamického zpracování typů pomocí balíčku `reflect` a type assertion a type switch.

Struktura implementací FIPS 140-2 a FIPS 140-3 ve standardní kryptografické knihovně jazyka Go
Analyzujeme omezení integrace s externím C poskytovatelem OpenSSL a zabýváme se BoringCrypto (FIPS 140-2), režimem FIPS 140-3 nativního standardního balíčku crypto v Go, ověřováním typu Fail-Fast, Hedged ECDSA a strukturou DRBG.

Živé bitmapy
Od pojmu bitmapového indexu v databázích přes princip fungování Roaring Bitmap až po využití v jazyce Go. Zkoumáme optimalizaci bitmap pro efektivní zpracování rozsáhlých datových sad.

Politika a počítače
Politika a informatika, dva obory, které se zdánlivě liší, a přesto si jsou podobné, zkoumají, jak mohou řešit společenské problémy a jak se vývojář může stát novým zákonodárcem.

Princip fungování goroutine v Go: 2KB proměnlivý zásobník a M:N plánovač GMP
Vysvětlíme rozdíl mezi konkurencí (concurrency) a paralelismem (parallelism), dále 2KB počáteční dynamicky rostoucí zásobník goroutine, uživatelskou úroveň přepínání kontextu (user-level context switching), GOMAXPROCS a model plánování běhového prostředí GMP (Goroutine-Machine-Processor).

Databázové servery a vestavěné databáze: srovnání architektury a charakteristik I/O
Porovnáváme samostatné databázové systémy RDBMS založené na nezávislých procesech a vestavěné databáze běžící uvnitř procesu aplikace, jako jsou SQLite, RocksDB, BadgerDB a PebbleDB, z hlediska latence I/O operací na NVMe SSD, izolace dat v architektuře MSA a struktury nasazení.

Konfigurace vestavěného NATS serveru v aplikacích Go a architektura komunikace v rámci procesu
Tento text popisuje způsob konfigurace a spuštění NATS brokeru (nats-server/v2) vestavěného přímo do procesu Go a zabývá se návrhem komunikace v paměti založené na InProcessConn a rozhraním pro definici spotřebitelů.

Rozhraní a vložení struktur v Go: rozdíly oproti dědičnosti tříd a kompoziční návrh
Srovnává rozdíly mezi dědičností tříd v Javě/C++ a strukturálním typováním pomocí rozhraní v Go a pomocí příkladů kódu vysvětluje kompozici (Composition) založenou na vnoření struktur (struct embedding) a delegování metod.

Pět návrhových rysů jazyka Go z pohledu systémového a backendového inženýrství
Tento text shrnuje konstrukční filozofii jazyka Go se zaměřením na rychlou nativní kompilaci a výkon za běhu, standardní knihovnu fungující bez frameworků (net/http, database/sql), plánovač goroutin typu M:N a záruku zpětné kompatibility.

Chvilka klidu s citronovým... zeleným čajem, který Go runtime nestihne vzít: GreenTea GC
Nový GreenTea GC v Go zlepšuje výkon tím, že na základě paměťových spanů zvyšuje efektivitu GC pro malé objekty. Seznámíme se s problémy stávajícího GC a s výhodami GreenTea GC.

Zkrácení doby odezvy při nahrávání souborů přes HTTP v Go: implementace asynchronní pracovní fronty založené na kanálech
Tato struktura odděluje příjem dočasných souborů a přenos do kontejneru Incus v rámci handleru pro nahrávání souborů v net/http do bufferovaného kanálu a poolu worker gorutin, čímž snižuje latenci odezvy koncového bodu.

Analýza změn chování encoding/json/v2 v Go 1.25 a vrstvy kompatibility s v1
Porovnáváme porovnávání názvů polí bez ohledu na velikost písmen, změnu významu omitempy/omitzero, serializaci nil slices a map a související možnosti u encoding/json/v2, který byl zaveden jako experimentální funkce Go 1.25 (goexperiment.jsonv2).

Injekce proměnných v době kompilace v Go: použití go build -ldflags -X
Tento článek popisuje, jak během kompilace (compile time) vložit hodnoty do řetězcových proměnných jazyka Go bez použití externího souboru .env, a to pomocí linkerového příznaku go build -ldflags "-X" a zadáním cesty k symbolu balíčku.

Jak s menším úsilím zpracovávat chyby HTTP + RFC7807
Je zpracování chyb v Go API únavné? Vyzkoušejte RFC7807 a zpracovávejte chyby jednodušeji a přehledněji.

Srovnání návrhu jazyků v prostředí generování kódu pomocí LLM: náklady abstrakce a explicitnost jazyka Go
Analýza toho, jak objektově orientovaný polymorfismus, syntaktický cukr a složité stromy modulů zvyšují náklady na kontextové uvažování LLM, a rozbor důvodů, proč je Go s explicitním řízením toku a jednoduchou syntaxí výhodný pro generování kódu pomocí umělé inteligence.

Příběh o Ciliu: Překvapivé zvýšení stability sítě vyvolané drobnou změnou kódu
Podrobně se podíváme na to, jak jedna malá změna kódu v projektu Cilium výrazně zvýšila stabilitu správy NAT spojení založené na LRU.

Pochopení hostitele MCP
Tento článek slouží k lepšímu pochopení protokolu MCP společnosti Anthropic a hostitele MCP (mcphost) implementovaného v jazyce Go.

Vyzkoušení škálovatelného spuštění Go serveru v dotnet Aspire
Jak škálovatelně provozovat server v Go pomocí .NET Aspire: příklad konfigurace horizontálního škálování a automatizace s reverzní proxy YARP.

Zkušenosti s používáním MLDSA a MLKEM v jazyce Go
Go 언어에서 양자 내성 암호화 MLDSA와 MLKEM 사용법을 알아보고, 각 알고리즘의 특징과 코드 예제를 제공합니다.

Přehled vydání Go 1.24: mapy Swiss Table, ML-KEM, os.Root a testing/synctest
Technický přehled Go 1.24: vestavěné mapy založené na Swiss Table, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root a testing/synctest.

Randflake ID: generování distribuovaných 64bitových unikátních identifikátorů pomocí blokové šifry Sparx64
Distribuovaný generátor unikátních 64bitových identifikátorů, který kombinuje 30bitovou časovou značku, 17bitový identifikátor uzlu, 17bitový lokální čítač a blokovou šifru Sparx64 ARX pro nepředvídatelné identifikátory.

Zvyšování odezvy pomocí client-side cache v Redisu
Zlepšení odezvy API pomocí klientské mezipaměti podporované serverem Redis (Redis Server Assisted Client Side Cache)

Implementace prohlížeče obrázků založeného na seznamovém poli pro více souborů v Go a Tcl/Tk 9.0
Implementujeme GUI prohlížeč obrázků s využitím modernc.org/tk9.0 tím, že přidáme vazby příkazů Tcl listbox a handlery virtuálních událostí, které umožňují otevírání více obrazových souborů, přepínání výběru a mazání položek seznamu.

Implementace GUI v Go bez CGo pomocí Tcl/Tk (modernc.org/tk9.0): zarovnání widgetů a vykreslování obrázků
Implementace vytváření oken, rozmísťování widgetů tlačítek a panelu nabídek a vykreslování obrázků SVG/PNG/ICO v jazyce Go pomocí cross-platformní knihovny modernc.org/tk9.0, která nevyžaduje závislosti na CGo.

Go a ekosystém OpenAPI
Představujeme knihovny a strategie, které lze použít při vývoji API založeného na OpenAPI v jazyce Go.

Startovní balíček pro souběžnost v Go
Představujeme různé nástroje a techniky pro správu souběžnosti v Go, včetně goroutin, kanálů, mutexů a dalších.

Proč Go zvolil explicitní návratové hodnoty chyb a panic-recover namísto vyhazování výjimek pomocí try-catch
Podíváme se na omezení struktury try-catch, která přenáší odpovědnost za zpracování výjimek po zásobníku volání, a popíšeme návrh panic-recover v jazyce Go, který je vyhrazen pouze pro stavy, z nichž nelze obnovit běh programu, zatímco explicitní zpracování chyb v místě volání zůstává samo o sobě jasně vymezeno.

Budování infrastruktury AI služeb v Go: souběžnost a integrace API
Jak Go zajišťuje orchestraci API základních modelů, souběžné síťové I/O, streamovací pipeline a nasazení služeb v cloud-native prostředí.