<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://shoutwiki.club/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ForrestRiddoch</id>
	<title>shoutwiki.club - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://shoutwiki.club/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ForrestRiddoch"/>
	<link rel="alternate" type="text/html" href="https://shoutwiki.club/index.php?title=Special:Contributions/ForrestRiddoch"/>
	<updated>2026-10-30T04:17:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://shoutwiki.club/index.php?title=Kdy%C5%BE_GraphQL_za%C4%8Dne_zpomalovat,_rozhoduje_podoba_dotazu&amp;diff=2196</id>
		<title>Když GraphQL začne zpomalovat, rozhoduje podoba dotazu</title>
		<link rel="alternate" type="text/html" href="https://shoutwiki.club/index.php?title=Kdy%C5%BE_GraphQL_za%C4%8Dne_zpomalovat,_rozhoduje_podoba_dotazu&amp;diff=2196"/>
		<updated>2026-10-27T15:04:28Z</updated>

		<summary type="html">&lt;p&gt;ForrestRiddoch: Created page with &amp;quot;Pevná zábrana nestačí, rozhoduje i okolí lůž&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pracovní stůl v malém bytě není otázka estetiky, ale geometrie. Než začnete cokoli kupovat, změřte si mís...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pevná zábrana nestačí, rozhoduje i okolí lůž&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pracovní stůl v malém bytě není otázka estetiky, ale geometrie. Než začnete cokoli kupovat, změřte si místo a hlavně si ujasněte, kolik času u stolu opravdu strávíte. Pokud jde o dvě hodiny denně s notebookem, nepotřebujete stůl hluboký osmdesát centimetrů. Pokud pracujete osm hodin s monitorem a klávesnicí, potřebujete plnohodnotnou hloubku i šířku a je lepší ubrat jinde.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Světlo a větrání se podceňují. Dva kluci v jednom pokoji znamenají víc tepla, víc prachu a víc hluku. Ke každé posteli by mělo dosáhnout vlastní čtecí světlo, ideálně nastavitelné, aby si jeden mohl číst, když druhý spí. Hlavní stropní světlo nahraďte několika menšími zdroji, které se dají zapínat zvlášť. Větrání řešte tak, aby se dalo otevřít okno bez přerovnávání nábytku. Pokud je v pokoji málo místa, nepřidávejte další skříň — raději zvyšte úložný prostor pod postelí a nad stolem. Přebytečný nábytek dělá pokoj menším, ne větším.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejčastější chybou je N+1 problém: resolver pro seznam položek volá databázi pro každou položku zvlášť. Řešením je dávkování — sesbírat klíče z jednoho cyklu a načíst je jedním dotazem. V praxi to znamená zavést vrstvu, která v rámci jednoho požadavku odloží jednotlivé dotazy a sloučí je. Pozor na to, že dávkování musí být vázané na kontext požadavku, jinak si mezi souběžnými uživateli promícháte data. Zkontrolujte také, že dávkovač má limit velikosti, aby jeden požadavek nezahltil databázi tisíci klíči.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;První věc, která v GraphQL rozhoduje o rychlosti, není databáze ani server, ale tvar dotazu. Klient si často řekne o celý objekt i s vnořenými vazbami, protože to je pohodlné při vývoji. Na produkci se z toho stane několikanásobné načítání, které se sčítá. Než začnete cokoliv optimalizovat, zapněte si měření času na úrovni resolverů a logujte, které pole se volá kolikrát na jeden požadavek. Bez tohoto přehledu skončíte u hádání a přepisování schématu naslepo.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Šestá praktická úprava je clona proti zvědavým pohledům. Stačí napnutá šňůra mezi dvěma háky a na ni látka, kterou na podzim sundáte a vyperete. Zkontrolujte, jestli zavěšená látka nezakrývá odtokový otvor nebo větrací mřížku. Sedmé řešení je úklid podle sezóny: na jaře vytáhněte vše, co přes zimu zůstalo venku, umyjte parapet a teprve potom rozhodujte, co se na balkon vrátí. Většina malých balkonů se neplní proto, že jsou malé, ale proto, že se na ně ukládá bez kontroly.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nezapomínejte na výstup. Filtrování polí až po načtení z databáze znamená, že jste zbytečně přenesli data, která klient nechce. Resolver by měl vědět, která pole jsou vyžádaná, a podle toho omezit výběr už na úrovni dotazu. Stejně tak se vyhněte vracení velkých seznamů bez stránkování — kurzorové stránkování je pro GraphQL přirozenější než offsetové, protože zvládá rostoucí data bez posunů. Ověřte si ale, že kurzor je stabilní a že řazení odpovídá tomu, podle čeho se stránkuje.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Uspořádání musí počítat s tím, že kluci rostou. Nábytek, který je dnes akorát, bude za dva roky malý. Proto se vyplatí volit jednoduché, variabilní kusy, které se dají přestavět nebo posunout. Psací stůl by měl být široký alespoň tak, aby se u něj dalo psát s otevřeným sešitem a vedle položeným počítačem. Pokud se do pokoje nevejdou dva stoly, zvažte dlouhou desku podél stěny, u které se vystřídají, a doplňte ji dvěma židlemi. Vyhněte se stolům, které jsou jen na parádu a nedá se u nich pořádně sedět.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pátým řešením je mobilní pracovní místo na kolečkách. Úzký vozík s deskou a zásuvkami lze odsunout ke zdi, když se nepracuje. Hodí se do garsoniér, kde se funkce prostoru střídají. Pozor na kolečka – musí mít brzdu, jinak se stůl při psaní rozjíždí. A kabely veďte v chráněné liště, aby se při každém přesunu nepřiskříply.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Hloubka dotazu a limity, které se vyplatí zavést předem Klient může poslat dotaz hluboko vnořený a vyplatit celý graf. Zavedení maximální hloubky a maximálního počtu polí na dotaz je levné a odhalí chyby dřív, než se dostanou k uživatelům. Počítejte ale s tím, že pevný limit se těžko ladí: příliš nízký zablokuje legitimní obrazovky, příliš vysoký nic neřeší. Lepší je kombinovat hloubku s cenou dotazu — každému poli přiřadit váhu a odmítnout požadavek nad rozpočet. Cenu pak spočítáte ještě před spuštěním resolverů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Další vrstvou je ukládání do mezipaměti. GraphQL samo o sobě neumí cachovat odpovědi podle URL, protože vše jde na jeden koncový bod. Proto se vyplatí cachovat na úrovni resolverů podle skutečných vstupních parametrů a klíčovat podle identifikátorů, ne podle pořadí argumentů. U dotazů, které se často opakují, pomůže i trvalé ukládání dotazů: klient pošle krátký hash místo celého textu, server ho ověří proti registrovanému seznamu. Tím odpadá opakované parsování a validace.&lt;/div&gt;</summary>
		<author><name>ForrestRiddoch</name></author>
	</entry>
	<entry>
		<id>https://shoutwiki.club/index.php?title=User:ForrestRiddoch&amp;diff=2183</id>
		<title>User:ForrestRiddoch</title>
		<link rel="alternate" type="text/html" href="https://shoutwiki.club/index.php?title=User:ForrestRiddoch&amp;diff=2183"/>
		<updated>2026-10-27T15:04:04Z</updated>

		<summary type="html">&lt;p&gt;ForrestRiddoch: Created page with &amp;quot;Autor blogu praktickým bydlením sází na osvědčené tipy. Sdílím zde, jak zvládnout domácnost bez stresu. Nejraději hledat cesty, jak si usnadnit život.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu praktickým bydlením sází na osvědčené tipy. Sdílím zde, jak zvládnout domácnost bez stresu. Nejraději hledat cesty, jak si usnadnit život.&lt;/div&gt;</summary>
		<author><name>ForrestRiddoch</name></author>
	</entry>
</feed>