Hodnotenie:
Kniha je všeobecne dobre prijímaná pre svoj jasný a organizovaný prístup k výučbe Go a mikroslužieb s praktickými príkladmi a zameraním na návrh systému. Niektorí používatelia ju však považujú za nedostatočne úplnú a praktickú, najmä pokiaľ ide o detaily implementácie projektu.
Výhody:⬤ Dobre premyslená
⬤ učí dekompozíciu problémov a efektívne riešenia pomocou mikroslužieb
⬤ jasný a stručný úvod do Go
⬤ skvelé príklady
⬤ spája teóriu s praktickým využitím
⬤ dobrá pre rôzne úrovne zručností
⬤ pokrýva základné znalosti o návrhu systémov
⬤ relevantný obsah, ktorý zostáva použiteľný aj napriek meniacim sa technológiám.
⬤ Zavádzajúci popis
⬤ prvá polovica môže byť nudná
⬤ problémy so závislosťami pri príkladoch softvéru
⬤ neúplné úryvky kódu a nejasná štruktúra projektu
⬤ problémy s repozitárom Github (zastarané knižnice, nedostatok návodov)
⬤ niektorí používatelia majú pocit, že by sa mohol zlepšiť praktický návod na kódovanie.
(na základe 8 čitateľských recenzií)
Hands-On Software Engineering with Golang
Preskúmajte metodiky softvérového inžinierstva, techniky a osvedčené postupy v programovaní v jazyku Go, aby ste mohli vytvárať ľahko udržiavateľný softvér, ktorý sa dá bez problémov škálovať podľa potreby Kľúčové vlastnosti Aplikujte osvedčené postupy na vytváranie štíhleho, testovateľného a udržiavateľného kódu v jazyku Go, aby ste sa vyhli hromadeniu technického dlhu Preskúmajte vstavanú podporu jazyka Go pre súbežnosť a odovzdávanie správ, aby ste mohli vytvárať vysoko výkonné aplikácie Škálujte svoje programy v jazyku Go medzi strojmi a spravujte ich životný cyklus pomocou Kubernetes Popis knihy
V posledných rokoch sa jazyk Go stal jedným z najobľúbenejších jazykov na budovanie škálovateľných a distribuovaných systémov. Jeho mienkotvorný dizajn a zabudované funkcie súbežnosti uľahčujú inžinierom tvorbu kódu, ktorý efektívne využíva všetky dostupné jadrá procesora.
Táto kniha o jazyku Golang obsahuje osvedčené postupy pre písanie štíhleho kódu Go, ktorý sa ľahko testuje a udržiava, a pomôže vám preskúmať jeho praktickú implementáciu vytvorením viacúrovňovej aplikácie s názvom Links 'R' Us od začiatku. Prevedie vás všetkými krokmi spojenými s návrhom, implementáciou, testovaním, nasadením a škálovaním aplikácie. Začnete s monolitickou architektúrou a iteratívne transformujete projekt na architektúru orientovanú na služby (SOA), ktorá podporuje efektívne spracovanie veľkých grafov odkazov mimo jadra. Zoznámite sa s rôznymi špičkovými a pokročilými technikami softvérového inžinierstva, ako je napríklad budovanie rozšíriteľných potrubí na spracovanie údajov, navrhovanie rozhraní API pomocou gRPC a spúšťanie distribuovaných algoritmov na spracovanie grafov v mierke. Nakoniec sa naučíte, ako kompilovať a baliť služby Go pomocou nástroja Docker a automatizovať ich nasadenie do klastra Kubernetes.
Na konci tejto knihy budete vedieť myslieť ako profesionálny vývojár softvéru alebo inžinier a písať štíhly a efektívny kód v jazyku Go. Čo sa naučíte Pochopiť rôzne fázy životného cyklu vývoja softvéru a úlohu softvérového inžiniera Vytvárať API pomocou gRPC a využívať middleware, ktorý ponúka ekosystém gRPC Objavte rôzne prístupy k správe závislostí balíkov pre svoje projekty Zostavte od začiatku komplexný projekt a preskúmajte rôzne stratégie jeho škálovania Vytvorte systém na spracovanie grafov a rozšírte ho na distribuovaný beh Nasadzujte služby Go na Kubernetes a monitorujte ich stav pomocou Prometheus Pre koho je táto kniha určená
Táto kniha o programovaní v jazyku Golang je určená vývojárom a softvérovým inžinierom, ktorí chcú používať jazyk Go na efektívne navrhovanie a vytváranie škálovateľných distribuovaných systémov. Vyžaduje sa znalosť programovania v jazyku Go a základných sieťových princípov. Obsah Pohľad na softvérové inžinierstvo z vtáčej perspektívy Najlepšie postupy na písanie čistého a udržiavateľného kódu Go Správa závislostí Umenie testovania Projekt Links 'R' Us Budovanie vrstvy perzistencie Potrubia na spracovanie údajov Spracovanie údajov na báze grafov Komunikácia s vonkajším svetom Budovanie, balenie a nasadzovanie softvéru Rozdelenie monolitov na mikroslužby Budovanie distribuovaných systémov na spracovanie grafov Zber metrík a vizualizácia Epilóg