# GoSuda > GoSuda is an open-source working group building high-performance networking, storage, runtimes, and developer tooling in Go. - [Home](https://gosuda.org/pl/) - [GitHub Organization](https://github.com/gosuda) - [Full Markdown Corpus (llms-full.txt)](https://gosuda.org/llms-full.txt) - [Agent Discovery Card (.well-known/agent-card.json)](https://gosuda.org/.well-known/agent-card.json) - [RSS Feed](https://gosuda.org/pl/feed.rss) - [Sitemap](https://gosuda.org/pl/sitemap.xml) ## Packages & Projects - [Uruchamianie Docker-in-Docker wewnątrz gVisor i zagnieżdżonych piaskownic za pomocą gvx](https://gosuda.org/pl/blog/posts/docker-in-docker-inside-gvisor-with-gvx-z48916d03) ([Markdown](https://gosuda.org/pl/blog/posts/docker-in-docker-inside-gvisor-with-gvx-z48916d03.md)): Dlaczego instalacja docker.io lub zagnieżdżanie runsc wewnątrz kontenera gVisor kończy się błędem w przypadku modprobe, iptables-nft, overlay2, cgroups oraz seccomp EBUSY, oraz w jaki sposób gvx bezpiecznie uruchamia zagnieżdżony docker:dind wewnątrz odizolowanego jądra działającego w przestrzeni użytkownika, bez użycia --privileged. - [Szybkie izolowane środowiska Docker dla rolloutów RL agentów AI z gvx](https://gosuda.org/pl/blog/posts/fast-docker-environments-for-agent-rl-rollouts-z48916d04) ([Markdown](https://gosuda.org/pl/blog/posts/fast-docker-environments-for-agent-rl-rollouts-z48916d04.md)): Jak bezpiecznie uruchamiać setki równoległych, silnie izolowanych, nieuprzywilejowanych środowisk Docker i Kubernetes dla SWE-bench oraz rolloutów uczenia ze wzmocnieniem agentów kodujących, z resetowaniem woluminów ext4lite metodą copy-on-write w czasie 100 milisekund? - [gvx: Uruchamianie kontenerów Linux, Docker i Kubernetes w jednym nieuprzywilejowanym procesie](https://gosuda.org/pl/blog/posts/gvx-cross-platform-linux-containers-z48916d01) ([Markdown](https://gosuda.org/pl/blog/posts/gvx-cross-platform-linux-containers-z48916d01.md)): Przegląd techniczny gvx, zabezpieczonego pod kątem bezpieczeństwa, wieloplatformowego środowiska uruchomieniowego kontenerów oraz zestawu SDK dla języka Go, zbudowanego na jądrze gVisor działającym w przestrzeni użytkownika, które bezpiecznie uruchamia kontenery Linux, Docker-in-Docker oraz wielowęzłowe wysokodostępne klastry Kubernetes w jednym nieuprzywilejowanym procesie w systemach Windows, macOS i Linux. - [Portal Tunnel: udostępnianie usług localhost za pośrednictwem zdecentralizowanych publicznych przekaźników](https://gosuda.org/pl/blog/posts/make-localhost-public-with-one-curl-—-portal-tunnel-z2f33ae49) ([Markdown](https://gosuda.org/pl/blog/posts/make-localhost-public-with-one-curl-—-portal-tunnel-z2f33ae49.md)): Udostępniaj lokalne usługi HTTP publicznemu Internetowi za pomocą jednego polecenia curl, korzystając z wieloprzekaźnikowych, bezpozwoleniowych tuneli Portal, bez konieta kont i bez instalowania plików binarnych. - [Uruchamianie Dockera, docker build i docker compose bez uprawnień roota i bez przestrzeni nazw użytkowników](https://gosuda.org/pl/blog/posts/run-docker-without-root-or-userns-gvx-z48916d02) ([Markdown](https://gosuda.org/pl/blog/posts/run-docker-without-root-or-userns-gvx-z48916d02.md)): Jak bezpiecznie uruchomić kompletny Docker Engine (dockerd, BuildKit, overlayfs oraz docker compose) wewnątrz izolowanej piaskownicy gVisor działającej w przestrzeni użytkownika, jako użytkownik nieuprzywilejowany, gdy root, sudo, unshare(CLONE_NEWUSER), mount(2) oraz /dev/fuse są zablokowane. - [HQQ: Izolowanie bibliotek C od Go za pomocą pamięci współdzielonej w obrębie linii pamięci podręcznej](https://gosuda.org/pl/hqq) ([Markdown](https://gosuda.org/pl/hqq.md)): Środowisko uruchomieniowe IPC bez cgo, kompilator IDL (hqq-bindgen) oraz zweryfikowany nadzorca procesów, które wykonują natywne biblioteki C11 w izolowanych procesach roboczych za pośrednictwem pierścieni w pamięci dzielonej. - [Portal: otwarty przekaźnik z szyfrowaniem end-to-end, pośredniczący między usługami lokalnymi a siecią zewnętrzną](https://gosuda.org/pl/portal) ([Markdown](https://gosuda.org/pl/portal.md)): Niniejszy dokument opisuje architekturę Portal, która udostępnia lokalny serwer w zewnętrznym Internecie za pośrednictwem otwartej sieci przekaźników z szyfrowaniem end-to-end (E2EE), bez konieczności posiadania publicznego adresu IP ani konfiguracji infrastruktury chmurowej. - [Portalite: lekki Portal Go SDK oparty na wielorelayowym wiązaniu i standardowym net.Listener](https://gosuda.org/pl/portalite) ([Markdown](https://gosuda.org/pl/portalite.md)): Lekki klient Portal oraz interfejs CLI, który obsługuje zgodny ze standardowym interfejsem net.Listener w języku Go, jednoczesne wiązanie z wieloma przekaźnikami (relay), szyfrowanie端到端 (E2EE) oraz automatyczne odzyskiwanie sesji. - [Randflake ID: Generowanie rozproszonych 64-bitowych unikalnych identyfikatorów z wykorzystaniem szyfru blokowego Sparx64](https://gosuda.org/pl/randflake) ([Markdown](https://gosuda.org/pl/randflake.md)): Rozproszony generator unikalnych identyfikatorów 64-bitowych łączący 30-bitowy znacznik czasu, 17-bitowy identyfikator węzła, 17-bitowy lokalny licznik oraz szyfr blokowy Sparx64 ARX, zapewniający nieprzewidywalność identyfikatorów. - [Schottky: Zero-Allocation, Order-Preserving Byte-Key Encoding for Go](https://gosuda.org/pl/schottky) ([Markdown](https://gosuda.org/pl/schottky.md)): Biblioteka w języku Go, nieprzydzielająca pamięci (zero-allocation), która koduje złożone krotki w bajtowe klucze uporządkowane zgodnie z memcmp, z niezależnym sortowaniem ASC/DESC, znacznikami określającymi położenie wartości NULL oraz granicami skanowania prefiksów. - [gosuda.org/sqlite3: sterownik database/sql z CGO_ENABLED=0 oparty na Shared-Memory IPC](https://gosuda.org/pl/sqlite3) ([Markdown](https://gosuda.org/pl/sqlite3.md)): Sterownik SQLite 3.54.1 dla Go zgodny z database/sql, z możliwością bezpośredniego zastąpienia, działający przy CGO_ENABLED=0, z izolacją workerów opartą na pamięci współdzielonej HQQ, pobieraniem wierszy wsadowo w porcjach po 64 KiB oraz plikami binarnymi poświadczonymi certyfikatem SLSA. - [gosuda.org/zstd: Zamiennik DataDog/zstd z kompresją bez CGO i izolacją awarii](https://gosuda.org/pl/zstd) ([Markdown](https://gosuda.org/pl/zstd.md)): CGO_ENABLED=0 biblioteka Go Zstandard uruchamiająca upstreamową bibliotekę C libzstd 1.5.7 w procesie roboczym ze wspólną pamięcią, z API zgodnym z DataDog/zstd, wielokrotnie wykorzystywanymi kontekstami oraz grupowym przetwarzaniem wsadowym. ## Blog Posts - [Przemyślenie monorepo Git: architektura natywna dla CAS dla ludzi i agentów kodujących](https://gosuda.org/pl/blog/posts/rethinking-the-git-monorepo-a-cas-native-architecture-for-humans-and-coding-agents-zfd3d7931) ([Markdown](https://gosuda.org/pl/blog/posts/rethinking-the-git-monorepo-a-cas-native-architecture-for-humans-and-coding-agents-zfd3d7931.md)): Jak zbudować monorepozytorium bez demona, natywnie oparte na CAS, na standardowym Gicie, z wykorzystaniem bezrodzicielskich migawek gałęzi głównej (parentless trunk snapshots), izolowanych referencji przestrzeni roboczych, drzew scaleń w pamięci (in-memory merge trees), hierarchicznych plików OWNERS oraz synchronizacji lustrzanych o złożoności O(delta) - [Go 1.27, czyli jak przestałem się martwić i pokochałem metody generyczne](https://gosuda.org/pl/blog/posts/go-1-27-or-how-i-learned-to-stop-worrying-and-love-generic-methods-za800e454) ([Markdown](https://gosuda.org/pl/blog/posts/go-1-27-or-how-i-learned-to-stop-worrying-and-love-generic-methods-za800e454.md)): Metody generyczne, encoding/json/v2, standardowy pakiet uuid oraz detektor wycieków goroutine, który faktycznie działa. Przegląd Go 1.27 z przykładami, które wszystkie zostały rzeczywiście uruchomione. - [Analiza generowania kodu asemblerowego AMD64 dla instrukcji warunkowej if w języku Go oraz instrukcji rozgałęzień](https://gosuda.org/pl/blog/posts/go-if-statement-analysis-3012d30c) ([Markdown](https://gosuda.org/pl/blog/posts/go-if-statement-analysis-3012d30c.md)): Porównujemy proces, w którym kompilator Go tłumaczy instrukcje warunkowe if-else na instrukcje rozgałęzień maszyny AMD64, takie jak CMPQ, JGE i JMP, z wynikiem generowania kodu rozgałęzień przez kompilator C (-O2). - [Analiza struktury runtime języków zarządzanych oraz assembly AMD64 w plikach binarnych Go](https://gosuda.org/pl/blog/posts/managed-languages-intro-656b7470) ([Markdown](https://gosuda.org/pl/blog/posts/managed-languages-intro-656b7470.md)): Porównujemy modele wykonania języków zarządzanych (managed) i niezarządzanych (unmanaged) oraz analizujemy strukturę sprawdzania stosu i wywołań funkcji runtime w plikach binarnych Go na podstawie assembly AMD64 wyodrębnionego za pomocą go tool objdump. - [Metodologia rozwoju AI-native: dwukierunkowa cyrkulacja kontekstu wykraczająca poza wykorzystanie narzędzi](https://gosuda.org/pl/blog/posts/ai-native-development-z86704c1a) ([Markdown](https://gosuda.org/pl/blog/posts/ai-native-development-z86704c1a.md)): Porównujemy strukturalne ograniczenia etapów polegania na AI oraz prostego wykorzystania narzędzi, a następnie definiujemy proces rozwoju AI-native, który w obie strony gromadzi intencje projektowe i kontekst organizacyjny. - [Granice pojemności kanału Shannona a struktura komunikacji semantycznej (Semantic Communication) opartej na sztucznej inteligencji](https://gosuda.org/pl/blog/posts/the-next-communication-paradigm-led-by-ai-based-semantic-communication-zc1496ec7) ([Markdown](https://gosuda.org/pl/blog/posts/the-next-communication-paradigm-led-by-ai-based-semantic-communication-zc1496ec7.md)): Omawiamy fizyczne granice pojemności kanału wynikające z twierdzenia Shannona-Hartleya oraz zajmujemy się komunikacją semantyczną, w której dane przesyłane są w jednostkach znaczenia, a nie pojedynczych bitów, dzięki współdzielonej bazie wiedzy oraz semantycznym koderom i dekoderom. - [Bezpośrednie wywołania systemowe Linuksa w czystym Go z użyciem syscall.Syscall i unsafe.Pointer](https://gosuda.org/pl/blog/posts/go-syscall-is-a-brilliant-replacement-of-low-level-i-o-za50951e1) ([Markdown](https://gosuda.org/pl/blog/posts/go-syscall-is-a-brilliant-replacement-of-low-level-i-o-za50951e1.md)): Wywoływanie wywołań systemowych jądra Linux, takich jak SYS_SYSINFO, bezpośrednio z czystego kodu Go, z wykorzystaniem struktur zgodnych z ABI, unsafe.Pointer oraz standardowego pakietu syscall, bez cgo. - [Any nie jest Any, ale Any jest Any](https://gosuda.org/pl/blog/posts/any-is-not-any-but-any-is-any-z6161856d) ([Markdown](https://gosuda.org/pl/blog/posts/any-is-not-any-but-any-is-any-z6161856d.md)): Szczegółowo analizujemy typ `any` języka Go oraz jego wewnętrzną strukturę `EFace`, a także wyjaśniamy metody dynamicznej obsługi typów z wykorzystaniem pakietu `reflect` oraz asercji i instrukcji switch dotyczących typów. - [Struktura implementacji FIPS 140-2 i FIPS 140-3 w standardowej bibliotece kryptograficznej Go](https://gosuda.org/pl/blog/posts/fips-140-certification-and-golang-z0a59330a) ([Markdown](https://gosuda.org/pl/blog/posts/fips-140-certification-and-golang-z0a59330a.md)): Analizuje ograniczenia integracji z zewnętrznym dostawcą C OpenSSL oraz omawia kolejno BoringCrypto (FIPS 140-2), tryb FIPS 140-3 w natywnym pakiecie standardowym crypto języka Go, weryfikację typu Fail-Fast, Hedged ECDSA oraz strukturę DRBG. - [Tętniąca życiem bitmapa](https://gosuda.org/pl/blog/posts/vibrant-bitmap-z1743872f) ([Markdown](https://gosuda.org/pl/blog/posts/vibrant-bitmap-z1743872f.md)): Od koncepcji bitmapowego indeksu bazy danych, przez zasadę działania Roaring Bitmap, po zastosowania w języku Go. Omawiamy optymalizację bitmap na potrzeby wydajnego przetwarzania dużych zbiorów danych. - [Polityka a komputery](https://gosuda.org/pl/blog/posts/politics-and-computers-zc4a4a358) ([Markdown](https://gosuda.org/pl/blog/posts/politics-and-computers-zc4a4a358.md)): Przyglądamy się temu, w jaki sposób polityka i informatyka, dziedziny pozornie odmienne, a jednak podobne, mogą wspólnie rozwiązywać problemy społeczne oraz w jaki sposób programista staje się nowym prawodawcą. - [Zasada działania goroutine w Go: dynamiczny stos o rozmiarze 2KB oraz harmonogram M:N GMP](https://gosuda.org/pl/blog/posts/goroutine-basics-z3fbe209e) ([Markdown](https://gosuda.org/pl/blog/posts/goroutine-basics-z3fbe209e.md)): Wyjaśniamy różnicę między współbieżnością a równoległością, a następnie omawiamy 2KB początkowy zmienny stos goroutine, przełączanie kontekstu na poziomie użytkownika, GOMAXPROCS oraz model planowania w czasie wykonania GMP (Goroutine-Machine-Processor). - [Database server i embedded database: porównanie architektury oraz charakterystyk I/O](https://gosuda.org/pl/blog/posts/database-servers-and-embedded-databases-zd4cb799f) ([Markdown](https://gosuda.org/pl/blog/posts/database-servers-and-embedded-databases-zd4cb799f.md)): Porównujemy niezależne od procesów systemy RDBMS oraz wbudowane bazy danych działające w tym samym procesie, takie jak SQLite, RocksDB, BadgerDB i PebbleDB, pod kątem opóźnień operacji wejścia-wyjścia na dyskach NVMe SSD, izolacji danych w architekturze MSA oraz struktury wdrożenia. - [Konfiguracja wbudowanego serwera NATS w aplikacji Go oraz struktura komunikacji w obrębie procesu](https://gosuda.org/pl/blog/posts/how-embedded-nats-communicate-with-go-application-z36089af0) ([Markdown](https://gosuda.org/pl/blog/posts/how-embedded-nats-communicate-with-go-application-z36089af0.md)): Omawia sposób konfiguracji i uruchamiania brokera NATS (nats-server/v2) osadzonego wewnątrz procesu Go, a także projekt komunikacji w pamięci opartej na InProcessConn oraz interfejsu definiowanego przez konsumenta. - [Interfejsy i osadzanie struktur w Go: różnice względem dziedziczenia klas oraz projektowanie oparte na kompozycji](https://gosuda.org/pl/blog/posts/go-interfaces-are-not-inheritance-zd04c1084) ([Markdown](https://gosuda.org/pl/blog/posts/go-interfaces-are-not-inheritance-zd04c1084.md)): Porównuje różnice między dziedziczeniem klas w Javie/C++ a strukturalnym typowaniem interfejsów w Go oraz wyjaśnia, na przykładach kodu, wzorzec kompozycji (Composition) wykorzystujący osadzanie struktur (struct embedding) i delegowanie metod. - [5 cech projektowych języka Go z perspektywy inżynierii systemowej i backendowej](https://gosuda.org/pl/blog/posts/why-the-go-language-zdb70b280) ([Markdown](https://gosuda.org/pl/blog/posts/why-the-go-language-zdb70b280.md)): Przedstawiamy filozofię projektowania języka Go, koncentrując się na szybkiej kompilacji do kodu natywnego i wydajności wykonania, standardowej bibliotece działającej bez frameworków (net/http, database/sql), harmonogramie gorutyn typu M:N oraz gwarancji zgodności wstecznej. - [Chwila spokoju za filiżanką zielonej herbaty, którą odbierze środowisko uruchomieniowe Go: GreenTea GC](https://gosuda.org/pl/blog/posts/greentea-gc:-the-respite-of-a-cup-of-green-tea-seized-by-the-go-compiler-z72acc3f7) ([Markdown](https://gosuda.org/pl/blog/posts/greentea-gc:-the-respite-of-a-cup-of-green-tea-seized-by-the-go-compiler-z72acc3f7.md)): Nowy GreenTea GC w Go poprawia wydajność, zwiększając efektywność zbierania małych obiektów dzięki opartemu na spanach pamięci podejściu. Przyjrzymy się istniejącym problemom GC oraz korzyściom płynącym z GreenTea GC. - [Skrócenie czasu odpowiedzi przy przesyłaniu plików HTTP w Go: implementacja asynchronicznej kolejki zadań roboczych opartej na kanałach](https://gosuda.org/pl/blog/posts/go-handle-file-upload-with-concurrency-s844ce238) ([Markdown](https://gosuda.org/pl/blog/posts/go-handle-file-upload-with-concurrency-s844ce238.md)): Struktura ta rozdziela odbiór plików tymczasowych w handlerze przesyłania plików net/http oraz operacje transferu do kontenerów Incus na kanał buforowany i pulę workerów opartą na goroutines, dzięki czemu skraca się opóźnienie odpowiedzi endpointu. - [Analiza zmian w działaniu encoding/json/v2 w Go 1.25 oraz warstwy zgodności z v1](https://gosuda.org/pl/blog/posts/go-1-25-encoding-json-v1-vs-v2-z74a36b08) ([Markdown](https://gosuda.org/pl/blog/posts/go-1-25-encoding-json-v1-vs-v2-z74a36b08.md)): Porównujemy dopasowywanie wielkości liter, zmiany semantyki omitempty/omitzero, serializację nil slice/map oraz opcje w encoding/json/v2, wprowadzonym jako funkcja eksperymentalna Go 1.25 (goexperiment.jsonv2). - [Wstrzykiwanie zmiennych w czasie kompilacji w Go: zastosowanie go build -ldflags -X](https://gosuda.org/pl/blog/posts/compile-time-variable-injection-of-go-z5420556c) ([Markdown](https://gosuda.org/pl/blog/posts/compile-time-variable-injection-of-go-z5420556c.md)): Omówienie sposobu wstrzykiwania wartości zmiennych tekstowych Go w czasie kompilacji, bez zewnętrznego pliku .env, z wykorzystaniem flagi linkera go build -ldflags "-X" oraz wskazaniem ścieżki symbolu pakietu. - [Obsługa błędów HTTP w sposób mniej uciążliwy + RFC7807](https://gosuda.org/pl/blog/posts/handling-http-errors-more-conveniently-+-rfc7807-z862df968) ([Markdown](https://gosuda.org/pl/blog/posts/handling-http-errors-more-conveniently-+-rfc7807-z862df968.md)): Czy obsługa błędów w Go API jest uciążliwa? Spróbuj rozwiązania opartego na RFC7807, które pozwala na prostszą i bardziej przejrzystą obsługę. - [Porównanie projektów języków w środowiskach generowania kodu przez LLM: koszt abstrakcji a jawność języka Go](https://gosuda.org/pl/blog/posts/modern-language-of-the-ai-era-z2d7204f1) ([Markdown](https://gosuda.org/pl/blog/posts/modern-language-of-the-ai-era-z2d7204f1.md)): Analiza tego, w jaki sposób polimorfizm obiektowy, cukier składniowy oraz złożone drzewa modułów zwiększają koszt wnioskowania kontekstowego LLM, oraz omówienie powodów, dla których Go, dzięki jawnemu przepływowi sterowania i prostej składni, sprzyja generowaniu kodu przez sztuczną inteligencję. - [Opowieść o Cilium: zadziwiająca poprawa stabilności sieci dzięki drobnej zmianie w kodzie](https://gosuda.org/pl/blog/posts/cilium-story-small-but-effective-improvement-zd5a8e472) ([Markdown](https://gosuda.org/pl/blog/posts/cilium-story-small-but-effective-improvement-zd5a8e472.md)): Dowiedz się szczegółowo, w jaki sposób niewielka zmiana w kodzie projektu Cilium znacząco zwiększyła stabilność zarządzania połączeniami NAT opartego na mechanizmie LRU. - [Krótkie zrozumienie hosta MCP](https://gosuda.org/pl/blog/posts/a-little-understanding-of-mcp-host-zb952aae0) ([Markdown](https://gosuda.org/pl/blog/posts/a-little-understanding-of-mcp-host-zb952aae0.md)): Tekst ma na celu ułatwienie zrozumienia protokołu MCP firmy Anthropic oraz hosta MCP (mcphost) zaimplementowanego w języku Go. - [Uruchamianie skalowalnego serwera Go w .NET Aspire](https://gosuda.org/pl/blog/posts/exploring-the-scalable-execution-of-go-servers-in-net-aspire-z42f3b6ee) ([Markdown](https://gosuda.org/pl/blog/posts/exploring-the-scalable-execution-of-go-servers-in-net-aspire-z42f3b6ee.md)): Jak uruchamiać serwery Go w sposób skalowalny za pomocą .NET Aspire: przykład konfiguracji skalowania poziomego i automatyzacji z wykorzystaniem odwrotnego proxy YARP. - [Doświadczenia z użyciem MLDSA i MLKEM w języku Go](https://gosuda.org/pl/blog/posts/usage-of-mldsa-and-mlkem-in-the-go-language-zb0442110) ([Markdown](https://gosuda.org/pl/blog/posts/usage-of-mldsa-and-mlkem-in-the-go-language-zb0442110.md)): W języku Go zapoznamy się ze sposobem użycia kryptografii postkwantowej MLDSA i MLKEM, przedstawiając cechy każdego z algorytmów oraz przykłady kodu. - [Przegląd wydania Go 1.24: mapy Swiss Table, ML-KEM, os.Root i testing/synctest](https://gosuda.org/pl/blog/posts/whats-new-in-go-1-24-z83ff24d2) ([Markdown](https://gosuda.org/pl/blog/posts/whats-new-in-go-1-24-z83ff24d2.md)): Przegląd techniczny Go 1.24: wbudowane mapy oparte na Swiss Table, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root oraz testing/synctest. - [Zwiększanie responsywności dzięki klientowi cache Redis po stronie klienta](https://gosuda.org/pl/blog/posts/improving-responsiveness-with-redis-client-side-caching-zb711e502) ([Markdown](https://gosuda.org/pl/blog/posts/improving-responsiveness-with-redis-client-side-caching-zb711e502.md)): Poprawa responsywności API z wykorzystaniem Redis Server Assisted Client Side Cache - [Implementacja przeglądarki obrazów opartej na wielofailowym Listboxie w Go i Tcl/Tk 9.0](https://gosuda.org/pl/blog/posts/creating-a-image-viewer-with-tk-in-go-z279238471Z) ([Markdown](https://gosuda.org/pl/blog/posts/creating-a-image-viewer-with-tk-in-go-z279238471Z.md)): Dodajemy powiązania poleceń Tcl listbox oraz obsługę zdarzeń wirtualnych do modernc.org/tk9.0, aby zaimplementować graficzną przeglądarkę obrazów umożliwiającą otwieranie wielu plików graficznych, przełączanie wyboru oraz usuwanie elementów z listy. - [Implementacja GUI Tcl/Tk w Go bez CGo (modernc.org/tk9.0): pakowanie widżetów i renderowanie obrazów](https://gosuda.org/pl/blog/posts/creating-a-gui-with-tk-in-go-z004dd008) ([Markdown](https://gosuda.org/pl/blog/posts/creating-a-gui-with-tk-in-go-z004dd008.md)): Implementacja tworzenia okien, rozmieszczania widżetów przycisków i paska menu oraz renderowania obrazów SVG/PNG/ICO w Go, z wykorzystaniem biblioteki międzyplatformowej modernc.org/tk9.0 bez zależności od CGo. - [Go i ekosystem OpenAPI](https://gosuda.org/pl/blog/posts/go-and-the-openapi-ecosystem-zd5a8e472) ([Markdown](https://gosuda.org/pl/blog/posts/go-and-the-openapi-ecosystem-zd5a8e472.md)): Przedstawiamy biblioteki oraz strategie, które można wykorzystać podczas tworzenia API opartych na OpenAPI w języku Go. - [Pakiet startowy do współbieżności w Go](https://gosuda.org/pl/blog/posts/go-concurrency-starter-pack-z221a3399) ([Markdown](https://gosuda.org/pl/blog/posts/go-concurrency-starter-pack-z221a3399.md)): Przedstawiamy różnorodne narzędzia i techniki zarządzania współbieżnością w Go, w tym gorutyny, kanały oraz muteksy. - [Dlaczego Go wybrało jawne zwracanie błędów oraz panic-recover zamiast rzucania wyjątków try-catch](https://gosuda.org/pl/blog/posts/why-doesn-t-go-have-try-catch-zeb312147) ([Markdown](https://gosuda.org/pl/blog/posts/why-doesn-t-go-have-try-catch-zeb312147.md)): Przyjrzymy się ograniczeniom struktur try-catch, które przerzucają odpowiedzialność za obsługę wyjątków wzdłuż stosu wywołań, oraz wyjaśnimy projekt panic-recover w języku Go, ograniczony wyłącznie do stanów nieodwracalnych, w połączeniu z jawną obsługą błędów (error) w miejscu wywołania. - [Budowa infrastruktury usług AI w języku Go: współbieżność i integracja API](https://gosuda.org/pl/blog/posts/go-is-the-ideal-language-for-ai-applications-and-our-plans-to-make-it-even-better-z2f380165) ([Markdown](https://gosuda.org/pl/blog/posts/go-is-the-ideal-language-for-ai-applications-and-our-plans-to-make-it-even-better-z2f380165.md)): Sposób, w jaki Go obsługuje orkiestrację API modeli fundamentalnych, współbieżne operacje sieciowe wejścia-wyjścia, potoki strumieniowe oraz wdrażanie usług natywnych dla chmury. ## Localized Indexes - [English (en)](https://gosuda.org/llms.txt) - [Spanish (es)](https://gosuda.org/es/llms.txt) - [Chinese (zh)](https://gosuda.org/zh/llms.txt) - [Korean (ko)](https://gosuda.org/ko/llms.txt) - [Japanese (ja)](https://gosuda.org/ja/llms.txt) - [German (de)](https://gosuda.org/de/llms.txt) - [Russian (ru)](https://gosuda.org/ru/llms.txt) - [French (fr)](https://gosuda.org/fr/llms.txt) - [Dutch (nl)](https://gosuda.org/nl/llms.txt) - [Italian (it)](https://gosuda.org/it/llms.txt) - [Indonesian (id)](https://gosuda.org/id/llms.txt) - [Portuguese (pt)](https://gosuda.org/pt/llms.txt) - [Swedish (sv)](https://gosuda.org/sv/llms.txt) - [Czech (cs)](https://gosuda.org/cs/llms.txt) - [Slovak (sk)](https://gosuda.org/sk/llms.txt) - [Polish (pl)](https://gosuda.org/pl/llms.txt) - [Romanian (ro)](https://gosuda.org/ro/llms.txt) - [Hungarian (hu)](https://gosuda.org/hu/llms.txt) - [Finnish (fi)](https://gosuda.org/fi/llms.txt) - [Turkish (tr)](https://gosuda.org/tr/llms.txt) - [Danish (da)](https://gosuda.org/da/llms.txt) - [Norwegian (no)](https://gosuda.org/no/llms.txt) - [Bulgarian (bg)](https://gosuda.org/bg/llms.txt)