<?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=LawerenceMatthae</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=LawerenceMatthae"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php/Specjalna:Wk%C5%82ad/LawerenceMatthae"/>
	<updated>2026-10-27T19:06:42Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Dotazy_v_GraphQL_zpomaluj%C3%AD_aplikaci_kv%C5%AFli_N_1,_kter%C3%BD_v%C4%9Bt%C5%A1ina_p%C5%99ehl%C3%A9dne&amp;diff=1202783</id>
		<title>Dotazy v GraphQL zpomalují aplikaci kvůli N 1, který většina přehlédne</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Dotazy_v_GraphQL_zpomaluj%C3%AD_aplikaci_kv%C5%AFli_N_1,_kter%C3%BD_v%C4%9Bt%C5%A1ina_p%C5%99ehl%C3%A9dne&amp;diff=1202783"/>
		<updated>2026-10-27T16:44:05Z</updated>

		<summary type="html">&lt;p&gt;LawerenceMatthae: Utworzono nową stronę &amp;quot;Než se pustíte do čtení popisků, všimněte si, co je u exponátu skutečně doloženo a co je jen doplněné. Typická chyba je brát repliku za originál a domýšlet si k ní dramatický příběh. U replik bývá uvedeno, podle čeho byly vyrobeny; pokud údaj chybí, berte předmět jako ilustraci, ne jako důkaz. Druhá častá chyba je číst legendu jako fakt. Muzejní texty obvykle rozlišují mezi tím, co plyne z archivního záznamu, a tím, co se…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Než se pustíte do čtení popisků, všimněte si, co je u exponátu skutečně doloženo a co je jen doplněné. Typická chyba je brát repliku za originál a domýšlet si k ní dramatický příběh. U replik bývá uvedeno, podle čeho byly vyrobeny; pokud údaj chybí, berte předmět jako ilustraci, ne jako důkaz. Druhá častá chyba je číst legendu jako fakt. Muzejní texty obvykle rozlišují mezi tím, co plyne z archivního záznamu, a tím, co se traduje. Když to nerozlišíte, odnesete si domů historku, která se možná nikdy nestala.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Běžnou chybou je snažit se ušetřit tím, že se svítí jen stolní lampou a zbytek pokoje zůstane tmavý. Kontrast mezi jasným sešitem a černým okolím nutí oči přizpůsobovat se dvěma úrovním jasu najednou, což po hodině vede k bolesti hlavy. Vždy nechte svítit i slabší doplňkové světlo v místnosti, ideálně v jiném barevném odstínu, než má pracovní lampa. Večer také pomáhá stáhnout jas obrazovky na úroveň okolního osvětlení.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr si udělejte krátkou poznámku ještě v muzeu, dokud máte detaily v čerstvé paměti. Zapište si název exponátu, dataci a to, co vás na popisku zarazilo. Doma pak snáz odlišíte, co jste skutečně viděli, od toho, co k tomu domýšlí ostatní. Právě v tom spočívá hlavní přínos návštěvy: ne v hrůze, ale v pochopení, jak se z nástroje stane exponát a z události legenda.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;U postelí s úložným prostorem přístupným zvednutím roštu platí jiné pravidlo: váha nákladu jde přímo na mechanismus a plynové vzpěry. Ty mají danou nosnost a při přetížení přestanou držet. Rošt pak padá a hrozí úraz. Pokud se rošt zvedá těžko nebo sám klesá, je to signál, že je náklad příliš těžký, nebo že vzpěry dosluhují. Nikdy nezkoušejte mechanismus „dorovnat&amp;quot; silou.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Hloubka dotazu a limity, které chrání server Druhá puťovka je neomezená hloubka a složitost dotazu. GraphQL umožňuje klientovi rekurzivně rozbalovat vztahy, a pokud server nestanoví limit, jeden požadavek může vygenerovat tisíce resolverů a shodit instanci. Zaveďte analýzu dotazu před jeho vykonáním: spočítejte hloubku, počet polí a odhadněte náklady podle váhy jednotlivých polí. Požadavky nad limit odmítněte srozumitelnou chybou, ne tichým zkrácením. Zároveň mějte pojistku na dobu běhu a na počet dávkových položek, protože i dobře navržený limit hloubky lze obejít širokým dotazem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Častá chyba je optimalizovat jen dotazy, které vidíte v prohlížeči, a zapomenout na mobilní klienty, kteří posílají jiné kombinace polí. Sbírejte vzory dotazů z provozu, seskupujte je podle tvaru a optimalizujte ty nejčastější. Zároveň kontrolujte, zda resolver nevrací pole, o která klient nežádá — v GraphQL je to snadné nechat na automatickém mapování a pak zbytečně tahat celé řádky. Explicitně vybírejte jen požadované sloupce a u vnořených vztahů používejte dataloadery i tam, kde to na první pohled nevypadá potřeba.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Častou chybou je přesypávat postel dekou nebo přehozem, který se nesundavá. Ty pak drží prach a vlhkost a povlečení pod nimi nemá šanci uschnout. Další chyba je prát povlečení na příliš nízkou teplotu a bez dostatečného množství pracího prostředku – látka zůstane mastná a zápach se vrátí během jednoho dne. Naopak zbytečné je prát po každém použití, pokud člověk není nemocný nebo hodně zpocený. Sledujte látku: když je na dotek tuhá nebo cítíte zatuchlinu u hlavy, je čas.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejčastější příčinou pomalého GraphQL není databáze ani síť, ale to, jak resolver získává data pro vnořené objekty. Když klient požádá o seznam objednávek a u každé i její položky, naivní resolver zavolá databázi jednou pro objednávky a pak jednou pro každou objednávku zvlášť. při stovce objednávek to znamená stovku dotazů, které by šly sloučit do jednoho. Tomuto vzorci se říká N+1 a v produkci se projeví jako rostoucí latence úměrná velikosti seznamu. První krok není optimalizace dotazu, ale měření: zapněte trasování resolverů a podívejte se, kolik dotazů na databázi jeden požadavek skutečně vygeneruje.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Řešením je dávkování a cachování na úrovni resolverů. Místo okamžitého volání databáze resolver pouze zaregistruje požadavek na klíč a na konci tiku se všechny klíče sesbírají a načtou jedním dotazem s podmínkou „in&amp;quot;. Knihovny pro dávkování to dělají automaticky, ale je potřeba je zapojit do každého resolveru, který sahá na databázi nebo vzdálené API — jinak zůstane N+1 jen na neošetřené větvi. Dávejte pozor na to, aby dávkovací klíč byl skutečně unikátní a nemíchal entity různých typů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;U persisting dotazů se vyplatí posílat hash místo celého textu. Server tak ověří, že klient posílá jen předem schválené dotazy, a odpadá riziko, že někdo pošle drahý ad-hoc dotaz. Pozor ale na to, že hash nestačí jako bezpečnostní prvek sám o sobě — musí být svázán s konkrétní verzí schématu, jinak po změně schématu přestane odpovídat a klienti začnou padat na chybě „dotaz nenalezen&amp;quot;.&lt;/div&gt;</summary>
		<author><name>LawerenceMatthae</name></author>
	</entry>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:LawerenceMatthae&amp;diff=1202781</id>
		<title>Użytkownik:LawerenceMatthae</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:LawerenceMatthae&amp;diff=1202781"/>
		<updated>2026-10-27T16:44:04Z</updated>

		<summary type="html">&lt;p&gt;LawerenceMatthae: Utworzono nową stronę &amp;quot;Někdo, kdo dílnou i obývákem se zabývá denně. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejraději ukazovat chytrá řešení, která zvládne každý.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Někdo, kdo dílnou i obývákem se zabývá denně. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejraději ukazovat chytrá řešení, která zvládne každý.&lt;/div&gt;</summary>
		<author><name>LawerenceMatthae</name></author>
	</entry>
</feed>