<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://jak.mazovia.edu.pl/index.php?action=history&amp;feed=atom&amp;title=P%C5%99echod_z_MySQL_na_PostgreSQL%2C_kter%C3%BD_nepodcen%C3%ADte</id>
	<title>Přechod z MySQL na PostgreSQL, který nepodceníte - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://jak.mazovia.edu.pl/index.php?action=history&amp;feed=atom&amp;title=P%C5%99echod_z_MySQL_na_PostgreSQL%2C_kter%C3%BD_nepodcen%C3%ADte"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=P%C5%99echod_z_MySQL_na_PostgreSQL,_kter%C3%BD_nepodcen%C3%ADte&amp;action=history"/>
	<updated>2026-09-25T20:58:29Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=P%C5%99echod_z_MySQL_na_PostgreSQL,_kter%C3%BD_nepodcen%C3%ADte&amp;diff=233415&amp;oldid=prev</id>
		<title>RickieStearns1 o 03:26, 29 sie 2026</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=P%C5%99echod_z_MySQL_na_PostgreSQL,_kter%C3%BD_nepodcen%C3%ADte&amp;diff=233415&amp;oldid=prev"/>
		<updated>2026-08-29T03:26:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Wersja z 03:26, 29 sie 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Linia 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Příklady jsou důležitější než popis parametrů Místo strohého seznamu atributů uveďte konkrétní příklad požadavku &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;odpovědi&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ukažte reálný JSON&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ideálně s hodnotami&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které odpovídají skutečným datům – ne „string&quot;&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale „název produktu&quot;&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Přidejte i příklad chybové odpovědi, ať frontend ví, co má očekávat&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dobře funguje i krátký úryvek volání z javascriptu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale bez nadbytečných knihoven – stačí fetch s hlavičkami&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tyto příklady by měly být kompletní &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zkopírovatelné, aby si je vývojář mohl rovnou vložit do konzole a vyzkoušet&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zkontrolujte také&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kolikrát načítáte stejné soubory. Častý nešvar je vložit jQuery do hlavičky&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pak ho znovu &lt;/del&gt;do &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;patičky &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ještě jednou do šablony&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Prohlížeč sice soubor stáhne jen jednou&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale kód se pokaždé znovu zpracuje&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Použijte nástroj pro kontrolu zdrojového kódu a vyhledejte duplicity&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;U externích fontů &lt;/del&gt;si &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dejte pozor &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kolik řezů načítáte&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Čtyři řezy písma znamenají čtyři soubory&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přičemž pro běžný text stačí dva. Fonty navíc nechte načítat až po načtení hlavního obsahu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ať neblokují první vykreslení&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Při testování výkonu se zaměřte na spotřebu paměti &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;baterie&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Spusťte aplikaci&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;projděte několik obrazovek a vraťte se na hlavní&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sledujte&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jestli paměť roste a jestli aplikace nezpomaluje. Pro měření využijte nástroje přímo v operačním systému&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale hlavně si všímejte subjektivního dojmu – dlouhé načítání nebo sekání při scrollování je pro uživatele nepřijatelné&lt;/del&gt;. Typická chyba je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optimalizovat výkon až na konci&lt;/del&gt;, ale &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to už je aplikace plná závislostí&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;špatně mění&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Než otevřete vývojové prostředí, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rozhodněte se&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jakou cestou se vydáte&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nejrozšířenější je Kotlin&lt;/del&gt;, který &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;je moderní a stručný&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale pro úplného začátečníka může být matoucí kvůli syntaxi, která skrývá mnoho detailů&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Já osobně doporučuji začít s Javou – má obrovské množství starších tutoriálů &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chybové hlášky jsou srozumitelnější&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Když pochopíte základy objektového přístupu v Javě&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přechod na Kotlin pak trvá pár dní. Naopak pokud začnete přímo Kotlinem&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;riskujete, že nebudete rozumět, proč některé věci fungují tak, jak fungují&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jak poznáte, že &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;na vině JavaScript? JavaScript dokáže zablokovat vykreslení celé stránky&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud máte v hlavičce několik externích skriptů&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;prohlížeč čeká&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;až se každý stáhne a spustí&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;teprve potom zobrazí obsah&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Řešení spočívá v jednoduché změně pořadí: skripty&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které nejsou nezbytné pro první obrazovku, přesuňte na konec těla stránky&lt;/del&gt;. Když &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to nejde&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;použijte atribut defer&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;který zajistí&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že se skript spustí až po zpracování HTML. Vyhněte se &lt;/del&gt;ale &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tomu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;abyste na stránku nahrávali deset různých knihoven&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;když vám stačí dvě. Každý další soubor znamená další požadavek na server a další šanci na zpoždění&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Další častou chybou je ignorování expirace tokenu. JWT obsahuje pole exp&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale pokud ho nenastavíte nebo nastavíte příliš dlouhou platnost&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;otevíráte dveře útočníkům&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kteří ukradnou token &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;používají ho týdny&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nastavte expiraci na rozumnou dobu – obvykle 15 minut až několik hodin – a pro delší přístup použijte obnovovací tokeny&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které mají vlastní životní cyklus &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;lze je bezpečně zneplatnit&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Navíc vždy ověřujte nejen expiraci&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale i čas vydání (iat) &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;případně čas nepoužitelnosti (nbf)&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;abyste zabránili použití tokenů&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které ještě nebyly aktivovány&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pozor &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;častý neduh: dokumentace popisuje jen šťastnou cestu&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nikde se nepíše&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co &lt;/del&gt;se stane, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;když přijde neplatné ID&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chybějící povinné pole &lt;/del&gt;nebo &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;příliš dlouhý řetězec. Frontend pak musí tyto situace pracně zjišťovat pokusy &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;omyly&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Přidejte proto ke každému endpointu sekci „Možné chyby&quot; s HTTP statusem a tvarem chybové odpovědi&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ušetří to hodiny práce &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zbytečných dotazů na backend&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Začněte u manuálního testování&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Vezměte si reálné zařízení&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ne jen emulátor&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Emulátor neodhalí problémy s výkonem, které způsobí slabší hardware&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ani neověří chování při přepínání mezi aplikacemi. Při ručním testu &lt;/del&gt;si &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;napište scénáře, které pokrývají hlavní uživatelské cesty: registrace, přihlášení, platba, synchronizace dat&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typická chyba &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;testovat jen „šťastnou cestu&quot; – tedy bez chybových stavů. Zkuste zadat špatné heslo&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přerušit připojení nebo odejít z obrazovky uprostřed operace&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To je místo&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kde &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;většina chyb skutečně schovává&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Víte&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co děláte s claims &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;podpisem? Claims neboli tvrzení uvnitř tokenu byste měli vždy omezit na minimum&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nepoužívejte JWT jako úložiště citlivých údajů &lt;/del&gt;– &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;role&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;oprávnění&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;e-maily&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;natož hesla nebo osobní údaje&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Token je totiž podepsaný&lt;/del&gt;, ale &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ne šifrovaný; kdokoli&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kdo ho získá&lt;/del&gt;, si &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ho může dekódovat a přečíst. Pokud potřebujete předávat informace&lt;/del&gt;, které mají &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zůstat důvěrné&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;použijte šifrovaný token JWE nebo lépe: přenášejte pouze identifikátor uživatele a zbytek si načtěte z databáze&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Také si dejte pozor na to&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co děláte &lt;/del&gt;s &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;veřejným klíčem – pokud používáte RS256&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;veřejný klíč by měl být opravdu veřejný, ale nikdy ne privátní&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Záměna klíčů &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bohužel častá a vede k tomu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že útočník může podepisovat tokeny&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dalším častým problémem je převod znakových sad &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;řazení&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ujistěte se&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že používáte UTF-8&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a zkontrolujte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zda v datech nejsou binární hodnoty nebo NULL&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PostgreSQL je striktnější v práci s NULL a s prázdnými řetězci&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Při migraci dat přes nástroje jako pgloader nebo ručně psané skripty si ověřte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že prázdné řetězce v MySQL nejsou interpretovány jako NULL v PostgreSQL&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To může změnit výsledky dotazů &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chování aplikace&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jak si ověřit&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že vám jazyk sedne&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;než &lt;/ins&gt;do &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;něj investujete měsíce Otevřete si oficiální dokumentaci &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zkuste napsat první program podle příkladu&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud vám zápis připadá jako řečtina&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zkuste jiný jazyk&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Důležité je, abyste rozuměli každému řádku, ne jen kopírovali&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dále &lt;/ins&gt;si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;najděte tři různé tutoriály &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;stejné téma – pokud je pochopíte bez hledání dalších zdrojů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;máte vyhráno&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pozor na falešné začátečnické jazyky, které sice vypadají jednoduše, ale v praxi vás nenaučí základy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jako jsou proměnné&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cykly nebo podmínky&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Než začnete hledat konkrétní jazyk, položte si dvě otázky: co chcete tvořit &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jak dlouho vydržíte u nudných základů&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Webová aplikace, datová analýza&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;automatizace nebo hra – každá oblast má svého favorita&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud zatím nevíte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zkuste univerzální jazyk, který vám umožní přejít jinam&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aniž byste začínali od nuly&lt;/ins&gt;. Typická chyba &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;začátečníka &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vybrat si jazyk podle popularity, ne podle toho, co ho baví. Python sice dominuje v kurzech&lt;/ins&gt;, ale &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pokud vás láká vývoj mobilních aplikací&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;budete &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;trápit&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Když se rozhodnete naučit programovat, C# je volba, která vás nezradí. &lt;/ins&gt;Než otevřete vývojové prostředí, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ujasněte si&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co chcete vytvořit&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nejlepší start představuje konzolová aplikace – program&lt;/ins&gt;, který &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;běží v okně příkazového řádku. Nepotřebujete žádné grafické rozhraní&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;složité knihovny ani databáze&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Stačí vám textový editor &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;překladač&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;První projekt vytvoříte během pěti minut&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale pozor: i jednoduchý program skrývá nástrahy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které začátečníky typicky zaskočí&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typický omyl &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přeskakovat cvičení a hned stavět velký projekt&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Bez procvičení malých úloh nepochopíte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jak funkce spolupracují. Naopak přílišná teorie vás zdrží – čtete o třídách&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale nevíte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;k čemu je použít&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Vyberte si jeden zdroj (knihu&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kurz nebo interaktivní platformu) a projděte ho celý&lt;/ins&gt;. Když &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;narazíte na problém&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zkuste ho vyřešit sami&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale maximálně 20 minut. Poté hledejte řešení&lt;/ins&gt;, ale &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vždy nejdřív vysvětlete&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co děláte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;někomu jinému – i to je forma učení&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Co si pohlídat při prvním kole výběrového řízení Když už vás pozvou na technický pohovor&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;většinou nejde o to&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;abyste napsali dokonalý algoritmus. Spíše se testuje&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jak přemýšlíte &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jak se vypořádáte s neznámým zadáním&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typická chyba začátečníků je&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že se snaží úlohu vyřešit co nejrychleji &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zapomenou se ptát&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zeptejte se na očekávané vstupy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;na výkonnostní limity &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;na to, co se stane, když přijdou nulová data. Tím ukážete&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že uvažujete v souvislostech&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a ne jen mechanicky&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Častým nešvarem je práce &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;více feature větvích z jednoho lokálního klonu bez přepínání mezi nimi&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud máte rozjeté tři větve a v každé děláte něco jiného&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;snadno &lt;/ins&gt;se stane, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že začnete commitovat změny do nesprávné větve. Řešením je buď používat samostatné pracovní adresáře pro každou větev&lt;/ins&gt;, nebo &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;důsledně kontrolovat aktuální větev před každým commitem &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pull requestem&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Mnoho vývojářů si také plete stav v lokálním úložišti se stavem na vzdáleném serveru&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Než začnete novou práci, vždy si stáhněte nejnovější změny &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;porovnejte, jestli vaše lokální větev odpovídá té vzdálené&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;První práce v IT není o tom, že umíte nazpaměť všechny datové struktury&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Firmy běžně hledají lidi&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kteří zvládnou rozchodit malý projekt a komunikovat o něm&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Než začnete rozesílat životopisy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zkuste &lt;/ins&gt;si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;na svém počítači postavit jednoduchou aplikaci — třeba správce úkolů nebo evidenci výdajů&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Důležité &lt;/ins&gt;je, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;abyste prošli celým cyklem: od návrhu přes kód až po nasazení na veřejný server&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tím získáte konkrétní zkušenost&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;o které &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v pohovoru snadno mluví&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nejlepší první volba je taková&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;která má rychlou zpětnou vazbu &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přívětivou syntaxi&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Python a JavaScript jsou pro začátek ideální &lt;/ins&gt;– &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;krátký zápis, čitelný kód a obrovská komunita. U Pythonu se soustřeďte na automatizaci a datové zpracování&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;u JavaScriptu na interaktivní prvky webu. Když začnete s C++ nebo Javou&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;čeká vás více technických detailů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které odvádějí pozornost od logiky&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Neznamená to, že jsou špatné&lt;/ins&gt;, ale &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pro první měsíce učení představují zbytečnou zátěž.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Před odesláním životopisu si ověřte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jestli inzerát nevyžaduje konkrétní portfolio. Pokud ano&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;připravte &lt;/ins&gt;si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tři až čtyři projekty&lt;/ins&gt;, které &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jsou dostupné online a &lt;/ins&gt;mají &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;čitelný kód. Nestačí&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že něco běží na lokálním počítači&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Vytvořte veřejný repozitář&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přidejte README &lt;/ins&gt;s &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;popisem a napište&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co jste se při stavbě naučili&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jeden z nejefektivnějších způsobů, jak se odlišit od ostatních uchazečů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kteří mají stejný kurzovní certifikát&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>RickieStearns1</name></author>
	</entry>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=P%C5%99echod_z_MySQL_na_PostgreSQL,_kter%C3%BD_nepodcen%C3%ADte&amp;diff=233049&amp;oldid=prev</id>
		<title>MauraStLedger5: Utworzono nową stronę &quot;Příklady jsou důležitější než popis parametrů Místo strohého seznamu atributů uveďte konkrétní příklad požadavku a odpovědi. Ukažte reálný JSON, ideálně s hodnotami, které odpovídají skutečným datům – ne „string&quot;, ale „název produktu&quot;. Přidejte i příklad chybové odpovědi, ať frontend ví, co má očekávat. Dobře funguje i krátký úryvek volání z javascriptu, ale bez nadbytečných knihoven – stačí fetch s hlavič…&quot;</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=P%C5%99echod_z_MySQL_na_PostgreSQL,_kter%C3%BD_nepodcen%C3%ADte&amp;diff=233049&amp;oldid=prev"/>
		<updated>2026-08-29T03:19:58Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;Příklady jsou důležitější než popis parametrů Místo strohého seznamu atributů uveďte konkrétní příklad požadavku a odpovědi. Ukažte reálný JSON, ideálně s hodnotami, které odpovídají skutečným datům – ne „string&amp;quot;, ale „název produktu&amp;quot;. Přidejte i příklad chybové odpovědi, ať frontend ví, co má očekávat. Dobře funguje i krátký úryvek volání z javascriptu, ale bez nadbytečných knihoven – stačí fetch s hlavič…&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Příklady jsou důležitější než popis parametrů Místo strohého seznamu atributů uveďte konkrétní příklad požadavku a odpovědi. Ukažte reálný JSON, ideálně s hodnotami, které odpovídají skutečným datům – ne „string&amp;quot;, ale „název produktu&amp;quot;. Přidejte i příklad chybové odpovědi, ať frontend ví, co má očekávat. Dobře funguje i krátký úryvek volání z javascriptu, ale bez nadbytečných knihoven – stačí fetch s hlavičkami. Tyto příklady by měly být kompletní a zkopírovatelné, aby si je vývojář mohl rovnou vložit do konzole a vyzkoušet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Zkontrolujte také, kolikrát načítáte stejné soubory. Častý nešvar je vložit jQuery do hlavičky, pak ho znovu do patičky a ještě jednou do šablony. Prohlížeč sice soubor stáhne jen jednou, ale kód se pokaždé znovu zpracuje. Použijte nástroj pro kontrolu zdrojového kódu a vyhledejte duplicity. U externích fontů si dejte pozor na to, kolik řezů načítáte. Čtyři řezy písma znamenají čtyři soubory, přičemž pro běžný text stačí dva. Fonty navíc nechte načítat až po načtení hlavního obsahu, ať neblokují první vykreslení.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při testování výkonu se zaměřte na spotřebu paměti a baterie. Spusťte aplikaci, projděte několik obrazovek a vraťte se na hlavní. Sledujte, jestli paměť roste a jestli aplikace nezpomaluje. Pro měření využijte nástroje přímo v operačním systému, ale hlavně si všímejte subjektivního dojmu – dlouhé načítání nebo sekání při scrollování je pro uživatele nepřijatelné. Typická chyba je optimalizovat výkon až na konci, ale to už je aplikace plná závislostí, které se špatně mění.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Než otevřete vývojové prostředí, rozhodněte se, jakou cestou se vydáte. Nejrozšířenější je Kotlin, který je moderní a stručný, ale pro úplného začátečníka může být matoucí kvůli syntaxi, která skrývá mnoho detailů. Já osobně doporučuji začít s Javou – má obrovské množství starších tutoriálů a chybové hlášky jsou srozumitelnější. Když pochopíte základy objektového přístupu v Javě, přechod na Kotlin pak trvá pár dní. Naopak pokud začnete přímo Kotlinem, riskujete, že nebudete rozumět, proč některé věci fungují tak, jak fungují.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak poznáte, že je na vině JavaScript? JavaScript dokáže zablokovat vykreslení celé stránky. Pokud máte v hlavičce několik externích skriptů, prohlížeč čeká, až se každý stáhne a spustí, teprve potom zobrazí obsah. Řešení spočívá v jednoduché změně pořadí: skripty, které nejsou nezbytné pro první obrazovku, přesuňte na konec těla stránky. Když to nejde, použijte atribut defer, který zajistí, že se skript spustí až po zpracování HTML. Vyhněte se ale tomu, abyste na stránku nahrávali deset různých knihoven, když vám stačí dvě. Každý další soubor znamená další požadavek na server a další šanci na zpoždění.&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;Pozor na častý neduh: dokumentace popisuje jen šťastnou cestu. Nikde se nepíše, co se stane, když přijde neplatné ID, chybějící povinné pole nebo příliš dlouhý řetězec. Frontend pak musí tyto situace pracně zjišťovat pokusy a omyly. Přidejte proto ke každému endpointu sekci „Možné chyby&amp;quot; s HTTP statusem a tvarem chybové odpovědi. Ušetří to hodiny práce a zbytečných dotazů na backend.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začněte u manuálního testování. Vezměte si reálné zařízení, ne jen emulátor. Emulátor neodhalí problémy s výkonem, které způsobí slabší hardware, ani neověří chování při přepínání mezi aplikacemi. Při ručním testu si napište scénáře, které pokrývají hlavní uživatelské cesty: registrace, přihlášení, platba, synchronizace dat. Typická chyba je testovat jen „šťastnou cestu&amp;quot; – tedy bez chybových stavů. Zkuste zadat špatné heslo, přerušit připojení nebo odejít z obrazovky uprostřed operace. To je místo, kde se většina chyb skutečně schovává.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Víte, co děláte s claims a podpisem? Claims neboli tvrzení uvnitř tokenu byste měli vždy omezit na minimum. Nepoužívejte JWT jako úložiště citlivých údajů – role, oprávnění, e-maily, natož hesla nebo osobní údaje. Token je totiž podepsaný, ale ne šifrovaný; kdokoli, kdo ho získá, si ho může dekódovat a přečíst. Pokud potřebujete předávat informace, které mají zůstat důvěrné, použijte šifrovaný token JWE nebo lépe: přenášejte pouze identifikátor uživatele a zbytek si načtěte z databáze. Také si dejte pozor na to, co děláte s veřejným klíčem – pokud používáte RS256, veřejný klíč by měl být opravdu veřejný, ale nikdy ne privátní. Záměna klíčů je bohužel častá a vede k tomu, že útočník může podepisovat tokeny.&lt;/div&gt;</summary>
		<author><name>MauraStLedger5</name></author>
	</entry>
</feed>