NoSQL nezachrání špatný návrh dat, na který se zapomíná

Každá webová stránka stojí na dvou pilířích: HTML a CSS. HTML dodává strukturu a obsah, CSS se stará o vzhled. Pokud tyto základy podceníte, sebelepší designérský nápad se rozpadne při první změně okna prohlížeče. Není třeba učit se nazpaměť stovky značek. Stačí pochopit principy a vyhnout se nejčastějším chybám, které začátečníky zbytečně brzdí.

Mnoho začátečníků udělá chybu, že smíchá kód z různých licencí, aniž by zkontrolovali slučitelnost. Například kód pod GPL nelze jednoduše vložit do projektu pod MIT a distribuovat pod MIT — výsledek musí být pod GPL. Apache 2.0 je s GPLv2 neslučitelná, ale s GPLv3 kompatibilní. Pokud používáte knihovny, vždy si přečtěte jejich licenci a ověřte, zda vaše zvolená licence umožňuje kombinaci. Nejčastější chybou je předpoklad, že „open source” znamená totéž co „public domain” — není tomu tak.

Druhá past je podcenění konzistence. Mnohé NoSQL databáze volí eventual consistency, takže zápis se může projevit až za chvíli. U košíku to nevadí, u plateb nebo rezervací ano. Zjisti si, jaké záruky konkrétní databáze nabízí u čtení a zápisu, a jestli umí transakce alespoň v rámci jednoho oddílu. Pokud ne, musíš konzistenci řešit v aplikaci – idempotentními operacemi, verzováním a kontrolou konfliktů. Nestačí spoléhat na to, že to nějak dopadne.

Automatizace v Pythonu nezačíná instalací knihoven, ale rozhodnutím, kterou konkrétní činnost chceš přestat dělat ručně. Nejlepší první projekt je něco, co tě pravidelně obtěžuje: přejmenovávání souborů, kopírování dat z tabulky do systému, stahování příloh z e-mailů nebo generování stejného dokumentu s jinými údaji. Když si vybereš úlohu, kterou opravdu děláš každý týden, vydržíš se učit i ve chvíli, kdy něco nefunguje. Naopak obecné „chci se naučit Python” bez konkrétního cíle většinou skončí po pár dnech.

Při ukládání tokenu na klientu dávejte přednost httpOnly cookie před local storage. JavaScript v prohlížeči tak nemůže token přečíst, což snižuje riziko útoků XSS. Pokud už token ukládáte do local storage, chraňte aplikaci důsledně proti XSS pomocí správného escapování výstupů a Content Security Policy. U mobilních aplikací používejte bezpečné úložiště, jako je Keychain nebo Keystore.

Rozhodování nezačíná u databáze, ale u dotazů. Sepiš si deset nejčastějších čtení a zápisů, které aplikace opravdu dělá, včetně jejich frekvence a požadavku na čerstvost dat. Teprve pak hledej model, který je zvládne bez složitých spojení. Dokumentová databáze se hodí, když čteš celek najednou – profil, objednávku, konfiguraci. Databáze klíč-hodnota poslouží pro cache, session nebo čítače. Grafová databáze má smysl, když dotazy procházejí mnoho vztahů do hloubky, například u doporučování. Sloupcová databáze zvládne obrovské objemy zápisů s předvídatelnými dotazy.

Automatizace nemá nahradit všechno. Některé úlohy je lepší dělat ručně, protože se mění a každá výjimka by znamenala další kód. Vyplatí se automatizovat opakované, stabilní a dobře popsané činnosti. Jakmile zvládneš první skript, přidej obsluhu chyb pomocí try a except. Neboj se skript rozbít a opravit. Každá chyba je konkrétní informace, co ještě není hotové. Po pár týdnech zjistíš, že místo hodiny rutiny ti stačí jedna kontrola výsledku.

Kde se rozpad odhadu lá

NoSQL je souhrnné označení pro databáze, které se vzdávají pevného relačního schématu a tabulek propojených cizími klíči. Místo toho ukládají data jako dokumenty, klíč-hodnota páry, široké sloupce nebo grafy. Nejde o jednu technologii, ale o rodinu přístupů, které spojuje ochota obětovat část konzistence a dotazovacích možností výměnou za pružnost zápisu a horizontální škálování. Právě tady vzniká první past: lidé si myslí, že NoSQL znamená „bez pravidel”. Ve skutečnosti znamená „pravidla si navrhneš sám” – a pokud je nenavrhneš, dostaneš nekonzistentní data, která se nedají opravit.

JWT token je v dnešní době jeden z nejčastějších způsobů, jak zabezpečit API. Funguje tak, že server po přihlášení vydá klientovi podepsaný token, který obsahuje informace o uživateli a jeho oprávněních. Klient pak tento token posílá v hlavičce Authorization u každého požadavku. Token se skládá ze tří částí oddělených tečkou: hlavičky, datové části a podpisu. Právě podpis zajišťuje, že s obsahem tokenu nikdo nemohl manipulovat. Pokud server podpis neověří, je celé zabezpečení k ničemu.

Nezapomínejte také na algoritmus podpisu. Nikdy nepovolte možnost none a vždy explicitně určete, který algoritmus server očekává. Útočník může podstrčit token s algorithmem none a pokud server tuto možnost neodmítne, bude token považovat za platný. Stejně tak nepodporujte slabé algoritmy, jako je HS256 s krátkým klíčem. U asymetrických algoritmů ověřte, že klíč skutečně patří tomu, kdo token vydal.

For more information in regards to jak zařídit malou kuchyni check out our own internet site.