Přesazení levandule: chyba, která zničí i zdravý keř
Začněte tím, že v pokoji rozlišíte tři úrovně světla: hlavní stropní svítidlo pro hraní a uklízení, čtecí světlo u postele a orientační světlo pro noc. LED pásek pod postelí patří výhradně do třetí kategorie. Pokud ho používáte i při večerním čtení nebo při oblékání, jeho barva i jas se musí přizpůsobovat, což většina levných pásků neumí dobře. Stanovte si, že pásek svítí jen v noci a při vstávání, a stropní světlo se večer vypíná dřív než pásek.
Paletu nemusíš měnit každou sezónu. Stačí ji jednou za čas projít a případně posunout jednu doplňkovou barvu podle toho, co skutečně nosíš. Tím zůstane šatník funkční a přestaneš řešit, jestli se k sobě dvě věci hodí – prostě se hodit budou.
Dřevěné čelo postele chytá špínu jinak než zbytek nábytku. Dotýkáte se ho rukama, opíráte se o něj hlavou, padá na něj prach z ložního prádla a často stojí v dosahu otevřeného okna. Nejde tedy jen o estetiku – mastnota z kůže a pot se do dřeva postupně vsakují a časem vytvoří tmavé mapy, které už nejdou jen tak setřít. Rozhodující je, čím povrch ošetříte, protože nesprávná volba situaci spíš zhorší.
Kam s adaptérem a ovladačem, aby nepřekáže
GraphQL dává klientovi svobodu žádat přesně to, co potřebuje. Právě tato svoboda ale bývá zdrojem pomalých odpovědí. Než začneš cokoli optimalizovat, změř to. Zapni si na serveru logování doby vykonání jednotlivých polí (field resolverů) a sbírej reálné dotazy z provozu. Bez dat budeš ladit pocitově a pravděpodobně na špatném místě. Dobrým startem je instrumentace přes OpenTelemetry a přehled o tom, které dotazy trvají nejdéle a které se volají nejčastěji.
Kapslový šatník není o tom mít co nejméně kusů. Je o tom mít jen takové kusy, které mezi sebou jdou zkombinovat bez přemýšlení. Barvy v tom hrají větší roli než střihy. Pokud si nejdřív neurčíš barevnou páteř, skončíš s hromadou pěkných věcí, které k sobě nepasují, a každé ráno budeš stát před skříní stejně dlouho jako dřív.
Nové místo vybírejte slunné, s volným prouděním vzduchu a bez přístupu vody z okapu. Po přesazení nechte keř dva až tři týdny v klidu, nehnojte a neřezejte. Pokud se objeví nové výhony, je přesazení úspěšné. Starý keř, který už ztratil střed, můžete po vyjmutí rozdělit a vysadit zdravé vnější části odděleně. Tím získáte nové rostliny a zároveň prodloužíte životnost celé skupiny.
Levandule vydrží na jednom místě několik let, ale jednou přijde chvíle, kdy přestane prospívat. Zahradníci často sázejí novou rostlinu hned vedle, protože si nevšimnou signálů, že ta stará už potřebuje jiné stanoviště. Přesazení přitom není trest, ale běžná údržba. Rozhodující je načasování a to, jak keř před samotným přesunem připravíte.
Před vyjmutím keř seřízněte, ale ne do holého dřeva. Odstraňte nejvýše třetinu nadzemní hmoty, aby se snížil výpar. Vykopejte rýčem dostatečně široký kruh, alespoň dvakrát větší než obrys keře, a snažte se udržet co největší kořenový bal. Kořeny levandule jsou jemné a snadno se lámou, proto s balem neklepejte a netřepejte. Novou jámu připravte s drenáží ze štěrku nebo hrubého písku a s příměsí písku do substrátu, pokud je půda těžká.
Začni tím, že si vezmeš všechny kusy, které skutečně nosíš, a rozložíš je na postel. Nehledej ideální paletu v časopise, ale podívej se, co se v tvém oblíbeném oblečení opakuje. Většina lidí zjistí, že se točí kolem tří až čtyř odstínů. Ty tvoří základ. Zapiš si je a k nim přidej jednu neutrální barvu, která ladí se vším ostatním – obvykle to bývá tmavá nebo světlá varianta, kterou už máš doma.
Nakonec se vyhni dvěma častým omylům: nespoléhej na to, že klient posílá rozumné dotazy, a neoptimalizuj podle průměrné doby odpovědi. Sleduj percentily, zejména ty nejhorší případy, a po každé změně měř znovu. GraphQL optimalizace je kontinuální proces, ne jednorázový zásah.
Persistence dotazů (persisted queries) výrazně snižuje režii. Klient neposílá celý text dotazu, ale pouze jeho hash, server ověří, že dotaz zná, a teprve pak ho vykoná. Tím se zmenší provoz, omezí se prostor pro zneužití a zároveň se zjednoduší cachování na CDN. Pro veřejná rozhraní zvaž povolení pouze předem registrovaných dotazů; dynamické dotazy nech jen v důvěryhodném prostředí.
Nejčastější chybou je N+1 problém. Resolver pro pole, které vrací seznam, zavolá databázi pro každou položku zvlášť. Řešením je dávkování a cachování na úrovni jednoho požadavku – typicky DataLoader. Načti všechny potřebné klíče najednou, seskup je a výsledek ulož do mezipaměti platné po dobu jednoho requestu. Pozor na to, že dávkování musí respektovat kontext požadavku; globální cache mezi uživateli ti může unikat data.