Go: cache s napojením na externí zdroje

Dopsal jsem 1. verzi své multicache. Asi nejvýznamnějším rozšířením je její integrace na externí zdroje. Cache můžete plnit skrze resources, což jsou jednoduché funkce pro získávání dat z jakéhokoliv datově …

Golang: moje Supercache…

Teda ne celá, ale plně funkční nástřel, včetně zamykání položek pro čtení a zápis. A nutno dodat, že nejde jen o obyčejnou cache, ale a keš keší. Kešovat asi není …

Go: načítání konfigurace

Téměř každá aplikace potřebuje nějakou tu konfiguraci. Tou minimální bude třeba číslo portu, na kterém poběží váš Go API server. A protože nebude chtít drátovat port přímo do zdrojáku, budete …

Go: měření doby provádění funkce

Znáte to, nechcete hned složitě debugovat, ale rádi byste věděli, jak dlouho něco ve vašem kódu trvá a chtěli byste, aby se to používalo co nejjednodušeji. Pak možná třeba takto: …

Go: práce s kanály

Jednou ze skvělých věcí na Go jsou gorutiny, pomocí kterých zajišťuje concurrency. A aby vše fungovalo jak má, potřebujete nějak synchronizovat zpracovávaná data mezi jednotlivými gorutinami. A právě k tomu …

Go: Channels nebo Mutexes?

Go má skvělou podporu pro concurrency. Jedná se o gorutiny. Ty vám umožňuje spouštět paralelně v rámci aplikace různé subtasky. A narozdíl od NodeJS se nejedná o singlethread aplikaci, kde …

Go: init()

V Go je funkce main vstupním bodem aplikace. Je to ta funkce, která se vykoná, když vybildovanou aplikaci spustíte. Příkazem return v této funkci pak vykonávání programu končí. Nejjednoduší Go …

Building Desktop App in Go

Vidí někdo v dnešní době potřebu psát desktopové aplikace? Určitě ano. I když to tak moc nevypadá… Dobrou zprávou je, že i v Go, který primárně nevznikl za účelem vývoje …

Best practices for writing high-performance Go code

This document outlines best practices for writing high-performance Go code. While some discussions will be made for making individual services faster (caching, etc), designing performant distributed systems is beyond the …