Proč batole bojkotuje první botičky a co s tím udělat?
Nejdřív vyprázdněte a umyjte vnitřek. Zbytečné krabice, tácky a stojánky od potravin vyhoďte, uvolníte tím klidně třetinu objemu. Police nastavte tak, aby mezi nimi byla mezera alespoň na vysokou láhev a na sklenici s okurkami. Do dveří patří jen to, co vydrží kolísání teploty – hořčice, dresinky, máslo v uzavřené misce. Vejce a mléko do dveří nepatří, tam se kazí nejrychleji.
Teplo a textil vnímáš dřív, než si to uvědomíš. Jeden měkký koberec, přehoz přes sedačku nebo polštář navíc změní akustiku i dojem z místnosti. Nemusí to být nic nového – přehoz může být starý svetr nebo látka, která ti zbyla. U textilu ale platí: méně druhů vzorů. Když zkombinuješ tři různé potisky, začne to působit neklidně. Drž se dvou až tří barev a zbytek nech v neutrálních tónech.
Proč se vyplatí skládat prádlo na výšku místo na ploc
První botičky jsou pro batole velká změna. Do té doby znalo jen ponožky, bosé nohy nebo měkké capáčky. Najednou má na noze pevnou podrážku, která se neohýbá tak jako chodidlo, a kolem kotníku něco drží. Proto mnoho dětí první nasazení odmítá pláčem, kopáním nebo tím, že botu okamžitě sundají. Není to rozmazlenost ani známka toho, že je něco špatně. Je to běžná reakce na neznámý pocit.
Nezapomínejte na cache na úrovni resolverů i celých odpovědí. U dotazů, které se často opakují a nemění se každou sekundu, ukládejte výsledek pod klíčem odvozeným z dotazu a proměnných. Klíč musí obsahovat i kontext oprávnění, jinak si uživatelé mohou přečíst data někoho jiného. Při změnách pak cache invalidujte cíleně podle typu objektu, ne plošným smazáním všeho, které jen přesune zátěž jinam.
Nejčastější chyba je načítání vztahů uvnitř cyklu. Resolver pro pole, které vrací seznam, by měl použít dávkování a cache pro jeden požadavek. V praxi to znamená sesbírat identifikátory z rodičovských objektů, načíst je jedním dotazem s podmínkou typu „in" a výsledky rozdělit zpět. Knihovny pro dávkování tento vzor řeší za vás, ale musíte je zapojit u každého vnořeného pole, ne jen u těch, která se zdají pomalá. Bez toho se počet dotazů násobí hloubkou a počet parametrů v dotazu přeteče.
Postupně prodlužujte dobu nošení. Nejprve pár minut doma, potom krátká procházka před domem, později delší vycházka. Vždy berte s sebou náhradní ponožky a případně lehčí obuv, kdyby dítě začalo být nervózní. Nepodceňujte ani počasí – v horku volte lehčí botičky, v zimě zase pozor na příliš tlustou vložku, která zbytečně tlačí. Pokud dítě boty odmítá i po dvou až třech týdnech pravidelných krátkých pokusů, řešte to s odborníkem. Většina batolat si na botičky zvykne během několika dní, když má dost času a klid.
GraphQL není automatická optimalizace. Serverová pole vyhodnocují resolvery a každý resolver může sáhnout do databáze, do cache nebo na vzdálenou službu. Pokud se o dotazy nikdo nestará, počet volání roste úměrně s hloubkou dotazu a výsledkem je N+1 problém, přetížená databáze a rostoucí latence. Prvním krokem proto není psaní nového kódu, ale měření: zapněte trasování resolverů, sledujte počet databázových dotazů na jeden HTTP požadavek a porovnejte ho s počtem vrácených objektů.
Pozor také na to, co klient skutečně potřebuje. Často se posílají celé objekty jen proto, že je to pohodlné, a přenos i serializace pak tvoří větší část latence než samotné dotazy do databáze. Pomáhá zavést pravidlo, že nová pole musí mít odůvodnění a že seznamy mají výchozí limit. U rozsáhlých kolekcí používejte kurzorovou paginaci místo offsetu, protože offsetové stránkování při hlubokém posunu nutí databázi projít a zahodit velkou část řádků.
Hloubka, složitost a limity musí být vynucené Omezení hloubky dotazu samo o sobě nestačí. Útočník i neopatrný klient dokáže napsat mělký dotaz s mnoha aliasy, který vrátí tisíce položek. Počítejte proto složitost: každému poli přiřaďte váhu, násobte ji počtem položek v seznamu a výsledek porovnejte s rozpočtem na požadavek. Limity nastavte v middleware před spuštěním resolverů a vracejte srozumitelnou chybu, ne prázdný výsledek. Stejně důležité je omezit počet kořenových polí v jednom dotazu a hloubku vnoření, jinak se ochrana obchází skládáním více dotazů do jednoho.
U předplatných a opakovaných plateb si nastavte kontrolu jednou za čtvrt roku. Projděte seznam pravidelných plateb a zrušte ty, které jste za poslední tři měsíce nevyužili. Pozor na zkušební období, která se sama převádějí do placeného režimu, a na služby, které se obnovují bez upozornění. Tady nejde o velké škrty, ale o odstranění tichých odtoků, které nikdo nesleduje. Ušetřené peníze nenechte rozpustit v běžném účtu, ale přidejte je k automatickému převodu.