JWT tokeny: past, kterou nikdo nehlídá
Pamatujte, že žádné univerzální řešení neexistuje. Špatná volba se projeví až po měsících provozu, kdy předělání API stojí násobně víc než správné rozhodnutí na začátku. Proto si naplánujte, co bude vaše API reálně dělat za rok, ne za týden. Testujte na reálných datech, ne na vzorových příkladech. A hlavně – nenechte se zlákat marketingovými přísliby, ale vycházejte z vlastních měření a požadavků vašich uživatelů.
Další častou chybou je ignorování automatických kontrol. Mnoho projektů používá nástroje pro statickou analýzu, formátování nebo testy, které běží po odeslání pull requestu. If you cherished this article and you simply would like to collect more info regarding koukněte sem please visit our internet site. Pokud kontrola selže, zjistěte proč a opravte to. Než požádáte o recenzi, projděte si vlastní změny a porovnejte je s okolním kódem. Pokud si nejste jistí nějakým rozhodnutím, zeptejte se – ale nejprve zkuste najít odpověď v dokumentaci nebo v existujících diskuzích. Komunita ocení, když nekladete zbytečné otázky.
Pokud jste vyloučili problémy s indexy a strukturou dotazu, zaměřte se na samotné schéma. Někdy je výhodné mít denormalizované tabulky, které obsahují předpočítané hodnoty, než abyste je počítali v dotazu. To je ale kompromis, který se má dělat vědomě. Než se k takovému kroku rozhodnete, zkuste dotaz optimalizovat pomocí existujících nástrojů, jako je právě EXPLAIN, a zjistěte, jestli se nedá přepsat tak, aby ke spojování tabulek vůbec nedocházelo.
Na závěr se zaměřte na zpětnou vazbu. Rychlost pipeline je důležitá, ale přehlednost výstupů ještě více. Používejte podmínky if na úrovni kroků, aby se selhání testů zobrazilo jasně a hned bylo vidět, která část selhala. Využijte možnosti přidávat anotace do pull requestů a nechte se upozornit na problémy přímo v diskuzi. Dobrý pipeline není ten, který nikdy neselže, ale ten, u kterého rychle najdete příčinu selhání a opravíte ji dřív, než se problém dostane k uživatelům.
Další past je v tom, jak token ověřujete. Každý požadavek, který přijde, by měl projít kompletní validací: podpis, expirace, audience, issuer. Vynechat jedinou z těchto kontrol znamená, že někdo může token podvrhnout nebo použít starý po expiraci. Nezapomínejte také na to, Miklagaard.No že podpis není totéž co ověření identity. Podpis jen říká, http://Wiki.philipphudek.de že token vystavil váš server, ale neříká, že ten, kdo ho předkládá, je skutečně ten, komu byl vydán. To je práce pro autorizaci – ověřte, že uživatel má právo na danou operaci, ne jen to, že token je platný. Teprve kombinace obojího dělá API opravdu zabezpečené.
Na závěr si uvědomte, že pyramida není dogma. Někdy je lepší mít více integračních testů, pokud je vaše doména propojená s externími systémy. Jindy zase stačí pár dobře mířených E2E testů pro hlavní uživatelské scénáře. Klíčové je, abyste o struktuře testů přemýšleli vědomě a pravidelně ji revidovali. Testy, které nevíte, proč existují, jsou jen zátěž navíc.
Optimalizace SQL dotazů není o tom, abyste přepsali každý příkaz podle šablony. Jde o to, abyste věděli, kde se výkon skutečně ztrácí. Prvním krokem je měření. Zkuste si zapnout logování pomalých dotazů nebo použijte EXPLAIN ANALYZE. Tento příkaz vám ukáže, kolik času jednotlivé kroky plánu skutečně zaberou, a hlavně kde dochází k sekvenčnímu prohledávání tabulky. Bez těchto údajů budete jen hádat, a to obvykle vede k úpravám, které nic nezlepší.
Automatizace testů a nasazování není luxus, ale nutnost, jakmile projekt překročí velikost jednoduchého skriptu. GitHub Actions nabízí robustní prostředí přímo v repozitáři, které zvládne sestavit aplikaci, spustit testy i nasadit na produkci. Klíčové je pochopit, že celý pipeline se definuje jako YAML soubor ve složce .github/workflows. Nemusíte tak opouštet prostředí GitHubu a vše máte pod kontrolou verzováním.
Když chcete začít přispívat do open source projektů, první překážkou bývá nejistota. Nemusíte hned psát tisíce řádků kódu. Začněte tím, že si vyberete projekt, který skutečně používáte, a prozkoumáte jeho dokumentaci. Většina projektů má na hlavní stránce sekci pro přispěvatele, kde najdete informace o tom, jak nahlásit chybu, jak posílat opravy a jaké konvence se v komunitě dodržují. Než cokoli uděláte, přečtěte si soubor s pokyny pro přispěvatele a také pravidla chování – jejich porušení může vést k tomu, že vaše práce bude ignorována.
Při psaní kroků dávejte pozor na kontext, ve kterém se příkaz spouští. Jednotlivé kroky běží ve výchozím shellu, ale pokud potřebujete proměnnou z jednoho kroku použít úložné prostory v malém bytě dalším, musíte ji zapsat do souboru GITHUB_ENV. Jinak by byla dostupná pouze v rámci jednoho kroku. Stejně tak se vyvarujte spoléhání na to, že se pracovní adresář mezi joby zachová. Každý job startuje na čistém virtuálním stroji a je nutné si znovu naklonovat repozitář nebo nahrát artefakty. To je častý zdroj záhadných selhání, kdy lokálně vše funguje, ale pipeline hlásí chybu.
등록된 댓글이 없습니다.