<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://terradunia.earth/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shane1957328</id>
	<title>TerraDuniaWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://terradunia.earth/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shane1957328"/>
	<link rel="alternate" type="text/html" href="http://terradunia.earth/index.php?title=Spezial:Beitr%C3%A4ge/Shane1957328"/>
	<updated>2026-09-27T19:48:51Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>http://terradunia.earth/index.php?title=Jak_postavit_REST_API_s_Node.js_a_Express:_praktick%C3%BD_pr%C5%AFvodce&amp;diff=61923</id>
		<title>Jak postavit REST API s Node.js a Express: praktický průvodce</title>
		<link rel="alternate" type="text/html" href="http://terradunia.earth/index.php?title=Jak_postavit_REST_API_s_Node.js_a_Express:_praktick%C3%BD_pr%C5%AFvodce&amp;diff=61923"/>
		<updated>2026-08-21T18:16:40Z</updated>

		<summary type="html">&lt;p&gt;Shane1957328: Die Seite wurde neu angelegt: „Jak efektivně řešit konflikty při slučování více větví Konflikty při slučování jsou přirozenou součástí práce s více větvemi. Nejefektivnější způsob, jak je minimalizovat, je častá integrace. Pokud vaše větev žije déle než dva dny, pravidelně ji slučujte nebo rebasujte s hlavní větví. Při řešení konfliktů vždy čtěte obě verze kódu, ne jen tu svou. Často se stává, že změny z druhé větve jsou vhodnějš…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jak efektivně řešit konflikty při slučování více větví Konflikty při slučování jsou přirozenou součástí práce s více větvemi. Nejefektivnější způsob, jak je minimalizovat, je častá integrace. Pokud vaše větev žije déle než dva dny, pravidelně ji slučujte nebo rebasujte s hlavní větví. Při řešení konfliktů vždy čtěte obě verze kódu, ne jen tu svou. Často se stává, že změny z druhé větve jsou vhodnější, i když jste původně psali svou verzi. Vždy po vyřešení konfliktu spusťte testy, ne jen kompilaci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při samotném psaní zdrojových textů myslete na délku. Česká věta je často delší než anglická, a pokud máte [https://www.blurb.com/user/lukaszlewand tlačítko] s pevnou šířkou, text se ořízne. Vždy testujte, jak se překlad chová v extrémních případech — nejdelší slovo, nejdelší věta, nejdelší číslo s jednotkou. Stejně tak pozor na [https://Soundcloud.com/search/sounds?q=slo%C5%BEen%C3%A9%20v%C3%BDrazy&amp;amp;filter.license=to_modify_commercially složené výrazy]. V češtině skloňujeme, takže věta „Máte 3 nové zprávy&amp;quot; se nedá jednoduše poskládat z částí „Máte&amp;quot; + číslo + „nové zprávy&amp;quot;. Používejte raději celé věty s placeholdery, než abyste spojovali kusy textu podle počtu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Další praktickou záležitostí je správa stavových kódů HTTP. Vracejte 200 pro úspěšné GET požadavky, 201 pro vytvoření nového zdroje, 204 pro úspěšné smazání a 400 nebo 404 pro chybové situace. Nepoužívejte univerzální 500 pro vše, co se nepovede. Konkrétní kódy pomáhají klientům rychleji diagnostikovat problém. Rovněž se vyhněte vracení surových chybových hlášení z databáze – vytvořte si jednoduchý middleware, který zachytí výjimky a převede je na JSON s přátelským popisem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při práci s více jazyky narazíte také na rozdíly v datech, číslech a měnách. Formát data „03/04/2025&amp;quot; znamená v češtině 3. dubna, v angličtině 4. března. Proto nikdy netvrďte formát ručně, ale používejte funkce pro lokalizaci z vaší knihovny. Stejně tak desetinná čárka, mezery mezi tisíci nebo symbol měny se liší. Všechny tyto hodnoty by měly být součástí lokalizačního systému, ne pevně zapsané v kódu. Uživatele byste tím zmátli a v některých př by mohli nesprávně interpretovat důležité údaje.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Dejte si pozor na konflikty při slučování. Vznikají, když dva lidé upraví stejné místo v souboru. Řešení je jednoduché: přečtěte si obě verze, rozhodněte, co ponechat, a konflikt ručně vyřešte. Mnoho nástrojů nabízí grafické rozhraní, které vám ukáže obě [https://WWW.Change.org/search?q=strany%20vedle strany vedle] sebe. Nezapomeňte po vyřešení konfliktu commitnout výsledek a otestovat celý projekt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Stavba REST API s Node.js a Express je dnes standardem pro backend aplikací. Než začnete, ujistěte se, že máte nainstalovaný Node.js a npm. V prázdné složce inicializujte projekt příkazem npm init -y a poté nainstalujte Express. Základní server je otázkou několika řádků: stačí vytvořit soubor index.js, importovat express, definovat port a spustit posluchač. Tím získáte funkční základ, na který můžete navěsit jednotlivé endpointy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro lepší strukturu kódu oddělte routy do samostatných souborů. Místo psaní všeho do jednoho index.js použijte Router(), který vám umožní seskupit související koncové body. Tím se kód stává čitelnějším a testovatelnějším. Kromě toho se vyplatí zavést základní validaci vstupů – buď ručně, nebo pomocí knihoven jako Joi. Bez validace riskujete, že se do databáze dostanou nekonzistentní data, která později způsobí chyby v aplikaci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prvním krokem je inicializace projektu pomocí příkazu npm init, který vytvoří soubor package.json. Poté nainstalujte express příkazem npm install express. Pro práci s daty v paměti můžete použít jednoduché pole objektů; pro produkční nasazení byste ale měli zvolit databázi, jako je MongoDB nebo PostgreSQL. Nezapomeňte na middleware express.json(), který umožňuje zpracovávat příchozí JSON data. Bez něj by tělo požadavku zůstalo nedostupné, což je častý začátečnický omyl.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;V neposlední řadě nezapomínejte na pravidelné kontroly a revize. Zavedení vzoru pro commit zprávy do definice dokončené práce pomáhá udržet kvalitu. Pokud někdo pošle zprávu typu „minor fix&amp;quot;, nebojte se požádat o doplnění. Není to byrokracie, ale investice [http://kuniunet.com/home.php?mod=space&amp;amp;uid=3280944 barvy stěn do obýváku] čitelnosti a udržovatelnosti projektu. S trochou cviku se psaní smysluplných zpráv stane přirozenou součástí vaší práce a výrazně zlepší spolupráci v týmu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Routování a zpracování požadavků Express používá pro definici koncových bodů metody jako app.get(), app.post(), app.put() a app.delete(). Každá z nich přijímá cestu a callback funkci, která má přístup k objektům req a res. Při psaní rout je důležité používat parametry cest, třeba /users/:id, a validovat je ještě před samotným zpracováním. Typickou chybou je zapomenout na asynchronní zpracování – pokud vaše handler funkce nepoužívá async/await, může dojít k neošetřeným rejectovaným promisům, které aplikaci spadnou. Vždy proto obalujte asynchronní operace do try/catch bloků.&lt;/div&gt;</summary>
		<author><name>Shane1957328</name></author>
	</entry>
	<entry>
		<id>http://terradunia.earth/index.php?title=Prvn%C3%AD_unit_test_krok_za_krokem:_praktick%C3%BD_n%C3%A1vod&amp;diff=61862</id>
		<title>První unit test krok za krokem: praktický návod</title>
		<link rel="alternate" type="text/html" href="http://terradunia.earth/index.php?title=Prvn%C3%AD_unit_test_krok_za_krokem:_praktick%C3%BD_n%C3%A1vod&amp;diff=61862"/>
		<updated>2026-08-21T17:44:41Z</updated>

		<summary type="html">&lt;p&gt;Shane1957328: Die Seite wurde neu angelegt: „Častou chybou je psát vágní fráze typu „oprava&amp;quot; nebo „update&amp;quot;. Pokud nemáte prostor pro vysvětlení, alespoň upřesněte oblast: „oprava výpočtu daně ve faktuře&amp;quot; je stále lepší než „oprava&amp;quot;. Dalším problémem jsou zprávy smíšené – když v jednom commitu řešíte dvě nesouvisející věci. Držte se pravidla jeden commit = jedna logická změna. Pokud to nejde, rozdělte to, i kdyby to mělo znamenat více menších commit…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Častou chybou je psát vágní fráze typu „oprava&amp;quot; nebo „update&amp;quot;. Pokud nemáte prostor pro vysvětlení, alespoň upřesněte oblast: „oprava výpočtu daně ve faktuře&amp;quot; je stále lepší než „oprava&amp;quot;. Dalším problémem jsou zprávy smíšené – když v jednom commitu řešíte dvě nesouvisející věci. Držte se pravidla jeden commit = jedna logická změna. Pokud to nejde, rozdělte to, i kdyby to mělo znamenat více menších commitů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prvním krokem k efektivnímu použití je správné členění store. Rozdělte si Redux store na menší slice, každý s vlastními reducery a akcemí. Například oddělte data uživatele, obsah košíku a stav notifikací. Tím zajistíte lepší čitelnost a snazší testování. Vyhněte se obřím reducertům, které řeší všechno. Místo toho použijte funkci combineReducers a každý slice nechte žít samostatně. Tím se vyhnete častému problému, kdy jedna chyba v jednom místě rozbije celou aplikaci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[https://www.trainingzone.co.uk/search?search_api_views_fulltext=Kdy%C5%BE%20aplikace Když aplikace] v Reactu začne mít desítky komponent a stav se předává přes mnoho úrovní, přichází čas zvážit centrální správu stavu. Redux není jediným řešením, ale stále patří mezi nejrozšířenější nástroje. Klíčové je pochopit, [http://Dig.Ccmixter.org/search?searchp=%C5%BEe%20Redux že Redux] není o tom, abyste do něj uložili všechno. Měl by sloužit pro data, která skutečně potřebuje více komponent nebo která mění více akcemi. Lokální stav pro formuláře nebo UI prvky si klidně nechte v useState.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Samotný workflow se skládá z jobů, které běží na virtuálních strojích. Každý job může mít vlastní konfiguraci, ale pozor na závislosti mezi nimi. Pokud potřebujete spustit deploy až po úspěšném testování, definujte závislost pomocí klíče needs. Bez něj by se joby spouštěly paralelně, což může vést k nasazení rozbité verze. Pro sdílení dat mezi joby používejte artifacts – nahrajete soubory z jednoho jobu a stáhnete je v dalším. Tím se vyhnete opakovanému buildu v každém jobu, který zpomaluje celý pipeline.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základním pravidlem je používat parametrizované dotazy neboli prepared statements. Místo skládání řetězce, kde se uživatelský vstup přímo vkládá do SQL příkazu, předáte dotaz databázi s placeholdery a hodnoty dodáte zvlášť. Tím se zajistí, že vstup je vždy interpretován jako data, nikoli jako součást SQL syntaxe. Tento postup funguje ve všech moderních jazycích – ať už  PDO v PHP, prepared statements v Javě, .NET, Pythonu nebo Node.js. Vyhněte se ručnímu escapování, které je náchylné k chybám a často se obejde alternativními znakovými sadami.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když pracujete na projektu, který kombinuje více programovacích jazyků, standardní jednojazyčné nastavení editoru se rychle stane překážkou. Místo plynulého přepínání kontextu trávíte čas ručním laděním formátování, zvýrazňování syntaxe nebo hledáním správného interpretu. Klíčem je nastavit si IDE tak, aby rozpoznalo jazyk podle typu souboru, ale i podle obsahu, a aby si každý jazyk nesl vlastní pravidla.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr si ověřte, že váš terminál a debugger odpovídají aktuálnímu jazyku. V IDE nastavte pro každý adresář jiný run configuration. Ujistěte se, že při spuštění testů používáte správný framework (např. pytest pro Python, Jest [http://kuniunet.com/home.php?mod=space&amp;amp;uid=3280944 rady pro rekonstrukci] JavaScript). Dobré je také zapnout „spy&amp;quot; – funkci, která ukazuje, jaký příkaz se spouští na pozadí. Pokud vidíte, že se volá špatný interpret, je to první signál, že máte ve struktuře projektu chybu. Po takovém nastavení se práce s více jazyky stane intuitivní a nebudete ztrácet čas laděním prostředí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Důležité je také udržovat databázový systém a knihovny aktuální. Dodavatelé opravují známé zranitelnosti, a pokud používáte starou verzi, vystavujete se riziku, které už je veřejně známé. Zavedení těchto opatření – parametrizace, validace, omezení práv, bezpečné chybové hlášky a pravidelné aktualizace – výrazně snižuje pravděpodobnost úspěšného útoku. SQL injection není problém, který by se dal vyřešit jednou provždy, ale kombinací správných návyků a nástrojů ji můžete efektivně eliminovat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Druhým častým problémem je formátování. Pokud máte v jednom projektu Python a JavaScript, každý má jiný standard (například PEP 8 a Prettier). V nastavení IDE si pro každý jazyk definujte příslušný formátovač a zapněte „format on save&amp;quot;. Pozor na konflikt s automatickým importem – často se stá[https://www.aupeopleweb.com.au/au/home.php?mod=space&amp;amp;uid=3020012 byt v paneláku]á, že IDE vloží import z jiného jazyka, což způsobí chybu. Řešením je zakázat automatické importy v souborech, které nepatří do daného jazyka.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec, nezapomeňte, že Redux je nástroj, ne cíl. Pokud máte aplikaci, kde stav přechází přes pár úrovní, možná ho vůbec nepotřebujete. Začněte s lokálním stavem a Redux přidejte, až když je to opravdu potřeba. Tím předejdete zbytečné komplexitě a kód zůstane čitelný. Až budete Redux používat, držte se jednoduchosti: malé slice, jasné akce a selektory. Tím získáte robustní řešení, které se snadno udržuje.&lt;/div&gt;</summary>
		<author><name>Shane1957328</name></author>
	</entry>
	<entry>
		<id>http://terradunia.earth/index.php?title=Prvn%C3%AD_kroky_k_vlastn%C3%AD_android%C3%AD_aplikaci&amp;diff=61824</id>
		<title>První kroky k vlastní androidí aplikaci</title>
		<link rel="alternate" type="text/html" href="http://terradunia.earth/index.php?title=Prvn%C3%AD_kroky_k_vlastn%C3%AD_android%C3%AD_aplikaci&amp;diff=61824"/>
		<updated>2026-08-21T17:28:34Z</updated>

		<summary type="html">&lt;p&gt;Shane1957328: Die Seite wurde neu angelegt: „Dalším důležitým aspektem je responzivita. Návrhy obvykle přicházejí v jedné velikosti, nejčastěji pro desktop. Vaším úkolem je rozhodnout, jak se layout přizpůsobí menším displejům. Při breakpointech se zaměřte na obsah – pokud se text na šířku nevejde, zalomte ho, ne jej zmenšujte. Mějte na paměti, že uživatelé na mobilu neklikají myší, ale prstem, takže minimální velikost tlačítek a odstupů musí být větš…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dalším důležitým aspektem je responzivita. Návrhy obvykle přicházejí v jedné velikosti, nejčastěji pro desktop. Vaším úkolem je rozhodnout, jak se layout přizpůsobí menším displejům. Při breakpointech se zaměřte na obsah – pokud se text na šířku nevejde, zalomte ho, ne jej zmenšujte. Mějte na paměti, že uživatelé na mobilu neklikají myší, ale prstem, takže minimální velikost tlačítek a odstupů musí být větší než na desktopu. Testujte na skutečných zařízeních, ne jen v devtools.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typickou chybou je, že vývojář nechá svou větev příliš dlouho „stát&amp;quot; bez aktualizace. Čím déle větev žije, tím větší je pravděpodobnost, že se bude lišit od hlavní větve a rebase bude velmi náročný. Řešením je pravidelně, třeba každý den, rebasovat svou větev proti hlavní větvi. To udržuje historii čistou a snižuje počet konfliktů. Pokud máte větev, která žije déle než týden, zvažte, zda ji nerozdělit na menší části.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Co si připravit, než spustíte první kód Základem je správně nastavené vývojové prostředí. Stáhněte si oficiální nástroje a postupujte podle průvodce instalací. Pozor na to, aby byl v počítači dostatek paměti a výkonu – emulátor je náročný, a pokud máte slabší stroj, může být ladění velmi pomalé. Místo emulátoru můžete využít vlastní telefon. Stačí povolit v nastavení možnost pro vývojáře a připojit zařízení kabelem. Tento postup je obvykle rychlejší a méně náročný na hardware. Než začnete, zkontrolujte, že máte nainstalovanou správnou verzi systémových knihoven a že vám nástroje hlásí všechno v pořádku.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začněte dekompozicí úkolu na jednotlivé funkce a podfunkce. Každou z nich ohodnoťte v hodinách podle své zkušenosti, ale nezapomeňte přičíst čas na testování, opravy chyb a nezbytné porady. Častou chybou je odhadnout jen čistý čas strávený psaním kódu, zatímco realita zahrnuje i ladění, integraci a komunikaci. Pro malé úkoly do 8 hodin použijte bodové hodnocení, pro větší celky pak rozložte práci na menší části.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Až budete mít aplikaci funkční, zaměřte se na testování. Nezůstávejte jen u toho, že aplikace funguje na vašem telefonu. Vyzkoušejte ji na emulátoru s jinou verzí systému a případně na dalším zařízení, pokud ho máte k dispozici. Sledujte, jak se chová při rychlém přepínání obrazovek, při otáčení displeje nebo při nedostatku paměti. Všechny tyto situace mohou odhalit skryté chyby. Jakmile máte pocit, že je aplikace stabilní, můžete přemýšlet o jejím zveřejnění. Ale to už je téma na další článek – nejdřív si užijte pocit, že jste vytvořili něco, co opravdu funguje.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Vyvarujte se odhadování v týmu pod tlakem na rychlost. Když je termín krátký, lidé mají tendenci snižovat čísla, ale to nezvýší produktivitu, jen to vede k přepracování a chybám. Místo toho požádejte o čas na rozmyšlenou a odhady konzultujte s kolegy, kteří znají jiné části systému. Různé pohledy odhalí rizika, která jste neviděli. Nezapomínejte ani na administrativu, schůzky a e-maily — tyto „neviditelné&amp;quot; činnosti zaberou běžně 10–15 % pracovního dne.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když jako vývojář dostanete návrh od designéra, často vypadá dokonale. Problém však nastává ve chvíli, kdy máte z Pixel Perfect předlohy vytvořit funkční rozhraní. Základní pochopení UI a UX principů vám umožní nejen lépe komunikovat s designéry, ale také odhalit chyby, které by uživatele stály čas nebo peníze. Tento článek se zaměřuje na praktické dovednosti, které využijete při každodenní práci na frontendu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prvním krokem je pochopení rozdílu mezi UI a UX. UI (User Interface) se týká vizuální stránky – barvy, typografie, mezery, ikony. UX (User Experience) pak zahrnuje celkový pocit z používání produktu, logiku toku obrazovkami a srozumitelnost interakcí. Jako vývojář byste měli vnímat obojí. Například místo abyste jen naprogramovali tlačítko, přemýšlejte, zda je jeho umístění očekávatelné a zda je jeho velikost dostatečná pro kliknutí prstem na mobilu. Tím předcházíte frustraci uživatelů a zbytečným bug reportům.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr si osvojte kontrolní seznam pro vlastní testování. Otevřete si aplikaci, projděte hlavní scénáře a sledujte, zda vás něco nezdržuje nebo neplete. Všímejte si drobností, jako jsou stínování, zaoblení rohů nebo velikost ikon – tyto detaily dělají rozhraní profesionálním. Když narazíte na problém, neopravujte jen kód, ale zvažte, zda návrh nevyžaduje úpravu. Vaše role vývojáře není jen psát kód, ale být obhájcem uživatele. Tento přístup ocení nejen klienti, ale i designéři, se kterými spolupracujete.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak převést návrh do kódu bez ztráty kvality Začněte vždy rozborem layoutu. Vytvořte si z návrhu jednoduchou kostru – rozdělte stránku na hlavní sekce, určete, které prvky jsou opakovatelné, a definujte vzdálenosti. Vyhněte se časté chybě, kdy začnete stylovat jednotlivé komponenty izolovaně a zapomenete na kontext. Používejte proměnné pro barvy, mezery a typografii. Pokud návrh obsahuje odstín, který se v paletě neopakuje, nebojte se designéra zeptat, zda je to záměr. Drobné odchylky v barvách nebo rádcích často vedou k nekonzistentnímu vzhledu.&lt;/div&gt;</summary>
		<author><name>Shane1957328</name></author>
	</entry>
	<entry>
		<id>http://terradunia.earth/index.php?title=Benutzer:Shane1957328&amp;diff=61823</id>
		<title>Benutzer:Shane1957328</title>
		<link rel="alternate" type="text/html" href="http://terradunia.earth/index.php?title=Benutzer:Shane1957328&amp;diff=61823"/>
		<updated>2026-08-21T17:28:31Z</updated>

		<summary type="html">&lt;p&gt;Shane1957328: Die Seite wurde neu angelegt: „Váš průvodce světem interiérů se zabývá denně. Sdílím zde, jak si poradit v malém bytě. Nejvíc mě baví popisovat postupy krok za krokem.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Váš průvodce světem interiérů se zabývá denně. Sdílím zde, jak si poradit v malém bytě. Nejvíc mě baví popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>Shane1957328</name></author>
	</entry>
</feed>