<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GaryFanny2</id>
	<title>IT-Core - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GaryFanny2"/>
	<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Special:Contributions/GaryFanny2"/>
	<updated>2026-09-04T22:28:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=Ne%C5%BE_nap%C3%AD%C5%A1e%C5%A1_dal%C5%A1%C3%AD_test,_ov%C4%9B%C5%99_si_reducery_bez_integra%C4%8Dn%C3%ADho_prost%C5%99ed%C3%AD&amp;diff=199573</id>
		<title>Než napíšeš další test, ověř si reducery bez integračního prostředí</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Ne%C5%BE_nap%C3%AD%C5%A1e%C5%A1_dal%C5%A1%C3%AD_test,_ov%C4%9B%C5%99_si_reducery_bez_integra%C4%8Dn%C3%ADho_prost%C5%99ed%C3%AD&amp;diff=199573"/>
		<updated>2026-08-29T05:05:18Z</updated>

		<summary type="html">&lt;p&gt;GaryFanny2: Created page with &amp;quot;Začněte jednou službou, ne celým procesem Nejčastější chyba je pokusit se zautomatizovat všechno najednou. Místo toho si vyberte jednu malou aplikaci, která se nasazuje často, a proveďte ji celým řetězcem: sestavení, test, nasazení, monitoring. K tomu použijte skripty, které zvládnete spustit lokálně, a teprve pak je přeneste do CI. Cílem není dokonalá pipeline, ale rychlá zpětná vazba — pokud něco spadne, musíte to vědět do deseti min...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Začněte jednou službou, ne celým procesem Nejčastější chyba je pokusit se zautomatizovat všechno najednou. Místo toho si vyberte jednu malou aplikaci, která se nasazuje často, a proveďte ji celým řetězcem: sestavení, test, nasazení, monitoring. K tomu použijte skripty, které zvládnete spustit lokálně, a teprve pak je přeneste do CI. Cílem není dokonalá pipeline, ale rychlá zpětná vazba — pokud něco spadne, musíte to vědět do deseti minut.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;def zakaznik():&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktické pravidlo: analytickou fázi odhadujte na 20–30 % celkového času u složitějších úkolů, u jednoduchých změn stačí 10–15 %. Implementace pak zabere obvykle 50–60 % a zbytek připadá na testování a opravy. Tyto proporce ale nejsou dogma. Pokud zadání není jasné, je lepší analýzu natáhnout a implementaci odložit, než spěchat do kódu a pak vše předělávat. Typická chyba je odhadovat analýzu jako „půl dne na pročtení zadání&amp;quot; a zapomenout na rozhovory s uživatelem nebo na mapování závislostí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kdy se vyplatí odhadnout více času na analýzu a kdy naopak méně? Více času na analýzu si vyhraďte, když pracujete s neznámou doménou, se starším kódem bez dokumentace nebo když se řešení dotýká více systémů. Méně času naopak potřebujete u rutinních změn, které už tým dělal mockrát a zná všechna úskalí. V agilním prostředí se vyplatí pracovat v krátkých iteracích a odhady průběžně upřesňovat. Pokud po první sprintu zjistíte, že analýza trvá o 30 % déle, než jste čekali, neberte to jako selhání, ale jako podnět k úpravě budoucích odhadů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když už máte první službu v CI, zaměřte se na měření. Klíčové metriky nejsou počet nasazení za den, ale doba od nápadu po produkci a frekvence selhání. Zapisujte si čísla do tabulky, ale neanalyzujte je každý den — stačí týdenní revize. Pokud vidíte, že jsou nasazení častější, ale výpadky se nemění, děláte to dobře. Když se ale výpadky začnou množit, přibrzděte a přidejte víc testů, ne další automatizace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak otestovat thunk akce a vyhnout se častým chybám Pro testování async akcí, které používají thunk, potřebujete vytvořit mock pro API volání nebo jinou závislost. Můžete použít funkci, která vrací Promise, a tu pak nahradit ve vašem testu. Například předpokládejme, že akce načítá uživatele. V testu vytvoříte mock, který vyřeší data, a zavoláte thunk s parametry (dispatch, getState). Poté zkontrolujete, jaké akce byly dispatchnuty. Důležité je nezapomenout na volání done nebo použít async/await, protože thunk vrací Promise. Častým problémem je, že zapomenete na to, že thunk může mít vedlejší efekty, které ovlivňují pořadí akcí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Druhým častým problémem je špatné používání HTTP stavových kódů. Mnoho vývojářů vrací při validační chybě kód 200 s chybovou hláškou v těle odpovědi. To je matoucí a porušuje to základy HTTP protokolu. Pro chybějící parametr použijte 400, pro neautorizovaný přístup 401 a pro zakázanou akci 403. Teprve když klient vidí správný stavový kód, může na chybu adekvátně reagovat. Navíc si snadno nastavíte logger, který zaznamená všechny 4xx a 5xx odpovědi pro pozdější analýzu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec si pamatujte, že DevOps je o lidech víc než o technice. Pokud váš tým nechce měnit zaběhnuté postupy, žádná technologie to nespasí. Začněte tím, že si s kolegy sednete a sepíšete si, co je nejvíc bolí. Z toho jednoho bodu pak postavte experiment — a nejlépe nechte mluvit výsledky, ne názory. Jakmile uvidíte, že se nasazení zrychlilo a chyby klesají, zbytek týmu se přidá sám.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec si pamatujte, že odhad není závazek, ale pouze nejlepší možný tip. V agilním týmu se odhady používají pro plánování a prioritu, nikoli jako měřítko výkonu jednotlivců. Pokud budete tým neustále tlačit k tomu, aby odhady plnil na minutu, začnou si dávat umělé rezervy a spolupráce se zhorší. Místo toho se zaměřte na to, proč se odhad liší od skutečnosti, a zlepšujte svůj proces. Jen tak se dostanete k odhadům, kterým můžete věřit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Testování reducerů a async akcí nemusí znamenat stavět celé integrační prostředí. Redux sám o sobě je čistá knihovna, která nezávisí na DOMu ani na serveru. Pokud se omezíte na jednotkové testy, získáte rychlost i stabilitu. Stačí k tomu test runner, jako je Vitest nebo Jest, a pár pomocných funkcí. Reducer je obyčejná funkce, takže ho zavoláte s aktuálním stavem a akcí a porovnáte výsledek. Async akce, které používají thunk middleware, testujete podobně – mockujete závislosti a kontrolujete dispatchnuté akce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Odhad časové náročnosti analytických fází a implementace patří v agilních týmech k nejvíc podceňovaným dovednostem. Nejde o to, abyste trefili přesný počet hodin, ale abyste vytvořili realistický rámec, který tým zvládne bez zbytečného přetížení. Základní chybou bývá, že se odhaduje pouze kód, zatímco analýza, revize a případné změny se zapomínají. Přitom právě analýza často rozhoduje o tom, jestli implementace proběhne hladce, nebo se utopí v množství doplňujících otázek.&lt;/div&gt;</summary>
		<author><name>GaryFanny2</name></author>
	</entry>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=User:GaryFanny2&amp;diff=199571</id>
		<title>User:GaryFanny2</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=User:GaryFanny2&amp;diff=199571"/>
		<updated>2026-08-29T05:05:13Z</updated>

		<summary type="html">&lt;p&gt;GaryFanny2: Created page with &amp;quot;Autor blogu praktickým bydlením se zabývá denně. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejraději hledat cesty, jak si usnadnit život.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu praktickým bydlením se zabývá denně. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejraději hledat cesty, jak si usnadnit život.&lt;/div&gt;</summary>
		<author><name>GaryFanny2</name></author>
	</entry>
</feed>