RUN npm install
Stavba REST API v Node.js s frameworkem Express je běžná praxe, ale i tak se v ní snadno udělá několik zásadních chyb. Začneme od základu – od inicializace projektu a instalace potřebných balíčků. Kromě samotného Expressu se vyplatí použít i balíček pro parsování těla požadavků (např. body-parser) a pro logování požadavků (např. morgan). Tyto nástroje vám ušetří spoustu ruční práce a zpřehlední ladění.
Jádrem každého API jsou routy. V Expressu definujete jednotlivé endpointy pomocí metod GET, POST, PUT a DELETE. Pro začátek si vytvořte jednoduchou routu, která vrací JSON data. Pozor na to, že Express sám o sobě neumí zpracovat tělo požadavku ve formátu JSON – proto je nutné použít middleware express.json(). Bez něj byste v req.body dostali undefined. Dalším častým problémem je nesprávné nastavení CORS, zejména pokud API voláte z prohlížeče. Pokud CORS nenastavíte, prohlížeč vám odpověď zablokuje.
Mezi časté chyby patří ignorování automatických kontrol, jako jsou lintery nebo testy, nebo zasílání kódu, který jste otestovali jen nábytek na míru svém počítači. Vždy si lokalně projděte, že vaše změny nic nerozbíjejí, a pokud projekt používá CI, NáBytek Na MíRu sledujte výsledky a opravte případná selhání. Další past je přebírání úkolu, na kterém už někdo pracuje. Než začnete, zkontrolujte, jestli není v issue zmínka o tom, že se to řeší, nebo zda neexistuje otevřený pull request.
Útoky typu SQL injection patří mezi nejčastější a nejnebezpečnější zranitelnosti webových aplikací. Útočník vloží do vstupního pole či parametru URL databázový dotaz, který se pak provede na serveru. Pokud aplikace neošetřuje vstupy, může útočník číst, měnit nebo mazat data, a v krajním případě získat plnou kontrolu nad serverem. Následky bývají fatální – od úniku osobních údajů až po úplné převzetí webu.
Trpělivost je klíčová. Open source je běh na dlouhou trať, ne sprint. Nesnažte se napoprvé ovládnout nejtěžší bug v projektu. Místo toho si vyberte menší a středně velké úkoly, které vás něco naučí. S každým přijatým příspěvkem poroste vaše sebedůvěra i vaše role v komunitě. Postupně se můžete stát mentorem pro další nováčky, což je dokonalý důkaz, že jste se stali součástí projektu.
Dalším tipem je použít normalizovaný stav, zejména pokud pracujete s vnořenými daty. To znamená ukládat entity do slovníku podle ID a v seznamech pouze odkazy na ID. To zjednodušuje aktualizace a vyhledávání. If you have any kind of inquiries pertaining to where and ways to use mdma.noosworx.com, you can contact us at our website. Pro to se hodí knihovny jako Normalizr, ale i bez nich můžete tento vzor implementovat sami.
Pro asynchronní akce použijte middleware jako Redux Thunk nebo Redux Saga. Thunk je jednodušší a pro většinu případů dostačující. V něm definujete akci, která vrací funkci místo objektu. Tato funkce dostane dispatch a může provést async volání. Po dokončení dispatchne akci s daty, případně akci s chybou. Tím se vyhnete psaní tří různých akcí (REQUEST, SUCCESS, FAILURE) pro každou operaci.
Když už máte základní routy, přichází na řadu validace dat. Nikdy nevěřte vstupům z klienta. Použijte knihovnu jako Joi nebo express-validator, abyste ověřili, že data mají správný formát, délku a typ. Bez validace riskujete neošetřené chyby, které mohou vést k pádu serveru nebo k bezpečnostním děrám. Typická chyba je zapomenout na zpracování chyb v async funkcích. Pokud v async handleru dojde k výjimce a nemáte ji odchycenou, Express ji sám nezachytí – musíte použít wrapper nebo try/catch a předat chybu do next().
Na závěr: zamyslete se, zda vaše aplikace vůbec potřebuje Redux. Pro malé projekty může být zbytečný a komplikovat práci. Pokud ale Redux používáte, držte se principů, jako je minimalizace stavu a oddělení asynchronní logiky do middleware. Tím se váš kód stane čitelnějším a údržba snazší.
Když už víte, co budete řešit, začněte malým a jasným krokem. Oprava překlepu v dokumentaci je stejně hodnotná jako oprava logiky, ale u ní je menší riziko, že něco rozbijete. Postupujte podle zásad projektu: dodržujte styl kódu, psaní commit zpráv a testů. Typická chyba bývá, že nováček pošle pull request s rozsáhlými změnami v mnoha souborech najednou. Mnohem lepší je rozdělit práci na menší celky, které usnadňují review a zvyšují šanci, že váš návrh projde.
rekonstrukce koupelny krok za krokemčlenění bezpečnosti do vývoje není složité, pokud se stanete parametrizaci a validaci standardem ve svém kódu. Při code review kontrolujte každý databázový dotaz a ujistěte se, že vstupy procházejí přes ověřené vrstvy. Pomůže také použití ORM, které v sobě parametrizaci z velké části řeší, ale i tam je nutné dávat pozor na vlastní SQL dotazy. S trochou disciplíny a správnými návyky SQL injection eliminujete.