For

První programovací jazyk: jak vybrat a neprohloupit

Prvním krokem je vždy použití parametrizovaných dotazů, ať už pracujete s jakýmkoliv jazykem či frameworkem. Místo skládání řetězce, kde uživatelský vstup přímo vkládáte do SQL příkazu, předáte dotaz jako šablonu s placeholdery a hodnoty dodáte zvlášť. Databázový ovladač se pak postará o jejich bezpečné zakódování. Tento přístup funguje v PHP s PDO, v Pythonu s psycopg2, v Javě s PreparedStatement a podobně. Pokud používáte ORM, mějte na paměti, že i tam lze napsat nebezpečný „raw” dotaz – vždy preferujte vestavěné metody.

Typické chyby, které otevírají dveře útočníkům Nejčastější chybou je konstrukce dotazu pomocí konkatenace řetězců, například napsat „SELECT * FROM uzivatele WHERE jmeno = ‘” . $_GET[‘jmeno’] . “‘”. Stačí pak zadat do pole jména hodnotu jako „’ OR ‘1’=’1″ a podmínka je vždy pravdivá. Podobně nebezpečné je použití funkce mysql_real_escape_string, která sice odfiltruje část znaků, ale při vícebajtových kódováních nebo v kombinaci s jinými kontexty selhává. Dalším častým prohřeškem je přímé vkládání čísel z URL bez ověření, že jde skutečně o číslo – i to lze zneužít.

Na závěr si osvojte jednoduchou zásadu: když test poprvé spustíte, měl by selhat. Pokud hned projde, pravděpodobně jste ho napsali špatně. Zkuste test spustit s očekávanou chybou, třeba s nulou místo čísla, a sledujte, co se stane. Až test projde, zkuste do funkce úmyslně vložit chybu a ověřte, že test skutečně selže. Tento postup vám potvrdí, že test opravdu testuje to, co má. Psaní prvního unit testu není žádná věda – stačí začít u malé, čisté funkce a postupně si osvojit pravidlo: jeden test, jedna kontrola, jedno očekávání.

Obecně platí: vyberte si jeden jazyk a držte se ho alespoň tři měsíce. Přeskakování mezi jazyky je nejrychlejší cesta k tomu, že neumíte pořádně nic. Až budete schopni napsat malý projekt, třeba kalkulačku nebo správce úkolů, teprve pak zkuste něco jiného. Nejdůležitější je konzistence, ne výběr „dokonalého” jazyka. I když zvolíte „špatně”, později se naučíte další jazyk mnohem rychleji, protože logika je všude podobná.

Základním krokem je instalace a konfigurace. Po vytvoření projektu stačí spustit příkaz pro inicializaci, který vytvoří soubor tsconfig.json. V něm si nastavíte mimo jiné cílovou verzi ECMAScriptu, přísnost kontroly nebo to, kam se mají ukládat zkompilované soubory. Důležité je nezapomenout na možnost strict, která zapne nejpřísnější režim typové kontroly. Ze začátku to může být nepříjemné, ale právě to vás donutí psát čistší kód a předejdete mnoha problémům.

Když se řekne databáze, většina vývojářů si představí tabulky s řádky a sloupci, tedy klasický relační model. NoSQL je ale jiná kategorie úložišť, která se od relačních databází liší v několika zásadních ohledech. Nemusí mít pevné schéma, škáluje se horizontálně a často klade důraz na dostupnost nebo výkon nad konzistencí. Než se ale do NoSQL pustíte, měli byste vědět, že to není náhrada za vše – je to nástroj pro konkrétní případy.

Na závěr si zkuste osvojit práci s generickými typy. Umožňují vám psát funkce a komponenty, které pracují s různými datovými typy, aniž byste ztratili typovou bezpečnost. Typický příklad je funkce, která vrací první prvek pole – díky generice si zachováte přesný typ prvku, místo abyste vraceli any. Tím se váš kód stane flexibilnější a zároveň bezpečnější. Nebojte se experimentovat a postupně typy rozšiřovat – čas, který investujete do učení, se vám vrátí na menším počtu chyb a rychlejším ladění.

Kdo chce dělat hry, často sahá po C# nebo Javě. Tyto jazyky jsou silně typované, což znamená, že musíte myslet na datové typy už od začátku. Je to sice náročnější, ale zase vás to donutí psát čistší kód. Pro začátek ale doporučuji zůstat u konzolových aplikací, ne hned skákat do herních enginů. Častý omyl je začít s Unity, aniž byste uměli napsat jednoduchou smyčku. Pak vás čeká frustrace, protože nebudete rozumět ani základům, ani tomu, co engine dělá za vás.

Jak efektivně používat typy a rozhraní Většina vývojářů začíná s primitivními typy jako string, number nebo boolean. Skutečná síla se ale projeví až při práci s objekty a funkcemi. Místo abyste psali funkce s parametry typu any, definujte si rozhraní nebo type alias. Například pro uživatele si vytvoříte rozhraní s vlastnostmi id, name a email. Pak už nemůžete omylem předat funkci číslo místo objektu – kompilátor vás na to upozorní hned. Tím se výrazně snižuje počet chyb při refaktorování nebo při práci v týmu, kde si všichni díky typům rozumějí.

  • ID: 332615

Reviews

There are no reviews yet.

Be the first to review “První programovací jazyk: jak vybrat a neprohloupit”

Your email address will not be published. Required fields are marked *