<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://plamosoku.com/enjyo/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PPJLeilani</id>
	<title>炎上まとめwiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://plamosoku.com/enjyo/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PPJLeilani"/>
	<link rel="alternate" type="text/html" href="https://plamosoku.com/enjyo/index.php?title=%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/PPJLeilani"/>
	<updated>2026-10-15T03:23:26Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://plamosoku.com/enjyo/index.php?title=Pyramida,_nebo_mnoho%C3%BAheln%C3%ADk%3F_Kdy_se_testy_rozpadaj%C3%AD&amp;diff=3240475</id>
		<title>Pyramida, nebo mnohoúhelník? Kdy se testy rozpadají</title>
		<link rel="alternate" type="text/html" href="https://plamosoku.com/enjyo/index.php?title=Pyramida,_nebo_mnoho%C3%BAheln%C3%ADk%3F_Kdy_se_testy_rozpadaj%C3%AD&amp;diff=3240475"/>
		<updated>2026-10-11T19:03:06Z</updated>

		<summary type="html">&lt;p&gt;PPJLeilani: ページの作成:「Typické chyby se opakují. Lidé kopírují hlavičku z jiného projektu, aniž zkontrolují, zda sedí k jejich záměru. Jiní zapomenou uvést licenci do souboru LICE…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Typické chyby se opakují. Lidé kopírují hlavičku z jiného projektu, aniž zkontrolují, zda sedí k jejich záměru. Jiní zapomenou uvést licenci do souboru LICENSE i do hlaviček zdrojových souborů, takže je stav nejasný. Někteří si myslí, že zveřejněním na veřejném úložišti je licence automaticky vyřešená. Není. Bez výslovné licence platí výchozí autorskoprávní režim, který použití prakticky znemožňuje.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na co se ptát, než licenci zapíšete do souboru Projděte si čtyři otázky. První: smí váš kód používat někdo, kdo ho zabuduje do uzavřeného produktu? Druhá: musí být odvozené dílo zveřejněno pod stejnou licencí? Třetí: řeší licence i patentové nároky, nebo je mlčí? Čtvrtá: je text licence kompatibilní s licencemi knihoven, které už používáte? Právě poslední bod se podceňuje. Míchání licencí, které nejsou vzájemně kompatibilní, je častý a zbytečný problém.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;U integračních testů hlídejte hranice. Testovat celou aplikaci kvůli jedné podmínce je plýtvání; stačí ověřit, že se správně zapíše řádek a že se zavolá správná operace. U end-to-end testů naopak nikdy netestujte detaily, ale jen to, co zákazník skutečně dělá: přihlášení, vložení do košíku, dokončení platby. Když takový test padne, má být z popisu okamžitě jasné, která část toku se rozbila.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Výběr open source licence není formalita, kterou lze odbýt na konci projektu. Rozhoduje o tom, co s vaším kódem smí dělat ostatní, jestli ho můžete spojit s cizím kódem a co po vás bude chtít firma, která ho chce nasadit do produktu. Většina problémů nevzniká kvůli tomu, že by lidé neznali licenci MIT nebo GPL, ale proto, že ji vyberou mechanicky, bez vztahu ke konkrétnímu záměru.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kde pyramida přestává platit U systémů složených z mnoha služeb je užitečnější jiný obraz: mnohoúhelník. Unit testy zůstávají základem, ale silnou vrstvu tvoří testy kontraktů mezi službami a testy komponent, které ověřují jednu službu i s databází a frontou. End-to-end testů pak stačí několik na kritické scénáře. Rozdíl není v módě, ale v tom, co je drahé. Když je drahé postavit celé prostředí, nemá smysl ho zvedat u každé změny.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typická chyba: vývojář změní datový typ z čísla na řetězec, protože se to v aplikaci hodí. Klient v Javě nebo Go dostane výjimku při parsování a přestane fungovat. Stejně záludné je přejmenování pole. Lepší je držet v odpovědi obě varianty – novou i starou – po dobu, kterou si stanovíte předem. Není to věčné břemeno, pokud si od začátku vedete seznam toho, co je zastaralé a kdy to zmizí.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Serverová část se často podceňuje. Zapněte kompresi přenášených textových odpovědí, nastavte dlouhou platnost cache pro statické soubory a ověřte, zda hosting zvládá souběžné požadavky. U dynamických stránek pomůže ukládání hotového výstupu do mezipaměti. Databázové dotazy v cyklu, chybějící indexy nebo načítání celých tabulek kvůli jedné hodnotě dokážou stránku zpomalit víc než samotný přenos dat. Změřte dobu odezvy serveru zvlášť od doby načítání v prohlížeči, ať víte, kde má smysl zasahovat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Začněte měřením, ne kreslením. Vezměte posledních dvacet produkčních incidentů a u každého napište, na které vrstvě by se dal odhalit. Zjistíte dvě věci: které vrstvy vám chybí a které naopak jen zabírají čas. Teprve pak nastavte poměr. Zdravý rozptyl pro běžnou aplikaci bývá zhruba 70 % unit, 20 % integračních a 10 % přes rozhraní, ale čísla berte jako orientaci, ne jako normu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kde nejčastěji vzniká zpoždění Největší chybou bývá neoptimalizovaný obrázkový obsah. Fotky v plném rozlišení z foťáku mají klidně několik megabajtů, přitom je zobrazíte v rozměru pár set pixelů. Zmenšete je na cílovou velikost, převeďte do moderního formátu a nastavte atributy šířky a výšky, aby se stránka při načítání neposouvala. U obrázků mimo první obrazovku použijte odložené načítání. Stejný princip platí pro písma: každý řez znamená další požadavek, takže si vystačíte s jedním nebo dvěma řezy a ideálně je hostujte lokálně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Typické chyby, na které narazíte: optimalizace naslepo bez měření, přehnané vkládání všeho do jednoho obřího souboru, který se stejně celý nevyužije, a testování jen na rychlé firemní síti. Vyzkoušejte stránku i na mobilních datech a se simulovaným zpomalením. Po každé změně měřte znovu a porovnávejte stejnou metriku. Zlepšení o desítky procent bývá reálné už po úpravě obrázků, komprese a cache, tedy bez zásahu do kódu aplikace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pyramida se rozpadá ve chvíli, kdy ji začnete používat jako kontrolní seznam pro code review. Mnohem užitečnější je ptát se u každé změny: jakou chybu bych tady nezachytil a jak drahé je ji najít až v produkci? Odpověď určí vrstvu, ne poměr. A nezapomeňte na dobu běhu. Sada, která trvá hodinu, se přestane spouštět. Rozdělte ji na rychlou část před commitem a pomalejší část před nasazením, ať zůstane používaná.&lt;/div&gt;</summary>
		<author><name>PPJLeilani</name></author>
	</entry>
</feed>