<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DavisNickerson</id>
	<title>IT-Core - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DavisNickerson"/>
	<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Special:Contributions/DavisNickerson"/>
	<updated>2026-09-05T04:01:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=Prvn%C3%AD_unit_test,_kter%C3%BD_projde,_ale_nic_netestuje_%E2%80%93_a_jak_to_zm%C4%9Bnit&amp;diff=199205</id>
		<title>První unit test, který projde, ale nic netestuje – a jak to změnit</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Prvn%C3%AD_unit_test,_kter%C3%BD_projde,_ale_nic_netestuje_%E2%80%93_a_jak_to_zm%C4%9Bnit&amp;diff=199205"/>
		<updated>2026-08-29T04:50:04Z</updated>

		<summary type="html">&lt;p&gt;DavisNickerson: Created page with &amp;quot;&amp;lt;br&amp;gt;Jak poznat, že vám REST nestačí a GraphQL nepomůže První situace: když máte mobilní aplikaci s omezenou konektivitou. REST typicky vrací všechna data z daného endpointu, i když potřebujete jen polovinu. Například profil uživatele zahrnuje i seznam jeho objednávek, které na malém displeji vůbec nezobrazujete. To znamená zbytečný přenos stovek kilobajtů. GraphQL vám umožní dotázat se pouze na jméno, e-mail a poslední přihlášení. Pok...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;Jak poznat, že vám REST nestačí a GraphQL nepomůže První situace: když máte mobilní aplikaci s omezenou konektivitou. REST typicky vrací všechna data z daného endpointu, i když potřebujete jen polovinu. Například profil uživatele zahrnuje i seznam jeho objednávek, které na malém displeji vůbec nezobrazujete. To znamená zbytečný přenos stovek kilobajtů. GraphQL vám umožní dotázat se pouze na jméno, e-mail a poslední přihlášení. Pokud tedy cílíte na uživatele s pomalým připojením, GraphQL výrazně sníží velikost payloadu. Pozor jen na to, že každý dotaz musíte schválně omezit, jinak si klient může vyžádat celou databázi.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pozor na takzvané „volající funkce nad sloupcem&amp;quot;. Pokud napíšete WHERE DATE(created_at) = &#039;2024-01-01&#039;, index na created_at se nepoužije. Místo toho použijte rozsah: WHERE created_at &amp;gt;= &#039;2024-01-01&#039; AND created_at &amp;lt;br&amp;gt;Největší chyba: dlouhověké větve a „merge hell&amp;quot; Největší pastí jsou větve, které žijí déle než dva nebo tři dny. Čím déle větev žije, tím více se její obsah rozchází s hlavní větví, a tím více konfliktů vzniká při slučování. Typický scénář vypadá tak, že vývojář týden pracuje na funkci, pak zkusí mergnout a stráví půl dne řešením konfliktů, které by nevznikly, kdyby větve aktualizoval průběžně. Řešením je rozdělení velké funkce na menší části, které lze mergovat samostatně, a každou část nasadit do hlavní větve hned, jakmile je funkční, i kdyby měla být skrytá za feature flagem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typickou chybou je vybírat licenci podle popularity, ne podle potřeb. Mnoho začínajících vývojářů zkopíruje licenci z jiného projektu, aniž by věděli, co znamená. Například pokud použijete GPL pro malou utilitku, kterou chcete mít v repozitářích distribucí, může to být v pořádku. Ale pokud ji použijete pro webovou aplikaci, kde zveřejňujete pouze backend, GPL vás může donutit zveřejnit i konfigurace a skripty, které jste chtěli držet v soukromí. U webových služeb často dává smysl použít AGPL, která pokrývá i síťové použití, nebo zůstat u permisivní licence.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Indexy: jak je správně navrhnout a kdy se jim vyhnout Indexy jsou nejúčinnějším nástrojem, ale jen pokud je používáte správně. Vytvářejte je hlavně na sloupcích, které se objevují v podmínce WHERE, JOIN nebo ORDER BY. Mějte na paměti, že index na sloupec s nízkou selektivitou, jako je pohlaví nebo stav, nemusí pomoci – databáze stejně projde velkou část tabulky. Pro složené podmínky vytvářejte složené indexy. Důležité je pořadí sloupců v indexu. Dejte ten s vyšší selektivitou jako první. Například pro dotaz WHERE status = &#039;active&#039; AND created_at &amp;gt;NOW() je lepší index (status, created_at) než (created_at, status), pokud status rozlišuje více hodnot než date.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Výběr mezi REST API a GraphQL není otázkou módy, ale konkrétních potřeb. REST je starší, ale stále funkční přístup, který vystačí [https://crabcodex.com/index.php/Odhad_%C4%8Dasu_bez_skryt%C3%BDch_%C4%8Dinnost%C3%AD:_pro%C4%8D_realita_neodpov%C3%ADd%C3%A1_pl%C3%A1nu rady pro rekonstrukci] většinu klasických aplikací. GraphQL zase řeší problémy s přetíženými odpověďmi a častými round-tripy. Než se rozhodnete, projděte si pět konkrétních situací, kdy má smysl sáhnout po jednom nebo druhém řešení. Klíčové je nepodlehnout dojmu, že GraphQL je univerzálně lepší.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Další častou chybou začátečníků je testování implementace místo chování. Pokud testujete, že se uvnitř metody volá nějaká jiná metoda, nebo že se mě[https://www.Google.co.uk/search?hl=en&amp;amp;gl=us&amp;amp;tbm=nws&amp;amp;q=n%C3%AD%20stav&amp;amp;gs_l=news ní stav] objektu, který je privátní, děláte z testu nepružnou svěrací kazajku. Jakmile pak změníte způsob výpočtu, ale výsledek zůstane stejný, test se [https://wiki.man-noir.com/index.php/Kdy_zvolit_REST_a_kdy_GraphQL:_rozhodn%C4%9Bte_se_spr%C3%A1vn%C4%9B rekonstrukce koupelny krok za krokem]čne sypat, přestože je kód správně. Místo toho testujte to, co voláte zvenčí: výsledek, výjimku, změnu veřejného stavu. Jedině tak vám test pomůže při refaktoringu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; If you have any kind of concerns relating to where and how you can utilize [https://jak.mazovia.edu.pl/index.php/Kdy%C5%BE_odhadujete_%C4%8Das_na_%C3%BAkol,_nezapome%C5%88te_na_skryt%C3%A9_%C4%8Dinnosti Https://Jak.Mazovia.Edu.Pl/Index.Php/Když_Odhadujete_čAs_Na_úKol,_NezapomeňTe_Na_Skryté_čInnosti], you could call us at our own web site. Další věc, kterou je dobré prověřit, je struktura dotazu. Vyhněte se SELECT *, pokud nepotřebujete všechny sloupce. Přenášíte zbytečně velké objemy dat. Místo toho vyjmenujte jen potřebné sloupce. Také si dejte pozor na [https://Www.Exeideas.com/?s=subquery subquery] v WHERE, pokud se dají přepsat na JOIN. Subquery se často provede jako samostatný dotaz a může zpomalit celý proces. Někdy ale moderní optimalizátor subquery sám převede na JOIN, takže si nejdří[https://crabcodex.com/index.php/Skriptov%C3%A1n%C3%AD_vs._pln%C3%A1_aplikace:_Jak_za%C4%8D%C3%ADt_s_Pythonem_pro_automatizaci úložné prostory v malém bytě] ověřte přes EXPLAIN, jak se dotaz skutečně provádí. Někdy je lepší dotaz rozdělit na dva menší a spojit výsledky v aplikaci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Další past se skrývá v práci s vlákny a životním cyklem. Při běžném vývoji narazíte na to, že operace na síti nebo v databázi nemohou běžet na hlavním vlákně. Stačí spustit jednoduchý dotaz a aplikace spadne. Používejte korutiny nebo jiný mechanismus, který automaticky zruší běžící operace, když se aktivita nebo fragment ničí. Nezapomeňte na to, že systém může aktivitu kdykoli zničit, a váš kód musí být připraven na to, že se uživatel vrátí zpět a stav se obnoví.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavisNickerson</name></author>
	</entry>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=User:DavisNickerson&amp;diff=199204</id>
		<title>User:DavisNickerson</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=User:DavisNickerson&amp;diff=199204"/>
		<updated>2026-08-29T04:49:58Z</updated>

		<summary type="html">&lt;p&gt;DavisNickerson: Created page with &amp;quot;Autor blogu světem interiérů žije už dlouho. Píšu o tom, jak skloubit funkčnost s teplem domova. Nejraději hledat cesty, jak si usnadnit život.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Also visit my web blog :: [https://jak.mazovia.edu.pl/index.php/Kdy%C5%BE_odhadujete_%C4%8Das_na_%C3%BAkol,_nezapome%C5%88te_na_skryt%C3%A9_%C4%8Dinnosti Https://Jak.Mazovia.Edu.Pl/Index.Php/Když_Odhadujete_čAs_Na_úKol,_NezapomeňTe_Na_Skryté_čInnosti]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu světem interiérů žije už dlouho. Píšu o tom, jak skloubit funkčnost s teplem domova. Nejraději hledat cesty, jak si usnadnit život.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Also visit my web blog :: [https://jak.mazovia.edu.pl/index.php/Kdy%C5%BE_odhadujete_%C4%8Das_na_%C3%BAkol,_nezapome%C5%88te_na_skryt%C3%A9_%C4%8Dinnosti Https://Jak.Mazovia.Edu.Pl/Index.Php/Když_Odhadujete_čAs_Na_úKol,_NezapomeňTe_Na_Skryté_čInnosti]&lt;/div&gt;</summary>
		<author><name>DavisNickerson</name></author>
	</entry>
</feed>