Na závěr: nespouštějte pytest jen ručně před commitem. Nastavte si, ab…
페이지 정보

본문
Parametrizace nestačí, pokud se do dotazu vkládají názvy tabulek, sloupců nebo klauzule ORDER BY. Tyto části SQL nelze vázat jako hodnoty. Řešením je bílý seznam povolených hodnot, který se porovnává před sestavením dotazu. Další častá chyba je dynamické skládání IN s seznamem čísel nebo filtrů z formuláře. Pokud se seznam skládá z řetězců ze vstupu, vzniká stejná zranitelnost jako u přihlašovacího formuláře. Stejně tak uložené procedury nejsou automaticky bezpečné, když uvnitř používají EXECUTE s připojeným vstupem.
Základní kostra dokumentu se skládá z hlavičky a těla. V hlavičce je , titulek stránky a odkaz na externí styl. V těle je samotný obsah. Externí soubor s příponou .css je lepší než styl psaný přímo do značek, protože se dá použít na více stránkách a snadno se mění. Na začátek souboru patří reset nebo alespoň box-sizing: border-box, aby se šířky a výšky počítaly včetně paddingu a okrajů. Bez toho se prvky rozjíždějí.
Na závěr: nespouštějte pytest jen ručně před commitem. Nastavte si, aby se testy pouštěly automaticky při každé změně, ať už přes editor, nebo přes jednoduchý skript. Výsledek je stejný jako u ručního testování, jen vás přestane bolet hlava z toho, co jste zapomněli zkontrolovat.
Dotazy na více tabulek řešte od nejmenšího výsledku k největšímu. Čím dříve omezíte počet řádků, tím méně práce mají další operace. Nepoužívejte SELECT *, pokud potřebujete tři sloupce. Přenášíte zbytečná data, brzdíte síť i aplikaci a často znemožníte pokrytí dotazu indexem. Podobně se vyhněte korelovaným poddotazům v SELECT, které se spouštějí pro každý řádek. Nahraďte je spojením nebo okenní funkcí.
Jak číst plán dotazu a co v něm hledat V plánu hledejte operace jako full table scan, nested loop přes velké množství řádků nebo sortování na disku. Pokud vidíte sekvenční scan na velké tabulce, chybí vhodný index nebo podmínka není sargable. To znamená, že obalíte sloupec funkcí, například WHERE YEAR(datum) = 2024. Databáze pak nemůže použít index na sloupec datum. Napište podmínku jako rozsah: datum >= '2024-01-01' AND datum <'2025-01-01'. Stejný problém dělá LIKE '%text%', porovnávání s NULL přes = místo IS NULL nebo implicitní převod typů.
Prvním krokem je pojmenovat si kategorie skryté práce ještě předtím, než se řekne jak zařídit malou kuchyniékoli číslo. Mezi typické patří: pochopení existujícího kódu, dohledání souvislostí, úprava InteriéRu domluva s ostatními, příprava dat a prostředí, testování okrajových stavů, opravy po prvním předání a čekání na cizí vstupy. Tyto kategorie se nedají přesně spočítat, ale dají se odhadnout jako podíl. Pomáhá zvyk přidat ke každému úkolu samostatnou položku „režie" místo toho, aby se rozpouštěla v hlavním čísle.
Mezi nejčastější chyby patří zapomenutí mapování portů nebo špatné pořadí argumentů. Příkaz docker run očekává nejprve přepínače, teprve potom název obrazu a případně příkaz, který se má spustit. Další častá chyba je ukládání dat mimo svazek. Také se vyhněte tomu, abyste v Dockerfile používali příkaz COPY . . bez souboru .dockerignore. Zbytečně tak do obrazu zahrnete dočasné soubory nebo citlivá data.
Indexy jsou základ, ale špatně navržený index škodí. Indexujte sloupce, které se objevují v WHERE, JOIN, ORDER BY a GROUP BY. U složených indexů platí pravidlo nejlevnějšího prefixu: databáze použije index jen tehdy, když podmínka začíná prvním sloupcem indexu. Typická chyba je index na sloupec s nízkou selektivitou, třeba na pohlaví nebo příznak aktivní/neaktivní. Takový index databáze raději ignoruje a skenuje celou tabulku.
Kontejnerizace řeší věčný problém: aplikace funguje na vašem počítači, ale na serveru ne. Kontejner zabalí aplikaci i s knihovnami a závislostmi do izolovaného celku, který běží stejně všude. Docker je nástroj, který s kontejnery pracuje. Než začnete, nainstalujte Docker Engine nebo Docker Desktop a ověřte příkazem docker --version, že je dostupný.
Agregace a řazení patří na konec, ale i tam platí opatrnost. ORDER BY bez indexu znamená řazení v paměti nebo na disku. Pokud potřebujete jen prvních několik řádků, použijte LIMIT spolu s vhodným indexem. U GROUP BY zkontrolujte, jestli seskupujete podle sloupců s vysokou selektivitou. Seskupení přes miliony řádků do pár skupin je vždy drahé.
Spuštění a síťování Z obrazu vytvoříte běžící kontejner příkazem docker run. Pokud ho chcete spustit na pozadí, přidejte -d. Pro přístup z prohlížeče je potřeba namapovat porty: -p 8080:80 znamená, že port 80 v kontejneru bude dostupný na portu 8080 vašeho počítače. Data, která mají přežít smazání kontejneru, ukládejte do svazku (volume) pomocí -v. Bez toho přijdete o osvětlení v obývákuše, co aplikace zapíše. Kontejnery se mezi sebou dorozumívají přes vlastní síť, kterou vytvoříte příkazem docker network create. Do stejné sítě pak připojíte více kontejnerů a mohou se volat podle jmen.
When you beloved this information along with you desire to receive details about osvětlení v obýváku i implore you to pay a visit to the web-page.
- 이전글역삼역 항아리 역삼역셔츠룸 [010 9345 2358 역삼역레깅스룸 역삼역란제리룸] 이용 안내|당일 동선 확인 26.10.03
- 다음글상동가라오케 [010] 9345 2358 상동가요장 상동노래방 수준급 상담문의|최종 선택 전 운영 확인 26.10.03
댓글목록
등록된 댓글이 없습니다.
