<?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=EvieRainey98174</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=EvieRainey98174"/>
	<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Special:Contributions/EvieRainey98174"/>
	<updated>2026-09-05T03:15:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=Permisivn%C3%AD_vs._copyleft:_kter%C3%A1_open_source_licence_sedne_va%C5%A1emu_projektu%3F&amp;diff=199377</id>
		<title>Permisivní vs. copyleft: která open source licence sedne vašemu projektu?</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=Permisivn%C3%AD_vs._copyleft:_kter%C3%A1_open_source_licence_sedne_va%C5%A1emu_projektu%3F&amp;diff=199377"/>
		<updated>2026-08-29T04:56:48Z</updated>

		<summary type="html">&lt;p&gt;EvieRainey98174: Created page with &amp;quot;Praktickým krokem je rozhodnutí o tom, co odlišuje váš projekt. Pokud jde o knihovnu, kterou mají ostatní vývojáři připojovat do svých aplikací, permisivní licence usnadní integraci. Pokud jde o samostatnou aplikaci, kterou chcete poskytovat s garancí svobody pro koncové uživatele, silnější copyleft dává smysl. Častou chybou je kombinace více licencí v jednom projektu. Přidávání souborů pod odlišnými licencemi vytváří právní zmatek a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Praktickým krokem je rozhodnutí o tom, co odlišuje váš projekt. Pokud jde o knihovnu, kterou mají ostatní vývojáři připojovat do svých aplikací, permisivní licence usnadní integraci. Pokud jde o samostatnou aplikaci, kterou chcete poskytovat s garancí svobody pro koncové uživatele, silnější copyleft dává smysl. Častou chybou je kombinace více licencí v jednom projektu. Přidávání souborů pod odlišnými licencemi vytváří právní zmatek a může vést k tomu, že kód nelze legálně distribuovat vůbec. Proto si hned na začátku ujasněte, jestli budete používat jednotnou licenci, nebo zda si vystačíte s výjimkou pro určité části projektu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Druhým častým problémem je expirace tokenu. Mnoho aplikací nastavuje příliš dlouhou platnost, třeba den nebo týden, aby uživatel nemusel často přihlašovat. To je ale past: pokud token unikne, útočník má dlouhý časový okno. Ideální je krátká expirace v řádu minut a kombinace s refresh tokenem. Refresh token pak musí být dlouhodobý, ale musí být uložen bezpečně, nejlépe v HttpOnly cookie s atributy SameSite a Secure. Při každém obnovení přístupového tokenu ověřte, že refresh token nebyl odvolán, a to buď na straně serveru, nebo pomocí blacklistu v databázi.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Rozdělení testů do vrstev neznamená, že integrační testy jsou důležitější. Jsou jen dražší. Snažte se, aby integrační test tvořil jeden velký tok – od požadavku až po uložení a načtení. Pokud se něco pokazí, rychle zjistíte, která vrstva selhala. Zavedení těchto pravidel vyžaduje disciplínu, ale výsledkem je testovací sada, která roste s projektem a nepůsobí jako brzda. Když vývojář vidí, že testy běží rychle a spolehlivě, začne je psát častěji a s menším odporem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec si zkuste představit, že zprávu čte někdo, kdo nezná kód. Pokud po přečtení tuší, co se změnilo a proč, je to dobrá zpráva. Pravidelně se vracejte ke starým commitům a hodnoťte, zda byste podle nich dokázali rekonstruovat rozhodovací proces. Časem vám psaní smysluplných zpráv půjde samo a stane se přirozenou součástí práce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Třetí oblast, kterou bych zdůraznil, je asynchronní kód. Express od verze 4 nezpracovává chyby v async funkcích automaticky. Pokud v route handleru použijete async/await a dojde k výjimce, Express ji nechytí a server může spadnout. Řešení je jednoduché – buď každý async handler obalíte do try/catch bloku, nebo si vytvoříte malý wrapper, který chyby předává do next(). Modernější verze Expressu (5.x) už tento problém řeší, ale pokud zůstáváte na verzi 4, wrapper je nezbytnost. Bez něj se vám může stát, že jeden špatný požadavek shodí celý proces.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pamatujte také na testování sítě. Mobilní aplikace se používají na cestách, v metru, na venkově, kde je signál slabý nebo nestabilní. Proto je důležité testovat chování aplikace při pomalém připojení, při výpadku sítě a při přepnutí z Wi-Fi na mobilní data. Vytvořte si testovací scénáře, které simulují tyto podmínky pomocí nástrojů pro omezení šířky pásma nebo emulaci zpoždění. Ujistěte se, že aplikace uživatele informuje o probíhajícím načítání, nedochází ke ztrátě vstupů a po obnovení připojení se data synchronizují bez chyb.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;První chybou, kterou u začínajících projektů vidím, je všechno nacpané do jednoho souboru. Express umožňuje rozdělit aplikaci na moduly, a to byste měli využít. Místo deseti route handlerů v jednom souboru si vytvořte samostatné soubory pro jednotlivé zdroje (například uživatele, produkty, objednávky). Každý soubor exportuje router, který pak připojíte k hlavní aplikaci. Tím získáte přehlednost a každý router můžete testovat samostatně. Nezapomeňte také na oddělení logiky od samotných route handlerů – validaci, práci s databází a byznys logiku držte v samostatných službách nebo middleware.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;S validací souvisí i jednotné zpracování chyb. Express má vestavěný mechanismus pro chybové middleware, který se definuje se čtyřmi argumenty (err, req, res, next). Vytvořte si centrální middleware pro chyby, který zaloguje detailní informace a vrátí klientovi pouze bezpečnou část. Nikdy nevracejte klientovi stack trace nebo interní chyby databáze. Pro produkční prostředí použijte generický formát chyby, který klientovi řekne, co se pokazilo a případně jak to opravit. Pro vývojové prostředí můžete vrátit více detailů.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Commitová zpráva je jediný trvalý záznam o tom, proč jste změnu provedli. Kód se přepíše, soubory se smažou, ale historie zůstává. Pokud píšete zprávy typu „oprava bugu&amp;quot; nebo „úpravy&amp;quot;, za pár měsíců nebudete vědět, co jste vlastně dělali. Vyplatí se proto investovat pár sekund navíc a napsat zprávu, která dá odpověď na dvě základní otázky: co se změnilo a proč.&lt;/div&gt;</summary>
		<author><name>EvieRainey98174</name></author>
	</entry>
	<entry>
		<id>https://www.it-core.eu/wiki/index.php?title=User:EvieRainey98174&amp;diff=199374</id>
		<title>User:EvieRainey98174</title>
		<link rel="alternate" type="text/html" href="https://www.it-core.eu/wiki/index.php?title=User:EvieRainey98174&amp;diff=199374"/>
		<updated>2026-08-29T04:56:46Z</updated>

		<summary type="html">&lt;p&gt;EvieRainey98174: Created page with &amp;quot;Autor blogu praktickým bydlením sází na osvědčené tipy. Píšu o tom, jak zvládnout domácnost bez stresu. Nejraději popisovat postupy krok za krokem.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu praktickým bydlením sází na osvědčené tipy. Píšu o tom, jak zvládnout domácnost bez stresu. Nejraději popisovat postupy krok za krokem.&lt;/div&gt;</summary>
		<author><name>EvieRainey98174</name></author>
	</entry>
</feed>