Hry z přírody, nebo hračky z batohu? Les toho nabízí víc

Z Mazovia

Závěsy řešte jednoduše: zavěste je co nejblíž ke stropu a co nejdál od okna. Tyč delší než okno a látka až k podlaze prodlouží stěnu. Tmavé, těžké závěsy táhnou místnost dolů. Světlé, jemné a po stranách stažené nechají okno vypadat větší. Stejný princip platí pro sedací soupravu – nízká, bez masivních područek a s nožičkami, pod kterými je vidět podlaha, nepůsobí těžkopádně.

Když jdete s dětmi do lesa, nemusíte nosit žádné hračky ani pomůcky. Stačí se rozhlédnout a použít to, co roste a leží kolem. Děti tak přirozeně zapojí fantazii a vy si odpočinete od balení. Základem je mít v kapse jen nůž (ideálně zavírací) a případně provázek, ale i bez toho se dá spousta her vymyslet. Než ale začnete, projděte si lesní etiketu: netrhejte chráněné rostliny, nelámejte živé větve, neničte mraveniště a nesahejte na houby, které neznáte.

Příznaky, kterých si doma všimne

Jak poznat, že je olej na smažení správný Nalij olej do studené pánve a pomalu zahřívej. Vhoď do něj kousek chleba nebo dřevěnou špejli. Když se kolem okamžitě tvoří bublinky a chléb se rychle smaží, teplota je dobrá. Pokud se olej jen třpytí a nic se neděje, je studený. Když začne houstnout, pěnit a tmavnout, je přepálený. Smaž vždy v menším množství oleje, necelý centimetr stačí. Jídlo osuš papírovou utěrkou, jinak voda v oleji způsobí prskání a rozklad.

Pětibodové pásy a pevná konstrukce rozhodují víc než vzhl

Stavové kódy nejsou dekorace Server musí vracet správný stavový kód. 200 znamená úspěch, 201 vytvoření, 204 úspěch bez těla. 400 je chyba na straně klienta, 401 chybějící autentizace, 403 nedostatečné oprávnění, 404 nenalezeno, 409 konflikt, 422 nezpracovatelná data. Když na všechno posíláte 200 s tělem typu {"error": "něco se pokazilo"}, klient nemá šanci strojově rozlišit úspěch od chyby. A to je přesně ten moment, kdy se z jednoduchého API stane neudržovatelný kód.

První REST API často vzniká jako jednoduchý skript: klient pošle požadavek, server vrátí data. Jenže právě tady se začínají dít chyby, které se projeví až ve chvíli, kdy se na stejný endpoint připojí druhý klient nebo když se data změní. Základem je pochopit, že REST není knihovna ani framework, ale způsob, jak spolu komunikovat přes HTTP. Požadavek má vždy metodu, adresu, hlavičky a případně tělo. Odpověď má stavový kód, hlavičky a tělo. Pokud tohle rozlišení ignorujete, dřív nebo později narazíte.

Poslední věc, na kterou se zapomíná, je verzování. První verze API vypadá jako konečná, ale za půl roku budete potřebovat změnit formát odpovědi. Když verzi nemáte v adrese nebo v hlavičce, rozbijete všechny existující klienty. Stačí jednoduché /v1/ a máte prostor pro změny. A nezapomeňte na logování. Bez záznamu požadavků a odpovědí se při chybě nedozvíte, co se stalo. Logujte metodu, cestu, stavový kód a čas, ale nikdy necitlivá data.

Při smažení jde o víc než o chuť. Olej, který se při vysoké teplotě rozkládá, vytváří škodlivé látky a jídlo nasákne tukem. Proto se ptej nejdřív na jednu věc: jakou teplotu olej vydrží, než začne kouřit. Tomu se říká kouřový bod a je to hlavní kritérium.

Nejčastější chyba je záměna GET a POST. GET se používá pro čtení a nesmí měnit stav na serveru. POST pro vytvoření nového zdroje. Pokud GETem mažete nebo měníte data, narušujete idempotenci a cache. Prohlížeč nebo proxy server může požadavek zopakovat a vy smažete dvakrát. Stejně tak PUT slouží k nahrazení celého zdroje, PATCH k částečné úpravě. Když pošlete PUT s polovinou polí, zbytek se může vymazat. Vždy dopředu určete, co která metoda znamená, a držte se toho i v dokumentaci.

Autentizaci neřešte až na konci. API bez ověření je otevřené dveře. Pro začátek stačí token v hlavičce Authorization. Nikdy neposílejte heslo v URL, protože se ukládá do logů a historie prohlížeče. Token mějte krátkodobý a obnovujte ho. Pokud API používá více klientů, zvažte, zda potřebujete rozlišovat oprávnění. Bez toho se dostanete do situace, kdy jeden klient může mazat data druhého.

Formát odpovědi držte konzistentní. Pokud vracíte JSON, vracejte JSON vždy, i pro chyby. Stejně tak hlavička Content-Type musí odpovídat skutečnosti. Častá chyba je poslat text/html s JSON obsahem, což některé klienty zmate. U seznamů myslete na stránkování. Nikdy nevracejte všechny záznamy najednou, jinak při růstu dat přestane API odpovídat. Použijte parametry jako limit a offset nebo kursor. A v odpovědi uveďte, kolik záznamů celkem existuje, aby klient věděl, jestli má načítat dál.

Typická chyba je dolévat nový olej do starého. Starý olej už má snížený kouřový bod a nový se v něm rychle znehodnotí. Další chyba je smažit při příliš nízké teplotě. Jídlo se nasákne tukem a je těžké. Naopak příliš vysoká teplota spálí povrch a uvnitř zůstane syrové. Drž se střední až vyšší teploty a nepřekračuj kouřový bod.