<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=YoungSticht8</id>
	<title>IT-Core - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.it-core.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=YoungSticht8"/>
	<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Special:Contributions/YoungSticht8"/>
	<updated>2026-08-30T19:23:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=5_praktick%C3%BDch_rad,_kdy_zvolit_REST_a_kdy_GraphQL&amp;diff=199407</id>
		<title>5 praktických rad, kdy zvolit REST a kdy GraphQL</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=5_praktick%C3%BDch_rad,_kdy_zvolit_REST_a_kdy_GraphQL&amp;diff=199407"/>
		<updated>2026-08-29T04:57:52Z</updated>

		<summary type="html">&lt;p&gt;YoungSticht8: Created page with &amp;quot;Začněte založením projektu a pojmenujte ho třeba MojePrvniAplikace. V hlavní metodě Main se odehrává vše podstatné. První praktický krok je vypsat text na obrazovku pomocí Console.WriteLine a poté přečíst vstup od uživatele metodou Console.ReadLine. Dejte pozor na to, že ReadLine vrací řetězec, takže pokud potřebujete číslo, musíte ho převést, například pomocí int.Parse nebo Convert.ToInt32.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Naopak REST je skvělý pro jednoduché,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Začněte založením projektu a pojmenujte ho třeba MojePrvniAplikace. V hlavní metodě Main se odehrává vše podstatné. První praktický krok je vypsat text na obrazovku pomocí Console.WriteLine a poté přečíst vstup od uživatele metodou Console.ReadLine. Dejte pozor na to, že ReadLine vrací řetězec, takže pokud potřebujete číslo, musíte ho převést, například pomocí int.Parse nebo Convert.ToInt32.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Naopak REST je skvělý pro jednoduché, stabilní operace, které se často opakují. Pokud poskytujete veřejné API s jasně definovanými zdroji, jako jsou články, uživatelé nebo produkty, a klienti mají standardizované potřeby, REST je přehlednější. Snadno se verzuje, testuje a každý endpoint má jasný účel. Navíc se REST opírá o HTTP metody, což znamená, že automaticky dostáváte cachování, status kódy a další standardní mechanismy. To oceníte zejména u velkých systémů, kde je výkon a jednoduchost klíčová.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr si shrňme klíčové body: rozdělte aplikaci na moduly, validujte vstupy, centralizujte zpracování chyb a vyřešte asynchronní chyby. Těmito kroky získáte API, které se snadno udržuje, testuje a které vás nepřekvapí v produkci. Express je výkonný nástroj, ale jeho síla se projeví až tehdy, když jej používáte s disciplínou. Vyhnete se tak nejčastějším nástrahám, na které vývojáři narážejí, a vaše API bude připravené na další rozvoj.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Poslední doporučení se týká práce s daty a odpověďmi. Stanovte si jednotný formát pro úspěšné i chybové odpovědi. Například pro úspěch vracejte objekt s daty pod klíčem data a pro chybu objekt s klíčem error a popisem. Klient pak nemusí řešit různé struktury. Dále si pohlídejte HTTP status kódy – 200 pro úspěch, 201 pro vytvoření, 204 pro smazání, 400 pro špatný požadavek, 401 pro neautorizovaný přístup, 404 pro nenalezený zdroj. Správné status kódy nejsou formalita, ale důležitá součást API kontraktu. Pokud je nastavíte správně, ušetříte práci frontend vývojářům a dalším konzumentům API.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Co všechno se schovává za „naprogramováním&amp;quot; Než začnete odhadovat, rozepište úkol na menší části a ke každé přiřaďte i tzv. skryté náklady. Patří sem čtení dokumentace, která není aktuální, hledání správného API, nastavování lokálního prostředí, nebo třeba synchronizace s kolegy na společném rozhraní. Zkuste si pro každý úkol napsat seznam činností, které nejsou na první pohled vidět, a odhadněte jim čas zvlášť. Teprve pak je přičtěte k čistému programování.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Než začnete hledat konkrétní licenci, zkuste si odpovědět na tři otázky. Chcete, aby váš kód mohl používat kdokoli, i komerčně? Chcete, aby se odvozené verze musely šířit pod stejnou licencí? Nebo vám jde hlavně o maximální šíření bez jakýchkoli podmínek? Odpovědi určují, zda sáhnete po permisivní licenci, nebo po copyleftu. Základní rozdíl je jednoduchý: permisivní licence umožňují začlenit váš kód do uzavřeného softwaru, copyleft to naopak znemožňuje – odvozeniny musí zůstat otevřené.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Validace vstupů a jednotné zpracování chyb jako základ stability Druhý častý problém je absence validace vstupních dat. Pokud přijímáte JSON z těla požadavku, nikdy nevíte, co přesně dorazí. Použijte knihovnu pro schémata (například Joi nebo Zod) a ověřte každý požadavek hned na začátku. Nevalidujte jen typy polí, ale i jejich povinnost a rozsahy. Pokud validace selže, vraťte odpověď se statusem 400 a jasnou chybovou hláškou. Vyhnete se tím situacím, kdy do databáze uložíte neplatná data a později zjistíte, že je musíte pracně opravovat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při odhadu času na vývojový úkol se většina lidí zaměří na samotné psaní kódu. Přitom právě „neviditelná&amp;quot; práce – procházení staršího kódu, ladění závislostí nebo dolaďování detailů – tvoří často polovinu celkové doby. Pokud tyto činnosti opomíjíte, vaše odhady budou pravidelně mimo a termíny se začnou posouvat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Než se rozhodnete, projděte si, jaká data klienti skutečně konzumují, jak často se mění a jestli potřebují okamžitou konzistenci. Pokud máte agregovaná data z více zdrojů, GraphQL vám nabídne elegantní řešení. Pokud ale pracujete s jednoduchými zdroji a potřebujete rychlou odezvu, REST je jistota, kterou využijete bez zbytečných komplikací.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak se vyhnout typickým chybám při výběru Nejčastější chybou je přizpůsobovat architekturu API tomu, co je zrovna v kurzu. Pokud ale potřebujete jednoduché CRUD operace, GraphQL vám přinese spoustu zbytečné režie. Musíte řešit schémata, resolvery, validace a navíc se potýkáte s problémy, jako je N+1 dotazů nebo složité cachování. Naopak pokud potřebujete složitější dotazy s propojenými daty a rychlým vývojem na straně klienta, REST vás donutí psát hodně vlastní logiky a endpointy se vám přemnoží.&lt;/div&gt;</summary>
		<author><name>YoungSticht8</name></author>
	</entry>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=User:YoungSticht8&amp;diff=199405</id>
		<title>User:YoungSticht8</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=User:YoungSticht8&amp;diff=199405"/>
		<updated>2026-08-29T04:57:50Z</updated>

		<summary type="html">&lt;p&gt;YoungSticht8: Created page with &amp;quot;Váš průvodce dílnou i obývákem se zabývá denně. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejraději popisovat postupy krok za krokem.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Váš průvodce dílnou i obývákem se zabývá denně. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejraději popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>YoungSticht8</name></author>
	</entry>
</feed>