Jump to content

První kroky s Pythonem pro automatizaci: praktický průvodce

From Dusty Ways: Rebirth

Dalším krokem je komprese textových souborů. Server může posílat HTML, CSS a JavaScript ve zmenšené podobě, prohlížeč je pak automaticky rozbalí. Toto nastavení najdete v konfiguraci webového serveru. Nevhodné je ale vše komprimovat – moderní formáty obrázků jsou často už samy komprimované a další stlačení jim nepomůže. Také si dejte pozor, abyste nekomprimovali soubory, které jsou už tak malé, protože to jen zbytečně zatěžuje procesor.

První kroky: obrázky a komprese Začněte s obrázky – tvoří obvykle největší část přenesených dat. Místo uložení fotky o šířce 2000 pixelů a jejím zmenšení pomocí HTML použijte optimalizovaný soubor o skutečné velikosti zobrazení. Formát WebP nebo AVIF nabízí výrazně menší velikost při zachované kvalitě. Pokud musíte použít klasický JPG, zkuste nástroj pro kompresi bez ztráty kvality. Pozor na další častý problém: několik velkých fontů. Omezte jejich počet a použijte systémové písmo, kdykoli je to možné.

Mezi typické chyby patří nevyužití mezipaměti prohlížeče. Když nastavíte správné hlavičky, nemusí se opakovaně stahovat stejné logo, styly nebo skripty. U dynamického obsahu si ale rozmyslete, co necháte ukládat – například osobní údaje nebo košík by se ukládat neměly. Pomocí atributů rel="preload" a rel="preconnect" můžete prohlížeči napovědět, co načíst přednostně, a urychlit tím vykreslení první obrazovky.

Jak využít standardní knihovny a vyhnout se běžným chybám Python má vestavěné moduly jako `os` a `shutil`, které umožňují práci se soubory a složkami. Například `os.listdir()` vrátí obsah složky, `shutil.move()` přesune soubor. Typickou chybou začátečníků je nezohledňovat různé operační systémy – cesty k souborům se liší (Windows používá zpětná lomítka, Linux a macOS lomítka). Používejte proto funkci `os.path.join()`, která správně sestaví cestu podle systému.

Výběr open source licence je jedním z nejdůležitějších rozhodnutí, které jako vývojář uděláte. Licenční podmínky určují, jak mohou ostatní váš kód používat, upravovat a šířit. Špatná volba může vést k právním problémům nebo k tomu, že váš kód skončí v projektu, s jehož filozofií nesouhlasíte. Než začnete hledat konkrétní licenci, položte si základní otázky: Chcete, aby každý mohl kód použít bez omezení, nebo chcete, aby úpravy zůstaly otevřené?

Když jako JavaScriptový vývojář poprvé otevřete soubor s příponou .ts, může vás napadnout, že jde jen o další nadstavbu, která vám přidělá práci. Opak je pravdou. TypeScript je nadmnožina JavaScriptu, která do vašeho kódu přidává statické typování. To znamená, že mnoho chyb odhalíte už při psaní, ne až za běhu v prohlížeči. Nemusíte se bát, že byste museli vše přepisovat – stačí začít postupně a typy přidávat tam, kde vám dávají smysl.

Pro automatizaci webových úloh, jako je stahování dat, použijte knihovny `requests` a `BeautifulSoup`. Nejdřív si zkontrolujte, zda web, který chcete scrapovat, nemá ve svých pravidlech zákaz automatizace – jinak se vystavujete riziku blokace IP adresy. Při práci s časovými intervaly (např. čekání mezi požadavky) vždy používejte `time.sleep()`, aby server nebyl přetížen.

Důležité je také formálně správné uvedení licence v repozitáři. Nestačí jen přidat soubor s textem licence do složky. Měli byste do každého zdrojového souboru uvést hlavičku s odkazem na licenci a autorem. To usnadní budoucí správu a právní průhlednost. Vyhněte se vytváření vlastních licencí – většinou nejsou právně ošetřené a odrazují potenciální přispěvatele. Místo toho zvolte standardní, ověřenou licenci, která má jasně definovaná pravidla.

Při výběru zohledněte i to, jakou komunitu chcete kolem projektu vybudovat. Pokud plánujete, že se na vývoji bude podílet mnoho lidí, permisivní licence snižuje bariéry pro přispění, protože lidé nemusí řešit právní otázky. Naopak copyleft může být vhodný pro nástroje, kde chcete, aby všechny vylepšení zůstaly veřejné. Dobrým zvykem je také zveřejnit licenci hned na začátku projektu, ne až později – změna licence po vydání kódu může být komplikovaná a vyžadovat souhlas všech přispěvatelů.

Další pastí je nesprávné použití union typů. Například pokud má funkce přijímat číslo nebo řetězec, nemůžete s takovým parametrem jen tak provádět aritmetické operace. Musíte nejprve zúžit typ pomocí podmínky nebo funkce typeof. Jinak vám kompilátor právem vyhodí chybu. Podobně dopadnete, pokud se pokusíte přistupovat k vlastnostem objektu, který může být null nebo undefined. Právě tady oceníte volitelné řetězení nebo operátor !, který říká, že hodnota určitě existuje – ale používejte ho střídmě, protože snadno zamaskujete skutečný problém.