<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://jak.mazovia.edu.pl/index.php?action=history&amp;feed=atom&amp;title=Kdy%C5%BE_chcete_spustit_stejnou_aplikaci_na_libovoln%C3%A9m_po%C4%8D%C3%ADta%C4%8Di</id>
	<title>Když chcete spustit stejnou aplikaci na libovolném počítači - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://jak.mazovia.edu.pl/index.php?action=history&amp;feed=atom&amp;title=Kdy%C5%BE_chcete_spustit_stejnou_aplikaci_na_libovoln%C3%A9m_po%C4%8D%C3%ADta%C4%8Di"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Kdy%C5%BE_chcete_spustit_stejnou_aplikaci_na_libovoln%C3%A9m_po%C4%8D%C3%ADta%C4%8Di&amp;action=history"/>
	<updated>2026-09-24T16:06:22Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Kdy%C5%BE_chcete_spustit_stejnou_aplikaci_na_libovoln%C3%A9m_po%C4%8D%C3%ADta%C4%8Di&amp;diff=243033&amp;oldid=prev</id>
		<title>EmileHelm64 o 06:49, 29 sie 2026</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Kdy%C5%BE_chcete_spustit_stejnou_aplikaci_na_libovoln%C3%A9m_po%C4%8D%C3%ADta%C4%8Di&amp;diff=243033&amp;oldid=prev"/>
		<updated>2026-08-29T06:49:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Wersja z 06:49, 29 sie 2026&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;Linia 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jak pracovat s minulými zkušenostmi Využívejte historii svých odhadů. Vracejte se k dokončeným úkolům a porovnejte odhad se skutečností. Zjistíte, které typy činností pravidelně podhodnocujete – třeba testování, integrace nebo řešení chyb v existujícím kódu. Tyto poznatky pak aplikujte při plánování nových úkolů. Pokud historicky trvala podobná funkce dvakrát déle, než jste tipovali, nepoužívejte optimistický odhad, ale raději realistický – ten, který vychází z dat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Častou &lt;/del&gt;chybou je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;spoléhat se &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to, že podpora vyřeší všechno automaticky&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dodavatel vám většinou pomůže s obnovou dat, ale už neporadí&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;proč se záloha nepovedla&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pokud jste špatně nastavili plán úloh. Před nasazením nové verze databáze si proto ověřte, že podpora umí pracovat &lt;/del&gt;s &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vaší konkrétní konfigurací&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;včetně použitých pluginů nebo rozšíření. Mnoho poskytovatelů standardně podporuje jen čistou instalaci, a jakmile přidáte vlastní úpravy, [https://Openclipart.org/search/?query=garance garance] přestávají platit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Spread operátor ... vypadá nenápadně, ale má obrovskou sílu. Pomocí [...arr1, ...arr2] spojíte pole&lt;/del&gt;,  [http://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wiki.philipphudek&lt;/del&gt;.de/index.php?title=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5_krok&lt;/del&gt;%C5%&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AF,_jak_napsat_prvn%C3%AD_unit_test_a_vyhnout_se_za&lt;/del&gt;%C4%&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;8D&lt;/del&gt;%C3%&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A1te%C4%8Dnick%C3%BDm_chyb%C3%A1m http://wiki.philipphudek.de&lt;/del&gt;] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pomocí &lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;..obj1&lt;/del&gt;, .&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;..obj2 sloučíte objekty. Klíčové je pořadí: vlastnosti z pozdějších objektů přepisují dřívější. To se hodí pro nastavení výchozích hodnot&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale pamatujte, že jde o mělkou kopii. Vnořené objekty se stále sdílejí referencí, takže pokud změníte vnitřní strukturu,  If you have any inquiries relating to wherever and how to use &lt;/del&gt;[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ingeekswetrust&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;de&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index.php&lt;/del&gt;?&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;title&lt;/del&gt;=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5_praktick%C3%BDch_tip&lt;/del&gt;%C5%&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AF_pro_&lt;/del&gt;%&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;C4%8Dist%C3%A9_REST_API_v_Node&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;js úPrava Interiéru]&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;you can make contact with us at the webpage&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ovlivníte i originál&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pro hluboké klonování musíte použít něco robustnějšího&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ne jen spread&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Když už máte obraz hotový&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;neuškodí ho zmenšit&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Základní obrazy &lt;/del&gt;jako &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;node &lt;/del&gt;nebo &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;python obsahují spoustu nástrojů, které k běhu nepotřebujete&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Použijte variantu s příponou -alpine, která &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;výrazně menší&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jen pozor&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že některé balíčky vyžadují kompilaci &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v Alpine chybí standardní knihovny, takže občas musíte doinstalovat build-essential&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dále se vyplatí spojovat více příkazů do jednoho RUN &lt;/del&gt;a na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;konci odstranit dočasné soubory&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aby se nezvyšovala velikost vrstvy. Například: RUN apt-get update &amp;amp;&amp;amp; apt-get install -y nějaký-balík &amp;amp;&amp;amp; rm -rf /var/lib/apt/lists/*&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Začněte tím, [https://Sportsrants&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;com/?s=%C5%BEe%20%C3%BAkol že úkol] rozdělíte na menší části&lt;/del&gt;. Pokud &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;máte naplánovat funkci&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rozložte ji &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jednotlivé kroky – příprava dat&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;logika, UI, testy, dokumentace&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;U každého kroku odhadněte čas zvlášť &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;poté je sečtěte. Tím získáte přesnější obrázek&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;protože malé úkoly se odhadují snadněji než velký celek&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Vyhnete se také efektu „všeho se týká&quot; – když odhadujete velký balík&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;máte tendenci ho podhodnotit&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Drobné části navíc umožní rychleji identifikovat, kde odhad selhal&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Proč se vyplatí revidovat strukturu dotazu před psaním dalšího indexu Než začnete přidávat indexy&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;podívejte se &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;samotný dotaz&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Často zjistíte&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že problém není v chybějícím indexu&lt;/del&gt;, ale &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v zbytečném spojování tabulek nebo v nadbytečném načítání dat&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typická chyba je použití SELECT * místo vyjmenování potřebných sloupců&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Přenesete pak zbytečně velké množství dat mezi databází a aplikací. Další častou chybou &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;použití LEFT JOIN tam, kde stačí vnitřní spojení, nebo naopak použití subdotazu, který lze přepsat na efektivnější JOIN&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Když se stránka přestane chovat podle očekávání, první zastávka míří do vývojářských nástrojů prohlížeče&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Většina lidí otevře konzoli&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale málokdo umí pracovat &lt;/del&gt;s &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tím&lt;/del&gt;, co &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jim nabízí&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Přitom &lt;/del&gt;stačí &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pár kliknutí &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;místo bezradného zírání do kódu získáte přesnou zprávu o tom, co selhalo a kde&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Naučte se číst chybové hlášky a používat nástroje&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které máte přímo v prohlížeči&lt;/del&gt;, a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ladění &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;stane srozumitelným procesem&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dalším častým problémem &lt;/del&gt;jsou &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pojmenované svazky&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Když spustíte kontejner bez svazku&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;všechna data&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;která aplikace vytvoří, zmizí s jeho smazáním&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pro databáze nebo uploadované soubory to není přijatelné. Použijte -&lt;/del&gt;v a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;připojte pojmenovaný svazek nebo adresář z hostitele: docker run -v /cesta/k/slozce:/&lt;/del&gt;data&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Na &lt;/del&gt;to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale pozor – pokud se liší práva mezi hostitelem a kontejnerem, může aplikace dostat chybu o nedostatečném oprávnění. Řešením &lt;/del&gt;je &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nastavit uživatele v Dockerfile pomocí USER &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;případně použít parametr --user při spuštění&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Moderní JavaScript už dávno není o ručním skládání řetězců a opakování cyklů. Syntaxe ECMAScript 6 a novějších verzí přináší nástroje, které zásadně &lt;/del&gt;mění způsob, jakým &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;píšete logiku&lt;/del&gt;. Místo &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;abyste &lt;/del&gt;si &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pamatovali deset různých způsobů&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jak něco napsat&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;stačí zvládnout pár klíčových konstrukcí a zbytek se odvodí sám. Tento článek &lt;/del&gt;se &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zaměří &lt;/del&gt;na to, co skutečně &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;využijete v každodenní práci&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a upozorní &lt;/del&gt;na &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;místa, kde se snadno střelíte do vlastní nohy&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Co vám ušetří nejvíc času: template literály a spread operátor Template literály&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tedy zpětné uvozovky&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;umožňují vkládat proměnné přímo do řetězce&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;`Ahoj&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;$name!`&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Konec &lt;/del&gt;s &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;lepením plusů &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;escapováním mezer&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Uvnitř ${} můžete provádět i výrazy&lt;/del&gt;, ale &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pozor na přílišnou složitost – když tam začnete psát vnořené &lt;/del&gt;podmínky &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nebo volání funkcí&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kód se stává nečitelným&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;V takovém případě si výpočet uložte předem do proměnné&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Další výhodou template literálů jsou víceřádkové řetězce bez &amp;lt;br&amp;gt; – ale jen pokud nenecháte &lt;/del&gt;v &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;textu bílé znaky&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které se zachovají doslova&lt;/del&gt;.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typickou &lt;/ins&gt;chybou je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zapomínat &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;režijní činnosti. Samotné psaní kódu tvoří jen část práce&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Schůzky&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;code review&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;komunikace &lt;/ins&gt;s &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kolegy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;řešení konfliktů v gitu&lt;/ins&gt;,  [http://&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ingeekswetrust&lt;/ins&gt;.de/index.php?title=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Co_se_stane,_kdy&lt;/ins&gt;%C5%&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BE_za&lt;/ins&gt;%C4%&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;8Dnete_s_Androidem_bez_pl&lt;/ins&gt;%C3%&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A1nu tento web&lt;/ins&gt;] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nasazení na server — to všechno stojí čas&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud odhadujete čistý vývojový čas a nepřidáte k němu aspoň dvacet procent rezervy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;výsledný odhad bude vždy příliš optimistický&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dobrý odhadce má tendenci podceňovat&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a proto vědomě &lt;/ins&gt;[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;www.nuwireinvestor&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;com&lt;/ins&gt;/?&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;s&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;navy&lt;/ins&gt;%C5%&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A1uje&lt;/ins&gt;%&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;20hodnoty navyšuje hodnoty] o faktor známý z minulých projektů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nezbytnou součástí je také zpětná vazba. Po dokončení úkolu si zapište, kolik času skutečně zabral, a porovnejte to s odhadem&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Po pěti až deseti takových záznamech získáte reálný obrázek o tom&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v čem se systematicky mýlíte&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Možná zjistíte, že podceňujete testování nebo že odhady jsou přesné, ale vždy je srazí nečekané požadavky od zadavatele&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tato data vám umožní kalibrovat vlastní úsudek, což je jediný spolehlivý způsob&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jak se v odhadech zlepšovat&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pro asynchronní operace, jako je načítání dat z API&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nepoužívejte samotný Redux – ten je synchronní&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Použijte middleware &lt;/ins&gt;jako &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Redux Thunk &lt;/ins&gt;nebo &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Redux Saga&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Thunk &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jednodušší a vhodný pro většinu případů: umožní vám posílat akce až po dokončení asynchronní operace&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;S ním můžete v akci vytvořit funkci&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;která dostane dispatch &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;getState&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Příklad: dispatch(fetchUser(id)) – vevnitř funkce zavoláte API &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pak odešlete akci s daty. Pozor ale &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;abyste v thunku nemíchali příliš mnoho logiky – měl by jen řídit tok akcí, ne počítat data&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jak spustit kontejner a neztratit data Po sestavení obrazu přichází na řadu spuštění kontejneru&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Nejobvyklejší chybou je spustit jej bez mapování portů&lt;/ins&gt;. Pokud &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vaše aplikace běží třeba na portu 3000&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;musíte tento port z kontejneru zpřístupnit hostiteli. Jinak se k ní vůbec nedostanete. Navíc si zvykněte &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že kontejner je ze své podstaty dočasný&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Jakmile jej zastavíte &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;smažete&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přijdete o všechna data v něm uložená&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pro ukládání dat proto používejte takzvané svazky&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;které překlenou životní cyklus kontejneru&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Konkrétně stačí při spuštění připojit adresář z vašeho disku do kontejneru&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Co dělat&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aby odhad odpovídal realitě Základním krokem je rozdělit práci &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;malé, nezávislé části. Velký úkol s rozsahem „přidat platební bránu&quot; je neodhadnutelný, protože skrývá desítky rozhodnutí&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Rozbití na menší celky — integrace API, ošetření chyb, testy&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dokumentace — vám dá nejen přesnější čísla&lt;/ins&gt;, ale &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;také možnost odhadnout každou část zvlášť&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;U každé položky si zapište nejen odhad, ale i to, co by mohlo přidat práci navíc&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tento seznam rizik &lt;/ins&gt;je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cennější než samotné číslo&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Mnohem důležitější než samotné procento je pokrytí kritických cest&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pokud máte platby&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;autentizaci nebo práci &lt;/ins&gt;s &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;databází&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tam by pokrytí mělo být &lt;/ins&gt;co &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nejvyšší – klidně i 100 procent&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Naopak u jednorázových skriptů nebo prototypů &lt;/ins&gt;stačí &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;50 procent &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;je to v pořádku&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sledujte pokrytí v čase – pokud klesá&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;je to varovný signál&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že se testy nepíší pro novou funkcionalitu. Ale pokud roste jen pomalu &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chyby &lt;/ins&gt;se &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;neobjevují, není nutné za každou cenu zvyšovat metriku&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Typická chyba začátečníků je ukládání všeho do store, i věcí, které &lt;/ins&gt;jsou &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;čistě lokální, jako hodnota inputu v formuláři&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To způsobuje&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;že se při každém stisku klávesy posílá akce&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;prochází přes reducery a celý store se aktualizuje&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Místo toho si nechte lokální stav &lt;/ins&gt;v &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;komponentě pomocí useState &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;do Reduxu posílejte až hodnotu při odeslání formuláře. Stejně tak nemá smysl ukládat &lt;/ins&gt;data&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, která se dají snadno dopočítat z jiných částí store – &lt;/ins&gt;to je &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;duplikace &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vede k nekonzistenci&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Docker &lt;/ins&gt;mění způsob, jakým &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vyvíjíte a nasazujete aplikace, ale první setkání s kontejnery často končí zmatením z příkazů a pojmů&lt;/ins&gt;. Místo &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;teorie &lt;/ins&gt;si &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ukážeme pět konkrétních kroků&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;kterými projdete od nuly k běžícímu kontejneru. Nebudeme řešit všechno, co Docker umí&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ale zaměříme &lt;/ins&gt;se na to, co skutečně &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;potřebujete&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;abyste se nezasekli hned &lt;/ins&gt;na &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;začátku&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pro výběr dat ze store nepoužívejte přímý přístup k němu v komponentách. Místo toho vytvořte selektory – funkce, které z celého stavu vyberou jen to&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;co potřebujete. Selektory můžete memoizovat pomocí knihovny Reselect&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;což zabrání zbytečnému přepočítávání při každém renderu. To je důležité hlavně u velkých seznamů nebo filtrovaných dat. Příklad&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;const selectVisibleTodos = (state) =&amp;gt; state.todos.filter(...). Pokud použijete memoizovanou verzi&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;výsledek se spočítá jen když se změní vstupní data, ne při každém renderu komponenty&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Dalším praktickým pravidlem je pracovat &lt;/ins&gt;s &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rozpětím, ne s jedním číslem. Místo „tři dny&quot; řekněte „dva až pět dní&quot;. Rozpětí ukazuje nejistotu &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nutí zadavatele přemýšlet o tom, co bude dělat, pokud se práce protáhne&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Často se setkáte s tlakem na jedno číslo — v tu chvíli nabídněte střední hodnotu&lt;/ins&gt;, ale &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;přidejte &lt;/ins&gt;podmínky, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://crabcodex.com/index.php/Kdy%C5%BE_se_v%C3%A1m_k%C3%B3d_zamot%C3%A1,_s%C3%A1hn%C4%9Bte_po_t%C4%9Bchto_z%C3%A1sad%C3%A1ch rekonstrukce koupelny krok za krokem] kterých platí: „Pokud nebude nutné měnit databázové schéma, dám to za tři dny.&quot;  In case you have just about any concerns with regards to where in addition to the way to utilize [https://Wiki.Man-Noir&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;com/index&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;php/Co_se_stane,_kdy%C5%BE_t%C3%BDm_p%C5%99ejde_na_sd%C3%ADlen%C3%BD_git_workflow osvětlení &lt;/ins&gt;v &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;obýváku]&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;you are able to email us in the web site. Tím chráníte sebe i projekt&lt;/ins&gt;.&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>EmileHelm64</name></author>
	</entry>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Kdy%C5%BE_chcete_spustit_stejnou_aplikaci_na_libovoln%C3%A9m_po%C4%8D%C3%ADta%C4%8Di&amp;diff=238711&amp;oldid=prev</id>
		<title>GiuseppeLoxton6: Utworzono nową stronę &quot;&lt;br&gt;Jak pracovat s minulými zkušenostmi Využívejte historii svých odhadů. Vracejte se k dokončeným úkolům a porovnejte odhad se skutečností. Zjistíte, které typy činností pravidelně podhodnocujete – třeba testování, integrace nebo řešení chyb v existujícím kódu. Tyto poznatky pak aplikujte při plánování nových úkolů. Pokud historicky trvala podobná funkce dvakrát déle, než jste tipovali, nepoužívejte optimistický odhad, ale…&quot;</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Kdy%C5%BE_chcete_spustit_stejnou_aplikaci_na_libovoln%C3%A9m_po%C4%8D%C3%ADta%C4%8Di&amp;diff=238711&amp;oldid=prev"/>
		<updated>2026-08-29T05:12:13Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;&amp;lt;br&amp;gt;Jak pracovat s minulými zkušenostmi Využívejte historii svých odhadů. Vracejte se k dokončeným úkolům a porovnejte odhad se skutečností. Zjistíte, které typy činností pravidelně podhodnocujete – třeba testování, integrace nebo řešení chyb v existujícím kódu. Tyto poznatky pak aplikujte při plánování nových úkolů. Pokud historicky trvala podobná funkce dvakrát déle, než jste tipovali, nepoužívejte optimistický odhad, ale…&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;br&amp;gt;Jak pracovat s minulými zkušenostmi Využívejte historii svých odhadů. Vracejte se k dokončeným úkolům a porovnejte odhad se skutečností. Zjistíte, které typy činností pravidelně podhodnocujete – třeba testování, integrace nebo řešení chyb v existujícím kódu. Tyto poznatky pak aplikujte při plánování nových úkolů. Pokud historicky trvala podobná funkce dvakrát déle, než jste tipovali, nepoužívejte optimistický odhad, ale raději realistický – ten, který vychází z dat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Častou chybou je spoléhat se na to, že podpora vyřeší všechno automaticky. Dodavatel vám většinou pomůže s obnovou dat, ale už neporadí, proč se záloha nepovedla, pokud jste špatně nastavili plán úloh. Před nasazením nové verze databáze si proto ověřte, že podpora umí pracovat s vaší konkrétní konfigurací, včetně použitých pluginů nebo rozšíření. Mnoho poskytovatelů standardně podporuje jen čistou instalaci, a jakmile přidáte vlastní úpravy, [https://Openclipart.org/search/?query=garance garance] přestávají platit.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Spread operátor ... vypadá nenápadně, ale má obrovskou sílu. Pomocí [...arr1, ...arr2] spojíte pole,  [http://wiki.philipphudek.de/index.php?title=5_krok%C5%AF,_jak_napsat_prvn%C3%AD_unit_test_a_vyhnout_se_za%C4%8D%C3%A1te%C4%8Dnick%C3%BDm_chyb%C3%A1m http://wiki.philipphudek.de] pomocí ...obj1, ...obj2 sloučíte objekty. Klíčové je pořadí: vlastnosti z pozdějších objektů přepisují dřívější. To se hodí pro nastavení výchozích hodnot, ale pamatujte, že jde o mělkou kopii. Vnořené objekty se stále sdílejí referencí, takže pokud změníte vnitřní strukturu,  If you have any inquiries relating to wherever and how to use [http://ingeekswetrust.de/index.php?title=5_praktick%C3%BDch_tip%C5%AF_pro_%C4%8Dist%C3%A9_REST_API_v_Node.js úPrava Interiéru], you can make contact with us at the webpage. ovlivníte i originál. Pro hluboké klonování musíte použít něco robustnějšího, ne jen spread.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když už máte obraz hotový, neuškodí ho zmenšit. Základní obrazy jako node nebo python obsahují spoustu nástrojů, které k běhu nepotřebujete. Použijte variantu s příponou -alpine, která je výrazně menší. Jen pozor, že některé balíčky vyžadují kompilaci a v Alpine chybí standardní knihovny, takže občas musíte doinstalovat build-essential. Dále se vyplatí spojovat více příkazů do jednoho RUN a na konci odstranit dočasné soubory, aby se nezvyšovala velikost vrstvy. Například: RUN apt-get update &amp;amp;&amp;amp; apt-get install -y nějaký-balík &amp;amp;&amp;amp; rm -rf /var/lib/apt/lists/*.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začněte tím, [https://Sportsrants.com/?s=%C5%BEe%20%C3%BAkol že úkol] rozdělíte na menší části. Pokud máte naplánovat funkci, rozložte ji na jednotlivé kroky – příprava dat, logika, UI, testy, dokumentace. U každého kroku odhadněte čas zvlášť a poté je sečtěte. Tím získáte přesnější obrázek, protože malé úkoly se odhadují snadněji než velký celek. Vyhnete se také efektu „všeho se týká&amp;quot; – když odhadujete velký balík, máte tendenci ho podhodnotit. Drobné části navíc umožní rychleji identifikovat, kde odhad selhal.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Proč se vyplatí revidovat strukturu dotazu před psaním dalšího indexu Než začnete přidávat indexy, podívejte se na samotný dotaz. Často zjistíte, že problém není v chybějícím indexu, ale v zbytečném spojování tabulek nebo v nadbytečném načítání dat. Typická chyba je použití SELECT * místo vyjmenování potřebných sloupců. Přenesete pak zbytečně velké množství dat mezi databází a aplikací. Další častou chybou je použití LEFT JOIN tam, kde stačí vnitřní spojení, nebo naopak použití subdotazu, který lze přepsat na efektivnější JOIN.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když se stránka přestane chovat podle očekávání, první zastávka míří do vývojářských nástrojů prohlížeče. Většina lidí otevře konzoli, ale málokdo umí pracovat s tím, co jim nabízí. Přitom stačí pár kliknutí a místo bezradného zírání do kódu získáte přesnou zprávu o tom, co selhalo a kde. Naučte se číst chybové hlášky a používat nástroje, které máte přímo v prohlížeči, a ladění se stane srozumitelným procesem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Dalším častým problémem jsou pojmenované svazky. Když spustíte kontejner bez svazku, všechna data, která aplikace vytvoří, zmizí s jeho smazáním. Pro databáze nebo uploadované soubory to není přijatelné. Použijte -v a připojte pojmenovaný svazek nebo adresář z hostitele: docker run -v /cesta/k/slozce:/data. Na to ale pozor – pokud se liší práva mezi hostitelem a kontejnerem, může aplikace dostat chybu o nedostatečném oprávnění. Řešením je nastavit uživatele v Dockerfile pomocí USER a případně použít parametr --user při spuštění.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Moderní JavaScript už dávno není o ručním skládání řetězců a opakování cyklů. Syntaxe ECMAScript 6 a novějších verzí přináší nástroje, které zásadně mění způsob, jakým píšete logiku. Místo abyste si pamatovali deset různých způsobů, jak něco napsat, stačí zvládnout pár klíčových konstrukcí a zbytek se odvodí sám. Tento článek se zaměří na to, co skutečně využijete v každodenní práci, a upozorní na místa, kde se snadno střelíte do vlastní nohy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Co vám ušetří nejvíc času: template literály a spread operátor Template literály, tedy zpětné uvozovky, umožňují vkládat proměnné přímo do řetězce: `Ahoj, $name!`. Konec s lepením plusů a escapováním mezer. Uvnitř ${} můžete provádět i výrazy, ale pozor na přílišnou složitost – když tam začnete psát vnořené podmínky nebo volání funkcí, kód se stává nečitelným. V takovém případě si výpočet uložte předem do proměnné. Další výhodou template literálů jsou víceřádkové řetězce bez &amp;lt;br&amp;gt; – ale jen pokud nenecháte v textu bílé znaky, které se zachovají doslova.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GiuseppeLoxton6</name></author>
	</entry>
</feed>