<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.3" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Komentarze do wpisu 'Wygodny cache'</title>
	<link>http://jarmark.org/post/wygodny-cache/</link>
	<description>Targowisko informacji, porad i pomysłów.</description>
	<pubDate>Tue, 06 Jan 2009 21:19:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.3</generator>

	<item>
		<title>Autor: Nazgul's Weblog</title>
		<link>http://jarmark.org/post/wygodny-cache/#comment-253</link>
		<pubDate>Sat, 24 Mar 2007 18:15:36 +0000</pubDate>
		<guid>http://jarmark.org/post/wygodny-cache/#comment-253</guid>
					<description>&lt;strong&gt;Mechanizm cachowania w RoR...&lt;/strong&gt;

Cache w Ruby on Rails

Czasami tworząc aplikacje internetowe, wymagające dużej wydajności, okazuje się, że wykonywanie jakiegoś kodu od nowa dla każdego odwiedzającego jest nieekonomiczne. Można temu zaradzić umieszczając taki kod w cache (...</description>
		<content:encoded><![CDATA[<p><strong>Mechanizm cachowania w RoR&#8230;</strong></p>
<p>Cache w Ruby on Rails</p>
<p>Czasami tworząc aplikacje internetowe, wymagające dużej wydajności, okazuje się, że wykonywanie jakiegoś kodu od nowa dla każdego odwiedzającego jest nieekonomiczne. Można temu zaradzić umieszczając taki kod w cache (&#8230;
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Autor: lopex</title>
		<link>http://jarmark.org/post/wygodny-cache/#comment-45</link>
		<pubDate>Fri, 04 Aug 2006 22:31:32 +0000</pubDate>
		<guid>http://jarmark.org/post/wygodny-cache/#comment-45</guid>
					<description>Tak mi się jescze przypomniało, w tych przykładach tego może nie widać bo cachinghandlera w Javie można było wyrzucić do osobnej klasy, ale są przypadki gdy widać słabostki Javy. Głównie chodzi o intersekcję i modyfikację eigenklass czy nawet metaklas - tutaj nie pomoże żaden aspectj, janino, asm itp., bo po prostu jvm na to nie pozwala. Druga sprawa to właśnie domknięcia - można je w Javie w pewnym zakresie symulować za pomocą klas anonimowych, ale to będzie tylko namiastka bo jvm jest maszyną stosową i niestety zmienne lokalne będą musiały być final. A to że przy okazji zajmie to 10x więcej kodu to jest już inna sprawa ;)</description>
		<content:encoded><![CDATA[<p>Tak mi się jescze przypomniało, w tych przykładach tego może nie widać bo cachinghandlera w Javie można było wyrzucić do osobnej klasy, ale są przypadki gdy widać słabostki Javy. Głównie chodzi o intersekcję i modyfikację eigenklass czy nawet metaklas - tutaj nie pomoże żaden aspectj, janino, asm itp., bo po prostu jvm na to nie pozwala. Druga sprawa to właśnie domknięcia - można je w Javie w pewnym zakresie symulować za pomocą klas anonimowych, ale to będzie tylko namiastka bo jvm jest maszyną stosową i niestety zmienne lokalne będą musiały być final. A to że przy okazji zajmie to 10x więcej kodu to jest już inna sprawa ;)
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Autor: daniel</title>
		<link>http://jarmark.org/post/wygodny-cache/#comment-44</link>
		<pubDate>Fri, 04 Aug 2006 16:26:35 +0000</pubDate>
		<guid>http://jarmark.org/post/wygodny-cache/#comment-44</guid>
					<description>Rzeczywiście masz absolutną rację z tym nazewnictwem, tak się jakoś zafiksowałem, że nie sprawdzałem nigdy- wiec jeszcze raz wielkimil literami CLOSURE - to domknięcie. Chyba błąd bierze sie z fałszywego podbieństwa w brzmieniu do klauzla... Dzieki za zwórcenie uwagi, poprawiłem już błąd w tekscie.

Co do przykładu z Time - absolutnie sie z Tobą zgdzam, problem troche w tym jak wykombinować  przykład ktory będzie prosty (a może nawet uproszczony) tak, żeby moć sie skupić na mięsku własciwym... Umówmy się sensowność cachowania wyników Time.now jest taka jak posiadanie zegarka który zawsze wskazuje jedną godzine... (btw: ponoć rosyjskie zegarki są najszybsze :))</description>
		<content:encoded><![CDATA[<p>Rzeczywiście masz absolutną rację z tym nazewnictwem, tak się jakoś zafiksowałem, że nie sprawdzałem nigdy- wiec jeszcze raz wielkimil literami CLOSURE - to domknięcie. Chyba błąd bierze sie z fałszywego podbieństwa w brzmieniu do klauzla&#8230; Dzieki za zwórcenie uwagi, poprawiłem już błąd w tekscie.</p>
<p>Co do przykładu z Time - absolutnie sie z Tobą zgdzam, problem troche w tym jak wykombinować  przykład ktory będzie prosty (a może nawet uproszczony) tak, żeby moć sie skupić na mięsku własciwym&#8230; Umówmy się sensowność cachowania wyników Time.now jest taka jak posiadanie zegarka który zawsze wskazuje jedną godzine&#8230; (btw: ponoć rosyjskie zegarki są najszybsze :))
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Autor: lopex</title>
		<link>http://jarmark.org/post/wygodny-cache/#comment-43</link>
		<pubDate>Fri, 04 Aug 2006 15:57:19 +0000</pubDate>
		<guid>http://jarmark.org/post/wygodny-cache/#comment-43</guid>
					<description>Może się czepiam, ale nie rozumiem dlaczego cały czas wszyscy mylą domknięcia: http://en.wikipedia.org/wiki/Closure_%28computer_science%29 z klauzulami: http://en.wikipedia.org/wiki/Clause. Wreszcie, w przykładzie z lambda { Time.now } domknięcie nie jest nigdzie wykorzystywane, więc wyjdzie na to samo jak przewrapujesz to w najzwyklejszej metodzie ;)</description>
		<content:encoded><![CDATA[<p>Może się czepiam, ale nie rozumiem dlaczego cały czas wszyscy mylą domknięcia: <a href='http://en.wikipedia.org/wiki/Closure_%28computer_science%29' rel='nofollow'>http://en.wikipedia.org/wiki/Closure_%28computer_science%29</a> z klauzulami: <a href='http://en.wikipedia.org/wiki/Clause' rel='nofollow'>http://en.wikipedia.org/wiki/Clause</a>. Wreszcie, w przykładzie z lambda { Time.now } domknięcie nie jest nigdzie wykorzystywane, więc wyjdzie na to samo jak przewrapujesz to w najzwyklejszej metodzie ;)
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Autor: daniel</title>
		<link>http://jarmark.org/post/wygodny-cache/#comment-42</link>
		<pubDate>Fri, 04 Aug 2006 06:36:44 +0000</pubDate>
		<guid>http://jarmark.org/post/wygodny-cache/#comment-42</guid>
					<description>Hmm, nie pisałem że tego sie nie da w Javie zaimplementować to po pierwsze. Dobrze wiesz, że akurat dekorator jako wzorzec jest w Javie bardzo intensywnie uzywany (choćby w samym API - wszystkie bufory IO), chodzilo mi raczej o zupełnie inne podejscie - zamiast analizować co się dzieje tworzy \'dedykowaną\' metodę o odpowiednio zmodyfikowanej zawartosci. Druga spawa to wykorzystanie domknięć (closures) których efekt działania można prosto objąć cache\'m.</description>
		<content:encoded><![CDATA[<p>Hmm, nie pisałem że tego sie nie da w Javie zaimplementować to po pierwsze. Dobrze wiesz, że akurat dekorator jako wzorzec jest w Javie bardzo intensywnie uzywany (choćby w samym API - wszystkie bufory IO), chodzilo mi raczej o zupełnie inne podejscie - zamiast analizować co się dzieje tworzy \&#8217;dedykowaną\&#8217; metodę o odpowiednio zmodyfikowanej zawartosci. Druga spawa to wykorzystanie domknięć (closures) których efekt działania można prosto objąć cache\&#8217;m.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Autor: ciukes</title>
		<link>http://jarmark.org/post/wygodny-cache/#comment-40</link>
		<pubDate>Thu, 03 Aug 2006 22:40:34 +0000</pubDate>
		<guid>http://jarmark.org/post/wygodny-cache/#comment-40</guid>
					<description>Rozumiem twój zachwyt Ruby'm ale przesadzasz demonizując Jave. 
Po pierwsze, od wersji 1.3 jest klasa:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Proxy.html
dzięki ktorej możesz przechwytywać wywołania metod. Naprędce skleciłem kod który pokazuje że nie jest to żadna masakra:
http://www.ciukes.com/jarmark.org/code/CacheExample.java
Kod ustawiający cache jest krótki i prosty. Przykladowy rezultat jest zgodny z oczekiwanym.

Po drugie od czasu wprowadzenia do świata Javy pojecia aspektów, nikt nie przejmuje się cache bo zawsze go można dokleić ;)

To pokazuje, że Java nie jest takim betonem za jaki sie ją uważa.</description>
		<content:encoded><![CDATA[<p>Rozumiem twój zachwyt Ruby&#8217;m ale przesadzasz demonizując Jave.<br />
Po pierwsze, od wersji 1.3 jest klasa:<br />
<a href='http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Proxy.html' rel='nofollow'>http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Proxy.html</a><br />
dzięki ktorej możesz przechwytywać wywołania metod. Naprędce skleciłem kod który pokazuje że nie jest to żadna masakra:<br />
<a href='http://www.ciukes.com/jarmark.org/code/CacheExample.java' rel='nofollow'>http://www.ciukes.com/jarmark.org/code/CacheExample.java</a><br />
Kod ustawiający cache jest krótki i prosty. Przykladowy rezultat jest zgodny z oczekiwanym.</p>
<p>Po drugie od czasu wprowadzenia do świata Javy pojecia aspektów, nikt nie przejmuje się cache bo zawsze go można dokleić ;)</p>
<p>To pokazuje, że Java nie jest takim betonem za jaki sie ją uważa.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Autor: Adam Hoscilo</title>
		<link>http://jarmark.org/post/wygodny-cache/#comment-39</link>
		<pubDate>Thu, 03 Aug 2006 21:55:40 +0000</pubDate>
		<guid>http://jarmark.org/post/wygodny-cache/#comment-39</guid>
					<description>Czesc osob mysli Ruby w kontekscie Rails i to mogloby ich troche &quot;zbic z tropu&quot;.

Ogolnie w tym rozwiazaniu widac dynamike i sile Ruby'ego</description>
		<content:encoded><![CDATA[<p>Czesc osob mysli Ruby w kontekscie Rails i to mogloby ich troche &#8220;zbic z tropu&#8221;.</p>
<p>Ogolnie w tym rozwiazaniu widac dynamike i sile Ruby&#8217;ego
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Autor: daniel</title>
		<link>http://jarmark.org/post/wygodny-cache/#comment-38</link>
		<pubDate>Thu, 03 Aug 2006 21:45:54 +0000</pubDate>
		<guid>http://jarmark.org/post/wygodny-cache/#comment-38</guid>
					<description>Masz racje, to co tu starałem sie pokazać, to rozwiazanie troche bardziej uniwersalne - do wykorzystania np przy w głebszych warstwach aplikacji.</description>
		<content:encoded><![CDATA[<p>Masz racje, to co tu starałem sie pokazać, to rozwiazanie troche bardziej uniwersalne - do wykorzystania np przy w głebszych warstwach aplikacji.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>Autor: Adam Hoscilo</title>
		<link>http://jarmark.org/post/wygodny-cache/#comment-37</link>
		<pubDate>Thu, 03 Aug 2006 21:42:10 +0000</pubDate>
		<guid>http://jarmark.org/post/wygodny-cache/#comment-37</guid>
					<description>Moze w kilka slow pod katem Rails. RoR ma dosc przyjemy wbudowany system cache'owania : http://ap.rubyonrails.com/classes/ActionController/Caching.html
i w aplikacjach Railsowych polecalbym korzystanie wlasnie z niego (chyba, ze komus fragment's caching nie wystarcza).</description>
		<content:encoded><![CDATA[<p>Moze w kilka slow pod katem Rails. RoR ma dosc przyjemy wbudowany system cache&#8217;owania : <a href='http://ap.rubyonrails.com/classes/ActionController/Caching.html' rel='nofollow'>http://ap.rubyonrails.com/classes/ActionController/Caching.html</a><br />
i w aplikacjach Railsowych polecalbym korzystanie wlasnie z niego (chyba, ze komus fragment&#8217;s caching nie wystarcza).
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
