Přechod z MySQL na PostgreSQL, který nepodceníte: Różnice pomiędzy wersjami

Z Mazovia
Utworzono nową stronę "Příklady jsou důležitější než popis parametrů Místo strohého seznamu atributů uveďte konkrétní příklad požadavku a odpovědi. Ukažte reálný JSON, ideálně s hodnotami, které odpovídají skutečným datům – ne „string", ale „název produktu". Přidejte i příklad chybové odpovědi, ať frontend ví, co má očekávat. Dobře funguje i krátký úryvek volání z javascriptu, ale bez nadbytečných knihoven – stačí fetch s hlavič…"
 
mNie podano opisu zmian
 
Linia 1: Linia 1:
Příklady jsou důležitější než popis parametrů Místo strohého seznamu atributů uveďte konkrétní příklad požadavku a odpovědi. Ukažte reálný JSON, ideálně s hodnotami, které odpovídají skutečným datům – ne „string", ale „název produktu". Přidejte i příklad chybové odpovědi, ať frontend ví, co má očekávat. Dobře funguje i krátký úryvek volání z javascriptu, ale bez nadbytečných knihoven – stačí fetch s hlavičkami. Tyto příklady by měly být kompletní a zkopírovatelné, aby si je vývojář mohl rovnou vložit do konzole a vyzkoušet.<br><br>Zkontrolujte také, kolikrát načítáte stejné soubory. Častý nešvar je vložit jQuery do hlavičky, pak ho znovu do patičky a ještě jednou do šablony. Prohlížeč sice soubor stáhne jen jednou, ale kód se pokaždé znovu zpracuje. Použijte nástroj pro kontrolu zdrojového kódu a vyhledejte duplicity. U externích fontů si dejte pozor na to, kolik řezů načítáte. Čtyři řezy písma znamenají čtyři soubory, přičemž pro běžný text stačí dva. Fonty navíc nechte načítat až po načtení hlavního obsahu, ať neblokují první vykreslení.<br><br>Při testování výkonu se zaměřte na spotřebu paměti a baterie. Spusťte aplikaci, projděte několik obrazovek a vraťte se na hlavní. Sledujte, jestli paměť roste a jestli aplikace nezpomaluje. Pro měření využijte nástroje přímo v operačním systému, ale hlavně si všímejte subjektivního dojmu – dlouhé načítání nebo sekání při scrollování je pro uživatele nepřijatelné. Typická chyba je optimalizovat výkon až na konci, ale to už je aplikace plná závislostí, které se špatně mění.<br><br>Než otevřete vývojové prostředí, rozhodněte se, jakou cestou se vydáte. Nejrozšířenější je Kotlin, který je moderní a stručný, ale pro úplného začátečníka může být matoucí kvůli syntaxi, která skrývá mnoho detailů. Já osobně doporučuji začít s Javou – má obrovské množství starších tutoriálů a chybové hlášky jsou srozumitelnější. Když pochopíte základy objektového přístupu v Javě, přechod na Kotlin pak trvá pár dní. Naopak pokud začnete přímo Kotlinem, riskujete, že nebudete rozumět, proč některé věci fungují tak, jak fungují.<br><br>Jak poznáte, že je na vině JavaScript? JavaScript dokáže zablokovat vykreslení celé stránky. Pokud máte v hlavičce několik externích skriptů, prohlížeč čeká, až se každý stáhne a spustí, teprve potom zobrazí obsah. Řešení spočívá v jednoduché změně pořadí: skripty, které nejsou nezbytné pro první obrazovku, přesuňte na konec těla stránky. Když to nejde, použijte atribut defer, který zajistí, že se skript spustí až po zpracování HTML. Vyhněte se ale tomu, abyste na stránku nahrávali deset různých knihoven, když vám stačí dvě. Každý další soubor znamená další požadavek na server a další šanci na zpoždění.<br><br>Další častou chybou je ignorování expirace tokenu. JWT obsahuje pole exp, ale pokud ho nenastavíte nebo nastavíte příliš dlouhou platnost, otevíráte dveře útočníkům, kteří ukradnou token a používají ho týdny. Nastavte expiraci na rozumnou dobu – obvykle 15 minut až několik hodin – a pro delší přístup použijte obnovovací tokeny, které mají vlastní životní cyklus a lze je bezpečně zneplatnit. Navíc vždy ověřujte nejen expiraci, ale i čas vydání (iat) a případně čas nepoužitelnosti (nbf), abyste zabránili použití tokenů, které ještě nebyly aktivovány.<br><br>Pozor na častý neduh: dokumentace popisuje jen šťastnou cestu. Nikde se nepíše, co se stane, když přijde neplatné ID, chybějící povinné pole nebo příliš dlouhý řetězec. Frontend pak musí tyto situace pracně zjišťovat pokusy a omyly. Přidejte proto ke každému endpointu sekci „Možné chyby" s HTTP statusem a tvarem chybové odpovědi. Ušetří to hodiny práce a zbytečných dotazů na backend.<br><br>Začněte u manuálního testování. Vezměte si reálné zařízení, ne jen emulátor. Emulátor neodhalí problémy s výkonem, které způsobí slabší hardware, ani neověří chování při přepínání mezi aplikacemi. Při ručním testu si napište scénáře, které pokrývají hlavní uživatelské cesty: registrace, přihlášení, platba, synchronizace dat. Typická chyba je testovat jen „šťastnou cestu" – tedy bez chybových stavů. Zkuste zadat špatné heslo, přerušit připojení nebo odejít z obrazovky uprostřed operace. To je místo, kde se většina chyb skutečně schovává.<br><br>Víte, co děláte s claims a podpisem? Claims neboli tvrzení uvnitř tokenu byste měli vždy omezit na minimum. Nepoužívejte JWT jako úložiště citlivých údajů – role, oprávnění, e-maily, natož hesla nebo osobní údaje. Token je totiž podepsaný, ale ne šifrovaný; kdokoli, kdo ho získá, si ho může dekódovat a přečíst. Pokud potřebujete předávat informace, které mají zůstat důvěrné, použijte šifrovaný token JWE nebo lépe: přenášejte pouze identifikátor uživatele a zbytek si načtěte z databáze. Také si dejte pozor na to, co děláte s veřejným klíčem – pokud používáte RS256, veřejný klíč by měl být opravdu veřejný, ale nikdy ne privátní. Záměna klíčů je bohužel častá a vede k tomu, že útočník může podepisovat tokeny.
Dalším častým problémem je převod znakových sad a řazení. Ujistěte se, že používáte UTF-8, a zkontrolujte, zda v datech nejsou binární hodnoty nebo NULL. PostgreSQL je striktnější v práci s NULL a s prázdnými řetězci. Při migraci dat přes nástroje jako pgloader nebo ručně psané skripty si ověřte, že prázdné řetězce v MySQL nejsou interpretovány jako NULL v PostgreSQL. To může změnit výsledky dotazů a chování aplikace.<br><br>Jak si ověřit, že vám jazyk sedne, než do něj investujete měsíce Otevřete si oficiální dokumentaci a zkuste napsat první program podle příkladu. Pokud vám zápis připadá jako řečtina, zkuste jiný jazyk. Důležité je, abyste rozuměli každému řádku, ne jen kopírovali. Dále si najděte tři různé tutoriály na stejné téma – pokud je pochopíte bez hledání dalších zdrojů, máte vyhráno. Pozor na falešné začátečnické jazyky, které sice vypadají jednoduše, ale v praxi vás nenaučí základy, jako jsou proměnné, cykly nebo podmínky.<br><br>Než začnete hledat konkrétní jazyk, položte si dvě otázky: co chcete tvořit a jak dlouho vydržíte u nudných základů. Webová aplikace, datová analýza, automatizace nebo hra – každá oblast má svého favorita. Pokud zatím nevíte, zkuste univerzální jazyk, který vám umožní přejít jinam, aniž byste začínali od nuly. Typická chyba začátečníka je vybrat si jazyk podle popularity, ne podle toho, co ho baví. Python sice dominuje v kurzech, ale pokud vás láká vývoj mobilních aplikací, budete se trápit.<br><br>Když se rozhodnete naučit programovat, C# je volba, která vás nezradí. Než otevřete vývojové prostředí, ujasněte si, co chcete vytvořit. Nejlepší start představuje konzolová aplikace – program, který běží v okně příkazového řádku. Nepotřebujete žádné grafické rozhraní, složité knihovny ani databáze. Stačí vám textový editor a překladač. První projekt vytvoříte během pěti minut, ale pozor: i jednoduchý program skrývá nástrahy, které začátečníky typicky zaskočí.<br><br>Typický omyl je přeskakovat cvičení a hned stavět velký projekt. Bez procvičení malých úloh nepochopíte, jak funkce spolupracují. Naopak přílišná teorie vás zdrží – čtete o třídách, ale nevíte, k čemu je použít. Vyberte si jeden zdroj (knihu, kurz nebo interaktivní platformu) a projděte ho celý. Když narazíte na problém, zkuste ho vyřešit sami, ale maximálně 20 minut. Poté hledejte řešení, ale vždy nejdřív vysvětlete, co děláte, někomu jinému – i to je forma učení.<br><br>Co si pohlídat při prvním kole výběrového řízení Když už vás pozvou na technický pohovor, většinou nejde o to, abyste napsali dokonalý algoritmus. Spíše se testuje, jak přemýšlíte a jak se vypořádáte s neznámým zadáním. Typická chyba začátečníků je, že se snaží úlohu vyřešit co nejrychleji a zapomenou se ptát. Zeptejte se na očekávané vstupy, na výkonnostní limity a na to, co se stane, když přijdou nulová data. Tím ukážete, že uvažujete v souvislostech, a ne jen mechanicky.<br><br>Častým nešvarem je práce na více feature větvích z jednoho lokálního klonu bez přepínání mezi nimi. Pokud máte rozjeté tři větve a v každé děláte něco jiného, snadno se stane, že začnete commitovat změny do nesprávné větve. Řešením je buď používat samostatné pracovní adresáře pro každou větev, nebo důsledně kontrolovat aktuální větev před každým commitem a pull requestem. Mnoho vývojářů si také plete stav v lokálním úložišti se stavem na vzdáleném serveru. Než začnete novou práci, vždy si stáhněte nejnovější změny a porovnejte, jestli vaše lokální větev odpovídá té vzdálené.<br><br>První práce v IT není o tom, že umíte nazpaměť všechny datové struktury. Firmy běžně hledají lidi, kteří zvládnou rozchodit malý projekt a komunikovat o něm. Než začnete rozesílat životopisy, zkuste si na svém počítači postavit jednoduchou aplikaci — třeba správce úkolů nebo evidenci výdajů. Důležité je, abyste prošli celým cyklem: od návrhu přes kód až po nasazení na veřejný server. Tím získáte konkrétní zkušenost, o které se v pohovoru snadno mluví.<br><br>Nejlepší první volba je taková, která má rychlou zpětnou vazbu a přívětivou syntaxi. Python a JavaScript jsou pro začátek ideální – krátký zápis, čitelný kód a obrovská komunita. U Pythonu se soustřeďte na automatizaci a datové zpracování, u JavaScriptu na interaktivní prvky webu. Když začnete s C++ nebo Javou, čeká vás více technických detailů, které odvádějí pozornost od logiky. Neznamená to, že jsou špatné, ale pro první měsíce učení představují zbytečnou zátěž.<br><br>Před odesláním životopisu si ověřte, jestli inzerát nevyžaduje konkrétní portfolio. Pokud ano, připravte si tři až čtyři projekty, které jsou dostupné online a mají čitelný kód. Nestačí, že něco běží na lokálním počítači. Vytvořte veřejný repozitář, přidejte README s popisem a napište, co jste se při stavbě naučili. To je jeden z nejefektivnějších způsobů, jak se odlišit od ostatních uchazečů, kteří mají stejný kurzovní certifikát.

