Seriál o Go na root.cz - 2018-11-21 05:06:03

Včera začal vycházet velmi slibný seriál o #Go na root.cz od Pavla Tišnovského. Vřele doporučuji!

Struktura programu 2 roky po té - 2018-11-06 06:23:00

Jsou to již více než dva roky, co jsem se v tomto článku rozepsal nad strukturou programu v #Go. A jelikož s časem rostou zkušenosti myslím, že je čas popsat, co se od té doby změnilo a jak strukturuju programy teď. V první řadě nám #Go podporuje moduly, tedy od verze 1.11. Takže když začnu nový projekt, okamžitě dělám go mod init. Moduly ovšem nelze použít na $GOPATH, takže je potřeba se jí vyhnout.

Mini služby - 2018-10-17 13:11:00

Píšety monolity? Pak možná máte jeden problém, ale za to velký. Píšete micro-servicy? Pak možná máte mnoho problémů, ale menších. Co takhle psát miniservicy? To byste měli trochu běžných problémů. Prostě zlatá střední cesta. Co je to miniservice. Je to něco většího než mikroservice, má řekněme 10-20 endpointů, popř. stejný počet gRPC, či jiných endpointů. Zachovává si tedy určité rysy microservice, ale přitom se z ní nestává monolit. Správa farmy miniservice je tedy přeci jen jednodušší, přitom když jedna spadne, je možné ji rychle nahodit a nespadne kvůli tomu zbytek služeb.

Smutný den pro #Go - 2018-10-10 12:50:00

Nebojte, #Go nekončí, ba naopak, bohužel už je tak velké, že se objevují vykukové, co svojí “chytrostí” odrovnají kdejaký jazyk, nebo technologii. O čem mluvím. Tento článek na blogu #Go /blog.golang.com/wire propaguje výhody DI (dependency injection). Ano, 20 let stará technologie, která spolehlivě odbourala Javu, a teď přichází ke #Go. Rozhodně se nejedná o první pokus, nebo nápad tohoto typu. Řekl bych, že snad každý člověk přicházející ke #Go z Javy dostane tento nápad, ale tentokrát je to poprvé, co se to dostalo na tak prominentní místo.

(901) 767-4920 - 2018-10-04 07:21:00

V tomto příspěvku se podíváme na to, co to je reflexe, na co se používá a hlavně jak se používá. Hned z kraje jedna moudrá hláška Zřejmé je vždy lepší než chytré … a reflexe není nikdy zřejmá. Takže varování hned na úvod - reflexe ano, ale musíte k tomu mít dobrý důvod. O co se tedy jedná. Reflexe je schopnost zjiÅ¡Å¥ovat si informace a typech a hodnotách dat za běhu programu.

204-800-5663 - 2018-01-23 13:06:03

Dnes byly vydána nová verze Go 1.9.3. Jedná se pouze o opravy celkem nepodstatných chyb, ale nikdy není na škodu upgradovat. Jako vždy stačí stáhnout z /golang.org/dl/, nebo počkat, až se Go objeví v repu vaší oblíbené distribuce.

(657) 364-3704 - 2017-11-11 06:52:47

Jelikož stále nejsem schopný dát dohromady návod na šifrování v Go (skončil jsem u nástřelu, ale nedaří se mi ho dokončit), tak se posunu na další kapitolu a tou je váš/náš vercajk při práci s Go. Každý jazyk má svoji sadu nářadí (tooling) se kterou se pracuje. Například Java. Pokud chci pracovat v Javě, tak je skoro jisté, že jako IDE použiji Ideu, nebo Eclipse, programy budu sestavovat pomocí mavenu, nebo gradlu, testovat budu např.

(701) 302-1662 - 2017-09-19 06:07:45

Throttling je způsob, jak omezit počet běžících vláken. Pokud chceme, abychom nezahltili druhý systém (subsystém) nekontrolovaným množství paralelních volání, potřebujeme způsob, jak omezit počet běžících go rutin. Určitě je mnoho způsobů, jak toho docílit, nabízím zde jeden, který se mi osvědčil. V zásadě vycházím z toho, že zápis do kanálu blokuje, pokud je překrečena kapacita bufferu kanálu. Tedy ch := make(chan int, 1) ch <- 1 / OK ch <- 2 / blokuje, dokuď někdo kanál nepřečte Tento konkrétní příklad vám neprojde, samotné Go detekuje deadlock (zápis bez čtení v jediné go rutině) a radši program zabije.

2158676625 - 2017-07-18 17:47:50

Dnes si povíme něco o tom, jak funguje kryptografie v Go. Go jako (relativně) nový programovací je v této oblasti daleko a podporuje prakticky všechny možné šifry a řešení. Co je ale na osvěžující je fakt, že Go se stále snaží dělat věci jednoduše, takže na rozdíl od jiných nejmenovaných jazyků se zde nesetkáme s milionem interfaců a object factory. Kryptografie je opravdu obsáhlý prostor, takže my si ukážeme použitelné a praktické implementace kryptografie.

Generics v Golang - 2017-06-21 12:59:02

Poslední dobou je možné sledovat na poli jazyka Go zajímavou bitvu. Jak se blíží Go verze 2.0 (a pozor, po 1.9 může klidně přijít 1.10), tak se začínají objevovat nápady typu “přidejme do jazyka generické typy”. Nejdřív jsem i já stál na generické straně barikády, ale musím uznat, že postupem času se spíš kloním ke skupině genericsů méně, nebo třeba vůbec ne. Možná bych chtěl na toto téma rozvířit debatu, takže zde je můj pohled na věc.