<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Komentáře: Jak zobrazujeme obrázky	</title>
	<atom:link href="https://blog.medio.cz/jak-zobrazujeme-obrazky/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.medio.cz/jak-zobrazujeme-obrazky</link>
	<description></description>
	<lastBuildDate>Thu, 19 Feb 2015 16:48:56 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>
	<item>
		<title>
		Od: Jakub Trmota		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3674</link>

		<dc:creator><![CDATA[Jakub Trmota]]></dc:creator>
		<pubDate>Thu, 13 Nov 2014 18:52:53 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3674</guid>

					<description><![CDATA[Na ČSFD se nám osvědčilo vytvářet zmenšeniny pomocí nginxu a jeho modulu image filter. Stará se to o vytváření nových miniatur a jejich cachování a na serveru se statickými daty nemáme vůbec nainstalované PHP.]]></description>
			<content:encoded><![CDATA[<p>Na ČSFD se nám osvědčilo vytvářet zmenšeniny pomocí nginxu a jeho modulu image filter. Stará se to o vytváření nových miniatur a jejich cachování a na serveru se statickými daty nemáme vůbec nainstalované PHP.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Od: Matěj Humpál		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3664</link>

		<dc:creator><![CDATA[Matěj Humpál]]></dc:creator>
		<pubDate>Mon, 10 Nov 2014 10:05:54 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3664</guid>

					<description><![CDATA[[7] Petře, u nás ThumbnailGenerator dostane jen FileRepository pro zmenšeniny, cestu k originálu si tahá z instance IImageFileNamingStrategy. Ano, snad je pravda, že předání dvou instancí FileRepository by bylo čistší řešení.

URL obrázku generuje WebPath helper, který má jako závislost cestu k public adresáři a tu pak z absolutní cesty zmenšeniny ořízne - takže vznikne veřejná cesta k obrázku.

Konkrétní vzhled routy se ztratil v editaci HTML, napravili jsme to - nyní už je ta definice v pořádku.]]></description>
			<content:encoded><![CDATA[<p>[7] Petře, u nás ThumbnailGenerator dostane jen FileRepository pro zmenšeniny, cestu k originálu si tahá z instance IImageFileNamingStrategy. Ano, snad je pravda, že předání dvou instancí FileRepository by bylo čistší řešení.</p>
<p>URL obrázku generuje WebPath helper, který má jako závislost cestu k public adresáři a tu pak z absolutní cesty zmenšeniny ořízne &#8211; takže vznikne veřejná cesta k obrázku.</p>
<p>Konkrétní vzhled routy se ztratil v editaci HTML, napravili jsme to &#8211; nyní už je ta definice v pořádku.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Od: David Brtník		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3658</link>

		<dc:creator><![CDATA[David Brtník]]></dc:creator>
		<pubDate>Fri, 07 Nov 2014 17:16:10 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3658</guid>

					<description><![CDATA[Dobrý den,

díky. Tím klíčovým prvkem co jsem neznal je RewriteCond %{REQUEST_FILENAME} !-f]]></description>
			<content:encoded><![CDATA[<p>Dobrý den,</p>
<p>díky. Tím klíčovým prvkem co jsem neznal je RewriteCond %{REQUEST_FILENAME} !-f</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Od: Petr Sládek		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3657</link>

		<dc:creator><![CDATA[Petr Sládek]]></dc:creator>
		<pubDate>Fri, 07 Nov 2014 17:15:49 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3657</guid>

					<description><![CDATA[Ahoj, supr článek :)

Jen nešlo by trochu víc rozvést jak funguje ta třída 
ThumbnailGenerator? Chápu, že ta má metodu do které se dostane entita Image a podle configu velikost a flag obrázku a ta vrátí absolutní cestu k té zmenšenině.
Takže ona musí dostat 2x instanci fileRepository? jednu na zmenšeniny a druhou na originály. Protože getThumbnailName potřebuje path k originálu pro vrácení filename zmenšeniny. A pak ještě potřebuju zjistit cestu ke zmenšenině.

Ještě by mě zajímalo jak z absolutní cesty k souboru potom generujete nějak jednoduše url k souboru (obrázku)?

A taky jak napsat tu routu pro to aby brala ten neexistující soubor 2f/25/2f2555d95ee03f950c9ddae2f1692c55-42-960x960-fit.jpg


Omlouvám se jestli jsou to stupidní otázky :D
A díky za odpověd :)]]></description>
			<content:encoded><![CDATA[<p>Ahoj, supr článek :)</p>
<p>Jen nešlo by trochu víc rozvést jak funguje ta třída<br />
ThumbnailGenerator? Chápu, že ta má metodu do které se dostane entita Image a podle configu velikost a flag obrázku a ta vrátí absolutní cestu k té zmenšenině.<br />
Takže ona musí dostat 2x instanci fileRepository? jednu na zmenšeniny a druhou na originály. Protože getThumbnailName potřebuje path k originálu pro vrácení filename zmenšeniny. A pak ještě potřebuju zjistit cestu ke zmenšenině.</p>
<p>Ještě by mě zajímalo jak z absolutní cesty k souboru potom generujete nějak jednoduše url k souboru (obrázku)?</p>
<p>A taky jak napsat tu routu pro to aby brala ten neexistující soubor 2f/25/2f2555d95ee03f950c9ddae2f1692c55-42-960&#215;960-fit.jpg</p>
<p>Omlouvám se jestli jsou to stupidní otázky :D<br />
A díky za odpověd :)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Od: Matěj Humpál		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3654</link>

		<dc:creator><![CDATA[Matěj Humpál]]></dc:creator>
		<pubDate>Thu, 06 Nov 2014 18:59:47 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3654</guid>

					<description><![CDATA[[4] Davide, tohle neřešíme my, ale rovnou webový server, apache nebo nginx. Pokud cíl z cesty dotazu existuje jako fyzický soubor, naservíruje jej server přímo sám a aplikace se ke slovu vůbec nedostane. Pokud neexistuje, cesta z dotazu se předá aplikaci a aplikace zajistí vygenerování a odeslání dat souboru zpět uživateli. Zásadní je, že URL zmenšeniny JE vždy stejná, jako bychom počítali s tím, že je zmenšenina už vygenerovaná.

Je to tak srozumitelnější?

[5] Davide, proč by kolidující md5 hashe obrázků měly mít s tímto tématem něco společného?]]></description>
			<content:encoded><![CDATA[<p>[4] Davide, tohle neřešíme my, ale rovnou webový server, apache nebo nginx. Pokud cíl z cesty dotazu existuje jako fyzický soubor, naservíruje jej server přímo sám a aplikace se ke slovu vůbec nedostane. Pokud neexistuje, cesta z dotazu se předá aplikaci a aplikace zajistí vygenerování a odeslání dat souboru zpět uživateli. Zásadní je, že URL zmenšeniny JE vždy stejná, jako bychom počítali s tím, že je zmenšenina už vygenerovaná.</p>
<p>Je to tak srozumitelnější?</p>
<p>[5] Davide, proč by kolidující md5 hashe obrázků měly mít s tímto tématem něco společného?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Od: David Grudl		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3653</link>

		<dc:creator><![CDATA[David Grudl]]></dc:creator>
		<pubDate>Thu, 06 Nov 2014 14:20:43 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3653</guid>

					<description><![CDATA[Posílám dva kolidující obrázky na otestování ;) http://natmchugh.blogspot.co.uk/2014/10/how-i-created-two-images-with-same-md5.html]]></description>
			<content:encoded><![CDATA[<p>Posílám dva kolidující obrázky na otestování ;) <a href="http://natmchugh.blogspot.co.uk/2014/10/how-i-created-two-images-with-same-md5.html" rel="nofollow ugc">http://natmchugh.blogspot.co.uk/2014/10/how-i-created-two-images-with-same-md5.html</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Od: David Brtník		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3652</link>

		<dc:creator><![CDATA[David Brtník]]></dc:creator>
		<pubDate>Thu, 06 Nov 2014 14:05:23 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3652</guid>

					<description><![CDATA[Dobrý den,

můžute prosím ještě detailněji popsat, jak se rozhodne jestli se má rovnou vracet statický obsah nebo spouštět aplikace která nejprve zmenšninu generuje, ukládá a potom ji vrací?

Já mám teď ve stávajícím řešení v aplikaci logiku, která při php generování stránky ověří jestli zmenšenina existuje (přes file_exists) a pokud ano, dává se do html odpovědi statickou url (kterou potom obslouží ngix). Pokud neexistuje, vloží se url kterou obslouží apache, php vygeneruje změnšeninu, uloží a tu vrátí.

Pro první volání je tedy url obrázku jiná než pro všechny ostatní.

Jde to řešit nějak elegantně. Vždy vložit rovnou statickou url a pokud soubor neexistuje tak přes ngix vrátit obsah a pokud ne tak spustit php generátor?

Prosím případně vysvětlení spíše pro laika :)

Děkuji
David Brtník]]></description>
			<content:encoded><![CDATA[<p>Dobrý den,</p>
<p>můžute prosím ještě detailněji popsat, jak se rozhodne jestli se má rovnou vracet statický obsah nebo spouštět aplikace která nejprve zmenšninu generuje, ukládá a potom ji vrací?</p>
<p>Já mám teď ve stávajícím řešení v aplikaci logiku, která při php generování stránky ověří jestli zmenšenina existuje (přes file_exists) a pokud ano, dává se do html odpovědi statickou url (kterou potom obslouží ngix). Pokud neexistuje, vloží se url kterou obslouží apache, php vygeneruje změnšeninu, uloží a tu vrátí.</p>
<p>Pro první volání je tedy url obrázku jiná než pro všechny ostatní.</p>
<p>Jde to řešit nějak elegantně. Vždy vložit rovnou statickou url a pokud soubor neexistuje tak přes ngix vrátit obsah a pokud ne tak spustit php generátor?</p>
<p>Prosím případně vysvětlení spíše pro laika :)</p>
<p>Děkuji<br />
David Brtník</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Od: rotten77		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3650</link>

		<dc:creator><![CDATA[rotten77]]></dc:creator>
		<pubDate>Thu, 06 Nov 2014 06:57:28 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3650</guid>

					<description><![CDATA[Stejný způsob používám už tak 2 roky - ze stejného důvodu. Pokud dojde ke změně designu, tak je potřeba všechny obrázky znovu zmenšit. Ale nejenom to - zastávám názor, že uživatel nemá zasahovat do kódu (a tím vzhledu) stránky, takže nějaké vkládání  přes TinyMCE se mi nelíbí. Proto uživatel vloží pouze obrázek a kodér v šabloně určí, jak se má zobrazit. Výhoda různých velikostí pro mobil/tablet/desktop je pak jasná.

Podobně řeším i např. videa z YouTube. Uživatel nevkládá  ale pouze informaci, že se na tomto místě má zobrazit YouTube videa. Na mobilní verzi pak můžu zobrazit jenom malý náhled s odkazem na YouTube.]]></description>
			<content:encoded><![CDATA[<p>Stejný způsob používám už tak 2 roky &#8211; ze stejného důvodu. Pokud dojde ke změně designu, tak je potřeba všechny obrázky znovu zmenšit. Ale nejenom to &#8211; zastávám názor, že uživatel nemá zasahovat do kódu (a tím vzhledu) stránky, takže nějaké vkládání  přes TinyMCE se mi nelíbí. Proto uživatel vloží pouze obrázek a kodér v šabloně určí, jak se má zobrazit. Výhoda různých velikostí pro mobil/tablet/desktop je pak jasná.</p>
<p>Podobně řeším i např. videa z YouTube. Uživatel nevkládá  ale pouze informaci, že se na tomto místě má zobrazit YouTube videa. Na mobilní verzi pak můžu zobrazit jenom malý náhled s odkazem na YouTube.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Od: rbas		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3649</link>

		<dc:creator><![CDATA[rbas]]></dc:creator>
		<pubDate>Wed, 05 Nov 2014 13:52:14 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3649</guid>

					<description><![CDATA[Na některých projektech používám hodně podobný přístup. Je dobré, že náhledy jsou více či méně cache o kterou se dá přijít.
Tímto přístupem se trochu zesložití práce s obrázky přímo z disku (zjištění velikosti, načtení do paměti atd..). Musí se řešit zda obrázek na něm již je a popř. ho nechat vygenerovat. Každopádně to není nic neřešitelného.

Já ještě umožňuji do konfigurace zadávat nějaké další nastavení které umožňuje imagick jako jsou např. colorspace, format, quality atd... Je to dost pohodlné.]]></description>
			<content:encoded><![CDATA[<p>Na některých projektech používám hodně podobný přístup. Je dobré, že náhledy jsou více či méně cache o kterou se dá přijít.<br />
Tímto přístupem se trochu zesložití práce s obrázky přímo z disku (zjištění velikosti, načtení do paměti atd..). Musí se řešit zda obrázek na něm již je a popř. ho nechat vygenerovat. Každopádně to není nic neřešitelného.</p>
<p>Já ještě umožňuji do konfigurace zadávat nějaké další nastavení které umožňuje imagick jako jsou např. colorspace, format, quality atd&#8230; Je to dost pohodlné.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Od: Michal Sänger		</title>
		<link>https://blog.medio.cz/jak-zobrazujeme-obrazky#comment-3648</link>

		<dc:creator><![CDATA[Michal Sänger]]></dc:creator>
		<pubDate>Wed, 05 Nov 2014 13:35:01 +0000</pubDate>
		<guid isPermaLink="false">https://blog.medio.cz/?p=2304#comment-3648</guid>

					<description><![CDATA[Super článek, taky to tak používám.

Místo ukládání zmenšenin na disk je pohodlnější použít CDN. Na zvládnutí resize peak je vhodné zapojit frontu.]]></description>
			<content:encoded><![CDATA[<p>Super článek, taky to tak používám.</p>
<p>Místo ukládání zmenšenin na disk je pohodlnější použít CDN. Na zvládnutí resize peak je vhodné zapojit frontu.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