Aktualna wersja na dzień 03:26, 29 sie 2026

Dalším častým problémem je převod znakových sad a řazení. Ujistěte se, že používáte UTF-8, a zkontrolujte, zda v datech nejsou binární hodnoty nebo NULL. PostgreSQL je striktnější v práci s NULL a s prázdnými řetězci. Při migraci dat přes nástroje jako pgloader nebo ručně psané skripty si ověřte, že prázdné řetězce v MySQL nejsou interpretovány jako NULL v PostgreSQL. To může změnit výsledky dotazů a chování aplikace.

Jak si ověřit, že vám jazyk sedne, než do něj investujete měsíce Otevřete si oficiální dokumentaci a zkuste napsat první program podle příkladu. Pokud vám zápis připadá jako řečtina, zkuste jiný jazyk. Důležité je, abyste rozuměli každému řádku, ne jen kopírovali. Dále si najděte tři různé tutoriály na stejné téma – pokud je pochopíte bez hledání dalších zdrojů, máte vyhráno. Pozor na falešné začátečnické jazyky, které sice vypadají jednoduše, ale v praxi vás nenaučí základy, jako jsou proměnné, cykly nebo podmínky.

Než začnete hledat konkrétní jazyk, položte si dvě otázky: co chcete tvořit a jak dlouho vydržíte u nudných základů. Webová aplikace, datová analýza, automatizace nebo hra – každá oblast má svého favorita. Pokud zatím nevíte, zkuste univerzální jazyk, který vám umožní přejít jinam, aniž byste začínali od nuly. Typická chyba začátečníka je vybrat si jazyk podle popularity, ne podle toho, co ho baví. Python sice dominuje v kurzech, ale pokud vás láká vývoj mobilních aplikací, budete se trápit.

