<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://jak.mazovia.edu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ShannanWhitmire</id>
	<title>Mazovia - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://jak.mazovia.edu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ShannanWhitmire"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php/Specjalna:Wk%C5%82ad/ShannanWhitmire"/>
	<updated>2026-11-05T23:41:37Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Co_d%C4%9Blat_s_open_source_licenc%C3%AD_u_k%C3%B3du_p%C5%99evzat%C3%A9ho_od_klienta%3F&amp;diff=1041037</id>
		<title>Co dělat s open source licencí u kódu převzatého od klienta?</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Co_d%C4%9Blat_s_open_source_licenc%C3%AD_u_k%C3%B3du_p%C5%99evzat%C3%A9ho_od_klienta%3F&amp;diff=1041037"/>
		<updated>2026-10-11T19:27:47Z</updated>

		<summary type="html">&lt;p&gt;ShannanWhitmire: Utworzono nową stronę &amp;quot;Test reduceru začni tím, že zavoláš funkci se dvěma argumenty: výchozím stavem a akcí. Porovnej výsledek pomocí hluboké rovnosti. Nezapomeň testovat i neznámou akci – reducer musí vrátit původní stav, ne undefined. Častá chyba je mutace: vývojář upraví pole přes push a test projde, protože stejná reference zůstane. Proto po každém testu ověř, že se původní objekt nezměnil, ideálně tak, že si před voláním uložíš kopii a…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test reduceru začni tím, že zavoláš funkci se dvěma argumenty: výchozím stavem a akcí. Porovnej výsledek pomocí hluboké rovnosti. Nezapomeň testovat i neznámou akci – reducer musí vrátit původní stav, ne undefined. Častá chyba je mutace: vývojář upraví pole přes push a test projde, protože stejná reference zůstane. Proto po každém testu ověř, že se původní objekt nezměnil, ideálně tak, že si před voláním uložíš kopii a porovnáš ji.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typická chyba je vnořovat Grid do Gridu tam, kde stačí Flexbox, a naopak. Další častý problém: nastavit výšku rodiče přes height: 100%, ale zapomenout, že rodič výšku nemá. Pak align-items: center nic nevycentruje. Řešením je min-height: 100dvh na obalu a place-items: center na Gridu. Jednotky dvh berou v potaz lišty mobilních prohlížečů, což vh nedělá.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kde Grid končí a začíná Flexbox Flexbox je určený pro rozložení v jednom směru. Hodí se na navigaci, tlačítkovou lištu, řádek s ikonou a textem, nebo na centrování obsahu. Použijte display: flex, gap místo okrajů a flex-wrap: wrap, aby se prvky zalomily, když je místa málo. Klíčové je flex: 1 1 240px — položka roste, smršťuje se a základní šířku si drží. Naopak flex: 1 bez základu způsobí, že se dlouhý text roztáhne přes celou šířku a krátký zůstane v úzkém sloupci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Poslední pravidlo se týká komunikace. Větve, které na sebe navazují, držte krátké a slučujte v pořadí, v jakém vznikaly. Pokud dvě větve mění stejné místo, domluvte se předem, kdo sloučí první, a teprve pak upravte tu druhou. Větvení není jen technická operace, ale dohoda mezi lidmi. Když pravidla platí pro všechny stejně, přestane být slučování stres a stane se rutinou.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Výsledkem by měl být seznam závislostí s licencí, původem a povinnostmi, doplněný o rozhodnutí, co použít, co nahradit a co vyřadit. Před převzetím kódu si vyžádejte písemné prohlášení klienta o právech k dodanému kódu. Pokud se najde problémová licence, řešte ji dřív, než kód zamíří do produkce. Náprava později je výrazně dražší a může zablokovat celý projekt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejprve zjistěte, koho chyba skutečně zasahuje. Jinak vypadá situace, kdy selhává platba nebo přihlášení, a jinak kosmetická vada v málo používané obrazovce. Sepište, kolik lidí to potkalo, zda jde o ztrátu dat, nebo jen o nepohodlí, a jestli existuje rozumný způsob, jak se tomu vyhnout. Teprve potom rozhodujte o tempu. Bez tohoto kroku se opravy hromadí podle toho, kdo si nejhlasitěji stěžuje, ne podle skutečné škody.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kdy je kód klienta opravdu jeho a kdy ne Klient může tvrdit, že kód napsal, ale část mohla vzniknout jako dílo zaměstnanců, dodavatelů nebo z jiného projektu. Ptejte se proto konkrétně: kdo kód vytvořil, na základě jaké smlouvy a zda existují výjimky. Bez písemného potvrzení o původu a právech kódu nemá smysl řešit licence jednotlivých souborů. Pokud klient potvrzení nedá, berte kód jako rizikový a jeho použití omezuje na minimum.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;U open source licencí rozhoduje, zda jde o permisivní, nebo copyleftovou licenci. Permisivní licence obvykle vyžadují zachování autorských práv a textu licence, ale nezasahují do licencování vašeho kódu. Copyleftové licence mohou vyžadovat, aby byl odvozený kód šířen pod stejnou licencí. U síťových licencí vzniká povinnost i při pouhém provozu služby. Rozdíl je zásadní pro to, co můžete klientovi dodat a co si nechat interně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Grid použijte tam, kde chcete řídit obě osy současně — rozvržení stránky, galerie, dashboard, formulářová mřížka. Základem je display: grid a grid-template-columns. Pro responzivitu se osvědčuje repeat(auto-fit, minmax(260px, 1fr)): karty se samy přeskládají podle dostupné šířky a nemusíte psát jediný breakpoint. Pokud potřebujete pevný počet sloupců, použijte repeat(3, 1fr) a teprve v media query počet snižte. Pozor na minmax(0, 1fr) — bez nulového minima obsah s dlouhým slovem nebo obrázkem sloupec roztlačí a vznikne horizontální posuvník.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nezapomínejte na frekvenci. Lidé, kteří vidí stejnou reklamu pořád dokola, přestanou reagovat. Nastavte strop zobrazení a obměňujte kreativu dřív, než začne unavovat. Sledujte, po kolika zobrazeních začne klesat míra prokliku. Jakmile klesne, je čas na změnu. Tohle pravidlo platí pro všechny úrovně pyramidy, i když v horní části přichází únava rychleji.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Závislosti se dají vytáhnout příkazem správce balíčků nebo nástrojem pro analýzu licencí. U JavaScriptu pomůže výpis z package-lock.json, u Pythonu seznam z prostředí, u Javy přehled v souboru pom.xml nebo build.gradle. Ke každé knihovně potřebujete znát licenci, ne jen název a verzi. Pozor na soubory typu LICENSE, COPYING nebo hlavičky ve zdrojácích, které určují podmínky i pro převzatý kód.&lt;/div&gt;</summary>
		<author><name>ShannanWhitmire</name></author>
	</entry>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:ShannanWhitmire&amp;diff=1041035</id>
		<title>Użytkownik:ShannanWhitmire</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:ShannanWhitmire&amp;diff=1041035"/>
		<updated>2026-10-11T19:27:45Z</updated>

		<summary type="html">&lt;p&gt;ShannanWhitmire: Utworzono nową stronę &amp;quot;Někdo, kdo dílnou i obývákem se zabývá denně. Píšu o tom, jak zvládnout domácnost bez stresu. Nejraději popisovat postupy krok za krokem.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Někdo, kdo dílnou i obývákem se zabývá denně. Píšu o tom, jak zvládnout domácnost bez stresu. Nejraději popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>ShannanWhitmire</name></author>
	</entry>
</feed>