<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>http://wiki.pannier-schulungen.de/index.php?action=history&amp;feed=atom&amp;title=Prvn%C3%AD_kroky_p%C5%99i_v%C3%BDvoji_aplikac%C3%AD_pro_Android</id>
		<title>První kroky při vývoji aplikací pro Android - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.pannier-schulungen.de/index.php?action=history&amp;feed=atom&amp;title=Prvn%C3%AD_kroky_p%C5%99i_v%C3%BDvoji_aplikac%C3%AD_pro_Android"/>
		<link rel="alternate" type="text/html" href="http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_v%C3%BDvoji_aplikac%C3%AD_pro_Android&amp;action=history"/>
		<updated>2026-08-22T14:34:20Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in MeinWiki</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_v%C3%BDvoji_aplikac%C3%AD_pro_Android&amp;diff=114106&amp;oldid=prev</id>
		<title>FerminBennelong am 21. August 2026 um 17:51 Uhr</title>
		<link rel="alternate" type="text/html" href="http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_v%C3%BDvoji_aplikac%C3%AD_pro_Android&amp;diff=114106&amp;oldid=prev"/>
				<updated>2026-08-21T17:51:35Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 21. August 2026, 17:51 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Častým problémem začátečníků je&lt;/del&gt;, že &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;dělají commity příliš velké nebo &lt;/del&gt;je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;zapomenou odeslat&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Ideální je commitovat po každé malé funkční změně – to usnadňuje hledání chyb&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Další chybou je ignorování souborů&lt;/del&gt;, které &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nemají být sledovány&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jako jsou dočasné soubory nebo složky s knihovnami&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Vytvořte si soubor .gitignore a uveďte v něm&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co má Git ignorovat&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;např&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;node_modules/ nebo .env. Tím předejdete zbytečnému nepořádku.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktická rada na závěr: vytvářejte větve &lt;/del&gt;pro &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;každou novou funkci&lt;/del&gt;. Hlavní &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;větev (např. main) by měla zůstat stabilní. Větev vytvoříte příkazem git branch nová-funkce &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;přepnete &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;do ní pomocí git checkout nová-funkce (nebo git switch). Po dokončení práce větev sloučíte do hlavní. Tento postup vám umožní experimentovat &lt;/del&gt;bez &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;obav, že rozbijete fungující kód&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;S Git &lt;/del&gt;se naučíte &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pracovat postupně – stačí si osvojit pět základních příkazů: init&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;add&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;commit, pull a push. Ostatní přijdou časem&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Základní pracovní cyklus: add&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;commit&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;push Klíčem k úspěchu &lt;/del&gt;je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pochopit tři kroky&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nejprve soubor upravíte&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;poté ho přidáte &lt;/del&gt;do &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;tzv&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;staging area pomocí git add &lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(přidá všechny změněné soubory) a nakonec uložíte snímek pomocí git commit -m &amp;quot;Popis změny&amp;quot;. Zpráva by měla být krátká&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ale výstižná &lt;/del&gt;– &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;popisuje&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co jste udělali. Tento cyklus opakujte při každé logické změně. Když pracujete s vzdáleným úložištěm (např. na serveru), odešlete své commity příkazem git push&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Jakmile zvládnete základy, začněte pracovat s emulátorem i fyzickým zařízením&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Emulátor je vhodný &lt;/del&gt;pro &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rychlé testování&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ale některé funkce&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;jako jsou senzory &lt;/del&gt;nebo &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;výkon&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ověříte pouze &lt;/del&gt;na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;reálném telefonu&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nezapomeňte také na ladění – naučte se používat nástroje pro analýzu výkonu &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;paměti. Tím &lt;/del&gt;předejdete mnoha problémům&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, které se objeví až po vydání aplikace&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Typickým problémem je konflikt při slučování větví. Když narazíte &lt;/del&gt;na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;konflikt, Git soubory označí speciálními značkami &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Tyto značky musíte ručně odstranit &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ponechat pouze správný obsah&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Po vyřešení konfliktu soubor uložte&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;přidejte do staging area a proveďte commit&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Než začnete slučovat&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;vždy &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ujistěte&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;že máte čistý pracovní strom (žádné necommitnuté změny) – jinak vám Git hrozí přepsáním dat&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Kromě parametrizace &lt;/del&gt;je &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nutné aplikovat princip nejmenších oprávnění&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Databázový uživatel&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;přes kterého aplikace komunikuje&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;by neměl mít práva na mazání &lt;/del&gt;tabulek &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nebo &lt;/del&gt;na &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;čtení systémových tabulek. Pokud dojde k průniku&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;útočník získá jen omezený rozsah akcí. Dále je vhodné vypnout zobrazování chybových hlášek databáze přímo &lt;/del&gt;v &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;odpovědi serveru&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Detailní chyby s SQL syntaxí poskytují útočníkovi mapu schématu &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;usnadňují mu ladění útoku&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Místo toho logujte chyby do souboru a uživateli zobrazte obecnou hlášku&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;se vrátit zpět &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nespálit se Nejčastější chybou začátečníků je panika&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;když něco rozbijí&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Git vám umožní vrátit &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;k libovolnému předchozímu stavu&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pokud chcete zrušit změny v souborech&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;které ještě nejsou ve staging area&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;použijte git checkout -- . (nebo konkrétní soubor)&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pokud jste &lt;/del&gt;už &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;provedli git add, ale commit ještě ne, můžete příkazem git reset soubory ze staging area odebrat&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pokud jste udělali commit a chcete &lt;/del&gt;se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;vrátit o krok zpět&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;použijte git reset --soft HEAD~1, což zruší poslední commit, ale ponechá změny připravené k novému commitu&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Když se řekne Docker&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;mnoho začátečníků si představí složitý nástroj pro správce sítí&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Opak je pravdou – Docker je &lt;/del&gt;v &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;podstatě způsob, jak zabalit aplikaci i všechny její závislosti do jednoho přenosného balíčku, kterému se říká kontejner&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Místo instalace deseti různých verzí knihoven do systému si vytvoříte obraz&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;který obsahuje přesně to&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co vaše aplikace potřebuje&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Tento obraz pak můžete spustit kdekoli&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;kde je nainstalovaný Docker – na notebooku, serveru i v cloudu. Pro začátek stačí pochopit tři základní pojmy: obraz, kontejner a Dockerfile&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Základní cyklus práce &lt;/del&gt;s &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Gitem vypadá takto: provedete změny, označíte je jako připravené a potvrdíte je&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Nejprve si zkontrolujte stav &lt;/del&gt;pomocí &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;git status&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Poté přidejte soubory do tzv&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;staging area příkazem git add &lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(všechny) &lt;/del&gt;nebo &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;git add název_souboru (jen vybrané). Následně změny uložíte pomocí git commit -m &amp;quot;Popis změny&amp;quot;. Každý commit by měl mít stručný a výstižný popis&lt;/del&gt;, který říká, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;co jste upravili a proč. Vyhněte se hromadným commitům typu &amp;quot;opravy&amp;quot; &lt;/del&gt;– &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;později se v nich nevyznáte&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Velkým problémem bývá překlad dynamických textů&lt;/del&gt;, které &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;se skládají z více částí&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Typická chyba je spojovat věty &lt;/del&gt;pomocí &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;řetězců, což vede k neohrabaným formulacím &lt;/del&gt;v &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;některých jazycích&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Místo toho používejte tzv&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pluralizaci a interpolaci proměnných&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;které jsou součástí většiny moderních překladových knihoven&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Například místo „Máte X zpráv&amp;quot; nadefinujete zvlášť tvary pro jeden&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;několik &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;mnoho kusů&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Tím zajistíte, že věta bude gramaticky správně v češtině i v angličtině&lt;/del&gt;, a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to bez dodatečných podmínek v kódu&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pamatujte&lt;/ins&gt;, že &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pokrytí testy &lt;/ins&gt;je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jen jeden z mnoha ukazatelů kvality&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Nepoužívejte ho jako jediný cíl&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Doporučuji kombinovat ho s mutačním testováním&lt;/ins&gt;, které &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ověřuje&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zda testy skutečně odhalí vložené chyby&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pokud vám mutační testy ukazují slabé testy&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;i při vysokém pokrytí&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;je čas přestat honit čísla a zaměřit se na kvalitu testovacích případů&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Stanovte si hranici, kdy je pokrytí dostatečné — &lt;/ins&gt;pro &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;mnoho projektů je 70–80 % rozumný cíl, ale kritické systémy vyžadují více&lt;/ins&gt;. Hlavní &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;je, abyste měřili pokrytí vždy s rozmyslem &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nenechali &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zlákat čísly &lt;/ins&gt;bez &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kontextu&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Když &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to &lt;/ins&gt;naučíte, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pokrytí se stane užitečným pomocníkem&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ne bičem&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Když jako JavaScriptový vývojář poprvé otevřete soubor s příponou .ts&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;může vás napadnout&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že jde jen o další nadstavbu, která vám přidělá práci. Opak &lt;/ins&gt;je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pravdou&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;TypeScript je nadmnožina JavaScriptu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;která &lt;/ins&gt;do &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vašeho kódu přidává statické typování&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;To znamená, že mnoho chyb odhalíte už při psaní, ne až za běhu v prohlížeči&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Nemusíte se bát&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že byste museli vše přepisovat &lt;/ins&gt;– &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;stačí začít postupně a typy přidávat tam&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kde vám dávají smysl&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Základním krokem je instalace a konfigurace&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Po vytvoření projektu stačí spustit příkaz &lt;/ins&gt;pro &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;inicializaci&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;který vytvoří soubor tsconfig.json. V něm si nastavíte mimo jiné cílovou verzi ECMAScriptu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;přísnost kontroly &lt;/ins&gt;nebo &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kam se mají ukládat zkompilované soubory. Důležité je nezapomenout &lt;/ins&gt;na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;možnost strict, která zapne nejpřísnější režim typové kontroly&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Ze začátku to může být nepříjemné, ale právě to vás donutí psát čistší kód &lt;/ins&gt;a předejdete mnoha problémům.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Na závěr si dejte pozor &lt;/ins&gt;na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jednu věc: nezačínejte s příliš ambiciózním projektem&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Místo toho si vyberte jednoduchou aplikaci – třeba poznámkový blok nebo převodník jednotek – &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;dokončete ji&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Tím získáte nejen cenné zkušenosti, ale i pocit úspěchu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;který vás posune dál&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Vývoj pro Android je běh na dlouhou trať&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ale s trpělivostí a pravidelným cvičením &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;rychle dostanete na úroveň&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kdy budete schopni tvořit užitečné aplikace&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Prvním krokem &lt;/ins&gt;je &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kontrola indexů&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pokud často filtrujete podle sloupce&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;který není indexovaný&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;databáze musí projít celou tabulku. To je pomalé zejména u velkých &lt;/ins&gt;tabulek&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Vytvořte index &lt;/ins&gt;na &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sloupcích&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;které se objevují &lt;/ins&gt;v &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;podmínkách WHERE, JOIN a ORDER BY&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pozor ale na přehnané indexování – každý index zpomaluje zápis &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zabírá místo&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Ideální je indexovat jen to, co skutečně potřebujete&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;efektivně používat typy &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;rozhraní Většina vývojářů začíná s primitivními typy jako string&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;number nebo boolean&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Skutečná síla &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ale projeví až při práci s objekty a funkcemi&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Místo abyste psali funkce s parametry typu any&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;definujte si rozhraní nebo type alias. Například pro uživatele si vytvoříte rozhraní s vlastnostmi id&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;name a email&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pak &lt;/ins&gt;už &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nemůžete omylem předat funkci číslo místo objektu – kompilátor vás na to upozorní hned&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Tím &lt;/ins&gt;se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;výrazně snižuje počet chyb při refaktorování nebo při práci v týmu&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kde si všichni díky typům rozumějí&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Jak na efektivní code review a bezpečné slučování Než začnete slučovat&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;proveďte rebase na aktuální verzi hlavní větve&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Tím se vyhnete konfliktům &lt;/ins&gt;v &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pozdější fázi a historie zůstane lineární&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Při rebase ale pozor: pokud na větvi pracuje více lidí&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;preferujte merge&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;protože rebase přepisuje historii a může ostatním zkomplikovat práci&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Vždy po rebase spusťte testy&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;abyste odhalili případné rozbité závislosti&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Další pastí je nesprávné použití union typů. Například pokud má funkce přijímat číslo nebo řetězec, nemůžete &lt;/ins&gt;s &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;takovým parametrem jen tak provádět aritmetické operace&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Musíte nejprve zúžit typ &lt;/ins&gt;pomocí &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;podmínky nebo funkce typeof&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Jinak vám kompilátor právem vyhodí chybu&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Podobně dopadnete, pokud se pokusíte přistupovat k vlastnostem objektu, který může být null nebo undefined&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Právě tady oceníte volitelné řetězení &lt;/ins&gt;nebo &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;operátor !&lt;/ins&gt;, který říká, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;že hodnota určitě existuje &lt;/ins&gt;– &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ale používejte ho střídmě, protože snadno zamaskujete skutečný problém&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Optimalizace SQL dotazů není jen otázkou rychlejší odezvy, ale také stability celé aplikace. Pomalý dotaz totiž blokuje zdroje&lt;/ins&gt;, které &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;potřebují ostatní operace&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Nejčastější chybou bývá vybírání zbytečných sloupců &lt;/ins&gt;pomocí &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;hvězdičky a absence indexů na sloupcích používaných &lt;/ins&gt;v &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;podmínkách WHERE&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Než začnete cokoli měnit, zapněte si logování pomalých dotazů a změřte si výchozí stav&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;K tomu se hodí příkaz EXPLAIN, který ukáže&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jak databáze plánuje dotaz provést.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Testování Redux logiky nemusí být nutně svázané s nasazením celé aplikace&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Reducery i async akce lze ověřit izolovaně&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;rychle &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;spolehlivě – stačí k tomu správně nastavené unit testy&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Není potřeba spouštět celý React strom&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;mockovat HTTP požadavky ani obcházet CORS. Tento přístup vám dá okamžitou zpětnou vazbu &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;usnadní údržbu stavové logiky&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FerminBennelong</name></author>	</entry>

	<entry>
		<id>http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_v%C3%BDvoji_aplikac%C3%AD_pro_Android&amp;diff=113754&amp;oldid=prev</id>
		<title>GeraldChampagne: Die Seite wurde neu angelegt: „Častým problémem začátečníků je, že dělají commity příliš velké nebo je zapomenou odeslat. Ideální je commitovat po každé malé funkční zm…“</title>
		<link rel="alternate" type="text/html" href="http://wiki.pannier-schulungen.de/index.php?title=Prvn%C3%AD_kroky_p%C5%99i_v%C3%BDvoji_aplikac%C3%AD_pro_Android&amp;diff=113754&amp;oldid=prev"/>
				<updated>2026-08-21T17:36:45Z</updated>
		
		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Častým problémem začátečníků je, že dělají commity příliš velké nebo je zapomenou odeslat. Ideální je commitovat po každé malé funkční zm…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Častým problémem začátečníků je, že dělají commity příliš velké nebo je zapomenou odeslat. Ideální je commitovat po každé malé funkční změně – to usnadňuje hledání chyb. Další chybou je ignorování souborů, které nemají být sledovány, jako jsou dočasné soubory nebo složky s knihovnami. Vytvořte si soubor .gitignore a uveďte v něm, co má Git ignorovat, např. node_modules/ nebo .env. Tím předejdete zbytečnému nepořádku.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktická rada na závěr: vytvářejte větve pro každou novou funkci. Hlavní větev (např. main) by měla zůstat stabilní. Větev vytvoříte příkazem git branch nová-funkce a přepnete se do ní pomocí git checkout nová-funkce (nebo git switch). Po dokončení práce větev sloučíte do hlavní. Tento postup vám umožní experimentovat bez obav, že rozbijete fungující kód. S Git se naučíte pracovat postupně – stačí si osvojit pět základních příkazů: init, add, commit, pull a push. Ostatní přijdou časem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základní pracovní cyklus: add, commit, push Klíčem k úspěchu je pochopit tři kroky. Nejprve soubor upravíte, poté ho přidáte do tzv. staging area pomocí git add . (přidá všechny změněné soubory) a nakonec uložíte snímek pomocí git commit -m &amp;quot;Popis změny&amp;quot;. Zpráva by měla být krátká, ale výstižná – popisuje, co jste udělali. Tento cyklus opakujte při každé logické změně. Když pracujete s vzdáleným úložištěm (např. na serveru), odešlete své commity příkazem git push.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jakmile zvládnete základy, začněte pracovat s emulátorem i fyzickým zařízením. Emulátor je vhodný pro rychlé testování, ale některé funkce, jako jsou senzory nebo výkon, ověříte pouze na reálném telefonu. Nezapomeňte také na ladění – naučte se používat nástroje pro analýzu výkonu a paměti. Tím předejdete mnoha problémům, které se objeví až po vydání aplikace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typickým problémem je konflikt při slučování větví. Když narazíte na konflikt, Git soubory označí speciálními značkami &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;. Tyto značky musíte ručně odstranit a ponechat pouze správný obsah. Po vyřešení konfliktu soubor uložte, přidejte do staging area a proveďte commit. Než začnete slučovat, vždy se ujistěte, že máte čistý pracovní strom (žádné necommitnuté změny) – jinak vám Git hrozí přepsáním dat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kromě parametrizace je nutné aplikovat princip nejmenších oprávnění. Databázový uživatel, přes kterého aplikace komunikuje, by neměl mít práva na mazání tabulek nebo na čtení systémových tabulek. Pokud dojde k průniku, útočník získá jen omezený rozsah akcí. Dále je vhodné vypnout zobrazování chybových hlášek databáze přímo v odpovědi serveru. Detailní chyby s SQL syntaxí poskytují útočníkovi mapu schématu a usnadňují mu ladění útoku. Místo toho logujte chyby do souboru a uživateli zobrazte obecnou hlášku.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak se vrátit zpět a nespálit se Nejčastější chybou začátečníků je panika, když něco rozbijí. Git vám umožní vrátit se k libovolnému předchozímu stavu. Pokud chcete zrušit změny v souborech, které ještě nejsou ve staging area, použijte git checkout -- . (nebo konkrétní soubor). Pokud jste už provedli git add, ale commit ještě ne, můžete příkazem git reset soubory ze staging area odebrat. Pokud jste udělali commit a chcete se vrátit o krok zpět, použijte git reset --soft HEAD~1, což zruší poslední commit, ale ponechá změny připravené k novému commitu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když se řekne Docker, mnoho začátečníků si představí složitý nástroj pro správce sítí. Opak je pravdou – Docker je v podstatě způsob, jak zabalit aplikaci i všechny její závislosti do jednoho přenosného balíčku, kterému se říká kontejner. Místo instalace deseti různých verzí knihoven do systému si vytvoříte obraz, který obsahuje přesně to, co vaše aplikace potřebuje. Tento obraz pak můžete spustit kdekoli, kde je nainstalovaný Docker – na notebooku, serveru i v cloudu. Pro začátek stačí pochopit tři základní pojmy: obraz, kontejner a Dockerfile.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základní cyklus práce s Gitem vypadá takto: provedete změny, označíte je jako připravené a potvrdíte je. Nejprve si zkontrolujte stav pomocí git status. Poté přidejte soubory do tzv. staging area příkazem git add . (všechny) nebo git add název_souboru (jen vybrané). Následně změny uložíte pomocí git commit -m &amp;quot;Popis změny&amp;quot;. Každý commit by měl mít stručný a výstižný popis, který říká, co jste upravili a proč. Vyhněte se hromadným commitům typu &amp;quot;opravy&amp;quot; – později se v nich nevyznáte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Velkým problémem bývá překlad dynamických textů, které se skládají z více částí. Typická chyba je spojovat věty pomocí řetězců, což vede k neohrabaným formulacím v některých jazycích. Místo toho používejte tzv. pluralizaci a interpolaci proměnných, které jsou součástí většiny moderních překladových knihoven. Například místo „Máte X zpráv&amp;quot; nadefinujete zvlášť tvary pro jeden, několik a mnoho kusů. Tím zajistíte, že věta bude gramaticky správně v češtině i v angličtině, a to bez dodatečných podmínek v kódu.&lt;/div&gt;</summary>
		<author><name>GeraldChampagne</name></author>	</entry>

	</feed>