<?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=MicahDurden339</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=MicahDurden339"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php/Specjalna:Wk%C5%82ad/MicahDurden339"/>
	<updated>2026-10-24T15:29:33Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Optimalizace_dotaz%C5%AF_v_GraphQL,_kde_se_ztr%C3%A1c%C3%AD_v%C3%BDkon&amp;diff=1128059</id>
		<title>Optimalizace dotazů v GraphQL, kde se ztrácí výkon</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Optimalizace_dotaz%C5%AF_v_GraphQL,_kde_se_ztr%C3%A1c%C3%AD_v%C3%BDkon&amp;diff=1128059"/>
		<updated>2026-10-19T16:17:11Z</updated>

		<summary type="html">&lt;p&gt;MicahDurden339: Utworzono nową stronę &amp;quot;Kde v digitálním světě peníze utíkaj&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začněte měřením. Zjistěte půdorys místnosti a odečtěte dveře, okna, radiátor a skříně. U pohovky počítejte s hloubkou rozložení, ne jen se základní délkou. U idla si ověřte, zda se vejde i s nočním stolkem a prostorem na otevírání zásuvek. Potom si položte tři otázky: spí na tom každý den, nebo jen občas? Sedí tam přes den s kamarády? Bude si chtít lehnout a číst? Odpovědi…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kde v digitálním světě peníze utíkaj&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začněte měřením. Zjistěte půdorys místnosti a odečtěte dveře, okna, radiátor a skříně. U pohovky počítejte s hloubkou rozložení, ne jen se základní délkou. U idla si ověřte, zda se vejde i s nočním stolkem a prostorem na otevírání zásuvek. Potom si položte tři otázky: spí na tom každý den, nebo jen občas? Sedí tam přes den s kamarády? Bude si chtít lehnout a číst? Odpovědi určí, zda má smysl investovat do rozkládací pohovky, nebo stačí pevné idlo s kvalitní matrací.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základ je omezit počet materiálů na tři až čtyři. Do obýváku se běžně vejde dřevo, textil, kov a sklo nebo kámen. Když přidáte rattan, beton, kůži a lakovanou dřevotřísku, prostor začne působit jako výstavní síň. Vyberte jeden materiál jako hlavní (nejčastěji dřevo nebo textil) a ostatní k němu přiřaďte v menším množství. Dřevo volte v jednom odstínu napříč celou místností — míchání dubu, ořechu a mořeného jasanu bez promyšleného záměru vypadá jako náhodná sbírka.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Malý byt není problém, který se dá vyřešit nákupem dalších věcí. Většina lidí udělá opačnou chybu: snaží se prostor zaplnit, aby nebyl prázdný, a nakonec se v něm nedá ani otočit. Klidný koutek nevznikne z dekorací, ale z rozhodnutí, co v místnosti dělat nechcete. Začněte tím, že si sednete doprostřed a řeknete si, které činnosti spolu kolidují. Práce, odpočinek, jídlo a spaní vedle sebe nefungují, pokud nemají jasně oddělené zóny.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základem je pravidelná výměna vody. Měňte menší objem častěji – typicky deset až dvacet procent týdně – místo občasné velké výměny. Čerstvou vodu před nalitím upravte tak, aby odpovídala teplotě i tvrdosti v nádrži. Při každé výměně odkalte dno a odstraňte zbytky potravy a rostlinný odpad. Právě v mulu se množí bakterie a paraziti, kteří při oslabení ryb způsobují výrazné problémy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr si hlídejte, že optimalizace nemá zhoršit čitelnost kódu. Batchování, váhy polí a limity hloubky musí být na jednom místě a zdokumentované, jinak je příští vývojář obejde. Výkon GraphQL není o jednom triku, ale o kombinaci měření, dávkování a tvrdých limitů, které drží dotazy v rozumných mezích.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Druhá strana téhož problému je opakované načítání stejných dat v rámci jednoho požadavku. Pokud tři pole potřebují stejný záznam, nemá smysl ho načítat třikrát. Zaveďte request-scoped cache, která drží výsledky po dobu jednoho dotazu. Pozor na to, že tato cache nesmí přežít mezi požadavky, jinak si podržíte zastaralá data a začnete řešit nekonzistenci. Většina frameworků to řeší kontextem, který se vytváří pro každý požadavek zvlášť.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Persistentní dotazy a automatické omezení komplexity patří do produkce, ne do experimentů. Klient pošle hash schváleného dotazu a server odmítne cokoli, co v seznamu není. Tím zmizí jak neplánované drahé dotazy, tak riziko, že se schéma rozroste do podoby, kterou už nikdo neudrží. Zároveň si udělejte pravidelnou kontrolu schématu: pole, která nikdo nepoužívá, jen zvyšují povrch pro chyby a matou nástroje pro analýzu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Většina týmů řeší pomalé GraphQL dotazy až ve chvíli, kdy aplikace začne padat pod zátěží. Přitom stačí sledovat dvě čísla: počet resolverů na jeden požadavek a hloubku vnoření. Pokud na jeden dotaz běží stovky resolverů, žádný caching na úrovni HTTP nepomůže. Začněte tím, že si zapnete trasování jednotlivých resolverů a změříte, který z nich spotřebovává nejvíc času. V praxi to bývá jediný resolver, který tahá data ze vzdálené služby bez batchingu, ne celý dotaz.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Hloubka a složitost místo počítání řádků Omezení podle počtu znaků v dotazu nefunguje. Útočník i nepozorný klient může poslat krátký dotaz, který rekurzivně projde celý graf. Počítejte proto složitost: každému poli přiřaďte váhu a nastavte maximální hloubku vnoření. Rekurzivní vztahy, jako jsou komentáře pod komentáři, ohraničte tvrdě. Stejně tak zakažte pole, která volají vzdálené služby, pokud nejsou součástí schválené množiny operací. Tím se vyhnete tomu, že jeden klient zablokuje celý stroj.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejčastější chyba je N+1 problém, který vznikne nenápadně. Načtete seznam položek a pak u každé zvlášť dotáhnete autora nebo kategorii. GraphQL to dovolí, protože každé pole má vlastní resolver. Řešením je batchování: posbírejte klíče všech položek v jednom cyklu a teprve pak zavolejte databázi nebo službu jedním dotazem. Knihovny pro dávkování načítání existují v každém větším ekosystému, ale princip je vždy stejný — odložit provedení a spojit ho do jednoho volání.&lt;/div&gt;</summary>
		<author><name>MicahDurden339</name></author>
	</entry>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:MicahDurden339&amp;diff=1128055</id>
		<title>Użytkownik:MicahDurden339</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:MicahDurden339&amp;diff=1128055"/>
		<updated>2026-10-19T16:17:10Z</updated>

		<summary type="html">&lt;p&gt;MicahDurden339: Utworzono nową stronę &amp;quot;Autor blogu světem interiérů se zabývá denně. Píšu o tom, jak si poradit v malém bytě. Nejraději hledat cesty, jak si usnadnit život.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu světem interiérů se zabývá denně. Píšu o tom, jak si poradit v malém bytě. Nejraději hledat cesty, jak si usnadnit život.&lt;/div&gt;</summary>
		<author><name>MicahDurden339</name></author>
	</entry>
</feed>