<?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=KerrieHuynh219</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=KerrieHuynh219"/>
	<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Special:Contributions/KerrieHuynh219"/>
	<updated>2026-11-06T12:09:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=Testov%C3%A1n%C3%AD_reducer%C5%AF_a_async_akc%C3%AD_v_Reduxu_bez_integra%C4%8Dn%C3%ADho_prost%C5%99ed%C3%AD&amp;diff=141050</id>
		<title>Testování reducerů a async akcí v Reduxu bez integračního prostředí</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Testov%C3%A1n%C3%AD_reducer%C5%AF_a_async_akc%C3%AD_v_Reduxu_bez_integra%C4%8Dn%C3%ADho_prost%C5%99ed%C3%AD&amp;diff=141050"/>
		<updated>2026-08-21T18:04:32Z</updated>

		<summary type="html">&lt;p&gt;KerrieHuynh219: Created page with &amp;quot;Nejprve si ověřte, že máte nainstalovaný .NET SDK. Otevřete příkazový řádek (cmd, PowerShell nebo terminál) a napište příkaz dotnet --version. Pokud se zobrazí číslo verze, jste připraveni. V opačném případě si SDK stáhněte z oficiálních stránek Microsoftu a nainstalujte. Poté si vytvořte novou složku pro projekt, například cesta\k\projektu, a vejděte do ní přes příkazový řádek. Tam spusťte dotnet new console -n MojeAplikace. T...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nejprve si ověřte, že máte nainstalovaný .NET SDK. Otevřete příkazový řádek (cmd, PowerShell nebo terminál) a napište příkaz dotnet --version. Pokud se zobrazí číslo verze, jste připraveni. V opačném případě si SDK stáhněte z oficiálních stránek Microsoftu a nainstalujte. Poté si vytvořte novou složku pro projekt, například cesta\k\projektu, a vejděte do ní přes příkazový řádek. Tam spusťte dotnet new console -n MojeAplikace. Tím se vytvoří nový projekt s názvem MojeAplikace a ve složce najdete soubor Program.cs.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak si vytvořit první kontejner a nespálit se Základním stavebním kamenem je soubor Dockerfile. Ten popisuje, jak se má výsledný obraz vytvořit. Začněte jednoduchým příkladem: vezměte oficiální obraz jazyka Python, nakopírujte do něj svůj skript a nastavte příkaz, který se má spustit. Důležité je dodržet pořadí instrukcí. Pokud totiž změníte pouze kód aplikace, Docker využije cache a build proběhne rychle. Pokud ale nejprve zkopírujete celý projekt a teprve poté instalujete závislosti, každá změna v kódu způsobí, že se závislosti instalují znovu, což je pomalé a frustrující.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Automatizace a testovací scénáře Automatizované testy nasazujte především na kritické cesty: přihlášení, nákupní košík, platbu a synchronizaci dat. Pro API testy používejte nástroje, které umožňují psát testy jako kód – tím získáte verzování a snadnou údržbu. U UI testů se zaměřte na stabilní selektory a vyhněte se závislosti na konkrétních souřadnicích. Typická chyba je testovat UI proti mock datům, která neodpovídají reálné struktuře odpovědí serveru – takové testy pak projdou, ale aplikace v produkci spadne.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pozor si dejte i na méně obvyklá místa, kde se SQL injection může schovat. Často se zapomíná na HTTP hlavičky, cookies nebo soubory nahrané uživatelem. Tyto hodnoty také procházejí aplikací a mohou skončit v databázi. Vždy je ošetřete stejně jako formulářová pole. Dále myslete na chybové hlášky – nikdy nevracejte uživateli detailní výpis SQL chyby. Útočník by z něj získal informace o struktuře databáze. Místo toho logujte chyby do souboru a uživateli zobrazte neutrální hlášení.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při práci s kontejnery se nevyhnete práci s příkazy. Základní je docker build pro vytvoření obrazu a docker run pro spuštění kontejneru. Mnozí začátečníci zapomínají, že kontejner po skončení běhu zmizí, pokud mu nezadáte přepínač -d (detached) pro běh na pozadí, nebo -it pro interaktivní režim. Tím se dostáváme k prvnímu typickému omylu: lidé očekávají, že kontejner poběží jako služba, ale ve výchozím stavu se spustí, vykoná úlohu a ukončí se. Pokud chcete, aby běžel stále, musíte buď spustit dlouhoběžící proces, nebo použít orchestrátor, jako je Docker Compose.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základním pravidlem je nikdy neskládat SQL dotaz pomocí řetězcové konkatenace. Typická chyba vypadá jako spojení textu s proměnnou, například když do dotazu vložíte uživatelské jméno přímo jako součást příkazu. Pokud uživatel zadá místo jména třeba výraz s apostrofem a podmínkou, může změnit logiku dotazu. Vždy proto používejte připravené dotazy (prepared statements) a parametrizované dotazy. Tyto mechanismy oddělují SQL kód od dat a databáze je pak bere jako hodnoty, nikoli jako příkazy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pravidelně testujte aplikaci na zranitelnosti. Používejte automatizované skenery i manuální testy, které zahrnují vkládání speciálních znaků do všech vstupních polí. Zkuste do formulářů zadat obyčejný apostrof a sledujte, zda aplikace vyhodí chybu. Pokud ano, nezanedbávejte to – je to signál, že někde dochází k nedostatečnému ošetření. Dbejte také na to, aby databázový účet používaný aplikací měl pouze nezbytná oprávnění. Oddělte přístup pro čtení, zápis a správu. Tím omezíte škody, pokud k průniku dojde.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Co se týče praktických rad, vždy si ověřte, že obraz, který stahujete, je oficiální a aktualizovaný. Na veřejných registrech najdete tisíce obrazů, ale ne všechny jsou udržované. Spolehněte se na ty, které mají jasný popis a jsou spravované přímo dodavatelem technologie. Dále se vyhněte používání tagu latest pro produkci. I když se to zdá pohodlné, takový obraz se může ze dne na den změnit a vaše aplikace pak přestane fungovat z ničeho nic. Raději používejte konkrétní verze, i když to znamená občasné manuální aktualizace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;SQL injection není problém, který by se dal vyřešit jednou provždy. Vyžaduje průběžnou pozornost a kódování s ohledem na bezpečnost. Při každém novém dotazu se zeptejte, zda obsahuje uživatelský vstup, a pokud ano, použijte parametrizaci. Pravidelně aktualizujte databázové ovladače a frameworky, které často obsahují opravy známých zranitelností. Investice do prevence se mnohonásobně vrátí, protože náklady na řešení úniku dat jsou obvykle výrazně vyšší než čas strávený psaním bezpečného kódu.&lt;/div&gt;</summary>
		<author><name>KerrieHuynh219</name></author>
	</entry>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=User:KerrieHuynh219&amp;diff=141048</id>
		<title>User:KerrieHuynh219</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=User:KerrieHuynh219&amp;diff=141048"/>
		<updated>2026-08-21T18:04:29Z</updated>

		<summary type="html">&lt;p&gt;KerrieHuynh219: Created page with &amp;quot;Váš průvodce praktickým bydlením sází na osvědčené tipy. Sdílím zde, jak si poradit v malém bytě. Nejraději hledat cesty, jak si usnadnit život.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Váš průvodce praktickým bydlením sází na osvědčené tipy. Sdílím zde, jak si poradit v malém bytě. Nejraději hledat cesty, jak si usnadnit život.&lt;/div&gt;</summary>
		<author><name>KerrieHuynh219</name></author>
	</entry>
</feed>