<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GrantZ437273680</id>
	<title>Rettungsdienst-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=GrantZ437273680"/>
	<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Spezial:Beitr%C3%A4ge/GrantZ437273680"/>
	<updated>2026-10-12T23:36:54Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Kdy_REST_ni%C4%8D%C3%AD_v%C3%BDkon_a_GraphQL_zbyte%C4%8Dn%C4%9B_komplikuje&amp;diff=454883</id>
		<title>Kdy REST ničí výkon a GraphQL zbytečně komplikuje</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Kdy_REST_ni%C4%8D%C3%AD_v%C3%BDkon_a_GraphQL_zbyte%C4%8Dn%C4%9B_komplikuje&amp;diff=454883"/>
		<updated>2026-10-11T14:27:47Z</updated>

		<summary type="html">&lt;p&gt;GrantZ437273680: Die Seite wurde neu angelegt: „Zavedení DevOps začíná u verzovacího systému. Veškerý kód, konfigurace i skripty pro infrastrukturu musí být v jednom repozitáři. Bez toho se nedá mluvit o automatizaci, protože neexistuje jediný zdroj pravdy. Druhým krokem je automatizovaný build a testy. Každá změna projde stejnou sadou kontrol, takže se chyby odhalí dřív, než se dostanou k uživatelům. Teprve potom má smysl řešit nasazování.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Vyhýbejte se neurčit…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zavedení DevOps začíná u verzovacího systému. Veškerý kód, konfigurace i skripty pro infrastrukturu musí být v jednom repozitáři. Bez toho se nedá mluvit o automatizaci, protože neexistuje jediný zdroj pravdy. Druhým krokem je automatizovaný build a testy. Každá změna projde stejnou sadou kontrol, takže se chyby odhalí dřív, než se dostanou k uživatelům. Teprve potom má smysl řešit nasazování.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Vyhýbejte se neurčitým slovům, která nic neříkají: „oprava chyby&amp;quot;, „vylepšení&amp;quot;, „různé&amp;quot;. Pokud opravdu nevíte, co změna dělá, je to signál, že jste ji neměli commitovat. Stejně tak nedávejte do zprávy odkazy na interní systém, jehož význam za rok zmizí. Místo čísla tiketu napište větu, která popisuje podstatu – číslo může být doplněk, ne náhrada sdělení.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; Kdy se vyplatí pustit aplikaci proti sob&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kultura je důležitější než technologie. Pokud vývojář dostane za úkol opravit incident ve tři ráno, naučí se psát opatrný kód. Pokud provozní tým vidí, jak změny vznikají, přestane je vnímat jako cizí zásahy. Společná odpovědnost se nedá nařídit, ale dá se podpořit tím, že se obě role potkávají u jedné tabule a u jednoho problému.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;U větších systémů se oba přístupy běžně kombinují. REST zůstává pro interní služby a veřejné rozhraní, GraphQL se nasadí jako vrstva pro klientské aplikace. Na co si dát pozor: autorizace musí být v GraphQL řešená na úrovni polí, ne jen na vstupním bodě. Chybí-li kontrola u konkrétních atributů, může klient získat data, která mu nepatří. Stejně tak u REST nepodceňujte verzování. Změna struktury odpovědi bez nové verze rozbije všechny stávající klienty.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Užitečný zvyk je číst si vlastní zprávu před odesláním a představit si, že ji vidíte poprvé bez kontextu. Pokud nedokážete říct, čeho se změna týká a jaký problém řeší, přepište ji. Držte jednotný jazyk a čas – buď rozkazovací způsob („oprav&amp;quot;, „přidej&amp;quot;), nebo oznamovací, ale nemíchejte to. Konzistence je to, co dělá historii čitelnou jako celek, ne jednotlivé řádky.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Většina vývojářů píše commit zprávy tak, jako by je nikdy neměl číst nikdo jiný než oni sami – a to je přesně ten problém. Za půl roku narazíte na stejný kód, otevřete historii a místo odpovědi najdete „oprava&amp;quot;, „fix&amp;quot; nebo „update&amp;quot;. Ztratíte dvacet minut hledáním, co se tehdy vlastně změnilo a proč. Přitom stačí pár návyků, které zaberou o pár sekund víc při commitu, ale ušetří hodiny při dohledávání.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prvním krokem je ujasnit si, kdo co vlastně řídí. U externího dodavatele nemůžete přímo nařizovat lidem, co mají dělat. Můžete ale ovlivnit prostředí, ve kterém pracují. Sepište si se zástupci dodavatele tzv. pracovní dohodu: kdo je produktový vlastník, kdo technický vedoucí, jak často se scházíte a co se stane, když se priority rozjedou. Bez toho se každá retrospektiva zvrhne v hádku o tom, čí úkol je důležitější.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jedna změna, jeden commit Nejčastější chyba je slepení nesouvisejících úprav do jednoho commitu. Opravíte překlep v textu, přidáte novou funkci a ještě upravíte konfiguraci – a výsledkem je změť, kterou nelze zpětně rozumně rozdělit. Když pak potřebujete vrátit jen opravu překlepu, musíte revertovat i funkci. Rozdělte práci na menší celky ještě před commitem, klidně pomocí příkazu, který do indexu přidá jen vybrané části souboru. Menší commity se snáz čtou, snáz se z nich staví historie a snáz se v nich hledá.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základ je popsat proč, ne co. Samotný diff ukazuje, které řádky se změnily, takže psát „změněna podmínka v cyklu&amp;quot; je zbytečné. Užitečná je informace, kterou z kódu nevyčtete: „cyklus končil o jedna dřív a poslední záznam se neukládal&amp;quot;. První řádek držte krátký, do zhruba padesáti znaků, zbytek rozveďte v těle zprávy po prázdném řádku. Tím získáte přehled v logu i detail pro toho, kdo bude pátrat po příčině.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Konkrétní postup pro malý tým vypadá takto: sjednoťte repozitář, nastavte build, který se spustí při každé změně, přidejte testy, které běží automaticky, a vytvořte jeden skript pro nasazení do testovacího prostředí. Teprve když to funguje spolehlivě, rozšiřte ho i na produkci. Součástí musí být možnost vrátit změnu zpět. Bez rollbacku je každé nasazení riskantní a tým ho bude odkládat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktické zásady pro GraphQL: nastavte maximální hloubku dotazu, zakažte příliš drahé operace, měřte dobu jednotlivých resolverů a logujte pomalé dotazy. U REST zase hlídejte, aby se endpointy nezačaly množit podle obrazovek. Jakmile najdete endpoint typu „vrat-vse-pro-hlavni-stranku&amp;quot;, znamená to, že se REST snaží dělat práci GraphQL a dělá ji špatně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;REST se vyplatí tam, kde jsou zdroje jasně oddělené a odpovědi se moc nemění. Typicky jde o veřejné rozhraní, jednoduché integrace mezi službami nebo situace, kdy je potřeba využít HTTP cache. Praktický postup: navrhněte zdroje jako podstatná jména, použijte správné metody a stavové kódy, nastavte cacheovací hlavičky. Pokud ale klient volá pět endpointů, aby složil jednu obrazovku, narazíte na zbytečné dotazy navíc a REST začne být pomalý.&lt;/div&gt;</summary>
		<author><name>GrantZ437273680</name></author>
	</entry>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:GrantZ437273680&amp;diff=454881</id>
		<title>Benutzer:GrantZ437273680</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:GrantZ437273680&amp;diff=454881"/>
		<updated>2026-10-11T14:27:32Z</updated>

		<summary type="html">&lt;p&gt;GrantZ437273680: Die Seite wurde neu angelegt: „Autor blogu dílnou i obývákem žije už dlouho. Sdílím zde, jak zvládnout domácnost bez stresu. Nejvíc mě baví hledat cesty, jak si usnadnit život.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu dílnou i obývákem žije už dlouho. Sdílím zde, jak zvládnout domácnost bez stresu. Nejvíc mě baví hledat cesty, jak si usnadnit život.&lt;/div&gt;</summary>
		<author><name>GrantZ437273680</name></author>
	</entry>
</feed>