<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RonFlg19612849</id>
	<title>Rettungsdienst-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RonFlg19612849"/>
	<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Spezial:Beitr%C3%A4ge/RonFlg19612849"/>
	<updated>2026-10-09T10:17:12Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Kdy_m%C4%9B%C5%99en%C3%AD_pokryt%C3%AD_testy_p%C5%99estane_p%C5%99in%C3%A1%C5%A1et_u%C5%BEitek&amp;diff=401786</id>
		<title>Kdy měření pokrytí testy přestane přinášet užitek</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Kdy_m%C4%9B%C5%99en%C3%AD_pokryt%C3%AD_testy_p%C5%99estane_p%C5%99in%C3%A1%C5%A1et_u%C5%BEitek&amp;diff=401786"/>
		<updated>2026-10-01T19:37:30Z</updated>

		<summary type="html">&lt;p&gt;RonFlg19612849: Die Seite wurde neu angelegt: „Základem je ověřit podpis přesně tím algoritmem, který očekáváte. Nikdy nenechávejte knihovnu, aby si algoritmus vybrala podle hlavičky alg z tokenu. Pokud aplikace podporuje HS256 i RS256, musíte dopředu rozhodnout, který použijete, a ostatní odmítnout. Zvlášť nebezpečná je kombinace, kdy se veřejný klíč z RS256 dá podstrčit jako HMAC secret. Vždy porovnávejte iss, aud a exp; token bez expirace je jen trvalý přístupový…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Základem je ověřit podpis přesně tím algoritmem, který očekáváte. Nikdy nenechávejte knihovnu, aby si algoritmus vybrala podle hlavičky alg z tokenu. Pokud aplikace podporuje HS256 i RS256, musíte dopředu rozhodnout, který použijete, a ostatní odmítnout. Zvlášť nebezpečná je kombinace, kdy se veřejný klíč z RS256 dá podstrčit jako HMAC secret. Vždy porovnávejte iss, aud a exp; token bez expirace je jen trvalý přístupový klíč v cizích rukou.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Největší problém nastává u dynamických částí dotazu, které nelze parametrizovat: názvy tabulek, sloupců, směr řazení nebo klauzule LIMIT. Tady parametrizace nefunguje a je potřeba použít whitelist. Uživatel nesmí poslat název sloupce přímo. Aplikace má mít předem daný seznam povolených hodnot a z něj vybrat. Totéž platí pro směr řazení: hodnota musí být buď vzestupně, nebo sestupně, nic jiného se nepřijímá. Pokud se whitelist vynechá a nahradí se kontrolou pomocí regulárního výrazu, útočník často najde cestu, jak filtr obejít.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Měření pokrytí testy vypadá jako jednoduché číslo, které na první pohled říká, jak dobře je kód otestovaný. Jenže číslo samo o sobě nic neznamená. Rozhoduje, co se do něj započítává, jakým nástrojem ho měříš a jestli ho používáš jako zpětnou vazbu, nebo jako cíl. Pokud se z metriky stane cíl, začne se kód přizpůsobovat metrice místo tomu, aby testy odhalovaly chyby.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začni názvy. Proměnná data, temp nebo x neříká nic. Místo d napiš datumObjednavky, místo arr klidně seznamKurzu. U funkcí používej sloveso: spocitejCenu(), nactiUzivatele(). Pokud název potřebuje komentář, je pravděpodobně špatný. Boolean pojmenuj jako tvrzení: jePrihlasen, maOpravneni, ne flag.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Dávejte pozor na min-width: auto, které je u grid a flex položek výchozí. Obsah, který se nevejde – dlouhé slovo, tabulka, obrázek – položku roztáhne a způsobí vodorovné posouvání. Řešením je min-width: 0 na položce a overflow-wrap: anywhere na textu. Stejně častá chyba je pevná výška u flex kontejneru. Výška se má odvozovat od obsahu, jinak se prvky překrývají nebo se ořezávají.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nepoužívejte media queries pro každou změnu velikosti. Pokud rozvržení zvládne samo přecházet pomocí auto-fit, minmax a flex-wrap, nemusíte psát žádný breakpoint. Media queries nechte na skutečné změny uspořádání, ne na drobné úpravy mezer. Výsledkem je méně kódu, méně výjimek a rozvržení, které funguje i na zařízeních, která jste netestovali.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;JWT tokeny se nasazují jako univerzální řešení autentizace, ale bez správně nastavené validace se z nich stává jen podepsaný kus textu, kterému server slepě věří. Nejčastější chyba není v algoritmu, nýbrž v tom, že se token dekóduje a jeho obsah se použije bez ověření podpisu a všech povinných polí. Útočník pak může změnit sub nebo role a dostat se tam, kam nemá.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Obrázky a média vkládejte s max-width: 100% a height: auto. U gridu se vyhněte pevným grid-template-columns: 1fr 1fr 1fr bez ohledu na obsah; lepší je repeat(auto-fit, minmax(...)). Mezery definujte přes gap, ne přes marginy na dětech – margin u posledního prvku v řadě vytváří nevyvážené okraje. Testujte nejen šířky, ale i zvětšené písmo a dlouhé české názvy, které se snadno vylijí z tlačítek.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Dalším krokem je zvyknout si na větev. Hlavní větev by měla zůstat stabilní a nasaditelná. Pro každou novou funkci nebo opravu si vytvořte samostatnou vedlejší větev. Tím izolujete rozpracovanou práci a zabráníte tomu, aby se rozbitý kód dostal do produkce. Až je změna hotová a otestovaná, sloučíte ji zpět do hlavní větve.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Od čeho se odpíchnout v praxi Nejprve si nainstalujte nástroj příkazové řádky, který budete používat. Většina vývojářů volí Git, ale principy jsou podobné i u jiných systémů. Vytvořte v kořeni projektu nový repozitář a nastavte si jméno a e-mail, které se budou zapisovat do historie. Poté přidejte soubory, které chcete sledovat, a vytvořte první revizi.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Responzivní design nezačíná u media queries, ale u volby správného nástroje pro rozvržení. CSS Grid a Flexbox nejsou konkurenty, které je třeba si vybrat jednou provždy. Grid řeší dvourozměrné uspořádání – řádky i sloupce současně. Flexbox řeší jednorozměrné uspořádání – obsah v jedné linii nebo sloupci. Pokud tuto hranici respektujete, přestanete psát zbytečné opravy a rozvržení se bude lámat předvídatelně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pozor na soubory, které do repozitáře nepatří. Konfigurační soubory s hesly, lokální nastavení prostředí, složky s dočasnými soubory nebo závislostmi by měly být vynechány pomocí speciálního seznamu. Pokud je omylem přidáte, zůstanou v historii navždy a jejich odstranění je pracné. Stejně tak nikdy necommitujte velké binární soubory, jako jsou videa nebo obrázky ve vysokém rozlišení, pokud to není nutné.&lt;/div&gt;</summary>
		<author><name>RonFlg19612849</name></author>
	</entry>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:RonFlg19612849&amp;diff=401785</id>
		<title>Benutzer:RonFlg19612849</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:RonFlg19612849&amp;diff=401785"/>
		<updated>2026-10-01T19:37:28Z</updated>

		<summary type="html">&lt;p&gt;RonFlg19612849: Die Seite wurde neu angelegt: „Autor blogu dílnou i obývákem žije už dlouho. Píšu o tom, jak si poradit v malém bytě. Nejvíc mě baví popisovat postupy krok za krokem.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu dílnou i obývákem žije už dlouho. Píšu o tom, jak si poradit v malém bytě. Nejvíc mě baví popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>RonFlg19612849</name></author>
	</entry>
</feed>