<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://wiki.gorearaucania.cl/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Jak_zvl%C3%A1dnout_verzov%C3%A1n%C3%AD_k%C3%B3du_p%C5%99i_paraleln%C3%ADch_v%C4%9Btv%C3%ADch</id>
	<title>Jak zvládnout verzování kódu při paralelních větvích - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.gorearaucania.cl/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Jak_zvl%C3%A1dnout_verzov%C3%A1n%C3%AD_k%C3%B3du_p%C5%99i_paraleln%C3%ADch_v%C4%9Btv%C3%ADch"/>
	<link rel="alternate" type="text/html" href="https://wiki.gorearaucania.cl/mediawiki/index.php?title=Jak_zvl%C3%A1dnout_verzov%C3%A1n%C3%AD_k%C3%B3du_p%C5%99i_paraleln%C3%ADch_v%C4%9Btv%C3%ADch&amp;action=history"/>
	<updated>2026-08-22T11:50:47Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://wiki.gorearaucania.cl/mediawiki/index.php?title=Jak_zvl%C3%A1dnout_verzov%C3%A1n%C3%AD_k%C3%B3du_p%C5%99i_paraleln%C3%ADch_v%C4%9Btv%C3%ADch&amp;diff=121676&amp;oldid=prev</id>
		<title>StevieKerferd96: Página creada con «Na závěr: izolované testy reducers a async akcí vám dají jistotu, že stavová logika funguje, aniž byste potřebovali složité testovací prostředí. Stačí dodržet zásady čistých funkcí, mockovat async volání a věnovat pozornost okrajovým případům. Tento postup je rychlý, udržitelný a snadno se integruje do CI. Pokud narazíte na problém, vraťte se k základům – pravděpodobně jde o špatně definovaný mock nebo chybějící await v t…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.gorearaucania.cl/mediawiki/index.php?title=Jak_zvl%C3%A1dnout_verzov%C3%A1n%C3%AD_k%C3%B3du_p%C5%99i_paraleln%C3%ADch_v%C4%9Btv%C3%ADch&amp;diff=121676&amp;oldid=prev"/>
		<updated>2026-08-21T18:05:25Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «Na závěr: izolované testy reducers a async akcí vám dají jistotu, že stavová logika funguje, aniž byste potřebovali složité testovací prostředí. Stačí dodržet zásady čistých funkcí, mockovat async volání a věnovat pozornost okrajovým případům. Tento postup je rychlý, udržitelný a snadno se integruje do CI. Pokud narazíte na problém, vraťte se k základům – pravděpodobně jde o špatně definovaný mock nebo chybějící await v t…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Na závěr: izolované testy reducers a async akcí vám dají jistotu, že stavová logika funguje, aniž byste potřebovali složité testovací prostředí. Stačí dodržet zásady čistých funkcí, mockovat async volání a věnovat pozornost okrajovým případům. Tento postup je rychlý, udržitelný a snadno se integruje do CI. Pokud narazíte na problém, vraťte se k základům – pravděpodobně jde o špatně definovaný mock nebo chybějící await v testu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;První krok spočívá v zavedení sémantického verzování pro každou knihovnu zvlášť. Formát tři čísla (hlavní, vedlejší, oprava) funguje dobře, ale musí být striktně dodržován. Hlavní číslo zvyšujte pouze při nekompatibilních změnách API, vedlejší při přidání funkce zpětně kompatibilním způsobem a opravné při opravě chyby. Důležité je, aby se tyto změny promítaly i do závislostí. Pokud knihovna A změní hlavní verzi, knihovna B, která ji používá, musí ve svém manifestu explicitně uvést nový rozsah povolených verzí. Bez toho vznikne chaotický stav, kdy různé části projektu používají nekompatibilní kombinace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Mezi časté chyby patří testování reducí přes celý store, což zbytečně zapojuje middleware a komplikuje ladění. Dále se stává, že testeři zapomenou na asynchronní povahu thunků a test skončí dřív, než se dispatch dokončí – vždy počkejte na promise. Také se vyplatí testovat akce, které používají getState, protože můžete snadno přehlédnout závislost na konkrétním stavu. Vždy si připravte mock getState s přesně tím stavem, který akce očekává, a ověřte, že z něj správně čte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Reducery testujte jako čisté funkce Reducer je čistá funkce, která na základě aktuálního stavu a akce vrací nový stav. To je ideální pro unit testy – nepotřebujete žádný store ani middleware. Stačí volat reducer s konkrétním stavem a akcí a porovnat výsledek. Důležité je připravit si výchozí stav (initial state) a otestovat nejen úspěšné scénáře, ale i okrajové případy, jako je neznámá akce, prázdný stav nebo immutable update. Typickou chybou je spoléhat na to, že reducer nesmí mutovat původní stav – pokud to porušíte, test to odhalí. Proto vždy používejte spread operátor nebo jiný neměnný způsob aktualizace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr si osvojte práci s verzováním kódu, i když je to jen pro osobní projekty. Uložíte si tím možnost vrátit se k předchozí verzi, když něco rozbijete. A hlavně: testujte na malých vzorcích dat, ne hned na celém systému. Tím se vyhnete velkým škodám a snáze najdete chyby.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec si ujasněte, kdy JWT nepoužívat. Pro veřejná API s nízkou citlivostí můžete postačit API klíče, ale pro uživatelská data je JWT vhodný. Nevýhodou je, že token nelze snadno odvolat před vypršením, pokud nezavedete denylistu. Zvažte proto kompromis: krátká platnost, refresh tokeny a případně černá listina pro okamžité zablokování účtu. Správné použití JWT tokenů vyžaduje disciplínu v nastavení, ale po nasazení získáte robustní a škálovatelnou ochranu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Posledním tipem je automatizace kontroly kvality. Pokud máte CI pipeline, která spouští testy na každé větvi, využijte ji. To vám dá rychlou zpětnou vazbu, ať už pracujete na čemkoli. Pokud ji nemáte, zkuste alespoň před každým pushnutím spustit lokální testy. Pracujte tak, abyste vždy věděli, které změny jsou v které větvi, a hlavně se nebáte větve mazat po dokončení funkce. Udržovat jich mnoho je kontraproduktivní a vede ke zmatkům.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prakticky implementujte middleware, který token zpracuje. Ten by měl vyjmout token z hlavičky Authorization ve formátu Bearer, ověřit ho a připojit informace o uživateli k požadavku. Vždy řešte chyby pomocí HTTP status kódů – 401 pro neplatný token, 403 pro nedostatečná práva. Vyhněte se logování celých tokenů, stačí logovat ID uživatele a čas platnosti.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Python je ideálním nástrojem pro automatizaci opakujících se úkolů, od manipulace se soubory po web scraping. Abyste začali efektivně, nemusíte znát všechny funkce jazyka – stačí pochopit základy syntaxe a knihovny, které se na automatizaci specializují. Klíčové je naučit se psát skripty, které běží bez zásahu člověka, a to i s ohledem na chyby, které mohou nastat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při testování async akcí (např. pomocí Redux Thunk) je klíčové izolovat logiku od reálných API volání. Vytvořte si mock pro fetch nebo axios, který vrací předem definované odpovědi. V testu pak zavoláte async akci s mockovaným dispatch a getState a zkontrolujete, jaké akce byly dispatchnuty. Nezapomeňte na testování úspěšné i chybové větve – tím ověříte, že se korektně odesílají akce pro start, úspěch i selhání. Důležité je také testovat pořadí a počet dispatchnutí, abyste odhalili duplicitní volání nebo chybějící akce.&lt;/div&gt;</summary>
		<author><name>StevieKerferd96</name></author>
	</entry>
</feed>