<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ShellaCropper</id>
	<title>Rettungsdienst-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ShellaCropper"/>
	<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Spezial:Beitr%C3%A4ge/ShellaCropper"/>
	<updated>2026-11-13T07:27:09Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Kdy_open_source_licence_omez%C3%AD_v%C3%A1%C5%A1_projekt_a_kdy_ne&amp;diff=454994</id>
		<title>Kdy open source licence omezí váš projekt a kdy ne</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Kdy_open_source_licence_omez%C3%AD_v%C3%A1%C5%A1_projekt_a_kdy_ne&amp;diff=454994"/>
		<updated>2026-10-11T14:33:07Z</updated>

		<summary type="html">&lt;p&gt;ShellaCropper: Die Seite wurde neu angelegt: „U operací, které mění více zdrojů, je potřeba idempotentní klíč kombinovat s optimistickým zamykáním. Například při převodu peněz se kontroluje verze zůstatku. Bez toho může i idempotentní klíč selhat, pokud se mezitím změnil stav. U dlouhých operací se vyplatí oddělit přijetí požadavku od jeho provedení. Server vrátí identifikátor úlohy a klient se dotazuje na stav. Opakované vytvoření úlohy se stejným klíčem…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;U operací, které mění více zdrojů, je potřeba idempotentní klíč kombinovat s optimistickým zamykáním. Například při převodu peněz se kontroluje verze zůstatku. Bez toho může i idempotentní klíč selhat, pokud se mezitím změnil stav. U dlouhých operací se vyplatí oddělit přijetí požadavku od jeho provedení. Server vrátí identifikátor úlohy a klient se dotazuje na stav. Opakované vytvoření úlohy se stejným klíčem vrátí stejný identifikátor.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Posledním bodem je ukládání na klientovi. V prohlížeči je nejbezpečnější httpOnly cookie, protože JavaScript k tokenu nemá přístup a XSS ho nemůže přímo ukrást. Pokud použijete localStorage, každý XSS útok získá token. U mobilních aplikací použijte bezpečné úložiště operačního systému, ne obyčejný soubor. A vždy nastavte CORS tak, aby token nepřijímaly cizí domény.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Vývoj aplikací pro iPhone stojí na jazyce Swift a na sadě nástrojů, které Apple dodává spolu s vývojovým prostředím. Základní postup je vždy stejný: založit projekt, zvolit cílovou verzi systému, navrhnout uživatelské rozhraní a napojit logiku. Rozdíl mezi funkčním prototypem a aplikací, která vydrží každodenní používání, ale vzniká v detailech. Právě ty rozhodují o tom, jestli se aplikace po půl roce zhroutí při otevření, nebo poběží plynule i na starším zařízení.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kdy přesunout test do jiné vrst&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Počítejte i s čekáním. Mezi odesláním kódu k review a první reakcí bývá prodleva, která se do času ne vždy započítává. Pokud recenzent není k dispozici hned, hodiny ubíhají. Stejně tak druhé kolo review po zapracování připomínek nebývá zdarma – i když jde jen o potvrzení, někdo se na to musí podívat. Do odhadu proto přidejte rezervu na prodlevy, ne jen na samotnou práci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Algoritmus podpisu musíte vždy ověřovat na straně serveru. Pokud knihovna přijme algoritmus z hlavičky tokenu, útočník může poslat token s alg: none nebo přepnout z RS256 na HS256 a podepsat ho veřejným klíčem. Řešení je jednoduché: při validaci explicitně uveďte očekávaný algoritmus a nikdy nepoužívejte none. U symetrických klíčů (HS256) mějte klíč dostatečně dlouhý a náhodný, u asymetrických (RS256, ES256) chraňte privátní klíč mimo repozitář.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;První krok, který většina lidí podcení, je volba minimální verze operačního systému. Čím novější systém zvolíte, tím modernější rozhraní můžete použít, ale zároveň přijdete o část uživatelů se staršími telefony. Praktické pravidlo zní: podívejte se na statistiky rozšíření systémů a nastavte minimum o jednu nebo dvě generace níže, než je aktuální verze. Vyhnete se tak ručnímu obcházení chybějících funkcí, které jinak musíte obalovat podmínkami.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typické chyby: podcenění diskuse u sporných návrhů, zapomenutí na opětovné testování po změnách a předpoklad, že připomínky budou jen kosmetické. Další častou chybou je odhadovat review a zapracování jedním číslem a pak ho krátit, když se blíží termín. Radši odhadněte dvě čísla a držte se jich. Pokud se připomínky množí, je to signál, že zadání nebylo dost jasné – to je potřeba řešit u zdroje, ne jen přidávat hodiny.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Volba open source licence není formalita na konci vývoje. Licence určuje, co smíte s kódem dělat, jak ho můžete kombinovat s jinými komponentami a jaké povinnosti vzniknou tomu, kdo software dále šíří. Pokud se licence řeší až při vydání, často se ukáže, že část kódu nelze použít vůbec, nebo že by projekt musel změnit licenci celý. Kontrola licencí má proběhnout dřív, než do repozitáře přibude první závislost.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Odhady času jsou jedna věc, realita druhá. Když do plánu nezahrnete code review a následné zapracování připomínek, skončíte s harmonogramem, který nikdy nesedí. Přitom právě tahle část bývá největším zdrojem skluzu. Nejde o to přidat paušální procenta, ale odhadnout ji podle konkrétních podmínek.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Doba platnosti a obnovování tokenů Přístupový token by měl platit krátce – v řádu minut, maximálně hodin. Dlouhá platnost zvyšuje dopad úniku tokenu. Místo prodlužování přístupového tokenu použijte refresh token s delší platností, ale uložený bezpečněji. Refresh token patří do httpOnly cookie s příznaky Secure a SameSite, nikdy do localStorage. Pokud refresh token unikne, musíte mít možnost ho okamžitě zneplatnit – ideálně přes serverový seznam revokovaných tokenů nebo rotaci při každém obnovení.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základem je rozdělit práci na dvě samostatné položky. První je samotné review – čas, který stráví kolega čtením, komentováním a diskusí. Druhou je zapracování připomínek, tedy přepis kódu, opětovné testy a druhé kolo schválení. Tyhle dvě věci se často slévají do jedné a pak chybí. Do odhadu je pište zvlášť, protože mají jiný průběh i rizika.&lt;/div&gt;</summary>
		<author><name>ShellaCropper</name></author>
	</entry>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:ShellaCropper&amp;diff=454991</id>
		<title>Benutzer:ShellaCropper</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:ShellaCropper&amp;diff=454991"/>
		<updated>2026-10-11T14:33:05Z</updated>

		<summary type="html">&lt;p&gt;ShellaCropper: Die Seite wurde neu angelegt: „Někdo, kdo dílnou i obývákem 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.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Někdo, kdo dílnou i obývákem 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.&lt;/div&gt;</summary>
		<author><name>ShellaCropper</name></author>
	</entry>
</feed>