<?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=Donte03818</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=Donte03818"/>
	<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Special:Contributions/Donte03818"/>
	<updated>2026-09-05T17:46:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=GitHub_Actions_versus_tradi%C4%8Dn%C3%AD_CI/CD:_co_v%C3%A1m_u%C5%A1et%C5%99%C3%AD_hodiny_pr%C3%A1ce&amp;diff=198306</id>
		<title>GitHub Actions versus tradiční CI/CD: co vám ušetří hodiny práce</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=GitHub_Actions_versus_tradi%C4%8Dn%C3%AD_CI/CD:_co_v%C3%A1m_u%C5%A1et%C5%99%C3%AD_hodiny_pr%C3%A1ce&amp;diff=198306"/>
		<updated>2026-08-29T04:12:28Z</updated>

		<summary type="html">&lt;p&gt;Donte03818: Created page with &amp;quot;&amp;lt;br&amp;gt;Další pastí je asynchronní kód. Pokud testujete metody vracející Task, použijte atribut [Test] na asynchronní metodu a místo Assert.AreEqual raději využijte Assert.That s odpovídajícími matchery. NUnit podporuje async metody od verze 3, takže se nebojte psát await přímo v testu. Vyhnete se tak zablokování vlákna a nesprávným výsledkům. Nezapomeňte ani na testování výjimek – pomocí Assert.Throws ověříte, že metoda správně selže,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;Další pastí je asynchronní kód. Pokud testujete metody vracející Task, použijte atribut [Test] na asynchronní metodu a místo Assert.AreEqual raději využijte Assert.That s odpovídajícími matchery. NUnit podporuje async metody od verze 3, takže se nebojte psát await přímo v testu. Vyhnete se tak zablokování vlákna a nesprávným výsledkům. Nezapomeňte ani na testování výjimek – pomocí Assert.Throws ověříte, že metoda správně selže, a to je často stejně důležité jako testování šťastné cesty.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prakticky začněte třeba tím, že zavedete automatické buildu při každém commitu. Jakmile to běží alespoň měsíc, přidejte automatické nasazení do stagingu a pak už jen drobné kroky – jako je automatické vrácení změn při selhání testů. Častou chybou je ale zapomenout na bezpečnost: přístupová práva k produkci by měla být minimální a všechny změny by měly být zaznamenané. Nebojte se začít bezpečnostními skeny už v CI – je to levnější než řešit únik dat později.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při práci s poli a mapami se vyplatí používat generické typy. Místo string[] zkuste Array a když používáte Map, vždy specifikujte klíč i hodnotu. Tím předejdete situacím, kdy z mapy vytahujete prvek, který neexistuje, a dostanete undefined místo očekávané hodnoty. Právě takovéto drobnosti dělají z TypeScriptu silný nástroj pro týmovou spolupráci.&amp;lt;br&amp;gt;Nejprve si osvojte základní zápis. Pokud máte funkci, která přijímá číslo a vrací řetězec, napište to explicitně. Typové anotace nejsou jen dekorace – jsou to smlouvy, které Editor i kompilátor kontrolují. Začněte s primitivy, ale brzy přejděte k definici vlastních rozhraní. Tím získáte to, co je na TypeScriptu nejcennější: samodokumentující kód, který ostatní přečtou rychleji.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Verzování nemusí být žádná magie. Git je nástroj, který sleduje změny ve vašich souborech a umožňuje se kdykoli vrátit k dřívějšímu stavu. Než začnete, nainstalujte si Git a otevřete terminál ve složce projektu. Pak spusťte příkaz git init, který vytvoří skrytou [https://openclipart.org/search/?query=slo%C5%BEku složku] .git. Od té chvíle Git ví, že má hlídat všechny soubory v daném adresáři.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Druhý [https://feywild.thirdrealm.org/index.php?title=Kdy%C5%BE_odhad_%C4%8Dasu_sl%C3%ADb%C3%ADte,_klient_%C4%8Dek%C3%A1_z%C3%A1zrak._Co_d%C4%9Blat_m%C3%ADsto_toho rekonstrukce koupelny krok za krokem]: vyberte si jeden tým a jeden projekt, kde DevOps vyzkoušíte. Nezavádějte nové postupy celoplošně, protože to skončí odmítnutím a chaosem. Dejte týmu volnost zvolit si konkrétní nástroje, ale stanonte jasné cíle: automatizované nasazení, sdílená odpovědnost za provoz, rychlejší reakce na chyby. Méně je někdy více – nepotřebujete deset nástrojů, stačí jeden na CI, jeden na konfiguraci a jeden na monitoring.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pro efektivní caching závislostí použijte built-in cache action. Například pro jazyk Python ukládáte pip cache, pro Node.js npm cache. Klíč cache by měl obsahovat hash lock souboru. Bez cache se vám každý build zdrží o desítky sekund až minut, zvlášť u větších projektů. Nezapomeňte ale cache invalidovat při změně verze interpretu — jinak budete používat staré balíčky.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;První kroky s pytestem jsou překvapivě přímočaré. Stačí napsat funkci začínající slovem test_ a uvnitř použít obyčejný assert. Žádné třídy, žádné speciální metody. Pokud chcete otestovat funkci, která sčítá dvě čísla, vytvoříte soubor test_calc.py a do něj napíšete: def test_soucet(): assert soucet(2, 3) == 5. Spuštění provedete příkazem pytest v terminálu, a pytest automaticky najde všechny soubory s předponou test_ a funkce test_ v aktuálním adresáři. To je první věc, na kterou si zvykněte – pojmenování souborů a funkcí není libovolné, ale řídí se konvencemi.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Testování v Pythonu není jen o spuštění skriptu a doufání, že vše funguje. Když začnete psát automatické testy, rychle narazíte na otázku, jaký nástroj použít. Standardní knihovna nabízí unittest, ale pytest se v posledních letech stal prakticky standardem pro nové projekty. Jeho hlavní výhoda spočívá v jednoduchosti zápisu a v bohatých funkcích, které šetří čas při psaní i údržbě testů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Poslední oblastí, kterou stojí za to zmínit, je parametrizace testů. Často potřebujete ověřit stejnou funkci s více sadami vstupů. Místo psaní deseti podobných funkcí použijte dekorátor @pytest.mark.parametrize, který přijímá názvy argumentů a seznam hodnot. Každá kombinace se pak spustí jako samostatný test, a když něco selže, máte jasnou zprávu, která varianta je problematická. Tato technika výrazně zkracuje kód a zvyšuje pokrytí. Až si osvojíte tyto základy, pytest se stane vaším spolehlivým pomocníkem, který vám dá jistotu, že změny v kódu nerozbijí stávající funkčnost.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typickou pastí, [http://wiki.philipphudek.de/index.php?title=Co_se_stane,_kdy%C5%BE_t%C3%BDm_p%C5%99ejde_na_sd%C3%ADlen%C3%BD_git_workflow barvy stěn do obýváku] které začátečníci spadají, je testování implementačních detailů místo chování. Když testujete, že funkce volá jinou funkci s určitými argumenty, svážete test s vnitřní strukturou kódu. Jakmile změníte implementaci, byť jen drobně, test selže, přestože funkce stále funguje správně. Mnohem robustnější je testovat výstup a vedlejší efekty – tedy to, co volající skutečně vidí. Například místo kontroly, že funkce ukládacího modulu volá metodu save, raději ověřte, že se soubor vytvoří s očekávaným obsahem. Tento přístup vám umožní později měnit vnitřní strukturu bez nutnosti přepisovat testy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;For those who have just about any inquiries regarding wherever in addition to how you can utilize [http://wiki.Philipphudek.de/index.php?title=6_praktick%C3%BDch_rad,_kdy_m%C4%9B%C5%99it_pokryt%C3%AD_testy_a_kdy_u%C5%BE_to_nem%C3%A1_smysl dokončení interiéru], it is possible to call us in our own web site.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Donte03818</name></author>
	</entry>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=User:Donte03818&amp;diff=198304</id>
		<title>User:Donte03818</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=User:Donte03818&amp;diff=198304"/>
		<updated>2026-08-29T04:12:24Z</updated>

		<summary type="html">&lt;p&gt;Donte03818: Created page with &amp;quot;Autor blogu praktickým bydlením sází na osvědčené tipy. Sdílím zde, jak si poradit v malém bytě. Nejvíc mě baví hledat cesty, jak si usnadnit život.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Here is my homepage; [http://wiki.Philipphudek.de/index.php?title=6_praktick%C3%BDch_rad,_kdy_m%C4%9B%C5%99it_pokryt%C3%AD_testy_a_kdy_u%C5%BE_to_nem%C3%A1_smysl dokončení interiéru]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu praktickým bydlením sází na osvědčené tipy. Sdílím zde, jak si poradit v malém bytě. Nejvíc mě baví hledat cesty, jak si usnadnit život.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Here is my homepage; [http://wiki.Philipphudek.de/index.php?title=6_praktick%C3%BDch_rad,_kdy_m%C4%9B%C5%99it_pokryt%C3%AD_testy_a_kdy_u%C5%BE_to_nem%C3%A1_smysl dokončení interiéru]&lt;/div&gt;</summary>
		<author><name>Donte03818</name></author>
	</entry>
</feed>