Odhad času: zkušenost versus datová evidence

Z Mazovia


Nakonec si hlídejte, co posíláte do produkce. Testovací běh proti ostrým datům umí napáchat škodu, zvláště když požadavek maže nebo mění záznamy. Vždycky si nejdřív ověřte, proti kterému prostředí běžíte. Když budete proměnné, testy a prostředí držet pohromadě, přestane být testování API ruční prací a stane se něčím, co se dá spustit kdykoli znovu.

Délka funkcí a zanoření rozhoduje o tom, kolik toho musí člověk udržet v hlavě. Snaž se, aby funkce dělala jednu věc. Když má v sobě tři úrovně if a dva cykly, rozděl ji. Předčasný návrat (early return) často zploští logiku víc než cokoli jiného. Místo vnořených podmínek kontroluj krajní případy na začátku a zbytek nech lineární.
Data uvnitř kontejneru zmizí ve chvíli, kdy ho odstraníte. Pokud potřebujete, aby přežila restart i smazání, použijte svazek. Svazek vytvoříte při spuštění a namapujete ho do konkrétní cesty v kontejneru. U konfiguračních souborů se hodí spíš připojení z hostitelského disku, u databázových dat naopak pojmenovaný svazek. Nikdy neukládejte stav jen do zapisovatelné vrstvy kontejneru a nespoléhejte na to, že tam zůstane.
Nakonec platí, že odhad je nástroj pro rozhodování, ne slib. Když se realita odchýlí, řekněte to včas a nabídněte varianty: ořezat funkce, posunout termín, nebo dodat po částech. Tým, který umí pojmenovat nejistotu a drží se dat, bývá přesnější než ten, který má nejhezčí tabulku.

Dalším rizikem je ignorování konzistenčního modelu. Mnoho NoSQL databází nabízí eventual consistency, což znamená, že se změny mohou projevit se zpožděním. Pro některé aplikace je to přijatelné, pro jiné naprosto ne. Vždy si ověřte, jaký model konzistence konkrétní databáze poskytuje a zda odpovídá vašim požadavkům. Stejně tak nezapomeňte na zálohování a obnovu – u distribuovaných systémů je to složitější než u jednoho relačního serveru.
Kdy je NoSQL správná volba a kdy raději zůstat u relační databáze NoSQL zvažte ve chvíli, kdy potřebujete horizontální škálování přes mnoho serverů, Https://Crabcodex.Com/ kdy se schéma dat často mění a kdy nepotřebujete složité transakce napříč více entitami. Typickým příkladem je sběr logů, telemetrie z mnoha zařízení nebo obsah generovaný uživateli. Naopak pokud stavíte účetní systém, rezervační systém s garancí místa nebo jakoukoli aplikaci, kde je klíčová konzistence a přesnost, relační databáze je stále bezpečnější volba.

Při nasazení NoSQL se vyhněte několika častým chybám. První z nich je podcenění návrhu přístupových vzorů – v NoSQL se data modelují podle dotazů, ne podle entit. Pokud začnete bez analýzy, skončíte s duplicitami a pomalými dotazy. Druhou chybou je spoléhání na to, že NoSQL automaticky znamená vysoký výkon. Bez správného indexování, klíčů a pochopení distribuce dat na uzlech na tom bude stejně špatně jako špatně navržená relační databáze.

Než se rozhodnete pro NoSQL, musíte přesně vědět, jaká data budete ukládat a jak zařídit malou kuchyni s nimi budete pracovat. Dokumentová databáze se hodí pro obsah s proměnlivou strukturou, jako jsou katalogy produktů s různými atributy, uživatelské profily nebo protokoly událostí. Klíč-hodnota exceluje u jednoduchých rychlých dotazů, například pro ukládání relací nebo mezipaměti. Sloupcové databáze zvládají obrovské objemy zápisů a analytické dotazy nad širokými tabulkami. Grafové databáze řeší vztahy – sítě přátel, doporučovací systémy nebo detekci podvodů.

Pro každý endpoint uveďte metodu, cestu, očekávané parametry a tvar odpovědi. U parametrů rozlišujte, které jsou povinné, které volitelné a jaké mají výchozí hodnoty. In the event you loved this short article and you want to receive much more information regarding více zde generously visit our website. U odpovědí napište konkrétní příklad JSONu, ne jen obecný popis. Příklad je srozumitelnější než odstavec textu a zároveň slouží jako testovací data. Pokud používáte verzování, uveďte ho přímo v cestě a vysvětlete, kdy se verze mění. Vyhněte se tomu, aby verze byla jen v hlavičce bez vysvětlení.

U každé části si napište tři čísla: optimistický, realistický a pesimistický odhad. Do plánu pak neberte průměr, ale spíš realistický scénář posunutý blíž k pesimistickému. Lidé mají přirozenou tendenci být optimističtí, zvlášť když odhad dělají pro někoho jiného. Pokud se odhady liší víc než dvojnásobně, část je pořád moc velká nebo jí nerozumíte. Rozdělte ji znovu, dokud rozdíl mezi scénáři není menší.

Poslední věc, kterou je potřeba hlídat, je ukončení procesu. Kontejner žije tak dlouho, dokud běží jeho hlavní proces. Pokud aplikaci spustíte na pozadí, kontejner okamžitě skončí. Stejně tak ji nespouštějte pod nástrojem pro správu služeb, který sám od sebe přebírá řízení. Do obrazu patří jen jedna odpovědnost a jeden proces v popředí. Když to dodržíte, budou se kontejnery chovat předvídatelně a ladění se zkrátí na minimum.