<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mundo Geek &#187; desarrollo</title>
	<atom:link href="http://mundogeek.net/etiqueta/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://mundogeek.net</link>
	<description>Mundo geek, bitácora sobre todo lo geek: software, gadgets, tecnología, internet, ...</description>
	<lastBuildDate>Fri, 25 May 2012 14:51:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Iteradores en PHP</title>
		<link>http://mundogeek.net/archivos/2012/04/12/iteradores-en-php/</link>
		<comments>http://mundogeek.net/archivos/2012/04/12/iteradores-en-php/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 07:36:29 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[iteradores]]></category>
		<category><![CDATA[iterator]]></category>
		<category><![CDATA[patrones]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7867</guid>
		<description><![CDATA[Iterador es uno de los patrones de diseño más conocidos, gracias al uso que hacen de él distintos lenguajes de programación, como Python, Java, C++ o el propio PHP. Básicamente, lo que propone este patrón es trasladar la responsabilidad de recorrer una colección a una clase nueva, que debe utilizar una interfaz estándar definida en [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://es.wikipedia.org/wiki/Iterador_%28patr%C3%B3n_de_dise%C3%B1o%29" title="Patrón Iterador">Iterador</a> es uno de los patrones de diseño más conocidos, gracias al uso que hacen de él distintos lenguajes de programación, como Python, Java, C++ o el propio PHP. Básicamente, lo que propone este patrón es trasladar la responsabilidad de recorrer una colección a una clase nueva, que debe utilizar una interfaz estándar definida en una clase abstracta o una interfaz, de forma que se pueda recorrer de forma similar tuplas de la base de datos, nodos de un documento XML, elementos de un array, o cualquier otro tipo de colección que se nos ocurra.</p>
<p>Para crear nuestro iterador en PHP tenemos que / podemos implementar la interfaz <a href="http://php.net/manual/es/class.iterator.php" title="Iterator"><code>Iterator</code></a>. Esto nos permitirá recorrer nuestra colección utilizando un <code>foreach</code>, por ejemplo. La interfaz <code>Iterator</code> declara los siguientes métodos:<span id="more-7867"></span></p>
<ul>
<li><code>abstract public void rewind(void)</code>: debe mover el puntero al primer elemento, sin devolver ningún valor</li>
<li><code>abstract public mixed current(void)</code>: debe devolver el valor actual</li>
<li><code>abstract public scalar key(void)</code>: devuelve la clave actual</li>
<li><code>abstract public void next(void)</code>: mueve el puntero al siguiente elemento</li>
<li><code>abstract public boolean valid(void)</code>: devuelve <code>true</code> si el iterador sigue siendo válido (no se ha alcanzado el final de la colección) y <code>false</code> en caso contrario</li>
</ul>
<p>Como ejemplo de iterador en PHP, vamos a implementar algo parecido a la clase <code>DatePeriod</code> de PHP 5.3, que permite iterar sobre los días de un periodo de fechas</p>
<pre name="code" class="php">&lt;?php
class Intervalo {
    public $inicio;
    public $fin;

    function __construct($inicio, $fin) {
        $this-&gt;inicio = strtotime($inicio);
        $this-&gt;fin = strtotime($fin);
    }
}</pre>
<pre name="code" class="php">&lt;?php
class IteradorPorDia implements Iterator {
	private $intervalo;

	function __construct(Intervalo $intervalo) {
		$this-&gt;intervalo = $intervalo;
	}

    function rewind() {
        $this-&gt;claveActual = 1;
        $this-&gt;fechaActual = $this-&gt;intervalo-&gt;inicio;
    }

    function key() {
        return $this-&gt;claveActual;
    }

    function current() {
        return date('Y-m-d', $this-&gt;fechaActual);
    }

    function next() {
        $this-&gt;claveActual++;
        $this-&gt;fechaActual = strtotime('+1 day', $this-&gt;fechaActual);
    }

    function valid() {
        return ($this-&gt;fechaActual &lt;= $this-&gt;intervalo-&gt;fin);
    }
}</pre>
<pre name="code" class="php">&lt;?php
require_once 'Intervalo.php';
require_once 'IteradorPorDia.php';

$intervalo = new Intervalo('2012-12-24', '2013-01-08');
$iterador = new IteradorPorDia($intervalo);
foreach($iterador as $num =&gt; $fecha)
	echo "El día $num del intervalo es $fecha&lt;br/&gt;";</pre>
<p>Si queremos seguir el patrón Iterador al pie de la letra (recomendado), haciendo que sea el agregado el que cree el iterador y lo devuelva, nuestra colección tendrá que implementar la interfaz <a href="http://php.net/manual/es/class.iteratoraggregate.php" title="IteratorAggregate"><code>IteratorAggregate</code></a> y su método <code>abstract public Traversable getIterator(void)</code>. Si hacemos esto podremos pasar la colección al <code>foreach</code> directamente, haciendo nuestro código cliente más sencillo y claro.</p>
<pre name="code" class="php">&lt;?php
require_once 'IteradorPorDia.php';

class Intervalo implements IteratorAggregate {
    public $inicio;
    public $fin;

    function __construct($inicio, $fin) {
        $this-&gt;inicio = strtotime($inicio);
        $this-&gt;fin = strtotime($fin);
    }

    public function getIterator() {
        return new IteradorPorDia($this);
    }
}</pre>
<pre name="code" class="php">&lt;?php
require_once 'Intervalo.php';

$intervalo = new Intervalo('2012-12-24', '2013-01-08');
foreach($intervalo as $num =&gt; $fecha)
	echo "El día $num del intervalo es $fecha<br/>";</pre>
<p>La librería estándar de PHP (SPL) también cuenta con varios <a href="http://www.php.net/manual/es/spl.iterators.php" title="Iteradores en SPL">iteradores predefinidos</a> que pueden ser interesantes, además de una serie de clases que permiten encadenar varios iteradores (<a href="http://www.php.net/manual/es/class.appenditerator.php" title="AppendIterator">AppendIterator</a>), filtrar valores no deseados (<a href="http://www.php.net/manual/es/class.filteriterator.php" title="FilterIterator">FilterIterator</a>), iterar indefinidamente (<a href="http://www.php.net/manual/es/class.infiniteiterator.php" title="InfiniteIterator">InfiniteIterator</a>), iterar sobre un subgrupo de elementos (<a href="http://www.php.net/manual/es/class.limititerator.php" title="LimitIterator">LimitIterator</a>) o iterar de forma recursiva (<a href="http://www.php.net/manual/es/class.recursiveiteratoriterator.php" title="RecursiveIteratorIterator">RecursiveIteratorIterator</a>).</p>
<link type="text/css" rel="stylesheet" href="http://mundogeek.net/sh/css/SyntaxHighlighter.css"></link>
<script language="javascript" src="http://mundogeek.net/sh/js/shCore.js"></script><script language="javascript" src="http://mundogeek.net/sh/js/shBrushPhp.js"></script><script language="javascript">dp.SyntaxHighlighter.ClipboardSwf = 'http://mundogeek.net/sh//flash/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');</script></p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2012/04/12/iteradores-en-php/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Principios de diseño: fan-in y fan-out</title>
		<link>http://mundogeek.net/archivos/2012/04/01/principios-de-diseno-fan-in-y-fan-out/</link>
		<comments>http://mundogeek.net/archivos/2012/04/01/principios-de-diseno-fan-in-y-fan-out/#comments</comments>
		<pubDate>Sun, 01 Apr 2012 15:02:09 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[ingenieria]]></category>
		<category><![CDATA[principios]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7806</guid>
		<description><![CDATA[Fan-in (abanico de entrada) es un término utilizado en la Ingeniería del Software para referirse al número de clases que hacen uso de la clase que estamos estudiando. Por otro lado, fan-out (abanico de salida) hace referencia al número de clases que utiliza la clase que estamos estudiando. Estos conceptos, originarios de la electrónica digital, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Fan-in</strong> (abanico de entrada) es un término utilizado en la Ingeniería del Software para referirse al número de clases que hacen uso de la clase que estamos estudiando. Por otro lado, <strong>fan-out</strong> (abanico de salida) hace referencia al número de clases que utiliza la clase que estamos estudiando. Estos conceptos, originarios de la electrónica digital, también pueden utilizarse en el resto de niveles del diseño conceptual, para hablar de subsistemas, paquetes o funciones.</p>
<p>Un buen diseño suele tener un <strong>fan-in alto</strong>, porque eso implica que estamos reutilizando código que de otra forma habría dado lugar a duplicidades en multitud de clases. El fan-in es una medida de reutilización.</p>
<p>Al contrario, un buen diseño cuenta con un <strong>fan-out bajo</strong>, idealmente de 7±2, que es, <a href="http://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two" title="The magical number seven, plus or minus two: Some limits on our capacity for processing information">según George Miller</a>, uno de los mayores exponentes de la psicología cognitiva, el número máximo de elementos que una persona normal puede almacenar en su memoria a corto plazo. Con un fan-out bajo nos aseguramos de que la clase es lo bastante sencilla para que no nos resulte difícil trabajar con ella. El fan-out es una medida de complejidad, muy relacionado con el <a href="http://mundogeek.net/archivos/2011/06/09/principios-solid-de-la-orientacion-a-objetos/" title="Principios SOLID de la orientación a objetos">Principio de Responsabilidad Única</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2012/04/01/principios-de-diseno-fan-in-y-fan-out/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Cómo desactivar la inspección de elementos nativa de Firefox</title>
		<link>http://mundogeek.net/archivos/2012/03/26/como-desactivar-la-inspeccion-de-elementos-nativa-de-firefox/</link>
		<comments>http://mundogeek.net/archivos/2012/03/26/como-desactivar-la-inspeccion-de-elementos-nativa-de-firefox/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 15:32:13 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7761</guid>
		<description><![CDATA[Desde hace ya un tiempo Firefox viene incorporando una serie de herramientas destinadas a ayudar a los desarrolladores web que, aunque no son terriblemente malas, si son sensiblemente inferiores a otras alternativas como Firebug. Al menos por ahora. Es particularmente desesperante el intentar inspeccionar un elemento de una página web utilizando Firebug (menú contextual &#8220;Inspeccionar [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace ya un tiempo Firefox viene incorporando una serie de herramientas destinadas a ayudar a los desarrolladores web que, aunque no son terriblemente malas, si son sensiblemente inferiores a otras alternativas como <a href="https://addons.mozilla.org/es-es/firefox/addon/firebug/" title="Firebug para Firefox">Firebug</a>. Al menos por ahora.</p>
<p>Es particularmente desesperante el intentar inspeccionar un elemento de una página web utilizando Firebug (menú contextual &#8220;Inspeccionar elemento con Firebug&#8221;) y acabar seleccionando por error la herramienta nativa del navegador (menú contextual &#8220;Inspeccionar elemento&#8221;). Si a ti también te ha ocurrido, porque es posible que, simplemente, yo sea demasiado caprichoso y peculiar, puedes configurar el que este menú no se vuelva a mostrar escribiendo en la barra de direcciones about:config, buscando la preferencia devtools.inspector.enabled y cambiando su valor a false.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2012/03/26/como-desactivar-la-inspeccion-de-elementos-nativa-de-firefox/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Ahorra tiempo y dinero con la Ingeniería del Software</title>
		<link>http://mundogeek.net/archivos/2012/03/26/ahorra-tiempo-y-dinero-con-la-ingenieria-del-software/</link>
		<comments>http://mundogeek.net/archivos/2012/03/26/ahorra-tiempo-y-dinero-con-la-ingenieria-del-software/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 14:56:50 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[ingenieria]]></category>
		<category><![CDATA[metodologias]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7750</guid>
		<description><![CDATA[Estos últimos días estoy leyendo por enésima vez Code Complete, mi libro preferido sobre desarrollo de software, y el de mucha más gente. A este libro pertenece esta tabla, basada en diversos estudios, que ejemplifica el coste medio de arreglar un error durante el proceso de desarrollo de software según la etapa en que se [...]]]></description>
			<content:encoded><![CDATA[<p>Estos últimos días estoy leyendo por enésima vez Code Complete, <a href="http://mundogeek.net/archivos/2010/02/04/10-libros-miticos-sobre-programacion-que-todo-desarrollador-deberia-leer/" title="10 libros míticos sobre programación que todo desarrollador debería leer">mi libro preferido sobre desarrollo de software</a>, y <a href="http://mundogeek.net/archivos/2011/09/06/los-10-libros-que-todo-programador-deberia-leer-sin-excusas/" title="Los 10 libros que todo programador debería leer, sin excusas">el de mucha más gente</a>. A este libro pertenece esta tabla, basada en diversos estudios, que ejemplifica el coste medio de arreglar un error durante el proceso de desarrollo de software según la etapa en que se introdujo y la etapa en que se terminó solucionando.</p>
<table border="1">
<tr>
<th colspan="2" rowspan="2">Coste</th>
<th colspan="5">Etapa en que se detectó</th>
</tr>
<tr>
<th>Requisitos</th>
<th>Arquitectura</th>
<th>Construcción</th>
<th>Pruebas</th>
<th>Mantenimiento</th>
</tr>
<tr>
<th rowspan="3">Etapa en que se introdujo</th>
<th>Requisitos</th>
<td style="text-align:center">1</td>
<td style="text-align:center">3x</td>
<td style="text-align:center">5-10x</td>
<td style="text-align:center">10x</td>
<td style="text-align:center">10-100x</td>
</tr>
<tr>
<th>Arquitectura</th>
<td style="text-align:center">-</td>
<td style="text-align:center">1</td>
<td style="text-align:center">10x</td>
<td style="text-align:center">15x</td>
<td style="text-align:center">25-100x</td>
</tr>
<tr>
<th>Construcción</th>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
<td style="text-align:center">1x</td>
<td style="text-align:center">10x</td>
<td style="text-align:center">10-25x</td>
</tr>
</table>
<p><span id="more-7750"></span></p>
<p>Como vemos, un defecto cuyo arreglo podía suponer un coste de 100€ en la fase de toma de requisitos podría multiplicarse hasta los 300€ de no encontrarse hasta que estuvieramos definiendo la arquitectura del sistema. Esta cantidad subiría hasta los 500€ si hubieramos empezado a escribir el código, 1.000€ si estuvieramos en la fase de pruebas, y hasta 10.000€ de no encontrarse el error hasta que el sistema se encontrara ya funcionando. Tenedlo en cuenta si alguien intenta justificaros el no seguir ningún tipo de método.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2012/03/26/ahorra-tiempo-y-dinero-con-la-ingenieria-del-software/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cut the Rope gratis en HTML5</title>
		<link>http://mundogeek.net/archivos/2012/01/12/cut-the-rope-gratis-en-html5/</link>
		<comments>http://mundogeek.net/archivos/2012/01/12/cut-the-rope-gratis-en-html5/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 20:50:15 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Juegos]]></category>
		<category><![CDATA[movil]]></category>
		<category><![CDATA[navegadores]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7614</guid>
		<description><![CDATA[El mejor juego para dispositivos móviles de 2011 según los premios BAFTA y los Game Developers Choice Awards 2011. Gratis. En HTML 5. Para jugar en tu navegador web. Microsoft ha hecho algunas cosas bastante discutibles en el terreno del desarrollo web a lo largo de los años, pero los esfuerzos que están haciendo últimamente [...]]]></description>
			<content:encoded><![CDATA[<p>El mejor juego para dispositivos móviles de 2011 según los premios BAFTA y los Game Developers Choice Awards 2011. Gratis. En HTML 5. Para <a href="http://www.cuttherope.ie/" title="Juega a Cut the Rope gratis en tu navegador">jugar en tu navegador web</a>. Microsoft ha hecho algunas cosas bastante discutibles en el terreno del desarrollo web a lo largo de los años, pero los esfuerzos que están haciendo últimamente <em>casi</em> lo compensan&#8230;</p>
<p><img src="http://mundogeek.net/wp-content/cut-the-rope-html5.jpg" alt="Cut the Rope en HTML 5"/></p>
<p>Si te interesa el desarrollo web, no dejes de leer también el <a href="http://www.cuttherope.ie/dev/" title="Cut the Rope, behind the scenes">cómo se hizo</a>. Es realmente inspirador.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2012/01/12/cut-the-rope-gratis-en-html5/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Limpiar el baño</title>
		<link>http://mundogeek.net/archivos/2011/11/10/limpiar-el-bano/</link>
		<comments>http://mundogeek.net/archivos/2011/11/10/limpiar-el-bano/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 18:44:08 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[citas]]></category>
		<category><![CDATA[codigo]]></category>
		<category><![CDATA[comentarios]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7425</guid>
		<description><![CDATA[Comentar tu código es como limpiar el cuarto de baño. Nunca quieres hacerlo, pero resulta en una experiencia más agradable para ti y para todos tus invitados. ~ Ryan Campbell]]></description>
			<content:encoded><![CDATA[<blockquote><p>Comentar tu código es como limpiar el cuarto de baño. Nunca quieres hacerlo, pero resulta en una experiencia más agradable para ti y para todos tus invitados.</p>
<p>~ Ryan Campbell</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/11/10/limpiar-el-bano/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>jQuery in Action</title>
		<link>http://mundogeek.net/archivos/2011/11/08/jquery-in-action/</link>
		<comments>http://mundogeek.net/archivos/2011/11/08/jquery-in-action/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 15:59:21 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[criticas]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[libros]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7393</guid>
		<description><![CDATA[jQuery in Action Calificación: Autores: Bear Bibeault, Yehuda Katz Año: 2010 Editorial: Manning Segunda edición de este libro sobre jQuery perteneciente a la serie &#8220;in Action&#8221; de Manning. Lanzado a mediados del año pasado, gran parte del texto fue reescrito y se agregaron más de 100 páginas. Tal fue el trabajo realizado, que sus autores [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://mundogeek.net/wp-content/jquery-in-action.jpg" alt="jQuery in Action" align="left" style="margin-right:1em"/><a href="http://www.amazon.co.uk/gp/product/1935182323/ref=as_li_ss_tl?ie=UTF8&#038;tag=mundogeek-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=1935182323">jQuery in Action</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=mundogeek-21&#038;l=as2&#038;o=2&#038;a=1935182323" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
Calificación: <img src="http://mundogeek.net/wp-content/themes/mg5/bueno.png"/><br />Autores: Bear Bibeault, Yehuda Katz<br />
Año: 2010<br />
Editorial: Manning<br clear="all"/><br />
Segunda edición de este libro sobre <a href="http://mundogeek.net/archivos/2010/04/21/tutorial-rapido-de-jquery/" title="Tutorial rápido de jQuery">jQuery</a> perteneciente a la serie &#8220;in Action&#8221; de Manning. Lanzado a mediados del año pasado, gran parte del texto fue reescrito y se agregaron más de 100 páginas. Tal fue el trabajo realizado, que sus autores comentaron que les llevó más tiempo terminar esta segunda edición que escribir el original.</p>
<p>jQuery in Action cuenta con 475 páginas organizadas en 2 partes, una primera sobre <a href="http://jquery.com/" title="jQuery">jQuery</a> en sí, y una segunda sobre la biblioteca de componentes <a href="http://jqueryui.com/" title="jQuery UI">jQuery UI</a>. También cuenta con un apéndice que trata conceptos avanzados de <a href="http://mundogeek.net/tutorial_de_javascript/" title="Tutorial de JavaScript">JavaScript</a>, necesarios para utilizar jQuery de manera efectiva, como objetos, funciones de orden superior, <em>closures</em> o cierres, y el concepto de que las variables y funciones de ámbito global son en realidad propiedades del objeto <code>window</code>. Como véis, temas de conversación apasionantes para determinado tipo de reunión social.<span id="more-7393"></span></p>
<p>El libro trata las versiones 1.4 de jQuery y 1.8 de jQuery UI, por lo que es bastante actual, comparado con el resto de libros del mercado. Entre las editoriales grandes, sólo conozco un libro aún más moderno, el <a href="http://www.amazon.co.uk/gp/product/1449393217/ref=as_li_ss_tl?ie=UTF8&#038;tag=mundogeek-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=1449393217">Head First jQuery</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=mundogeek-21&#038;l=as2&#038;o=2&#038;a=1449393217" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> de O&#8217;Reilly, de septiembre de este año, que todavía no he tenido ocasión de leer.</p>
<p>jQuery in Action está escrito de forma clara y concisa, con algún toque de humor, ejercicios, y ejemplos prácticos. Creo que es una buena lectura para iniciarse en la librería y para afianzar conceptos.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/11/08/jquery-in-action/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>No hay balas de plata</title>
		<link>http://mundogeek.net/archivos/2011/11/06/no-hay-balas-de-plata/</link>
		<comments>http://mundogeek.net/archivos/2011/11/06/no-hay-balas-de-plata/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 12:00:47 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[balas de plata]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[ingenieria]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7387</guid>
		<description><![CDATA[El folclore y la mitología moderna afirman que la manera más efectiva de acabar con un hombre lobo es utilizando una bala de plata. Esta creencia deriva de ciertos hechos acaecidos en la región francesa de Gévaudan entre 1764 y 1767. En este periodo, una bestia de gran tamaño acabó con la vida de más [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align:center"><img src="http://mundogeek.net/wp-content/bala-plata.jpg" alt="Bala de plata"/></div>
<p><br/><br />
El folclore y la mitología moderna afirman que la manera más efectiva de acabar con un hombre lobo es utilizando una bala de plata. Esta creencia deriva de ciertos hechos acaecidos en la región francesa de Gévaudan entre 1764 y 1767. En este periodo, una bestia de gran tamaño acabó con la vida de más de 130 campesinos, en su mayoría mujeres y niños, que fueron despedazados brutalmente. Esta supuesta bestia sería abatida finalmente, según los relatos, utilizando balas de plata, obtenida tras fundir varias medallas de la Virgen María.</p>
<p>Actualmente, la frase <em>&#8220;bala de plata&#8221;</em> se ha convertido en una expresión popular para denotar una solución perfecta a un problema, casi milagrosa, que, además, puede aplicarse en casi cualquier contexto.</p>
<p>Por supuesto, en el mundo del desarrollo de software, sabemos que no existe nada parecido a las balas de plata. De ahí que Fred Brooks acuñara esta famosa frase en su célebre ensayo &#8220;No hay bala de plata&#8221; (No Silver Bullet) que podéis encontrar <a href="http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html" title="No Silver Bullet">en la web de la Universidad de Nottingham</a>, <a href="http://barrapunto.com/~pacoescriba/journal/29784" title="No hay balas de plata">en Barrapunto</a> (español) o en el <a href="http://mundogeek.net/archivos/2010/02/04/10-libros-miticos-sobre-programacion-que-todo-desarrollador-deberia-leer/" title="Los 10 libros míticos sobre programación que todo desarrollador debería leer">mítico</a> libro <a href="http://www.amazon.co.uk/gp/product/0201835959/ref=as_li_ss_tl?ie=UTF8&#038;tag=mundogeek-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0201835959">The Mythical Man Month</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=mundogeek-21&#038;l=as2&#038;o=2&#038;a=0201835959" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/11/06/no-hay-balas-de-plata/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Primera regla de la gestión de proyectos</title>
		<link>http://mundogeek.net/archivos/2011/10/20/primera-regla-de-la-gestion-de-proyectos/</link>
		<comments>http://mundogeek.net/archivos/2011/10/20/primera-regla-de-la-gestion-de-proyectos/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 09:00:50 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[citas]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[gestion]]></category>
		<category><![CDATA[proyectos]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7350</guid>
		<description><![CDATA[Si todo va según lo previsto, algo, en algún lugar, va horriblemente mal. ~ Anónimo]]></description>
			<content:encoded><![CDATA[<blockquote><p>Si todo va según lo previsto, algo, en algún lugar, va horriblemente mal.</p>
<p>~ Anónimo</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/10/20/primera-regla-de-la-gestion-de-proyectos/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>¡Feliz día del programador!</title>
		<link>http://mundogeek.net/archivos/2011/09/13/feliz-dia-del-programador/</link>
		<comments>http://mundogeek.net/archivos/2011/09/13/feliz-dia-del-programador/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 15:20:47 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[celebraciones]]></category>
		<category><![CDATA[conmemoraciones]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[dia]]></category>
		<category><![CDATA[fiestas]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7264</guid>
		<description><![CDATA[Hoy 13 de septiembre, día 256 (28 o 11111111) de nuestro calendario, se celebra el día del programador, una ocurrencia que cuenta apenas con 9 años de vida, pero que ya ha conseguido convertirse en fiesta oficial en Rusia, gracias a la perseverancia de su creador. ¿Te preguntas cómo puedes celebrar este día, compañero desarrollador? [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy 13 de septiembre, día 256 (2<sup>8</sup> o 11111111) de nuestro calendario, se celebra el día del programador, una ocurrencia que cuenta apenas con 9 años de vida, pero que ya ha conseguido convertirse en <a href="http://archive.kremlin.ru/eng/text/news/2009/09/221572.shtml" title="Dmitry Medvedev issued an executive order establishing a new professional holiday, Programmers' Day.">fiesta oficial en Rusia</a>, gracias a la perseverancia de su creador.</p>
<div style="text-align:center"><img src="http://mundogeek.net/wp-content/programacion.jpg" alt="Día del programador"/></div>
<p><br/></p>
<p>¿Te preguntas cómo puedes celebrar este día, compañero desarrollador? Sencillo, no tienes más que vestirte completamente de blanco (FFFFFF, 11111111, 2<sup>8</sup>), leer alguno de <a href="http://mundogeek.net/archivos/2011/09/06/los-10-libros-que-todo-programador-deberia-leer-sin-excusas/" title="Los 10 libros que todo programador debería leer, sin excusas">los clásicos</a>, y programar, programar y programar&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/09/13/feliz-dia-del-programador/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
	</channel>
</rss>

