<?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>Comentarios en: Cachea cualquier cosa con Javascript</title>
	<atom:link href="http://www.anieto2k.com/2009/09/23/cachea-cualquier-cosa-con-javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anieto2k.com/2009/09/23/cachea-cualquier-cosa-con-javascript/</link>
	<description>Desarrollo web, Wordpress, y alguna cosilla más</description>
	<lastBuildDate>Sun, 12 Feb 2012 12:01:25 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: Patricio Quevedo</title>
		<link>http://www.anieto2k.com/2009/09/23/cachea-cualquier-cosa-con-javascript/#comment-60229</link>
		<dc:creator>Patricio Quevedo</dc:creator>
		<pubDate>Fri, 25 Sep 2009 13:56:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.anieto2k.com/?p=8973#comment-60229</guid>
		<description>Bueno que pasa cuando existe una modificación la cache antigua se encontrara pero si hay algo nuevo que cargar, se me ocurre que tambien pude agregar en el codigo los valores en kbs bajo una condición se me ocurre digo.</description>
		<content:encoded><![CDATA[<p>Bueno que pasa cuando existe una modificación la cache antigua se encontrara pero si hay algo nuevo que cargar, se me ocurre que tambien pude agregar en el codigo los valores en kbs bajo una condición se me ocurre digo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Isra</title>
		<link>http://www.anieto2k.com/2009/09/23/cachea-cualquier-cosa-con-javascript/#comment-60193</link>
		<dc:creator>Isra</dc:creator>
		<pubDate>Thu, 24 Sep 2009 18:07:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.anieto2k.com/?p=8973#comment-60193</guid>
		<description>&lt;a href=&quot;#comment-60148&quot; title=&quot;Responder a Javier&quot; rel=&quot;nofollow&quot;&gt;@Javier&lt;/a&gt;: Más sobre Facebook en http://www.royans.net/arch/2007/08/12/facebook-internals/ y http://brigomp.blogspot.com/2009/04/notas-sobre-la-arquitectura-de-facebook.html</description>
		<content:encoded><![CDATA[<p><a href="#comment-60148" title="Responder a Javier" rel="nofollow">@Javier</a>: Más sobre Facebook en <a href="http://www.royans.net/arch/2007/08/12/facebook-internals/" rel="nofollow">http://www.royans.net/arch/2007/08/12/facebook-internals/</a> y <a href="http://brigomp.blogspot.com/2009/04/notas-sobre-la-arquitectura-de-facebook.html" rel="nofollow">http://brigomp.blogspot.com/2009/04/notas-sobre-la-arquitectura-de-facebook.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: alsanan</title>
		<link>http://www.anieto2k.com/2009/09/23/cachea-cualquier-cosa-con-javascript/#comment-60172</link>
		<dc:creator>alsanan</dc:creator>
		<pubDate>Thu, 24 Sep 2009 11:20:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.anieto2k.com/?p=8973#comment-60172</guid>
		<description>De Adrian Quark.

Esa función tiene no pocos problemas:
1. la propiedad &lt;code&gt;.name&lt;/code&gt; es una forma mucho más fácil de obtener el nombre de la función
2. no funcionará con funciones anónimas
3. puesto que usa una cache global, los valores cacheados no serán liberados por el colector de basura incluso aunque la función desaparezca (p.e. si es un gestor de eventos)
4. si tu función toma un número variable de argumentos y uno de ellos contiene un “&#124;” la caché no funcionará correctamente
5. si la función devuelve &lt;code&gt;null&lt;/code&gt;, ese resultado no se cacheará
6. la clave de caché no funcionará con valores de &lt;code&gt;Object&lt;/code&gt; ya que no tienen una representación única como cadenas. Se necesitaría usar algo como http://www.timdown.co.uk/jshashtable/ para resolverlo

Se pueden resolver los problemas 1 al 5 con algunas modificaciones:
&lt;pre&gt;&lt;code&gt;
function memoise(f) {
  var cache = {};
  return function () {
    var key = arguments.length+&quot;&#124;&quot;+arguments.join(&quot;&#124;&quot;);
    if (cache[key] === undefined) {
      cache[key] = f.apply(this, arguments);
    }
    return cache[key];
  }
}
 
isPrime = memoise(isPrime);
&lt;/code&gt;&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>De Adrian Quark.</p>
<p>Esa función tiene no pocos problemas:<br />
1. la propiedad <code>.name</code> es una forma mucho más fácil de obtener el nombre de la función<br />
2. no funcionará con funciones anónimas<br />
3. puesto que usa una cache global, los valores cacheados no serán liberados por el colector de basura incluso aunque la función desaparezca (p.e. si es un gestor de eventos)<br />
4. si tu función toma un número variable de argumentos y uno de ellos contiene un “|” la caché no funcionará correctamente<br />
5. si la función devuelve <code>null</code>, ese resultado no se cacheará<br />
6. la clave de caché no funcionará con valores de <code>Object</code> ya que no tienen una representación única como cadenas. Se necesitaría usar algo como <a href="http://www.timdown.co.uk/jshashtable/" rel="nofollow">http://www.timdown.co.uk/jshashtable/</a> para resolverlo</p>
<p>Se pueden resolver los problemas 1 al 5 con algunas modificaciones:</p>
<pre><code>
function memoise(f) {
  var cache = {};
  return function () {
    var key = arguments.length+"|"+arguments.join("|");
    if (cache[key] === undefined) {
      cache[key] = f.apply(this, arguments);
    }
    return cache[key];
  }
}

isPrime = memoise(isPrime);
</code></pre>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Javier</title>
		<link>http://www.anieto2k.com/2009/09/23/cachea-cualquier-cosa-con-javascript/#comment-60148</link>
		<dc:creator>Javier</dc:creator>
		<pubDate>Thu, 24 Sep 2009 00:20:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.anieto2k.com/?p=8973#comment-60148</guid>
		<description>Wow, la presentación de Facebook es realmente buena, y eso que no terminé, que bueno conocer HighTech. Conocen de más?</description>
		<content:encoded><![CDATA[<p>Wow, la presentación de Facebook es realmente buena, y eso que no terminé, que bueno conocer HighTech. Conocen de más?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Isra</title>
		<link>http://www.anieto2k.com/2009/09/23/cachea-cualquier-cosa-con-javascript/#comment-60144</link>
		<dc:creator>Isra</dc:creator>
		<pubDate>Wed, 23 Sep 2009 21:43:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.anieto2k.com/?p=8973#comment-60144</guid>
		<description>Está claro que con el aumento del uso JavaScript, sobre todo AJAX, el caché se está empezando a usar en producción. En la Velocity Conference hay una interesantísima charla de dos desarrolladores de Facebook acerca del rendimiento, en la que comentan cómo manejan cache en JavaScript, cómo gestionan los datos obsoletos, etc. Es impresionante: http://blip.tv/file/2293221/</description>
		<content:encoded><![CDATA[<p>Está claro que con el aumento del uso JavaScript, sobre todo AJAX, el caché se está empezando a usar en producción. En la Velocity Conference hay una interesantísima charla de dos desarrolladores de Facebook acerca del rendimiento, en la que comentan cómo manejan cache en JavaScript, cómo gestionan los datos obsoletos, etc. Es impresionante: <a href="http://blip.tv/file/2293221/" rel="nofollow">http://blip.tv/file/2293221/</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

