Welcome to Freeweb-apps.info QtoA, where you can ask questions and receive answers from other members of the community.
0 votes
Komenty piš tam, kde vysvětlují proč, ne co. // zvýšíme počítadlo nad i++ je zbytečný. // API vrací data bez pole items, proto kontrola má smysl. Stejně tak se vyhni zakomentovanému kódu, který tam zůstal po experimentu. Buď ho smaž, nebo si ho nech v historii změn. V editoru nemá co dělat.

Instalace je přímočará. Vytvořte virtuální prostředí, aktivujte ho a nainstalujte pytest pomocí správce balíčků. Ověření provedete příkazem pytest --version. Testy se ukládají do souborů, jejichž název začíná na test_ nebo končí na _test. Samotné testovací funkce musí mít také prefix test_. pytest je sám najde bez jakékoli registrace. Spuštění je pak otázkou příkazu pytest v kořeni projektu. Pro podrobnější výstup použijte pytest -v, pro zastavení po první chybě pytest -x.

První práce v IT rozhoduje o tempu, jakým se naučíš přemýšlet o kódu. Když nastoupíš na místo, kde se jen opravují staré chyby a nikdo nic nevysvětluje, zůstaneš stát. Když naopak narazíš na tým, který reviduje kód a diskutuje o návrhu, posuneš se za rok dál než jiní za tři. Nejde o firmu na vizitce, ale o to, kdo ti bude číst pull requesty a co ti v nich napíše.

Šablonové literály řeší skládání řetězců elegantně. Místo nekonečného spojování plusy použijte zpětné apostrofy a $promenna. Uvnitř lze psát i víceřádkový text, což oceníte u HTML šablon. Častá chyba je zapomenutí zpětných apostrofů nebo záměna za běžné uvozovky. Dalším pomocníkem jsou výchozí parametry funkcí. function pozdrav(jmeno = 'návštěvníku') zajistí, že funkce nespadne, když argument chybí. Dejte si ale pozor na hodnotu null — výchozí hodnota se použije jen při undefined, nikoli při null.

Základní kostra HTML dokumentu má vždy stejnou strukturu. Na začátku je deklarace typu dokumentu, následuje kořenový element, uvnitř něj hlavička a tělo. V hlavičce se nastavuje kódování znaků a titulek stránky, v těle je samotný obsah. Kódování je potřeba nastavit správně hned na začátku, jinak se diakritika zobrazí jako náhodné znaky. Kdo tohle opomene, stráví pak hodiny hledáním chyby, která vznikla jedním chybějícím atributem.

Poslední oblastí jsou moduly. import a export nahrazují staré globální proměnné a okamžitě zpřehlední strukturu projektu. Při importu používejte relativní cesty a pojmenované exporty. Pokud exportujete výchozí hodnotu, importujte ji bez složených závorek. Častá chyba je cyklická závislost, kdy modul A importuje B a B importuje A. Tomu se vyhněte rozdělením kódu nebo přesunem společné logiky do třetího modulu. Moderní JavaScript není o tom naučit se všechny novinky nazpaměť, ale vědět, kdy kterou použít a kde naopak zvolit starší, ale bezpečnější postup.

Migrace z MySQL do PostgreSQL vypadá na první pohled jako převod tabulek a přenos dat. Většina selhání ale nevznikne kvůli samotnému přenosu, nýbrž kvůli rozdílnému chování obou systémů, které se naplno projeví až po nasazení do provozu. Pokud se na tyto odlišnosti nepřipravíte předem, aplikace začne vracet chyby nebo tiše vracet jiné výsledky než dřív.

První zásadní věcí je deklarace proměnných. Místo var používejte let a const. let použijte tam, kde se hodnota bude měnit, const všude jinde. Blokový rozsah platnosti zabrání nechtěnému přepsání proměnné ve vnější funkci. Typická chyba je, že někdo dá const poli nebo objektu a diví se, že s ním nemůže manipulovat. const neznamená neměnnost obsahu, pouze neměnnou vazbu. Pokud potřebujete skutečně neměnný objekt, musíte sáhnout po jiných technikách, jako je zmrazení nebo kopírování.

Před samotným přenosem si připravte testovací prostředí se stejnou verzí PostgreSQL, jakou plánujete v provozu. Data exportujte po částech, ne jedním velkým souborem, a průběžně kontrolujte počty řádků a kontrolní součty u klíčových tabulek. Po importu ověřte cizí klíče, indexy a sekvence – u sekvencí je častou chybou, že začínají od jedné a kolidují s už vloženými hodnotami. Teprve potom spouštějte aplikaci.

Další pastí je citlivost na velikost písmen. PostgreSQL převádí neuzavřené identifikátory na malá písmena, kdežto MySQL je na některých platformách nerozlišuje vůbec. Dotazy, které dřív fungovaly, mohou po migraci selhat na neexistující tabulku. Stejně tak LIMIT, OFFSET nebo implicitní přetypování řetězců na čísla se chovají odlišně. Aplikační vrstvu je proto nutné projít a otestovat, ne jen přenést schéma.

Šipky, rozbalování a další každodenní pomocníci Arrow funkce jsou krátké a přebírají this z okolního kontextu. To je výhoda v metodách pole, ale problém v objektech, kde potřebujete vlastní this. Pokud si nejste jistí, raději použijte klasickou funkci. Rozbalování objektů a polí výrazně zkracuje kód. Například const jmeno, vek = uzivatel; vytáhne vlastnosti do samostatných proměnných. Pozor na kolizi názvů — pokud už proměnná existuje, musíte ji přejmenovat pomocí dvojtečky. U polí funguje podobně [prvni, druhy] = pole;, ale nezapomeňte, že se jedná o přiřazení, ne o kopii celého pole.
by (120 points)

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
...