Proč měsíční krátery připomínají ementál a kde děláme chybu

<span style="font-weight: bold;">Odpověď by měla být</span> předvídatelná. Pokud vracíš seznam, obal ho objektem s polem položek a počtem, ne holým polem. U jedné položky vracej objekt, ne jeden prvek z pole. Datum posílej v jednotném formátu, ideálně ISO 8601. Čísla neposílej jako řetězce, pokud to není nutné. Prázdné hodnoty řeš konzistentně: buď null, nebo pole vynech, ale v celém API stejně. Klient, který jednou dostane null a podruhé prázdný řetězec, bude mít v kódu zmatek.<br> <br> <br> <br> <img src="http://www.imageafter.com/image.php?image=b11objects_signs004.jpg&dl=1" style="max-width:400px;float:left;padding:10px 10px 10px 0px;border:0px;">Stavové kódy nejsou dekorace Nejčastější chyba začátečníků je vracet vždy HTTP 200 a do těla napsat {"error": "něco se pokazilo"}. Tím zabiješ možnost klienta rozlišit úspěch od selhání. Pro úspěšné vytvoření použij 201, pro prázdnou odpověď 204, pro neplatný vstup 400, pro chybějící oprávnění 401 nebo 403, pro nenalezený záznam 404 a pro neočekávanou chybu serveru 500. Tělo odpovědi drž konzistentní: při úspěchu vracej data, při chybě objekt s polem pro kód a lidsky čitelnou zprávu. Klient pak může reagovat podle stavového kódu, aniž by musel luštit text.<br> <br> <br> <br> Před nasazením si napiš několik ručních požadavků a projdi je proti běžícímu serveru. Zkontroluj, co se stane při chybějícím parametru, při neplatném JSON, při příliš dlouhém vstupu a při neexistujícím ID. Právě tyto situace odhalí, že validace chybí nebo že chybová odpověď obsahuje celý stack trace. Do produkce nikdy neposílej interní výjimky. Zaznamenej je do logu a klientovi vrať obecnou zprávu s kódem.<br> <br> <br> <br> Vysoká police nebo regál v dětském pokoji vypadá jako praktické úložiště hraček, knih a oblečení. Jenže dítě, které se po nábytku tahá, šplhá nebo do něj strká při hře, dokáže s volně stojícím kusem pohnout během chvilky. Pokud regál není pevně spojen se zdí, může se převrátit i při běžném kontaktu. Nejde o vzácnou situaci, ale o předvídatelný fyzikální jev: těžiště se posune mimo půdorys a nábytek padá dopředu.<br> <br> <br> <br> <strong>Základem je klid a</strong> střídmost. Nechte houbě její biologický film, proplachujte ji šetrně a v akvarijní vodě, měňte ji jen když už opravdu dosloužila. Voda se pak nebude kalit, hodnoty zůstanou stabilní a ryby nebudou muset snášet zbytečné výkyvy, které jsou pro ně mnohem stresující než občasný zákal.<br> <br> <br> <br> První vlastní REST API vzniká většinou jako jednoduchý endpoint, který vrátí data z databáze. Jenže právě tady se láme úspěch: klient, ať už prohlížeč, mobil nebo jiná služba, se rozhoduje podle toho, co mu server pošle zpět. Pokud odpověď nemá jasnou strukturu, každý další požadavek přinese jiný problém. Začni tím, že si před psaním kódu sepíšeš, co přesně má API vracet: jaká data, v jakém tvaru a co se stane, když data nejsou.<br> <br> <br> <br> U věšáku rozhoduje hloubka, ne šířka. Stěnový věšák s hloubkou 25–30 cm udrží kabát i bundu, aniž by ramena trčela do průchodu. Pokud je chodba opravdu těsná, použijte výklopné háky, které se sklopí ke zdi, nebo lištu s háky nad sebou ve dvou úrovních. Horní řada pro dospělé, spodní pro děti. Počítejte jeden hák na osobu plus dva na hosty. Víc háků svádí k věšení tašek a šál, které pak visí přes sebe a tvoří hromadu.<br> <br> <br> <br> Požadavek začíná metodou a cestou. Pro čtení používej GET, pro vytvoření POST, pro úpravu PUT nebo PATCH a pro smazání DELETE. Cesta má být podstatné jméno v množném čísle, například /uzivatele, ne sloveso. Parametry filtrování dávej do query stringu, identifikátor konkrétního záznamu do cesty. Tělo požadavku posílej jako JSON a v hlavičce vždy uveď Content-Type: application/json. Bez této hlavičky server často data vůbec nepřečte a vrátí chybu, která vypadá nesmyslně.<br> <br> <br> <br> Jakmile API funguje, zdokumentuj každý endpoint: metodu, cestu, očekávané parametry, ukázku požadavku a ukázku odpovědi včetně chybových stavů. Dokumentace není formalita, ale nástroj, díky kterému klient napsaný za měsíc nebude muset hádat, co jsi tím myslel. První REST API se láme na maličkostech: chybějící hlavičce, nejasném stavovém kódu a nekonzistentním tvaru odpovědi. Když tyto tři věci podržíš, zbytek se skládá mnohem snáz.<br> <br> <br> <br> Když se těleso řítí rychlostí několika kilometrů za sekundu, náraz uvolní obrovské množství energie. Hornina se v místě dopadu vypaří, roztaví a rozletí do okolí. Vznikne kruhová prohlubeň a kolem ní vyvýšený val. Čím větší je průměr kráteru, tím hlubší obvykle je jeho dno a tím vyšší je val. U velkých kráterů se navíc objevují soustředné terasy a centrální vrchol, který vzniká zpětným vyzdvižením dna po nárazu.<br> <br> <br> <br> Po čase se každé kotvení povolí. Vrut se může pohnout v měkké zdi, hmoždinka ztratí tření. Proto pevnost spojů kontrolujte každých šest měsíců, nejlépe při výměně sezónního oblečení nebo hraček. Stejně tak zkontrolujte, zda dítě nepovolilo matice u montážní sady. Pokud se regál používá k ukládání těžkých věcí, dejte je do spodních polic. Tím snížíte těžiště a riziko převrácení klesne i při selhání jednoho spoje.