Když se rozhodnete naučit programovat, C# je volba, která vás nezradí. Než otevřete vývojové prostředí, ujasněte si, co chcete vytvořit. Nejlepší start představuje konzolová aplikace – program, který běží v okně příkazového řádku. Nepotřebujete žádné grafické rozhraní, složité knihovny ani databáze. Stačí vám textový editor a překladač. První projekt vytvoříte během pěti minut, ale pozor: i jednoduchý program skrývá nástrahy, které začátečníky typicky zaskočí.

Typický omyl je přeskakovat cvičení a hned stavět velký projekt. Bez procvičení malých úloh nepochopíte, jak funkce spolupracují. Naopak přílišná teorie vás zdrží – čtete o třídách, ale nevíte, k čemu je použít. Vyberte si jeden zdroj (knihu, kurz nebo interaktivní platformu) a projděte ho celý. Když narazíte na problém, zkuste ho vyřešit sami, ale maximálně 20 minut. Poté hledejte řešení, ale vždy nejdřív vysvětlete, co děláte, někomu jinému – i to je forma učení.

Co si pohlídat při prvním kole výběrového řízení Když už vás pozvou na technický pohovor, většinou nejde o to, abyste napsali dokonalý algoritmus. Spíše se testuje, jak přemýšlíte a jak se vypořádáte s neznámým zadáním. Typická chyba začátečníků je, že se snaží úlohu vyřešit co nejrychleji a zapomenou se ptát. Zeptejte se na očekávané vstupy, na výkonnostní limity a na to, co se stane, když přijdou nulová data. Tím ukážete, že uvažujete v souvislostech, a ne jen mechanicky.

