<?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=AllanFlannagan7</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=AllanFlannagan7"/>
	<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Spezial:Beitr%C3%A4ge/AllanFlannagan7"/>
	<updated>2026-11-10T00:41:05Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=5_pravidel,_jak_udr%C5%BEet_Redux_v_Reactu_p%C5%99ehledn%C3%BD&amp;diff=455274</id>
		<title>5 pravidel, jak udržet Redux v Reactu přehledný</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=5_pravidel,_jak_udr%C5%BEet_Redux_v_Reactu_p%C5%99ehledn%C3%BD&amp;diff=455274"/>
		<updated>2026-10-11T14:46:50Z</updated>

		<summary type="html">&lt;p&gt;AllanFlannagan7: Die Seite wurde neu angelegt: „API se vyvíjí a každá změna může rozbít to, co už funguje. Zaveďte verzování v cestě nebo v hlavičce a držte se ho. Když měníte tvar odpovědi nebo rušíte pole, nestačí o tom napsat do dokumentace. Oznámení musí proběhnout předem a klient musí mít čas se přizpůsobit. Zpětně kompatibilní změny, jako přidání nového pole, se dají dělat kdykoli. Odebrání nebo přejmenování pole je vždy změna, která potřebuje v…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;API se vyvíjí a každá změna může rozbít to, co už funguje. Zaveďte verzování v cestě nebo v hlavičce a držte se ho. Když měníte tvar odpovědi nebo rušíte pole, nestačí o tom napsat do dokumentace. Oznámení musí proběhnout předem a klient musí mít čas se přizpůsobit. Zpětně kompatibilní změny, jako přidání nového pole, se dají dělat kdykoli. Odebrání nebo přejmenování pole je vždy změna, která potřebuje vlastní termín.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Filtrování navrhujte jako sadu pojmenovaných parametrů, ne jako univerzální jazyk. ?status=active&amp;amp;created_after=2024-01-01 je čitelné, testovatelné a snadno se mapuje na indexy. Vyhněte se parametru typu ?q=status:active AND price&amp;gt;100, pokud k tomu nemáte skutečný důvod – otevíráte tím cestu k injekcím a neplánovaným full scanům. U každého filtru si předem napište, který index ho pokryje. Pokud filtr kombinuje více sloupců, zvažte složený index v pořadí, v jakém se podmínky skutečně používají.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základem je rozdělit si práci na fáze a každé přiřadit reálný čas. Samotné psaní kódu bývá jen polovina celkové práce. Zbytek tvoří příprava, testování, čekání na review, čtení komentářů a jejich zapracování. Pokud odhadujete jen „čisté&amp;quot; programování, výsledek bude vždy podhodnocený. Praxe ukazuje, že review a následné úpravy zaberou klidně třetinu až polovinu času stráveného psaním kódu. U složitějších změn nebo v týmu, kde je review důkladné, to může být i více.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jakmile budete mít funkční aplikaci, která něco dělá, můžete ji publikovat. K tomu je potřeba vytvořit podepsaný balíček a zvolit distribuční kanál. Pro začátek stačí nahrát aplikaci do interního testování, kde ji vyzkouší pár lidí. Získáte zpětnou vazbu a odhalíte chyby, které jste přehlédli. Publikace není konec vývoje – naopak. Sledujte statistiky pádů, čtěte recenze a vydávejte opravy. Mobilní vývoj je řemeslo, které se učí praxí, ne teoretickým studiem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Mezi nejčastější chyby patří nasazování v pátek odpoledne, rollback bez zálohy dat, spoléhání na to, že někdo „to&amp;quot; zvládne ručně, a chybějící monitoring po návratu. Po rollbacku je nutné ověřit nejen dostupnost, ale i správnost dat a front. Až poté se řeší příčina. Následná analýza má odpovědět na tři otázky: co se změnilo, proč to neodhalily testy a jak se příště zkrátí čas do detekce. Bez ní se stejná chyba vrátí při dalším nasazení.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Produkční chyba po nasazení nové verze není otázkou štěstí, ale připravenosti. Většina týmů, které při rollbacku ztratí hodiny, selhala už před nasazením: neměly verzovaný artefakt, neměly ověřený postup návratu a neměly jasně určeno, kdo rozhoduje o zastavení nasazení. Cílem není rollback nikdy nepotřebovat, ale umět se vrátit do funkčního stavu během minut, ne hodin.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Redux sám o sobě není složitý. Problém vzniká ve chvíli, kdy do globálního storu začnete cpát data, která tam nepatří, a komponenty napojíte na vše, co je zrovna napadne. Výsledkem je aplikace, kde se změna jedné hodnoty projeví na pěti místech a nikdo neví proč. Následujících pět pravidel drží Redux použitelný i po roce vývoje.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Rollback musí být nacvičený, ne improvizovaný Rollback plán patří do repozitáře vedle kódu a musí obsahovat konkrétní příkazy pro vrácení aplikace, databázových migrací a cache. U migrací platí zvláštní opatrnost: návrat schématu je často destruktivní, proto migrace navrhujte tak, aby stará i nová verze aplikace chvíli běžely současně. Typická chyba je rollback aplikace bez rollbacku databáze – aplikace nastartuje, ale padá na nekompatibilním schématu. Před každým nasazením si ověřte, že rollback skript skutečně existuje a byl testován na stejném typu prostředí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Napojení komponent řešte přes hooky useSelector a useDispatch, ale počet odběrů držte nízko. Každá komponenta, která odebírá příliš mnoho hodnot, se překresluje i při změnách, které se jí netýkají. Vracejte z useSelector vždy primitivní hodnotu nebo stabilní referenci. Když selektor vytváří nové pole při každém volání, použijte shallowEqual nebo memoizovaný selektor. Stejně tak akce vytvářejte přes action creatory, ne zápisem objektu na místě.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Rozhodovací proces musí být rychlý a jednoznačný. Určete, kdo má právo zastavit nasazení a kdo schvaluje rollback, ať se nikdo nečeká na svolení, které nikdo nedá. Sledujte po nasazení klíčové ukazatele – chybovost, latenci, počet výjimek – a mějte stanovené prahy, při jejichž překročení se automaticky vrací předchozí verze. Bez prahů se chyba řeší dohadováním, zatímco uživatelé vidí rozbitou službu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základem je verzování na úrovni artefaktu, ne jen zdrojového kódu. Každé nasazení musí mít jednoznačný identifikátor – číslo verze, hash commitu nebo tag – a ten musí být dohledatelný v logu nasazení i v běžící aplikaci. Pokud se při chybě ptáte, co vlastně na produkci běží, nemáte verzování, ale jen dohad. Konfiguraci držte odděleně od kódu a verzujte ji stejně přísně; jinak rollback kódu vrátí aplikaci do stavu, který s aktuální konfigurací nespolupracuje.&lt;/div&gt;</summary>
		<author><name>AllanFlannagan7</name></author>
	</entry>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:AllanFlannagan7&amp;diff=455270</id>
		<title>Benutzer:AllanFlannagan7</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:AllanFlannagan7&amp;diff=455270"/>
		<updated>2026-10-11T14:46:48Z</updated>

		<summary type="html">&lt;p&gt;AllanFlannagan7: Die Seite wurde neu angelegt: „Někdo, kdo dílnou i obývákem žije už dlouho. Píšu o tom, jak zvládnout domácnost bez stresu. Nejvíc mě baví popisovat postupy krok za krokem.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Někdo, kdo dílnou i obývákem žije už dlouho. Píšu o tom, jak zvládnout domácnost bez stresu. Nejvíc mě baví popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>AllanFlannagan7</name></author>
	</entry>
</feed>