Automatizace v Pythonu: první past, která vás zastaví

From TibiaCraft
Jump to navigationJump to search


Důležité je také nastavit si pravidla pro pojmenování úkolů. Každý úkol by měl začínat slovesem, které popisuje konkrétní činnost, třeba „Vytvořit návrh rozpočtu" nebo „Odeslat fakturu". Vyhněte se vágním formulacím jako „Zkontrolovat dokumenty" — nikdo neví, co přesně se má zkontrolovat a kdy to má být hotové. K tomu si zvykněte doplňovat ke každému úkolu termín a odpovědnou osobu. Bez těchto dvou údajů je úkol jen přání, ne úkol.

Začněte tím, že tokeny nesmí obsahovat citlivá data. JWT je base64 zakódovaný, ne šifrovaný, takže si ho kdokoli může rozebrat a přečíst. Mít v payloadu e-mail, roli nebo dokonce heslo je pozvánka k problému. I když je token podepsaný, data v něm vidí každý, kdo se k němu dostane. Pokud potřebujete předávat citlivé údaje, šifrujte payload zvlášť, nebo je přenášejte přes jiný kanál. Typická chyba je také ukládat token do localStorage – jakmile se tam dostane skript třetí strany, má přístup k celé relaci. Mnohem bezpečnější je držet token jen v paměti aplikace, případně v httpOnly cookie, která není dostupná z JavaScriptu.

Funkce by měly dělat jednu věc, ne pět věcí najednou Častým nešvarem je psát dlouhé funkce, které validují vstup, mění globální stav a ještě vrací výsledek. Takový kód se nedá testovat ani znovu použít. Rozdělte logiku na menší celky, kde každá funkce má jednu odpovědnost. Pojmenujte ji slovesem, které vystihuje její účel – třeba calculateTotalPrice místo processData. Když funkce přesáhne deset řádků, zvažte, jestli ji nelze rozložit.

U async akcí (například pomocí thunk middleware) je situace odlišná, protože potřebujete simulovat API volání. Nejlepší je použít knihovnu pro mockování, která vám umožní nahradit skutečné HTTP volání fiktivní odpovědí. Vytvoříte si mock pro funkci, která má provést fetch, a poté zavoláte async akci. Nezapomeňte, že async akce vrací Promise – test musí být asynchronní, aby počkal na dokončení. Typická chyba je zapomenout na to, že thunk funkce má podpis (dispatch, getState) => Promise, a testovat ji jako obyčejnou funkci bez dispatch.

Při plánování podpory myslete také na zálohování a obnovu. Nestačí vědět, že se záloha vytváří. Musíte ji pravidelně testovat obnovením do jiného prostředí. Jinak zjistíte, že záloha je poškozená nebo neúplná, až když ji nejvíc potřebujete. Stejně důležité je mít jasný postup pro případ selhání disku nebo výpadku serveru. Tento postup by měl obsahovat konkrétní kroky a odpovědné osoby, ne jen obecné pokyny.

Další pastí je přehnaná snaha o dokonalost. Automatizace nemusí být elegantní, musí být spolehlivá. Pokud skript dělá 95 % práce a zbývajících 5 % doladíte ručně, je to často lepší než trávit týdny vymýšlením, jak automatizovat i poslední výjimku. Uložte si do hlavy, že automatizace má šetřit čas, ne ho pohltit. Pokud na skriptu strávíte víc času, než kolik by zabrala ruční práce, přestává dávat smysl.

Když se řekne podpora databáze, většina vývojářů si představí upgrade na novější verzi nebo prodloužení smlouvy s dodavatelem. Jenže skutečná podpora začíná mnohem dřív – u návrhu schématu, volby indexů a způsobu, jakým aplikace k datům přistupuje. Pokud tento pohled opominete, brzy narazíte na situaci, kdy databáze běží, ale každý dotaz trvá sekundy a nikdo neví rady pro rekonstrukcič.

Když začnete zabezpečovat API pomocí JWT tokenů, první věc, kterou objevíte, je zdánlivá jednoduchost. Token se vygeneruje, pošle klientovi, ten ho přikládá do hlavičky a server ověří podpis. Jenže právě v té zdánlivé jednoduchosti číhá nejvíc chyb, které celou ochranu rozbijí. Nejde o to, že by JWT bylo špatné řešení, ale o to, jak ho nasadíte. Bezpečnost totiž nekončí u podepsání tokenu, začíná u toho, jak dlouho token žije, co obsahuje a kde ho server ukládá.

Základním pravidlem je používat výstižné názvy proměnných, funkcí a tříd. Místo let x = 5 napište let maxRetries = 5. Název by měl odpovídat tomu, co hodnota skutečně představuje. Vyhněte se zkratkám, které nedávají smysl bez kontextu. Pozor také na boolean proměnné – ty by měly začínat na is, has nebo should, aby bylo jasné, že reprezentují pravdivostní hodnotu.

Další častou chybou je, že lidé do B3du zapisují i úkoly, které nejsou součástí projektu, třeba administrativu nebo osobní záležitosti. To pak znevažuje celý systém. Držte se pravidla: do B3du patří jen to, co souvisí s projektem. Osobní poznámky si nechte v poznámkovém bloku nebo v jiném nástroji. Také se vyvarujte vytváření příliš mnoha štítků a filtrů — jen to prodlužuje hledání. Místo toho si vytvořte maximálně čtyři až pět kategorií, které skutečně používáte.

Should you beloved this post and you would want to get details regarding Https://Jak.Mazovia.Edu.Pl/Index.Php/Jwt_Tokeny,_Které_VáM_Uniknou:_NejčAstěJší_Chyby_PřI_ZabezpečEní_Api i implore you to stop by the web site.