Častým nešvarem je práce na více feature větvích z jednoho lokálního klonu bez přepínání mezi nimi. Pokud máte rozjeté tři větve a v každé děláte něco jiného, snadno se stane, že začnete commitovat změny do nesprávné větve. Řešením je buď používat samostatné pracovní adresáře pro každou větev, nebo důsledně kontrolovat aktuální větev před každým commitem a pull requestem. Mnoho vývojářů si také plete stav v lokálním úložišti se stavem na vzdáleném serveru. Než začnete novou práci, vždy si stáhněte nejnovější změny a porovnejte, jestli vaše lokální větev odpovídá té vzdálené.

První práce v IT není o tom, že umíte nazpaměť všechny datové struktury. Firmy běžně hledají lidi, kteří zvládnou rozchodit malý projekt a komunikovat o něm. Než začnete rozesílat životopisy, zkuste si na svém počítači postavit jednoduchou aplikaci — třeba správce úkolů nebo evidenci výdajů. Důležité je, abyste prošli celým cyklem: od návrhu přes kód až po nasazení na veřejný server. Tím získáte konkrétní zkušenost, o které se v pohovoru snadno mluví.

Nejlepší první volba je taková, která má rychlou zpětnou vazbu a přívětivou syntaxi. Python a JavaScript jsou pro začátek ideální – krátký zápis, čitelný kód a obrovská komunita. U Pythonu se soustřeďte na automatizaci a datové zpracování, u JavaScriptu na interaktivní prvky webu. Když začnete s C++ nebo Javou, čeká vás více technických detailů, které odvádějí pozornost od logiky. Neznamená to, že jsou špatné, ale pro první měsíce učení představují zbytečnou zátěž.

Před odesláním životopisu si ověřte, jestli inzerát nevyžaduje konkrétní portfolio. Pokud ano, připravte si tři až čtyři projekty, které jsou dostupné online a mají čitelný kód. Nestačí, že něco běží na lokálním počítači. Vytvořte veřejný repozitář, přidejte README s popisem a napište, co jste se při stavbě naučili. To je jeden z nejefektivnějších způsobů, jak se odlišit od ostatních uchazečů, kteří mají stejný kurzovní certifikát.