<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://jak.mazovia.edu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AmosFairchild6</id>
	<title>Mazovia - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://jak.mazovia.edu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AmosFairchild6"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php/Specjalna:Wk%C5%82ad/AmosFairchild6"/>
	<updated>2026-09-19T01:25:54Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Co_se_stane,_kdy%C5%BE_jednotkov%C3%A9_a_integra%C4%8Dn%C3%AD_testy_nevyv%C3%A1%C5%BE%C3%ADte_v%C4%8Das&amp;diff=232349</id>
		<title>Co se stane, když jednotkové a integrační testy nevyvážíte včas</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Co_se_stane,_kdy%C5%BE_jednotkov%C3%A9_a_integra%C4%8Dn%C3%AD_testy_nevyv%C3%A1%C5%BE%C3%ADte_v%C4%8Das&amp;diff=232349"/>
		<updated>2026-08-29T03:07:22Z</updated>

		<summary type="html">&lt;p&gt;AmosFairchild6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Refaktoring kódu patří k činnostem, které vývojáři často odkládají, protože se obávají, že změny rozbijí fungující logiku. Moderní vývojová prostředí však nabízejí sadu vestavěných nástrojů, které dokážou rutinní úpravy provést bezpečně a rychle. Nemusíte si pamatovat stovky zkratek – stačí znát pár klíčových funkcí a vědět, kdy je použít. Tento článek se zaměřuje na praktické využití těchto nástrojů, nikoli na teoretické základy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Další častou chybou je ignorování expirace tokenu. JWT obsahuje pole exp, ale pokud ho nenastavíte nebo nastavíte příliš dlouhou platnost, otevíráte dveře útočníkům, kteří ukradnou token a používají ho týdny. Nastavte expiraci na rozumnou dobu – obvykle 15 minut až několik hodin – a pro delší přístup použijte obnovovací tokeny, které mají vlastní životní cyklus a lze je bezpečně zneplatnit. Navíc vždy ověřujte nejen expiraci, ale i čas vydání (iat) a případně čas nepoužitelnosti (nbf), abyste zabránili použití tokenů, které ještě nebyly aktivovány.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prvním krokem je správná volba algoritmu. Mnoho vývojářů sáhne po algoritmu HS256, protože je jednoduchý, ale vyžaduje sdílený tajný klíč mezi serverem a klientem. To je problém: jakmile klíč unikne, útočník může podepisovat vlastní tokeny. Bezpečnější je použít asymetrický algoritmus RS256 nebo ES256, kde máte privátní klíč pouze na serveru a veřejný klíč distribuujete klientům. Tím eliminujete riziko spojené s kompromitací tajemství. Pokud už ale používáte HS256, dbejte na to, aby klíč byl dostatečně dlouhý a náhodný – minimálně 32 bajtů, ideálně více.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Dále se zaměřte na dobu běhu. Pokud máte testy, které trvají déle než pět minut, rozdělte je do vrstev: rychlé (jednotkové), střední (integrace s jednou komponentou) a pomalé (end-to-end). Rychlé spouštějte při každém commitu, střední při každém pull requestu a pomalé až před nasazením do produkce. Tím zajistíte, že vývojáři dostanou zpětnou vazbu rychle, ale složité scénáře nezmizí. Nezapomeňte také na flaky testy – pokud test občas selže bez zjevné příčiny, buď ho opravte, nebo zahoďte. Jinak začnete ignorovat červené výsledky a celý systém ztratí důvěryhodnost.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec si uvědomte, že rovnováha není statický stav. S každou novou funkcí se poměr může posunout, a proto si vyhraďte čas na pravidelnou revizi testů – třeba jednou za měsíc. Sledujte metriky, jako je pokrytí řádků a doba běhu, ale nepřizpůsobujte se jim slepě. Lepší než procenta je důvěra, kterou testy dávají vašemu týmu při refaktoringu. Když víte, že pád některého testu okamžitě ukáže na konkrétní problém, máte vyvážený systém, který vám pomáhá růst bez zbytečných brzd.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při psaní nových testů dodržujte jednoduché pravidlo: jednotkový test pro logiku, integrační test pro spolupráci. Pokud píšete test pro třídu, která komunikuje s externí službou, nepoužívejte mock pro celé rozhraní, ale jen pro tu část, která je pro daný test podstatná. Tím předejdete tomu, že test projde, ale v reálném běhu se spojení rozpadne. Naopak u integračních testů nepoužívejte produkční data – vytvořte si malou testovací databázi s pevně danými hodnotami, abyste měli výsledky reprodukovatelné.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;První test obvykle vypadá jako veřejná třída s atributem [TestFixture] a jednotlivé metody s atributem [Test]. Uvnitř metody používáte Assert.That s různými constrainery, například Is.EqualTo, Is.True nebo Is.Empty. Důležité je psát testy tak, aby byly deterministické – neměly by záviset na datumu, náhodných hodnotách nebo pořadí provedení. Pokud potřebujete testovat výjimku, použijte Assert.Throws(() =&amp;gt; metoda(...)). Tím ověříte i typ výjimky, ne jen to, že něco spadlo.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když máte jasný cíl, nainstalujte si oficiální vývojové prostředí a sadu nástrojů pro Android. Po instalaci si vytvořte nový projekt s prázdnou aktivitou a projděte si strukturu složek. Důležité je pochopit, že zdrojový kód píšete v jazyce Kotlin, zatímco rozložení obrazovky definujete v XML souborech. Na začátku se nebojte použít vizuální editor rozložení, ale postupně si osvojte čtení XML kódu. Bez toho nepochopíte, proč se prvky chovají jinak, než čekáte, a budete ztrácet čas hledáním chyb.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jakmile máte přehled, začněte s revizí podle kritičnosti. Vyberte pět až deset nejdůležitějších uživatelských scénářů (např. registrace, platba, přihlášení) a ujistěte se, že pro každý existuje integrační test, který projde celým systémem. Zbývající scénáře nechte na jednotkové úrovni. Tím získáte jistotu, že se nerozbije to podstatné, a zároveň nezahltíte pipeline testy, které běží desítky minut. Typická chyba je snažit se pokrýt integračními testy i okrajové případy – to patří do jednotkových testů, kde je můžete izolovat a rychle opakovat.&lt;/div&gt;</summary>
		<author><name>AmosFairchild6</name></author>
	</entry>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:AmosFairchild6&amp;diff=232343</id>
		<title>Użytkownik:AmosFairchild6</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:AmosFairchild6&amp;diff=232343"/>
		<updated>2026-08-29T03:07:21Z</updated>

		<summary type="html">&lt;p&gt;AmosFairchild6: Utworzono nową stronę &amp;quot;Autor blogu praktickým bydlením se zabývá denně. Píšu o tom, jak skloubit funkčnost s teplem domova. Nejvíc mě baví popisovat postupy krok za krokem.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu praktickým bydlením se zabývá denně. Píšu o tom, jak skloubit funkčnost s teplem domova. Nejvíc mě baví popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>AmosFairchild6</name></author>
	</entry>
</feed>