<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rikkiepedia.nl/index.php?action=history&amp;feed=atom&amp;title=Jak_zajistit_API_pomoc%C3%AD_JWT_token%C5%AF</id>
	<title>Jak zajistit API pomocí JWT tokenů - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rikkiepedia.nl/index.php?action=history&amp;feed=atom&amp;title=Jak_zajistit_API_pomoc%C3%AD_JWT_token%C5%AF"/>
	<link rel="alternate" type="text/html" href="https://rikkiepedia.nl/index.php?title=Jak_zajistit_API_pomoc%C3%AD_JWT_token%C5%AF&amp;action=history"/>
	<updated>2026-09-01T12:37:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://rikkiepedia.nl/index.php?title=Jak_zajistit_API_pomoc%C3%AD_JWT_token%C5%AF&amp;diff=107770&amp;oldid=prev</id>
		<title>InezLeSouef65 at 18:11, 21 August 2026</title>
		<link rel="alternate" type="text/html" href="https://rikkiepedia.nl/index.php?title=Jak_zajistit_API_pomoc%C3%AD_JWT_token%C5%AF&amp;diff=107770&amp;oldid=prev"/>
		<updated>2026-08-21T18:11:37Z</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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:11, 21 August 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;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 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;Dalším krokem &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;práce s box modelem&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Každý prvek na stránce je obdélník&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;který má padding&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;border a margin&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Padding je vnitřní okraj (mezera mezi obsahem &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rámečkem)&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;border je rámeček &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;margin je vnější okraj (mezera mezi prvky)&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Často &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;stává&lt;/del&gt;, že &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;začátečníci zapomenou na reset okrajů, proto se prvky „lepí&quot; k sobě nebo se liší v &lt;/del&gt;různých &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;prohlížečích&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Na začátek si pomozte univerzálním selektorem * a nastavte margin: 0; padding: 0; box-sizing: border-box; – tím získáte předvídatelnější chová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;Pozor &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;typické chyby&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Mnoho &lt;/del&gt;vývojářů &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;volí IDE podle popularity&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale zjistí&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že vestavěný klient nepodporuje jejich konkrétní databázi (např&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Oracle&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PostgreSQL&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SQL Server)&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Před instalací si ověřte&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jestli existuje oficiální plugin nebo rozšíření&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a hlavně – jestli &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aktivně udržované&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Starý plugin&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;který nefunguje s nejnovější verzí databáze&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;způsobí více škody než užitku&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;že některé funkce&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jako &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vizualizace vztahů &lt;/del&gt;nebo &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;porovnávání schémat&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jsou dostupné jen v placené verzi&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a to může být rozhodující faktor&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;Nezapomínejte na bezpečnostní testování. I malá aplikace může obsahovat citlivá data&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;proto vždy testujte šifrování přenosu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ukládání tokenů &lt;/del&gt;a &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;Použijte základní penetrační testy: zkuste odchytit provoz přes proxy&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zkuste přepsat hodnoty v žádostech &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;podívejte &lt;/del&gt;se, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zda aplikace správně ošetřuje neplatné vstupy&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Často se zapomíná &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;testování oprávnění na pozadí – aplikace by měla fungovat i po odepření přístupu k poloze nebo kontaktům&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ne jen okamžitě spadnout&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;Pro efektivní testování si nejprve vytvořte matici zařízení. Rozdělte trh podle reálného zastoupení operačních systémů a verzí. Nepokoušejte se testovat &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;všem, vyberte si reprezentativní vzorek&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nejnovější vlajkové lodě&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dva až tři středně staré modely &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jedno zařízení s nízkou pamětí&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Právě starší hardware často odhalí problémy s výkonem&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nových telefonech nepostřehnete. Pro testování offline režimu a slabého signálu použijte emulátor s omezením přenosové rychlosti &lt;/del&gt;– &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ušetříte čas i peníze za reálná zařízení&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;Důležitá je také podpora verzování změn &lt;/del&gt;v &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;databázi. Některá IDE umí porovnat dvě schémata, vygenerovat migrační skript &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dokonce synchronizovat strukturu&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hodí&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;když pracujete v týmu &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;potřebujete sdílet změny bez ručního psaní SQL&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud takovou funkci nenajdete&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zvažte, zda to není důvod&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;proč zůstat u stávajícího nástroje, i když jinde &lt;/del&gt;vám &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vyhovuje víc&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nakonec si vždy ověřte, jestli se databázové nástroje chovají stabilně s vaším operačním systémem &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jestli nezpomalují start IDE&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;Praktická rada: při převodu existujícího JavaScriptového souboru na TypeScript začněte tím&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že změníte příponu &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.ts &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zapnete kompilátor&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Postupně opravujte chyby&lt;/del&gt;, které &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;se objeví. Můžete také použít direktivu // @ts-ignore pro dočasné potlačení chyby&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale jen pokud víte, proč to děláte&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Vyhněte se ale používání této direktivy jako trvalého řešení – &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to past&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;která vede k tomu, že typová kontrola přestane dávat smysl&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Důkladné testování mobilních aplikací &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nikdy nekončící proces. Zavedete-li od začátku kombinaci manuálního a automatizovaného testování, vytvoříte &lt;/del&gt;si &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;matici zařízení a budete pravidelně kontrolovat výkon i bezpečnost&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;výrazně snížíte riziko špatných recenzí a ztráty uživatelů. Pamatujte, že testování není jen fáze před vydáním&lt;/del&gt;, ale &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;průběžná činnost, která se vyplácí při každé další aktualizaci&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;Klíčové aspekty a časté chyby Nejprve musíte správně nastavit podepisování&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Používejte symetrický algoritmus HMAC-SHA256 pro jednoduché případy&lt;/del&gt;, ale &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pro produkční prostředí zvolte asymetrický RSA&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kdy soukromý klíč držíte &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;serveru a veřejný klíč sdílíte s ověřovacími službami&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ukládejte klíče mimo zdrojový kód&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nejlépe do proměnných prostředí nebo tajných trezorů. Nikdy nepodepisujte token s prázdným tajemstvím nebo slabým heslem &lt;/del&gt;– to je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nejčastější chyba&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kterou útočníci zneužívají&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;Nastavení základů: typografie &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;barvy Prvním praktickým krokem &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nastavení písma a barev&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;V CSS použijte selektor body &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;definujte vlastnost font-family – vždy uveďte několik náhradních fontů&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aby se stránka správně zobrazila i na zařízeních bez konkrétního typu písma. Pro barvy používejte hexadecimální kódy (např. #333 pro tmavě šedou) nebo funkce rgb(). Dejte pozor na kontrast – &lt;/del&gt;text &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a pozadí musí být čitelné&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Častou chybou začátečníků &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;používání příliš jasných barev &lt;/del&gt;nebo &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nedostatečného kontrastu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;což odrazuje návštěvníky&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;Na závěr si zkuste vytvořit jednoduchou stránku o sobě nebo svém projektu&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Začněte s HTML strukturou&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přidejte CSS pro barvy&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;písma a mezery&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Postupně přidávejte další prvky – obrázky&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;odkazy, seznamy&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Testujte v různých prohlížečích a nástrojích pro vývojáře&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nebojte se chyb&lt;/del&gt;, každý &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;je &lt;/del&gt;dělá. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;S praxí zjistíte, že HTML &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CSS nejsou těžké, jen vyžadují trpělivost a systematičnost&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;Pro jednoduché aplikace, které potřebují standardní CRUD operace, &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;REST jasnou volbou&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud máte veřejné API&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které budou používat tisíce vývojářů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;REST usnadňuje dokumentaci i verzování&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Stačí dodržovat HTTP metody &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;stavové kódy&lt;/ins&gt;, a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;klienti hned vědí, co se děje. Vyhnete se také problémům s cachováním, protože REST umí dobře využít HTTP cache&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typická chyba? Snažit &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;RESTem obejít tím&lt;/ins&gt;, že &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vytvoříte deset &lt;/ins&gt;různých &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;endpointů pro jednu obrazovku&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To je signál, že byste měli přemýšlet o GraphQL&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ž procházíte historii projektu, každá commit zpráva by měla odpovědět &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dvě otázky: co se změnilo a proč&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Většina &lt;/ins&gt;vývojářů &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale píše zprávy jako „oprava bugu&quot; nebo „úpravy&quot;. Takové popisy jsou k ničemu, protože neříkají&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co přesně se dělo&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a hlavně proč&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Bez kontextu se po pár měsících vracíte k hádankám a musíte ručně procházet diff&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;abyste zjistili&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co se vlastně stalo&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Cílem není psát romány&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale dodat dostatek informací&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aby se kdokoli v historii rychle zorientoval.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Častou chybou &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;psát zprávy v minulém čase, jako byste popisovali hotovou věc&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Lepší je použít rozkazovací způsob nebo přítomný čas&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;protože to odpovídá tomu, co commit dělá&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;když je aplikován. Například „Přidej testy pro přihlášení&quot; je jasné a akční&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Vyhněte se také vágním slovům jako „úpravy&quot;&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;„oprava&quot; nebo „refaktoring&quot; – pokud neřeknou&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co konkrétně &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;upraveno, opraveno &lt;/ins&gt;nebo &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;refaktorováno. Vždy doplňte, co je předmětem změny&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ať už jde o soubor&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;funkci nebo chování&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;Závěrem: REST zvolte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pokud hledáte jednoduchost&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;stabilitu &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kompatibilitu&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GraphQL&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pokud potřebujete flexibilitu &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;efektivní práci s daty. Nebojte &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kombinovat obojí v rámci jedné aplikace. Nejdůležitější je, aby API sloužilo vašim klientům&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ne naopak&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Otestujte obě varianty &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;malém vzorku a vyberte tu&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;která vám dává smysl&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;Při validaci tokenu &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;serveru vždy kontrolujte tři věci&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;podpis&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expiraci &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;issuer (kdo token vydal). Ignorování těchto kontrol vede k bezpečnostním děrám&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Například pokud neověřujete issuer&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;útočník může podepsat token vlastním klíčem a vydávat ho za váš. Také si dejte pozor &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;algoritmus „none&quot;, který někteří starší klienti používají &lt;/ins&gt;– &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ten musí být na serveru tvrdě zakázán&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;Při výběru berte &lt;/ins&gt;v &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;potaz velikost týmu &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;čas na vývoj&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GraphQL &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nevyplácí u malých projektů s úzkou doménou&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kde by bylo schéma zbytečně složité. REST je tu rychlejší &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přehlednější&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Naopak pokud víte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že budete API rozšiřovat a klienti si budou žádat stále nové kombinace dat&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GraphQL &lt;/ins&gt;vám &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ušetří nekonečné přidávání endpointů&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typický kompromis: použijte REST pro veřejné API &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GraphQL pro interní služby. Tím získáte to nejlepší z obou světů&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ž v jednom projektu kombinujete více jazyků&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;narazíte &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dvě základní úskalí: udržení konzistence terminologie &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;správu překladů bez zbytečné duplicity&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nejprve si proto definujte&lt;/ins&gt;, které &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;části kódu&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dokumentace nebo uživatelského rozhraní budou jazykově závislé&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Oddělte &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;do samostatných souborů nebo modulů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ať nemusíte při změně textu zasahovat do logiky aplikace&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ideální &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vytvořit &lt;/ins&gt;si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;složkovou strukturu&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kde každý jazyk má vlastní adresář&lt;/ins&gt;, ale &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sdílí stejné klíče pro překlady&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;Dalším bodem je délka zprávy&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Krátké shrnutí je povinné&lt;/ins&gt;, ale &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;podrobný popis by měl být maximálně pár odstavců. Pokud potřebujete vysvětlit více&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;je lepší rozdělit změny &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;menší commity&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nepište ale ani zprávy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které jsou jen shrnutím diffu &lt;/ins&gt;– to je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zbytečné. Místo toho se zaměřte na kontext: jaké problémy změna řeší, jaké jsou její vedlejší účinky&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co by mohlo být překvapivé. Tím pomůžete kolegům i budoucímu sobě&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;Při práci s více jazyky se vyplatí zavést automatizovanou kontrolu chybějících překladů. Můžete si napsat skript, který projde všechny jazykové soubory &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;porovná &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;s referenčním jazykem. Pokud nějaký klíč chybí, skript vypíše varování&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tento postup je rychlejší než ruční kontrola &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;minimalizuje riziko&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že v ostrém nasazení uživatel uvidí prázdný &lt;/ins&gt;text. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Stejně tak &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vhodné pravidelně kontrolovat, že žádný překlad neobsahuje HTML značky &lt;/ins&gt;nebo &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;proměnné&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které by mohly narušit vzhled strá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;Klíčové je rozlišovat mezi „co&quot; a „proč&quot;&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Diff vám ukáže&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co se změnilo&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale ne proč. Proto v popisu vždy vysvětlete důvod&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Například místo „Změněna barva tlačítka&quot; napište „Změněna barva tlačítka na tmavší&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aby byl lépe viditelný na světlém pozadí&quot;&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Taková informace šetří čas při revizi kódu i při budoucí údržbě&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud je změna složitější, rozdělte ji do více commitů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ať &lt;/ins&gt;každý dělá &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jednu věc&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To usnadní reverz &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hledání příčiny chyb&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>InezLeSouef65</name></author>
	</entry>
	<entry>
		<id>https://rikkiepedia.nl/index.php?title=Jak_zajistit_API_pomoc%C3%AD_JWT_token%C5%AF&amp;diff=107709&amp;oldid=prev</id>
		<title>DavisHeimbach52 at 18:07, 21 August 2026</title>
		<link rel="alternate" type="text/html" href="https://rikkiepedia.nl/index.php?title=Jak_zajistit_API_pomoc%C3%AD_JWT_token%C5%AF&amp;diff=107709&amp;oldid=prev"/>
		<updated>2026-08-21T18:07:53Z</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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:07, 21 August 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;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 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;Jak napsat životopis&lt;/del&gt;, který &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;si přečtou Životopis pro IT se liší od běžných profesí. Nezačínejte motivačním dopisem o vaší lásce k technologiím – personalisté to čtou každý den. Místo toho hned na začátek uveďte&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jaké technologie ovládáte &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;na jaké úrovni&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Rozdělte &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;na „aktivně používám&quot; &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;„mám základní přehled&quot;&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nikdy nepřehánějte&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;protože pohovor obvykle zahrnuje praktický úkol&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;vaše skutečné znalosti prověří&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Do životopisu také zahrňte odkazy na vaše projekty, ale pouze na ty, které jsou veřejně přístupné &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;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;Při práci &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;více feature větvích také vždy synchronizujte svůj lokální repozitář s originem&lt;/del&gt;, ale &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ne jen jednou na začátku&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Průběžně &lt;/del&gt;si &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;stahujte změny z mainu &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rebasujte svou větev&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Můžete si nastavit automatický fetch&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale raději &lt;/del&gt;si na to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;udělejte zvyk. Klíčem je&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aby vaše větev nebyla nikdy příliš vzdálená od mainu. Pokud na ní pracujete déle než týden&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zvažte&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zda nemá smysl rozdělit ji na menší části&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které lze dílčím způsobem začlenit&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;Nakonec si uvědomte&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že první práce vývojáře není o tom&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že budete hned psát složité systémy&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Bude to spousta učení&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;opravování chyb &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;čtení cizího kódu. Nebojte &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;požádat o zpětnou vazbu po každém pohovoru&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ať už dopadl jakkoli&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Využijte i možnost práce &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zkoušku nebo stáže &lt;/del&gt;– i &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;když je placená hůře&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;získané zkušenosti &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kontakty vám otevřou dveře k lepším příležitostem&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Trpělivost &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;soustavná práce se vyplatí&lt;/del&gt;, za &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pár měsíců si budete připadat jako jinde&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ětšina začínajících vývojářů řeší stejný paradox: firmy chtějí zkušenosti&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale odkud je vzít&lt;/del&gt;, když &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vás nikdo nechce zaměstnat? Řešení neleží &lt;/del&gt;v &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;neustálém posílání životopisů&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale v cíleném budování dovedností&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které jsou na trhu žádané. Než začnete rozesílat přihlášky&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zjistěte si&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jaké technologie se ve vašem regionu skutečně používají&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Projděte si inzeráty na pozice juniorů a všimněte &lt;/del&gt;si, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které jazyky &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;frameworky se opakují. Tento průzkum vám ušetří měsíce učení něčeho, co nikdo nehledá&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;Na pohovoru se připravte &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to&lt;/del&gt;, že &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;budete vysvětlovat své projekty&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Neříkejte jen&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že jste je vytvořili – popište, jakou architekturu jste zvolili, s jakými problémy jste &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;setkali a jak jste je vyřešili&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Očekávejte &lt;/del&gt;také &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;otázky na základní algoritmy a datové struktury&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;třeba na třídění pole nebo složitost operací. Pokud něco nevíte&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přiznejte &lt;/del&gt;to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a vysvětlete, jak byste postupovali při hledání odpovědi &lt;/del&gt;– &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;schopnost učit se &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;u juniorů důležitější než znalosti zpaměti&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;Když začnete psát první unit test, nejčastější chybou &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;snaha pokrýt najednou příliš mnoho logiky&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Test by měl ověřovat přesně jednu věc – jednu funkci, jednu metodu, jeden scénář. Než začnete&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;otevřete &lt;/del&gt;si &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kód, který chcete testovat, &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;napište si na papír tři základní věci: co funkce přijímá&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co vrací &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jaké má vedlejší efekty&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud funkce komunikuje s databází&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;soubory nebo sítí&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;test &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;výrazně zkomplikuje – proto je lepší začít u čistých funkcí, které jen zpracují vstup a vrátí výstup&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;Doporučuji také pravidelně porovnávat odhady se skutečností&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Po dokončení úkolu si zapište&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kolik času reálně zabral&lt;/del&gt;, a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;toto číslo porovnejte &lt;/del&gt;s &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;odhadem&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Po pár projektech získáte vlastní historická data&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;která vám umožní kalibrovat budoucí odhady&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud máte tendenci podhodnocovat, zvyšte odhad o koeficient (např. 1,5). Tento koeficient si ale musíte odvodit sami &lt;/del&gt;– je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unikátní pro každý tým a typ práce&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;Nakonec nezapomeňte, že odhad &lt;/del&gt;je vždy &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pravděpodobnostní&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ne jistota. Dobrý odhad by měl být rozložen &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optimistickou, realistickou a pesimistickou variantu&lt;/del&gt;. Pro &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;plánování projektu &lt;/del&gt;používejte &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;realistickou až pesimistickou&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Optimistická hodnota je vhodná jen &lt;/del&gt;pro &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;motivační účely, ne pro slibování termínů&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud se odhady často liší o více než 30 %, zaměřte se &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zlepšení rozkladu úkolů &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sběr dat – to &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cesta k trvalejší přesnosti&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;Pro udržení čisté historie je klíčové pravidelně rebase proti hlavní větvi, ne merge&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Rebase přepíše historii tak&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že vaše commity navazují na aktuální stav mainu&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;což usnadňuje pozdější začlenění&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Při rebase ale pozor na konflikty &lt;/del&gt;– &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;řešte je hned&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;neodkládejte&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud konflikty vznikají opakovaně ve stejných souborech, je to signál, že byste měli komunikovat s kolegy, kdo na čem pracuje, &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;případně si rozdělit soubory, aby &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;předešlo zbytečným srážkám.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prakticky implementujte middleware&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;který token zpracuje&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ten by měl vyjmout token z hlavičky Authorization ve formátu Bearer&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ověřit ho &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;připojit informace o uživateli k požadavku. Vždy řešte chyby pomocí HTTP status kódů – 401 pro neplatný token&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;403 pro nedostatečná práva. Vyhněte se logování celých tokenů, stačí logovat ID uživatele &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;čas platnosti&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 krokem je práce s box modelem. Každý prvek na stránce je obdélník&lt;/ins&gt;, který &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;má padding&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;border &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;margin&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Padding je vnitřní okraj (mezera mezi obsahem a rámečkem), border &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rámeček &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;margin je vnější okraj (mezera mezi prvky)&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Často se stává&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že začátečníci zapomenou na reset okrajů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;proto se prvky „lepí&quot; k sobě nebo &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;liší v různých prohlížečích&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Na začátek si pomozte univerzálním selektorem * &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nastavte margin: 0; padding: 0; box-sizing: border-box; – tím získáte předvídatelnější chování&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;Pozor &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;typické chyby. Mnoho vývojářů volí IDE podle popularity&lt;/ins&gt;, ale &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zjistí, že vestavěný klient nepodporuje jejich konkrétní databázi (např. Oracle, PostgreSQL, SQL Server)&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Před instalací &lt;/ins&gt;si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ověřte, jestli existuje oficiální plugin nebo rozšíření, &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hlavně – jestli je aktivně udržované&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Starý plugin, který nefunguje s nejnovější verzí databáze&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;způsobí více škody než užitku. Také &lt;/ins&gt;si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dejte pozor &lt;/ins&gt;na to, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že některé funkce&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jako je vizualizace vztahů nebo porovnávání schémat&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jsou dostupné jen v placené verzi&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a to může být rozhodující faktor&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;Nezapomínejte na bezpečnostní testování. I malá aplikace může obsahovat citlivá data&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;proto vždy testujte šifrování přenosu&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ukládání tokenů a oprávnění&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Použijte základní penetrační testy: zkuste odchytit provoz přes proxy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zkuste přepsat hodnoty v žádostech &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;podívejte &lt;/ins&gt;se, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zda aplikace správně ošetřuje neplatné vstupy&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Často se zapomíná na testování oprávnění &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pozadí &lt;/ins&gt;– &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aplikace by měla fungovat &lt;/ins&gt;i &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;po odepření přístupu k poloze nebo kontaktům&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ne jen okamžitě spadnout.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro efektivní testování si nejprve vytvořte matici zařízení. Rozdělte trh podle reálného zastoupení operačních systémů &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;verzí&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nepokoušejte se testovat na všem, vyberte si reprezentativní vzorek: nejnovější vlajkové lodě, dva až tři středně staré modely &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jedno zařízení s nízkou pamětí. Právě starší hardware často odhalí problémy s výkonem&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které na nových telefonech nepostřehnete. Pro testování offline režimu a slabého signálu použijte emulátor s omezením přenosové rychlosti – ušetříte čas i peníze &lt;/ins&gt;za &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reálná zařízení&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;Důležitá je také podpora verzování změn v databázi. Některá IDE umí porovnat dvě schémata&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vygenerovat migrační skript a dokonce synchronizovat strukturu. To se hodí&lt;/ins&gt;, když &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pracujete &lt;/ins&gt;v &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;týmu a potřebujete sdílet změny bez ručního psaní SQL. Pokud takovou funkci nenajdete&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zvažte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zda to není důvod&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;proč zůstat u stávajícího nástroje&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;i když jinde vám vyhovuje víc&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nakonec &lt;/ins&gt;si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vždy ověřte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jestli se databázové nástroje chovají stabilně s vaším operačním systémem &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jestli nezpomalují start IDE&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;Praktická rada: při převodu existujícího JavaScriptového souboru &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;TypeScript začněte tím&lt;/ins&gt;, že &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;změníte příponu na .ts a zapnete kompilátor&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Postupně opravujte chyby&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;objeví&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Můžete &lt;/ins&gt;také &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;použít direktivu // @ts-ignore pro dočasné potlačení chyby&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale jen pokud víte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;proč &lt;/ins&gt;to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;děláte. Vyhněte se ale používání této direktivy jako trvalého řešení &lt;/ins&gt;– je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to past, která vede k tomu, že typová kontrola přestane dávat smysl&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;Důkladné testování mobilních aplikací &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nikdy nekončící proces&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zavedete-li od začátku kombinaci manuálního a automatizovaného testování&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vytvoříte &lt;/ins&gt;si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;matici zařízení &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;budete pravidelně kontrolovat výkon i bezpečnost&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;výrazně snížíte riziko špatných recenzí &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ztráty uživatelů&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pamatujte, že testování není jen fáze před vydáním&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale průběžná činnost&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;která &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vyplácí při každé další aktualizaci&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;Klíčové aspekty a časté chyby Nejprve musíte správně nastavit podepisování&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Používejte symetrický algoritmus HMAC-SHA256 pro jednoduché případy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale pro produkční prostředí zvolte asymetrický RSA&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kdy soukromý klíč držíte na serveru &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;veřejný klíč sdílíte &lt;/ins&gt;s &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ověřovacími službami&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ukládejte klíče mimo zdrojový kód&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nejlépe do proměnných prostředí nebo tajných trezorů&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nikdy nepodepisujte token s prázdným tajemstvím nebo slabým heslem &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;nejčastější chyba, kterou útočníci zneužívají&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;Nastavení základů: typografie a barvy Prvním praktickým krokem &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nastavení písma a barev. V CSS použijte selektor body a definujte vlastnost font-family – &lt;/ins&gt;vždy &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uveďte několik náhradních fontů&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aby se stránka správně zobrazila i &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zařízeních bez konkrétního typu písma&lt;/ins&gt;. Pro &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;barvy &lt;/ins&gt;používejte &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hexadecimální kódy (např&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#333 &lt;/ins&gt;pro &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tmavě šedou) nebo funkce rgb()&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dejte pozor &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kontrast – text &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pozadí musí být čitelné. Častou chybou začátečníků &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;používání příliš jasných barev nebo nedostatečného kontrastu, což odrazuje návštěvníky&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;Na závěr si zkuste vytvořit jednoduchou stránku o sobě nebo svém projektu&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Začněte s HTML strukturou&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přidejte CSS pro barvy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;písma a mezery&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Postupně přidávejte další prvky &lt;/ins&gt;– &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;obrázky, odkazy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;seznamy&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Testujte v různých prohlížečích &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nástrojích pro vývojáře. Nebojte &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chyb&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;každý je dělá&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;S praxí zjistíte&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že HTML &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CSS nejsou těžké&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jen vyžadují trpělivost &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;systematičnost&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>DavisHeimbach52</name></author>
	</entry>
	<entry>
		<id>https://rikkiepedia.nl/index.php?title=Jak_zajistit_API_pomoc%C3%AD_JWT_token%C5%AF&amp;diff=107333&amp;oldid=prev</id>
		<title>ChadwickBarnett: Created page with &quot;Jak napsat životopis, který si přečtou Životopis pro IT se liší od běžných profesí. Nezačínejte motivačním dopisem o vaší lásce k technologiím – personalisté to čtou každý den. Místo toho hned na začátek uveďte, jaké technologie ovládáte a na jaké úrovni. Rozdělte je na „aktivně používám&quot; a „mám základní přehled&quot;. Nikdy nepřehánějte, protože pohovor obvykle zahrnuje praktický úkol, kde se vaše skutečné znalosti prov...&quot;</title>
		<link rel="alternate" type="text/html" href="https://rikkiepedia.nl/index.php?title=Jak_zajistit_API_pomoc%C3%AD_JWT_token%C5%AF&amp;diff=107333&amp;oldid=prev"/>
		<updated>2026-08-21T17:45:40Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Jak napsat životopis, který si přečtou Životopis pro IT se liší od běžných profesí. Nezačínejte motivačním dopisem o vaší lásce k technologiím – personalisté to čtou každý den. Místo toho hned na začátek uveďte, jaké technologie ovládáte a na jaké úrovni. Rozdělte je na „aktivně používám&amp;quot; a „mám základní přehled&amp;quot;. Nikdy nepřehánějte, protože pohovor obvykle zahrnuje praktický úkol, kde se vaše skutečné znalosti prov...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Jak napsat životopis, který si přečtou Životopis pro IT se liší od běžných profesí. Nezačínejte motivačním dopisem o vaší lásce k technologiím – personalisté to čtou každý den. Místo toho hned na začátek uveďte, jaké technologie ovládáte a na jaké úrovni. Rozdělte je na „aktivně používám&amp;quot; a „mám základní přehled&amp;quot;. Nikdy nepřehánějte, protože pohovor obvykle zahrnuje praktický úkol, kde se vaše skutečné znalosti prověří. Do životopisu také zahrňte odkazy na vaše projekty, ale pouze na ty, které jsou veřejně přístupné a fungují.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při práci na více feature větvích také vždy synchronizujte svůj lokální repozitář s originem, ale ne jen jednou na začátku. Průběžně si stahujte změny z mainu a rebasujte svou větev. Můžete si nastavit automatický fetch, ale raději si na to udělejte zvyk. Klíčem je, aby vaše větev nebyla nikdy příliš vzdálená od mainu. Pokud na ní pracujete déle než týden, zvažte, zda nemá smysl rozdělit ji na menší části, které lze dílčím způsobem začlenit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec si uvědomte, že první práce vývojáře není o tom, že budete hned psát složité systémy. Bude to spousta učení, opravování chyb a čtení cizího kódu. Nebojte se požádat o zpětnou vazbu po každém pohovoru, ať už dopadl jakkoli. Využijte i možnost práce na zkoušku nebo stáže – i když je placená hůře, získané zkušenosti a kontakty vám otevřou dveře k lepším příležitostem. Trpělivost a soustavná práce se vyplatí, za pár měsíců si budete připadat jako jinde.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Většina začínajících vývojářů řeší stejný paradox: firmy chtějí zkušenosti, ale odkud je vzít, když vás nikdo nechce zaměstnat? Řešení neleží v neustálém posílání životopisů, ale v cíleném budování dovedností, které jsou na trhu žádané. Než začnete rozesílat přihlášky, zjistěte si, jaké technologie se ve vašem regionu skutečně používají. Projděte si inzeráty na pozice juniorů a všimněte si, které jazyky a frameworky se opakují. Tento průzkum vám ušetří měsíce učení něčeho, co nikdo nehledá.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na pohovoru se připravte na to, že budete vysvětlovat své projekty. Neříkejte jen, že jste je vytvořili – popište, jakou architekturu jste zvolili, s jakými problémy jste se setkali a jak jste je vyřešili. Očekávejte také otázky na základní algoritmy a datové struktury, třeba na třídění pole nebo složitost operací. Pokud něco nevíte, přiznejte to a vysvětlete, jak byste postupovali při hledání odpovědi – schopnost učit se je u juniorů důležitější než znalosti zpaměti.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když začnete psát první unit test, nejčastější chybou je snaha pokrýt najednou příliš mnoho logiky. Test by měl ověřovat přesně jednu věc – jednu funkci, jednu metodu, jeden scénář. Než začnete, otevřete si kód, který chcete testovat, a napište si na papír tři základní věci: co funkce přijímá, co vrací a jaké má vedlejší efekty. Pokud funkce komunikuje s databází, soubory nebo sítí, test se výrazně zkomplikuje – proto je lepší začít u čistých funkcí, které jen zpracují vstup a vrátí výstup.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Doporučuji také pravidelně porovnávat odhady se skutečností. Po dokončení úkolu si zapište, kolik času reálně zabral, a toto číslo porovnejte s odhadem. Po pár projektech získáte vlastní historická data, která vám umožní kalibrovat budoucí odhady. Pokud máte tendenci podhodnocovat, zvyšte odhad o koeficient (např. 1,5). Tento koeficient si ale musíte odvodit sami – je unikátní pro každý tým a typ práce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec nezapomeňte, že odhad je vždy pravděpodobnostní, ne jistota. Dobrý odhad by měl být rozložen na optimistickou, realistickou a pesimistickou variantu. Pro plánování projektu používejte realistickou až pesimistickou. Optimistická hodnota je vhodná jen pro motivační účely, ne pro slibování termínů. Pokud se odhady často liší o více než 30 %, zaměřte se na zlepšení rozkladu úkolů a sběr dat – to je cesta k trvalejší přesnosti.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro udržení čisté historie je klíčové pravidelně rebase proti hlavní větvi, ne merge. Rebase přepíše historii tak, že vaše commity navazují na aktuální stav mainu, což usnadňuje pozdější začlenění. Při rebase ale pozor na konflikty – řešte je hned, neodkládejte. Pokud konflikty vznikají opakovaně ve stejných souborech, je to signál, že byste měli komunikovat s kolegy, kdo na čem pracuje, a případně si rozdělit soubory, aby se předešlo zbytečným srážká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.&lt;/div&gt;</summary>
		<author><name>ChadwickBarnett</name></author>
	</entry>
</feed>