Jump to content

Jak zrychlit načítání webu bez zbytečných kompromisů

From Dusty Ways: Rebirth
Revision as of 16:57, 21 August 2026 by GertrudeWilliams (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Větší projekty obvykle vyžadují uspořádání testů do adresářů, ale i zde platí jednoduchá pravidla. Udržujte testy blízko kódu, který testují, a používejte jasné názvy souborů a funkcí. Pokud máte mnoho testů, můžete využít označení (mark) a testovat jen určitou skupinu, ale to až ve chvíli, kdy to skutečně potřebujete. Nejprve se soustřeďte na to, aby testy byly rychlé, spolehlivé a nezahazovaly práci kvůli náhodným selháním. S pytestem to jde efektivně, a jakmile si osvojíte základy, otevře se vám cesta k pokročilejším technikám, jako je parametrizace nebo mockování.

Jak psát první testy a na co si dát pozor Základní test vypadá jako obyčejná funkce začínající slovem test_. Uvnitř pak používáte assert pro ověření, že se chování shoduje s očekáváním. Například pokud máte funkci na sčítání, test může vypadat takto: def test_soucet(): assert soucet(2, 3) == 5. Nezapomeňte, že pytest automaticky najde soubory pojmenované test_*.py a funkce test_*. Spouštíte to příkazem pytest v terminálu, který vypíše přehled o tom, kolik testů prošlo a kolik selhalo.

COPY . .

Nejčastějším viníkem bývají neoptimalizované obrázky. Fotografie z mobilu často váží i několik megabajtů, přestože na webu stačí rozlišení 1600 pixelů. Použijte formát WebP nebo AVIF, které při stejné kvalitě zaberou zlomek původní velikosti. U obrázků nastavte atributy šířky a výšky, aby prohlížeč nezaznamenal layout shift, který zhoršuje metriky CLS. Dále zapněte líné načítání (lazy loading) pro obrázky pod okrajem obrazovky, ale ne pro ty v horní části, které jsou klíčové pro první dojem.
Nakonec si nastavte automatizaci, která vás podrží. Použijte hooky (např. před commit) pro kontrolu formátování nebo běh testů. Většina nástrojů na správu repozitářů umožňuje také pravidla pro slučování – vyžadujte třeba minimálně jeden souhlas z review. Tím se vyhnete situaci, kdy někdo sloučí vlastní PR bez kontroly. A hlavně: komunikujte. Git workflow funguje jen tehdy, když se na něm všichni shodnou. Pravidelně ho revidujte a přizpůsobujte potřebám týmu.

Kromě technik na straně aplikace nezapomínejte ani na oprávnění databázového uživatele. Pro běžný provoz aplikace nepoužívejte účet s administrátorskými právy. Vytvořte si účet, který má přístup pouze k potřebným tabulkám a operacím (SELECT, INSERT, UPDATE, DELETE). Tím omezíte škody, i když se útočníkovi podaří injekci provést. Pravidelně provádějte bezpečnostní testy, včetně automatických skenerů, a kontrolujte logy na podezřelé dotazy.

SQL injection patří mezi nejčastější a nejnebezpečnější zranitelnosti webových aplikací. Útočník může díky ní číst, měnit nebo mazat data v databázi, obejít přihlášení nebo získat úplnou kontrolu nad serverem. Příčinou je téměř vždy nedostatečné ošetření uživatelského vstupu při sestavování SQL dotazů. Místo toho, abyste se spoléhali na štěstí, naučte se základní obranné techniky, které aplikaci efektivně ochrání.
Pro každou novou funkci nebo opravu vytvořte samostatnou větev. Pojmenujte ji výstižně, ideálně podle čísla úkolu nebo krátkého popisu, například feature/prihlasovani nebo fix/oprava-tlacitka. Nezapomeňte pravidelně aktualizovat svou větev z hlavní, abyste minimalizovali konflikty při slučování. Ideální je to udělat před každým větším krokem a určitě před vytvořením pull requestu. Konfliktům se nevyhnete úplně, Should you cherished this article in addition to you desire to be given more info with regards to Https://Coe-Schule.De i implore you to check out our own internet site. ale časté slučování zmenší jejich rozsah a usnadní řešení.

Příkladem z praxe je použití prepared statements v jazyce PHP s PDO nebo v Javě s PreparedStatement. Vždy předávejte hodnoty jako parametry, nikdy je nevsazujte přímo do dotazu. Tím zajistíte, že databáze interpretuje vstup jako data, ne jako příkazy. Pokud pracujete s frameworkem, použijte jeho ORM nebo query builder, které parametrizaci řeší rekonstrukce koupelny krok za krokem vás. Vyhněte se ale přímému psaní raw SQL, pokud to není nezbytně nutné.

Častým problémem bývá špatné nastavení hlaviček, zejména Content-Type a Accept. Při odesílání JSON těla musíte nastavit Content-Type: application/json, jinak server nemusí požadavek správně zpracovat. Podobně u autorizace – mnoho API vyžaduje hlavičku Authorization s tokenem, který se může měnit. Uložte si token barvy stěn do obýváku proměnné a používejte jej v hlavičce jako token. Vyhnete se tak ručnímu kopírování hodnot a chybám při překlepu. Další častou chybou je ignorování odpovědí s chybovým stavem – vždy si prohlédněte tělo odpovědi i při 400 a 500, protože obsahuje důležité informace pro ladění.

Git je pro týmovou spolupráci nezbytný, ale bez jasných pravidel se rychle změní v chaos. Nejčastější problém? Všichni dělají commity přímo do hlavní větve, což vede ke konfliktům a ztrátě přehledu. Začněte proto tím, že si definujete hlavní větev (např. main) jako jediné stabilní místo pro produkční kód. Veškerá práce by měla probíhat ve vedlejších větvích, které se po dokončení sloučí. Tím získáte historii, kterou lze snadno číst a v případě potřeby i vrátit.