JWT tokeny: past, kterou nikdo nehlídá
페이지 정보

본문
Na co si dát pozor při prvním spuštění Když poprvé spustíte docker run, narazíte na dvě úskalí. První je práce s daty. Kontejnery jsou ze své podstaty dočasné – když je smažete, přijdete o všechna data uvnitř. Pokud tedy používáte databázi nebo ukládáte soubory, musíte použít takzvané svazky (volumes). Bez nich se vám po každém restartu ztratí vše, co jste uložili. Druhým častým problémem jsou porty. Kontejner má vlastní síť, takže musíte explicitně propojit port z kontejneru na port hostitele. Jinak se k aplikaci zvenku vůbec nedostanete. Základní příkaz vypadá takto: docker run -p 8080:80 nginx. Tím mapujete port 80 z kontejneru na port 8080 vašeho počítače.
Rozkládání odhadů na analytické fáze a implementaci patří k nejčastějším zdrojům chyb v agile týmech. Většina týmů si myslí, že stačí rozdělit práci na dvě části a odhadnout každou zvlášť. Jenže právě tento zdánlivě logický přístup vede k podcenění návazností, přepisování kódu a nekonečným diskusím. Klíčem není jen rozdělit odhad, ale pochopit, kde vzniká nepřesnost.
Typickou chybou je spoléhání na to, že věci „zaberou jen chvilku". Ověřování hypotéz, experimentování s novými knihovnami nebo ladění drobných nesrovnalostí vyžaduje čas, který se nedá přesně naplánovat. Proto je vhodné přidat ke každému odhadu 20–30 % rezervy, a to zejména u úkolů, které jsou nové nebo málo specifikované. Rezerva nemá být náhodná, ale vycházet z minulých zkušeností s podobnými úkoly.
Třetí past: odhadování na začátku sprintu bez ohledu na minulá data. Pokud nevíte, kolik času reálně zabrala analýza u předchozích příběhů, vaše čísla jsou jen čísla. Vedete si evidenci rozdílu mezi odhadem a skutečností? Pokud ne, začněte. Po každém sprintu si porovnejte odhady a realitu, a to zvlášť pro analytiku a implementaci. Po třech sprintech uvidíte, kde se soustavně chybuje – obvykle jde o podcenění analytiky u příběhů s nejasnými požadavky nebo o nadhodnocení implementace u opakujících se úkolů.
Do odhadu patří také čas na pochopení zadání, dohledání souvislostí v kódu a komunikaci s ostatními členy týmu. Zejména u starších kodebasek zabere hledání příčiny chyby více času než oprava samotná. Doporučuji proto rozložit odhad na jednotlivé fáze: analýza, implementace, kontrola, nasazení a podpora. Každé fázi přiřaďte časový rámec a nezapomeňte na rezervu nábytek na míru neočekávané komplikace, které se vždy objeví.
Další běžnou chybou je ignorování velikosti obrazů. Každá vrstva, kterou byt v paneláku Dockerfile přidáte, se ukládá do mezipaměti. Když ale změníte soubor s příkazy, Docker musí přestavět všechny následující vrstvy. Proto je dobré kopírovat soubory až po instalaci závislostí. Konkrétně: nejprve zkopírujte soubor s balíčky (například package.json), spusťte instalaci, a teprve poté zkopírujte zbytek aplikace. Tím se výrazně zrychlí opakované sestavování. Navíc používání oficiálních obrazů s tagem alpine vám ušetří desítky megabajtů, protože tyto obrazy jsou extrémně minimalizované.
Jakmile začnete kontejnery používat častěji, narazíte i na správu prostředí. Ideální je držet konfiguraci jako proměnné prostředí, ne přímo v obraze. Například hesla nebo API klíče nikdy nepatří do Dockerfile, protože by se tím dostala do historie obrazu a každý, kdo obraz získá, by je viděl. Místo toho použijte soubor .env nebo proměnné předávané přímo při spuštění. Docker-compose umí tyto hodnoty automaticky načítat, takže stačí nastavit environment v definici služby. Tento návyk se vám vyplatí hned, jak začnete nasazovat do produkce.
Další kritický bod je expirace. Token, který nikdy nevyprší, je časovaná bomba. Pokud ho útočník získá, má neomezený přístup. Nastavte proto krátkou životnost – v řádu minut, ne hodin. Ale pozor, příliš krátká expirace zase znamená, že se klient musí často znovu přihlašovat. Řešením jsou refresh tokeny: jeden krátkodobý přístupový token a jeden dlouhodobý obnovovací. Refresh token skladujte odděleně, ideálně na serveru, a při každém použití ověřte, jestli nebyl odvolán. Nezapomínejte ho také rotovat – při každém obnovení vystavte nový a starý zneplatněte. To zabrání tomu, aby ukradený refresh token fungoval pořád dokola.
Než začnete psát první kontejner, potřebujete znát dva základní soubory: Dockerfile a docker-compose.yml. Dockerfile definuje, jak se obraz sestaví. Často začínáte z oficiálního obrazu, třeba s jazykem Python nebo Node, a pak přidáte své soubory a příkazy. Typická chyba začátečníka je instalovat vše do jednoho obrovského obrazu. Místo toho si osvojte pravidlo: jeden kontejner = jedna zodpovědnost. Webový server, databáze a frontend si zaslouží vlastní služby. K jejich propojení pak slouží právě docker-compose, který vám umožní spustit více kontejnerů najednou a definovat jejich vzájemnou komunikaci.
In case you cherished this informative article as well as you want to be given more details about web i implore you to pay a visit to the web-page.
- 이전글비아그라 복용 경험자들이 말하는 실제 효과 26.08.29
- 다음글Scoop Men's Libido Supplements For 2024 & Where to Find Them 26.08.29
댓글목록
등록된 댓글이 없습니다.