Jak zkrotit rozložení stránky: Grid a Flexbox v praxi

Aus Rettungsdienst-Wiki
Version vom 21. August 2026, 18:13 Uhr von ShayneD670393 (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Kromě parametrizace je nutné aplikovat princip nejmenších oprávnění. Databázový uživatel, přes kterého aplikace komunikuje, by neměl mít práva na mazání tabulek nebo na čtení systémových tabulek. Pokud dojde k průniku, útočník získá jen omezený rozsah akcí. Dále je vhodné vypnout zobrazování chybových hlášek databáze přímo v odpovědi serveru. Detailní chyby s SQL syntaxí poskytují útočníkovi mapu schématu a u…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Kromě parametrizace je nutné aplikovat princip nejmenších oprávnění. Databázový uživatel, přes kterého aplikace komunikuje, by neměl mít práva na mazání tabulek nebo na čtení systémových tabulek. Pokud dojde k průniku, útočník získá jen omezený rozsah akcí. Dále je vhodné vypnout zobrazování chybových hlášek databáze přímo v odpovědi serveru. Detailní chyby s SQL syntaxí poskytují útočníkovi mapu schématu a usnadňují mu ladění útoku. Místo toho logujte chyby do souboru a uživateli zobrazte obecnou hlášku.

Dalším typickým úkolem je zpracování textových souborů nebo tabulek. Python nabízí knihovny pro práci s daty, které zvládnou čtení, filtrování i zápis do nových souborů. Důležité je dávat pozor na kódování, zejména při práci s českými znaky – vždy specifikujte jako UTF-8, jinak riskujete chyby při čtení. Také se vyhněte pevnému kódování vstupních hodnot: pokud se cesta k souboru nebo filtr změní, měl by váš skript přijímat argumenty z příkazové řádky.

Na závěr: izolované testy reducers a async akcí vám dají jistotu, že stavová logika funguje, aniž byste potřebovali složité testovací prostředí. Stačí dodržet zásady čistých funkcí, mockovat async volání a věnovat pozornost okrajovým případům. Tento postup je rychlý, udržitelný a snadno se integruje do CI. Pokud narazíte na problém, vraťte se k základům – pravděpodobně jde o špatně definovaný mock nebo chybějící await v testu.

SQL injection patří mezi nejzávažnější a zároveň nejčastější zranitelnosti webových aplikací. Útočník do vstupních polí, URL parametrů či hlaviček vloží SQL příkazy, které se pak neoprávněně provedou nad databází. Důsledkem může být únik citlivých dat, jejich smazání nebo dokonce převzetí kontroly nad serverem. Obrana není složitá, ale vyžaduje důslednost a pochopení principu, na kterém útok funguje.

Testování Redux logiky nemusí být nutně svázané s nasazením celé aplikace. Reducery i async akce lze ověřit izolovaně, rychle a spolehlivě – stačí k tomu správně nastavené unit testy. Není potřeba spouštět celý React strom, mockovat HTTP požadavky ani obcházet CORS. Tento přístup vám dá okamžitou zpětnou vazbu a usnadní údržbu stavové logiky.

Praktický postup začíná nastavením testovacího prostředí – stačí vám testovací běžec (např. Vitest nebo Jest) a knihovna pro testování redux logiky, pokud chcete mít po ruce helpery. Pro async akce si připravte mock funkce pro dispatch, která zaznamenává všechny volání do pole. Poté voláte async akci, počkáte na dokončení a porovnáte očekávané akce. Tento přístup nevyžaduje žádné integrační prostředí, protože nepotřebujete renderovat komponenty ani komunikovat se skutečným backendem. Vyhnete se tak nestabilitě testů a zrychlíte jejich běh.

Na pohovor si připravte krátký příběh o projektu, který jste dělali. Vysvětlete, proč jste ho dělali, jaké problémy jste řešili a co jste se naučili. Nebojte se přiznat, co nevíte – u juniorů se to očekává. Ale ukážete, že přemýšlíte, pokud si předem nastudujete základní koncepty: algoritmy, datové struktury, HTTP, relační databáze. Nepodceňujte ani logické úlohy – na pohovorech bývají běžné.

Mezi časté chyby patří testování reducí přes celý store, což zbytečně zapojuje middleware a komplikuje ladění. Dále se stává, že testeři zapomenou na asynchronní povahu thunků a test skončí dřív, než se dispatch dokončí – vždy počkejte na promise. Také se vyplatí testovat akce, které používají getState, protože můžete snadno přehlédnout závislost na konkrétním stavu. Vždy si připravte mock getState s přesně tím stavem, který akce očekává, a ověřte, že z něj správně čte.

Při testování async akcí (např. pomocí Redux Thunk) je klíčové izolovat logiku od reálných API volání. Vytvořte si mock pro fetch nebo axios, který vrací předem definované odpovědi. V testu pak zavoláte async akci s mockovaným dispatch a getState a zkontrolujete, jaké akce byly dispatchnuty. Nezapomeňte na testování úspěšné i chybové větve – tím ověříte, že se korektně odesílají akce pro start, úspěch i selhání. Důležité je také testovat pořadí a počet dispatchnutí, abyste odhalili duplicitní volání nebo chybějící akce.

Prvním technickým krokem je instalace Pythonu a nastavení virtuálního prostředí. Bez virtuálního prostředí riskujete konflikty mezi balíčky z různých projektů, což je častý začátečnický problém. Po vytvoření prostředí si osvojte práci s příkazovou řádkou – to je nezbytný základ pro spouštění skriptů a správu závislostí. Místo psaní celého programu najednou zkoušejte jednotlivé příkazy v interaktivním režimu, abyste okamžitě viděli výsledek.