Golang: měření času po druhé

Měřit čas provádění nějaké části bez debugování jsem popisoval už jednou tady, nicméně lze dělat třeba i takto: package main import ( „fmt“ „time“ ) func timeTrack(msg string, start time.Time) …

Golang: unit testy

Psát testy je oproz, ale je v každém případě je jasné, žo kód pokrytý testy bude minimálně spolehlivější, dlouhodobě lépe udržovatelný a snad i kvalitnější. Dalším důvodem proč psát testy …

Go: validace obsahu proměnných

Pokud od někud něco načítáte, a jste aspoň trochu defenzivně naladěný, pak určitě budete chtít validovat získaná, načtená data. Vlastní cestou Můžete začít třeba tím, že si budete psát nějakou …

Scheduling In Go

Moc hezký seriál o tom jak funguje Go scheduler, včetně low level pohledu na fungování OS scheduleru. Scheduling In Go : Part I – OS Scheduler Scheduling In Go : …

Go: rychlost přístupu k položce v map

V podstatě asi každý modernější jazyk nabízí nějakou možnost práce s hash tabulkami. Má ji Python, JavaScript, TypeScript a má ji i Golang. Příklad využití takové datové struktůry se nabízí: …

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 …