Efektivní práce s moderními funkcemi jazyka JavaScript > 미얀마한인회

본문 바로가기

미얀마한인업소

Efektivní práce s moderními funkcemi jazyka JavaScript

profile_image
Rosaria
2026-08-22 06:55 2 0

본문

Druhým kritickým bodem je expirace tokenu. Krátká platnost (např. 15 minut) snižuje okno pro zneužití, ale zvyšuje zátěž na přihlašování. Řešením je kombinace krátkodobého přístupového tokenu a dlouhodobého refresh tokenu. Refresh token by měl být uložen na serveru a měl by mít možnost být zneplatněn – například při odhlášení nebo změně hesla. Ukládejte refresh token v HttpOnly cookie, abyste zabránili přístupu z JavaScriptu a snížili riziko XSS útoků.

Při návrhu API myslete na to, že JWT je bezstavový – server si nepamatuje, komu token vydal. To znamená, že pokud uživatele zablokujete, token zůstane platný až do expirace. Proto je vhodné zavést mechanismus pro kontrolu verze tokenu (např. číslo v databázi) nebo krátkou dobu platnosti. Pro odvolání přístupu můžete také udržovat černou listinu JTI (jedinečného identifikátoru tokenu) na serveru, ale to částečně ztrácí výhodu bezstavovosti.

Jak strukturovat state a vyhnout se zbytečné složitosti Nejčastější chybou je ukládání odvozených dat. Máte-li v Reduxu seznam produktů a potřebujete zobrazit jen ty s cenou nad 1000 Kč, neukládejte tento filtrovaný seznam zvlášť. Vytvořte si selektor, který data přepočítá za běhu. Pomocí knihovny reselect můžete selektory memoizovat, takže se výpočet provede jen při změně vstupů. Tím udržíte stav čistý a snadno testovatelný. Navíc se vyhnete synchronizaci dvou polí, která se snadno rozchází.

Základním stavebním kamenem moderního JavaScriptu jsou funkce šipky (arrow functions). If you enjoyed this information and you would certainly such as to receive additional information pertaining to byt v paneláku kindly browse through our web-page. Jejich hlavní výhodou není jen kratší zápis, ale lexikální vazba `this`. U klasických funkcí se `this` odvozuje od kontextu volání, což vede k častým chybám, zejména při práci s událostmi nebo časovači. Funkce šipky si `this` dědí z okolního rozsahu, takže odpadá nutnost používat triky jako `const self = this`. Pozor ale na to, že šipkové funkce nemají vlastní `arguments` a nelze je použít jako konstruktor rady pro rekonstrukci `new`.

Pozor na použití statických metod a stavů. Pokud testujete kód, který spoléhá na statické proměnné nebo na sdílené zdroje (např. databázi, souborový systém), testy se stanou vzájemně závislými a jejich výsledky se mohou měnit v závislosti na pořadí spuštění. Řešením je použít dependency injection nebo alespoň izolovat testy pomocí [SetUp] a [TearDown] metod, které zajistí čisté prostředí pro každý test. Dalším typickým problémem je testování soukromých metod — pokud to není nezbytně nutné, vyhněte se tomu. Testujte veřejné rozhraní, protože to je to, co uživatelé vašeho kódu skutečně používají.

Při práci s asynchronními operacemi se vyhněte psaní vlastních middleware. Použijte standardní řešení jako Redux Thunk nebo Redux Toolkit. Redux Toolkit vám navíc poskytne createSlice, který výrazně zkrátí kód a předejde chybám při psaní akcí a reduktorů. Nezapomeňte na devtools – díky nim můžete cestovat v čase a vidět každou akci. To je neocenitelné při hledání chyb.

Pět praktických otázek před výběrem Než se rozhodnete, položte si pět otázek. Za prvé: potřebujete ukládat data, která nemají pevnou strukturu? Například uživatelské profily, kde každý může mít jiná pole. V takovém případě se dokumentová databáze hodí, protože nevyžaduje předem definované schéma. Za druhé: jaká je velikost dat? Pokud počítáte s miliony záznamů denně, klasická SQL databáze narazí na limity škálování. NoSQL zvládne distribuci přes více uzlů. Za třetí: jaké dotazy budete provádět? Pokud potřebujete složité joiny a transakce s vysokou konzistencí, raději zůstaňte u SQL. Za čtvrté: jaká je očekávaná dostupnost? NoSQL systémy často obětují konzistenci ve prospěch dostupnosti – to se hodí pro aplikace, kde je důležitější, aby systém běžel, než aby data byla v každém okamžiku úplně aktuální. Za páté: jaké máte zkušenosti v týmu? Přechod na NoSQL vyžaduje nové dovednosti a jiný způsob myšlení, což může zpomalit vývoj.

Moderní metody polí jako `map`, `filter`, `reduce` nebo `find` výrazně zjednodušují manipulaci s daty. Místo ruční smyčky s podmínkou a novým polem použijete `filter` a `map` v kombinaci. Typickou chybou je měnit původní pole uvnitř `map` – metoda by neměla mít vedlejší efekty. Vždy vracejte novou hodnotu. `reduce` je mocný nástroj, ale jeho nadužívání vede k nečitelnému kódu – pokud potřebujete jednoduchou sumaci, zvažte, zda není jasnější použít cyklus nebo kombinaci `filter` a `map`.

Když se rozhodnete použít Redux ve své React aplikaci, nejde jen o instalaci balíčku. Jde o změnu myšlení. Redux vám dává jednotný stav, ale špatné použití přinese víc škody než užitku. Základní princip je jednoduchý: celý stav aplikace je uložen v jednom stromu a mění se pouze pomocí akcí a reduktorů. Než rekonstrukce koupelny krok za krokemčnete psát první akci, promyslete, co do globálního stavu skutečně patří. Lokální stavy formulářů, otevřené menu nebo dočasné UI stavy nechte v Reactu. Redux si nechte na data, která potřebuje více komponent, jako je přihlášený uživatel, košík nebo nastavení.

댓글목록0

등록된 댓글이 없습니다.

댓글쓰기 댓글 포인트 안내

적용하기
자동등록방지 숫자를 순서대로 입력하세요.
사이트 내 전체검색
상담신청