<?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=BretCoughlin8</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=BretCoughlin8"/>
	<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Special:Contributions/BretCoughlin8"/>
	<updated>2026-09-05T06:06:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=Git_workflow,_kter%C3%BD_t%C3%BDm%C5%AFm_komplikuje_pr%C3%A1ci:_%C4%8Dast%C3%A9_chyby_a_jejich_%C5%99e%C5%A1en%C3%AD&amp;diff=199299</id>
		<title>Git workflow, který týmům komplikuje práci: časté chyby a jejich řešení</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Git_workflow,_kter%C3%BD_t%C3%BDm%C5%AFm_komplikuje_pr%C3%A1ci:_%C4%8Dast%C3%A9_chyby_a_jejich_%C5%99e%C5%A1en%C3%AD&amp;diff=199299"/>
		<updated>2026-08-29T04:54:05Z</updated>

		<summary type="html">&lt;p&gt;BretCoughlin8: Created page with &amp;quot;Nejčastější chyby při psaní aplikací a jak se jim vyhnout Jednou z nejčastějších chyb je přetížení hlavního vlákna. Veškerá práce s uživatelským rozhraním musí běžet na hlavním vlákně, ale když do něj vložíte náročné výpočty, aplikace zamrzne. Používejte asynchronní programování, konkrétně operace na pozadí a návrat na hlavní vlákno pomocí DispatchQueue.main. Další častou chybou je neřešení paměťových cyklů. Pok...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nejčastější chyby při psaní aplikací a jak se jim vyhnout Jednou z nejčastějších chyb je přetížení hlavního vlákna. Veškerá práce s uživatelským rozhraním musí běžet na hlavním vlákně, ale když do něj vložíte náročné výpočty, aplikace zamrzne. Používejte asynchronní programování, konkrétně operace na pozadí a návrat na hlavní vlákno pomocí DispatchQueue.main. Další častou chybou je neřešení paměťových cyklů. Pokud používáte closures, které zachytávají self, riskujete zacyklení a únik paměti. Vždy deklarujte capture list s weak nebo unowned podle kontextu. A pozor na volitelné hodnoty – když je bezpečně nevynutíte, aplikace spadne. Používejte guard let nebo if let místo force unwrap.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Když tým přejde na Git, většinou začne s jednoduchým tokem: každý pracuje na vlastní větvi, poté se změny sloučí do hlavní větve. Tento přístup funguje u malých projektů, ale s rostoucím týmem narazíte na konflikty, ztracené změny a nepřehlednou historii. Největší problém nebývá samotný nástroj, ale pravidla, která si tým nestanoví předem. Bez jasných pravidel se i zkušení vývojáři dostanou do situace, kdy nevědí, kam commitnout změnu nebo jak správně provést review.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Až budete mít funkční první verzi, nezapomeňte na optimalizaci. Projděte si kód a odstraňte duplicitní logiku. Naučte se používat inženýrské nástroje jako Instruments pro profilování výkonu. Důkladně testujte na reálném zařízení, nejen v simulátoru – rozdíly v chování jsou často překvapivé. A hlavně: pište kód tak, aby mu rozuměl někdo jiný za rok. To znamená srozumitelné názvy proměnných a funkcí, krátké metody a komentáře jen tam, kde je to nezbytné. Když se tyto návyky stanou automatickými, budete schopni přidávat nové funkce rychleji a bez zbytečného stresu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jak si poradit s prvním pohovorem Když už se dostaneš k pohovoru, připrav si odpovědi na otázky, které se objevují stále dokola. Nebuď překvapený, když se tě zeptají, co bys dělal, kdyby tvůj program spadl v produkci. V tu chvíli nečekají přesnou odpověď, ale zajímá je tvůj postup: jak bys problém reprodukoval, jak bys hledal příčinu a jak bys zajistil, aby se to neopakovalo. Typická chyba je začít hned radit řešení bez toho, abys pochopil problém – taková odpověď působí ukvapeně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Další oblastí, kde se chybuje, je navigace mezi obrazovkami. Mnoho začátečníků plete přechody mezi view controllery s modálním zobrazením. Pro běžné přechody používejte NavigationStack (ve SwiftUI) nebo UINavigationController, a pro zobrazení detailu s možností návratu pak push. Modální prezentace je vhodná pro formuláře nebo potvrzení akcí. Při práci se SwiftUI si dejte pozor na to, že stavové proměnné by měly být private – pokud je použijete jako public, může dojít k nechtěným vedlejším efektům. Také se vyhněte přílišnému používání @ObservedObject tam, kde stačí @State nebo @Binding, abyste nezpomalovali aktualizace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Prvním krokem je zvládnutí základů jazyka. Nemusíte znát všechny pokročilé techniky, ale měli byste rozumět strukturám, třídám, volitelným typům a práci s kolekcemi. Praktické cvičení: napište si jednoduchou konzolovou aplikaci pro správu úkolů. Tím si osvojíte práci s funkcemi a chybami. Až budete mít tento základ, přejděte k uživatelskému rozhraní. Zde narazíte na klíčovou volbu – použít SwiftUI nebo UIKit. SwiftUI je moderní a rychlejší pro vývoj, ale UIKit má širší podporu ve starších projektech. Pro začátek doporučuji SwiftUI, protože vám umožní soustředit se na logiku aplikace místo na zdlouhavé nastavování komponent.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Přechod z MySQL na PostgreSQL bývá častější, než se zdá. Důvodem bývá potřeba pokročilejších datových typů, lepší podpory fulltextového vyhledávání nebo jen touha po robustnější správě souběžného přístupu. Samotná migrace ale není kopírováním souborů. Klíčové je pochopit rozdíly v chování obou systémů a připravit si data i schéma tak, aby přenos proběhl hladce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Druhý krok je zviditelnit svou práci. Nemusíš být aktivní na sociálních sítích, ale měj veřejně dostupné portfolio, kde je vidět tvůj kód i to, jak přemýšlíš. Napiš pár krátkých textů o tom, co jsi při projektu řešil, a hlavně to, jaké chyby jsi udělal a jak jsi je opravil. Firmy nehledají někoho, kdo nikdy nechybuje – hledají někoho, kdo se z chyb umí poučit. Zaměř se na to, aby tvoje portfolio bylo jednoduché, přehledné a bez zbytečných efektů, které odvádějí pozornost od tvé práce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Důležité je také rozhodnout, jak často slučovat změny do hlavní větve. Doporučuji slučovat alespoň jednou denně, ideálně po každé dokončené části práce. Čím déle větev žije, tím větší je riziko konfliktů. Než začnete slučovat, vždy si aktualizujte svou větev z hlavní větve. To znamená, že si stáhnete změny, které mezitím přibyly, a vyřešíte případné konflikty ještě před samotným sloučením. Tím se vyhnete velkým a nepřehledným merge konfliktům.&lt;/div&gt;</summary>
		<author><name>BretCoughlin8</name></author>
	</entry>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=User:BretCoughlin8&amp;diff=199297</id>
		<title>User:BretCoughlin8</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=User:BretCoughlin8&amp;diff=199297"/>
		<updated>2026-08-29T04:54:02Z</updated>

		<summary type="html">&lt;p&gt;BretCoughlin8: Created page with &amp;quot;Váš průvodce dílnou i obývákem žije už dlouho. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejvíc mě baví hledat cesty, jak si usnadnit život.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Váš průvodce dílnou i obývákem žije už dlouho. Sdílím zde, jak skloubit funkčnost s teplem domova. Nejvíc mě baví hledat cesty, jak si usnadnit život.&lt;/div&gt;</summary>
		<author><name>BretCoughlin8</name></author>
	</entry>
</feed>