<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://bigbrain.center/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DexterDetwiler5</id>
	<title>Big Brain Center - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://bigbrain.center/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DexterDetwiler5"/>
	<link rel="alternate" type="text/html" href="https://bigbrain.center/wiki/Special:Contributions/DexterDetwiler5"/>
	<updated>2026-10-05T04:04:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://bigbrain.center/index.php?title=4_pravidla,_jak_zvl%C3%A1dnout_paraleln%C3%AD_v%C3%BDvoj_funkc%C3%AD_bez_konflikt%C5%AF&amp;diff=93978</id>
		<title>4 pravidla, jak zvládnout paralelní vývoj funkcí bez konfliktů</title>
		<link rel="alternate" type="text/html" href="https://bigbrain.center/index.php?title=4_pravidla,_jak_zvl%C3%A1dnout_paraleln%C3%AD_v%C3%BDvoj_funkc%C3%AD_bez_konflikt%C5%AF&amp;diff=93978"/>
		<updated>2026-10-02T00:45:22Z</updated>

		<summary type="html">&lt;p&gt;DexterDetwiler5: Created page with &amp;quot;Během diskuze držte tři kategorie: co bylo dobré, co bylo špatné a co je nejisté. Třetí kategorie je často nejužitečnější, protože se v ní skrývají věci, o kterých se mlčí. Každý bod se musí převést na rozhodnutí: buď se změní, nebo se výslovně řekne, proč se měnit nebude. Neslibujte, že se něco udělá, když na to není kapacita. Prázdný slib je horší než žádný, protože příští retrospektiva začne nedůvěrou.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Během diskuze držte tři kategorie: co bylo dobré, co bylo špatné a co je nejisté. Třetí kategorie je často nejužitečnější, protože se v ní skrývají věci, o kterých se mlčí. Každý bod se musí převést na rozhodnutí: buď se změní, nebo se výslovně řekne, proč se měnit nebude. Neslibujte, že se něco udělá, když na to není kapacita. Prázdný slib je horší než žádný, protože příští retrospektiva začne nedůvěrou.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro spouštění v CI slouží příkaz pytest s parametrem --junitxml, který vytvoří strojově čitelný výstup. Pokrytí kódu změříte pluginem pytest-cov a příkazem pytest --cov=. Neusilujte ale o stoprocentní pokrytí za každou cenu. Důležité je pokrýt logiku a hraniční případy, ne každý řádek. pytest nabízí i možnost přeskakovat testy pomocí skipif nebo označit očekávaná selhání přes xfail. Tyto značky udržují sadu testů čitelnou i ve chvíli, kdy některé části ještě nejsou hotové.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typická chyba je ukládání tokenu do localStorage a následné XSS. HttpOnly cookie s SameSite je bezpečnější, ale vyžaduje ochranu proti CSRF. Další častá chyba je zapomenutý aud při více službách: token vydaný pro jednu API projde i do druhé. Testujte negativní scénáře, ne jen šťastnou cestu. Podepište token klíčem, který umíte rotovat, a staré klíče nechte ověřovat jen po dobu platnosti vydaných tokenů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Třetí pravidlo se týká velikosti změn. Integrujte často a po malých částech. Pokud je to možné, slučujte hotové dílčí části funkce do hlavní větve průběžně, ne až na konci. Velká větev s desítkami commitů je noční můra při řešení konfliktů. Menší, častější sloučení znamenají menší konflikty a snadnější identifikaci chyby. Pokud funkce není hotová, použijte feature flag a sloučte neaktivní kód. Aktivujete ho, až bude vše připraveno.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při ověřování si dejte pozor na časové posuny. Malá tolerance u exp a nbf je v pořádku, ale nesmí být v minutách. Stejně tak kontrolujte, že token nebyl použit před nbf. Odvolávání je slabina bezstavových tokenů: blacklist podle jti nebo krátká platnost s rotací refresh tokenů řeší většinu případů. Nikdy neposílejte token v URL, dostane se do logů a refererů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Co hlídat při vydávání a ukládání Access token držte krátký, v řádu minut. Refresh token ukládejte jako serverovou relaci s možností odvolání, ne jako další JWT bez stavu. Do payloadu nepatří hesla, rodná čísla ani interní identifikátory, které nechcete ukázat. Pamatujte, že payload je jen base64, nikoli šifra. Pokud potřebujete skrýt obsah, použijte JWE, nebo raději držte citlivá data na serveru a do tokenu dejte pouze odkaz.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na co si dát pozor: nesnažte se rebasovat větev, která obsahuje merge commity z jiných větví. Výsledek je nepředvídatelný. Dále nikdy necommitujte konfigurační soubory, které se liší stroj od stroje. Používejte lokální konfiguraci, která není součástí repozitáře. A pokud pracujete na více funkcích současně, přepínejte větve jen s čistým pracovním stromem. Necommitnuté změny si před přepnutím buď commitněte, nebo odložte stranou. Jinak si je přenesete do špatné větve a budete je pracně hledat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prvním krokem je stanovit, co je hlavní větev. Obvykle to je stabilní linie, do které se integrují hotové funkce. Z ní vždy odbočujete a do ní se vracíte. Nikdy necommitujte přímo do hlavní větve, pokud na ní pracuje více lidí. Druhé pravidlo zní: než začnete novou větev, aktualizujte si lokální kopii hlavní větve. Tím zajistíte, že odbočujete z nejnovějšího stavu, a snížíte riziko, že budete muset řešit konflikty, které už dávno vyřešil někdo jiný.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Čtvrté pravidlo: konflikty řešte okamžitě a lokálně. Jakmile se objeví konflikt při sloučení, nenechávejte ho na později. Otevřete soubor, pochopte, co se změnilo v obou větvích, a rozhodněte se vědomě. Nikdy neklikejte na automatické přijetí všech změn z jedné strany. Typická chyba je slepé přijetí vlastní verze, čímž se ztratí práce kolegy. Po vyřešení konfliktu spusťte testy. Konflikt může být vyřešen syntakticky správně, ale logicky špatně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Práce na několika funkcích současně je běžná realita, ale bez jasných pravidel vede k nekonečnému řešení konfliktů a ztracené práci. Základem je krátkodobé větvení. Každá funkce dostane vlastní větev, která vychází z aktuální hlavní větve. Nevytvářejte dlouho žijící větve, do kterých se měsíce přidávají další a další změny. Čím déle větev žije, tím větší je riziko, že se rozejde s hlavní linií a sloučení bude bolet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;První aplikace nemusí být originální. Udělej jednoduchý seznam úkolů nebo převodník jednotek. Cílem je projít celým cyklem: návrh, kód, test, oprava. Až bude fungovat, zkus přidat jednu vlastnost navíc. Tím se učíš nejrychleji. Mobilní vývoj není o tom naučit se všechno předem, ale o tom vydržet u jednoho malého projektu dost dlouho na to, aby fungoval.&lt;/div&gt;</summary>
		<author><name>DexterDetwiler5</name></author>
	</entry>
	<entry>
		<id>https://bigbrain.center/index.php?title=User:DexterDetwiler5&amp;diff=93977</id>
		<title>User:DexterDetwiler5</title>
		<link rel="alternate" type="text/html" href="https://bigbrain.center/index.php?title=User:DexterDetwiler5&amp;diff=93977"/>
		<updated>2026-10-02T00:45:20Z</updated>

		<summary type="html">&lt;p&gt;DexterDetwiler5: Created page with &amp;quot;Autor blogu dílnou i obývákem sází na osvědčené tipy. Sdílím zde, jak si poradit v malém bytě. Nejvíc mě baví popisovat postupy krok za krokem.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu dílnou i obývákem sází na osvědčené tipy. Sdílím zde, jak si poradit v malém bytě. Nejvíc mě baví popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>DexterDetwiler5</name></author>
	</entry>
</feed>