<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Jbravomontero&#039;s Blog</title>
	<atom:link href="http://jbravomontero.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jbravomontero.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sun, 13 Nov 2011 23:13:09 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='jbravomontero.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Jbravomontero&#039;s Blog</title>
		<link>http://jbravomontero.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jbravomontero.wordpress.com/osd.xml" title="Jbravomontero&#039;s Blog" />
	<atom:link rel='hub' href='http://jbravomontero.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Resumen semanal de temas relacionados con Java</title>
		<link>http://jbravomontero.wordpress.com/2011/11/13/resumen-semanal-de-temas-relacionados-con-java/</link>
		<comments>http://jbravomontero.wordpress.com/2011/11/13/resumen-semanal-de-temas-relacionados-con-java/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 23:12:59 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[Calidad del Software]]></category>
		<category><![CDATA[Codigo]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[distruptor]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[log4j]]></category>
		<category><![CDATA[proxys]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[transactions]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/?p=160</guid>
		<description><![CDATA[A continuación una lista de enlaces de temas interesantes relacionados con Java: Transaction strategies: The High Concurrency strategy, dos formas de mejorar nuestro código para mejorar el performance de una transacción. El método consiste en esencia en sacar del método transaccional toda la lógica que no tenga nada que ver con la transacción. Pronoide: Los [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=160&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A continuación una lista de enlaces de temas interesantes relacionados con Java:</p>
<ul>
<li><a href="http://www.ibm.com/developerworks/java/library/j-ts5/index.html">Transaction strategies: The High Concurrency strategy</a>, dos formas de mejorar nuestro código para mejorar el performance de una transacción. El método consiste en esencia en sacar del método transaccional toda la lógica que no tenga nada que ver con la transacción.</li>
<li><a href="http://blog.pronoide.es/2010/09/los-proxies-en-java-dynamic-proxies-vs.html">Pronoide: Los proxies en Java, Dynamic Proxies vs CGlib, y su uso desde Spring</a>, los proxy explicados de forma muy sencilla y como utilizarlos desde Spring.</li>
<li><a href="http://java.dzone.com/articles/high-performance-and-smarter">High Performance And Smarter Logging | Javalobby</a>, cosas a tener en cuenta a la hora de implementar el logging en nuestra aplicación.</li>
<li><a href="http://java.dzone.com/articles/dissecting-disruptor-wiring">Dissecting the Disruptor: Wiring up the dependencies | Javalobby</a>,explicación en detalle de este nuevo patrón tan de moda ultimamente.</li>
<li><a href="http://www.javamexico.org/blogs/ezamudio/serializacion_de_alto_desempeno_protocol_buffers">Serialización de alto desempeño: Protocol Buffers | Java México</a></li>
<li><a href="http://www.symphonious.net/2011/09/26/background-logging-with-the-disruptor/">Symphonious » Background Logging with the Disruptor</a></li>
<li><a href="http://johannburkard.de/software/stringsearch/">StringSearch – high-performance pattern matching algorithms in Java</a></li>
<li><a href="http://www.christianschenk.org/blog/implementing-a-simple-cache-with-java/">Implementing a simple cache with Java | Christian Schenk</a>, un sistema de cache sencillo y muy bien montado y pensado.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/160/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/160/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/160/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=160&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2011/11/13/resumen-semanal-de-temas-relacionados-con-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
		<item>
		<title>22 pequeñas reflexiones sobre la gestión y el desarrollo de proyectos</title>
		<link>http://jbravomontero.wordpress.com/2011/11/08/22-pequenas-reflexiones-sobre-la-gestion-y-el-desarrollo-de-proyectos/</link>
		<comments>http://jbravomontero.wordpress.com/2011/11/08/22-pequenas-reflexiones-sobre-la-gestion-y-el-desarrollo-de-proyectos/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 23:31:06 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[Calidad del Software]]></category>
		<category><![CDATA[Codigo]]></category>
		<category><![CDATA[Gestión de proyectos]]></category>
		<category><![CDATA[calidad del software]]></category>
		<category><![CDATA[gestión de proyectos]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/?p=142</guid>
		<description><![CDATA[22 &#8220;pequeñas&#8221; reflexiones sobre la gestión y el desarrollo de proyectos. La calidad es el aliado de la planificación, no su adversario. Si sacrificamos la calidad por la planificación lo estamos haciendo mal &#8220;El software y las catedrales son muy similares. Primeros los construimos, después rezamos&#8221;, Sam Redwine. No existe calidad del software sin satisfacción del [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=142&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>22 &#8220;pequeñas&#8221; reflexiones sobre la gestión y el desarrollo de proyectos.</p>
<ul>
<li>La calidad es el aliado de la planificación, no su adversario. Si sacrificamos la calidad por la planificación lo estamos haciendo mal</li>
</ul>
<ul>
<li>&#8220;El software y las catedrales son muy similares. Primeros los construimos, después rezamos&#8221;, Sam Redwine.</li>
</ul>
<ul>
<li>No existe calidad del software sin satisfacción del usuario.</li>
</ul>
<ul>
<li><em>&#8220;Los buenos programadores utilizan sus cerebros, sin embargo las buenas prácticas nos permite no tener que pensar en todos los casos&#8221;.</em></li>
</ul>
<ul>
<li>La documentación se convierte en un problema cuando se convierte en un factor externo al desarrollo, como si fuera un elemento independiente.</li>
</ul>
<ul>
<li>Testing, ¿hasta donde?. Es difícil definir cual. obj. en este proceso sin llegar a la elim. de todos los err, algo que resulta imposible</li>
</ul>
<ul>
<li>Testing, ¿hasta donde?. No existe relación entre el tamaño del error y los problemas que causa.</li>
</ul>
<ul>
<li>Testing, ¿hasta donde?. Cohete de 18 mill. de dolares había sido destruido en vuelo debido a un simple guión que faltaba en un programa.</li>
</ul>
<ul>
<li>Los departamentos de calidad del software requieren una comunicación continua y fluida con los departamentos de desarrollo.</li>
</ul>
<ul>
<li>La documentación debe acompañar el desarrollo de software, ser parte de él. Debe servir al proyecto y no ser un obstáculo en el mismo.</li>
</ul>
<ul>
<li>No hay nada que justifique que el software se tenga que ir deteriorando conforme se van realizando tareas de mantenimiento con el mismo.</li>
</ul>
<ul>
<li>&#8220;Un programador trabaja para un resultado libre de errores; un tester, para encontrarlos&#8221;, Moses Oliver,</li>
</ul>
<ul>
<li>&#8220;La estructura de un sistema software refleja la estructura de comunicación del equipo que lo ha desarrollado&#8221;, Richard E. Fairley.</li>
</ul>
<ul>
<li>Cometer errores en el desarrollo de software es algo natural. Lo importante no es no equivocarse sino detectar los errores a tiempo.</li>
</ul>
<ul>
<li>&#8220;Copiar y pegar código de Internet en el código del programa es como masticar chicle que has encontrado en la calle&#8221;, Mike Johnson,</li>
</ul>
<ul>
<li>La detección de errores, lo más próxima posible a su origen, ahorra dinero.</li>
</ul>
<ul>
<li>Un programa que no funciona es incorrecto; pero un programa que funciona no es necesariamente correcto: difícil de mantener, entender ..</li>
</ul>
<ul>
<li>El origen de la sabiduría de un desarrollador se basa en conocer la diferencia entre un programa que funciona y un programa correcto,</li>
</ul>
<ul>
<li>Uno de los principales problemas con que se encuentran los equipos de testing es que se consideran obstáculos,</li>
</ul>
<ul>
<li>Los testers son desarrolladores de software, son una pieza más dentro del equipo, hacen otro tipo de trabajo, pero de gran importancia.</li>
</ul>
<ul>
<li>&#8220;El código no existe hasta que se sube a un repositorio de fuente&#8221;, Jeff Atwood</li>
</ul>
<ul>
<li>Escribid el código para que os entiendan otras personas, no sólo para que os entienda la máquina.</li>
</ul>
<div>Y mucho más en: <a href="http://jummp.wordpress.com/">http://jummp.wordpress.com/</a></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/142/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=142&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2011/11/08/22-pequenas-reflexiones-sobre-la-gestion-y-el-desarrollo-de-proyectos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
		<item>
		<title>Sobre la legibilidad del código&#8230;</title>
		<link>http://jbravomontero.wordpress.com/2011/11/01/sobre-la-legibilidad-del-codigo/</link>
		<comments>http://jbravomontero.wordpress.com/2011/11/01/sobre-la-legibilidad-del-codigo/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 22:29:38 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[Calidad del Software]]></category>
		<category><![CDATA[calidad del software]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/?p=137</guid>
		<description><![CDATA[Una verdad como un templo si queremos escribir buen código y mantenible. Escribid el código para que os entiendan otras personas, no sólo para que os entienda la máquina NOTA: Frase de Javier Acedo en la conferencia que dio en Conferencia Agile-Spain 2011<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=137&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Una verdad como un templo si queremos escribir buen código y mantenible.</p>
<blockquote><p><strong>Escribid el código para que os entiendan otras personas, no sólo para que os entienda la máquina</strong></p></blockquote>
<p><strong>NOTA</strong>: Frase de <a href="http://twitter.com/#!/jacegu" target="_blank">Javier Acedo</a> en la conferencia que dio en <a href="http://conferencia2011.agile-spain.org/" target="_blank">Conferencia Agile-Spain 2011</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=137&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2011/11/01/sobre-la-legibilidad-del-codigo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
		<item>
		<title>Resumen semanal de pequeños trucos de Java.</title>
		<link>http://jbravomontero.wordpress.com/2011/10/30/resumen-semanal-de-pequenos-trucos-de-java/</link>
		<comments>http://jbravomontero.wordpress.com/2011/10/30/resumen-semanal-de-pequenos-trucos-de-java/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 19:05:08 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[hamcrest]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/?p=132</guid>
		<description><![CDATA[Resumen semanal de pequeñas apuntes sobre java. Algunas recomendaciones a la hora de escribir código, como realizar los test de forma más elegante y rápida e incluso como hacer trampas en las pruebas de cobertura. Elegance vs. simplicity, y como quitar facilmente unas sentencias if/else que inundan el código. Speeding up Spring integration tests, pues [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=132&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Resumen semanal de pequeñas apuntes sobre java. Algunas recomendaciones a la hora de escribir código, como realizar los test de forma más elegante y rápida e incluso como hacer trampas en las pruebas de cobertura.</p>
<ul>
<li><a href="http://nurkiewicz.blogspot.com/2010/03/elegance-vs-simplicity.html" target="_blank">Elegance vs. simplicity</a>, y como quitar facilmente unas sentencias if/else que inundan el código.</li>
<li><a href="http://nurkiewicz.blogspot.com/2010/12/speeding-up-spring-integration-tests.html" target="_blank">Speeding up Spring integration tests</a>, pues eso, como simplicar la carga del contexto de spring cuando ejecutamos un test.</li>
<li><a href="http://www.dosideas.com/wiki/Inicializacion_Lazy_De_Spring_Para_Tests" target="_blank">Inicializacion Lazy De Spring Para Tests</a>, más información sobre como inicializar de forma perezosa el contexto de spring.</li>
<li><a href="http://www.transylvania-jug.org/archives/140" target="_blank">Reasons to call .isEmpty on collections in Java | Transylvania JUG</a> y porque es recomendable utilizanr el isEmpty para verificar que una colección es vacía.</li>
<li><a href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=hamcrest" target="_blank">Como hacer nuestros test más legibles con Hamcres</a>t, Hamcrest es una librería que nos provee de una serie de matchers que podemos utilizar para escribir nuestros test con un lenguaje más cercano al natural de manera que se hace más sencillo comprender que están comprobando nuestros test.</li>
<li><a href="http://danhaywood.com/2010/06/11/pojo-properties-auto-testing/#more-600" target="_blank">Pojo Properties Auto Testing « Dan Haywood</a>, y como hacer trampas <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  en las pruebas de cobertura. Aunque realmente para que sirve este test.</li>
</ul>
<div>Un saludo.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/132/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=132&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2011/10/30/resumen-semanal-de-pequenos-trucos-de-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
		<item>
		<title>¿Como reducir el número de peticiones HTTP en la carga de una página Web?</title>
		<link>http://jbravomontero.wordpress.com/2010/07/16/%c2%bfcomo-reducir-el-numero-de-peticiones-http-en-la-carga-de-una-pagina-web/</link>
		<comments>http://jbravomontero.wordpress.com/2010/07/16/%c2%bfcomo-reducir-el-numero-de-peticiones-http-en-la-carga-de-una-pagina-web/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 23:14:45 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[css sprites]]></category>
		<category><![CDATA[data uri]]></category>
		<category><![CDATA[imagenes]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/?p=116</guid>
		<description><![CDATA[Uno de las formas de optimizar la carga de una página Web consiste en reducir el número de peticiones HTTP.  Esto lo podemos conseguir reduciendo el número de ficheros CSS, JavaScript e imágenes que cargamos en nuestra página. CSS y JavaScript Cuando se trata de CSS y JavaScript la opción consiste en unir los ficheros [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=116&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Uno de las formas de <strong>optimizar la carga de una página Web consiste en reducir el número de peticiones HTTP</strong>.  Esto lo podemos conseguir reduciendo el número de ficheros CSS, JavaScript e imágenes que cargamos en nuestra página.
<p><strong>CSS y JavaScript</strong>
<p>Cuando se trata de CSS y JavaScript la opción consiste en unir los ficheros de un mismo tipo en un único fichero y comprimirlos, de esta manera tendríamos un único fichero CSS y un único fichero JavaScript.
<p>En estos casos el problema suele ser combinar el entorno de desarrollo con el de producción. Es decir, durante el desarrollo de la Web es evidente que resulta más sencillo trabajar con varios ficheros que con uno sólo comprimido. El momento de unificarlos y comprimirlos debería realizarse en el momento de instalar la aplicación en producción.
<p><strong>Imagenes</strong>
<p>Por tanto, para reducir el número de peticiones sólo nos queda buscar fórmulas para reducir el número de imágenes que utilizamos en nuestra Web. Para ello tenemos 2 opciones.
<p><strong>CSS Sprites</strong>
<p>CSS Sprites consiste en combinar varias imágenes en un único fichero. A continuación mediante el uso desde la CSS de la propiedad backgroun-position mostraremos sólo parte de esa imagen.
<p>Pero esta forma de trabajar aunque útil, tiene 2 problemas:
<ul>
<li>En algunas ocasiones resulta difícil combinar varias imágenes en una sola.</li>
<li>Hay que tener en cuenta el tamaño de la imagen. En algunas ocasiones y sobre todo para sprites grandes podemos tener problemas de memoría en el navegador (To Sprite or not Sprite).</li>
</ul>
<p><p><strong>Convertir las imágenes a base 64 e incluirlas en la CSS o HTML</strong>
<p>Es la técnica que comentaba en mi anterior artículo, <a href="http://jbravomontero.wordpress.com/2010/07/16/conversion-automatica-de-imagenes-a-data-uris/" target="_blank">Conversión automática de imagenes a Data URis</a>.
<p>En este caso, el problema que tenemos es que no es soportado por todos los navegadores.
<p>Data Uris es soportado en los siguientes navegadores:
<ul>
<li>Firefox 2+</li>
<li>Safari – all versions</li>
<li>Google Chrome – all versions</li>
<li>Opera 7.2+</li>
<li>Internet Explorer 8+</li>
</ul>
<p><p>Es decir, no es soportado en nuestros amigos los IE6 e IE7. Aunque para este caso existe la posible opción de utilizar <a href="http://www.phpied.com/mhtml-when-you-need-data-uris-in-ie7-and-under/" target="_blank">MHTML</a> aunque (yo no lo he probado) parece que no termina de funcionar del todo bien.
<p>Y luego tenemos la limitación de tamaño en el IE8, que no acepta Data Uris de más de 32 Kilobytes.
<p>Bueno, en cualquier caso, las opciones están ahi y la mejor solución dependerá de cada situación particular y supongo que en muchas ocasiones la combinación de ambas técnicas.
<p><strong>Enlaces</strong>
<p>Este post es un resumen de un estupendo artículo <a href="http://robertnyman.com/2010/01/15/how-to-reduce-the-number-of-http-requests/" target="_blank">How To Reduce The Number Of  HTTP Requests </a>de Robert Nyman.
<p>En un próximo artículo pasaremos de la teoría a la práctica.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=116&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2010/07/16/%c2%bfcomo-reducir-el-numero-de-peticiones-http-en-la-carga-de-una-pagina-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
		<item>
		<title>Conversión automática de imágenes a Data URIs</title>
		<link>http://jbravomontero.wordpress.com/2010/07/16/conversion-automatica-de-imagenes-a-data-uris/</link>
		<comments>http://jbravomontero.wordpress.com/2010/07/16/conversion-automatica-de-imagenes-a-data-uris/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 15:06:14 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Diseño Web]]></category>
		<category><![CDATA[data uri]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[imagenes]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/?p=100</guid>
		<description><![CDATA[En algunas ocasiones puede resultar interesante utilizar Data URis para incluir las imágenes dentro de una CSS o el propio HTML. Con esto lo que ganamos es reducir el número de peticiones al servidor. Es decir, en lugar de ponerlo de la siguiente manera: Lo podemos poner: En estos artículos explica con más detalle la [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=100&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>En algunas ocasiones puede resultar interesante utilizar Data URis para incluir las imágenes dentro de una CSS o el propio HTML. Con esto lo que ganamos es reducir el número de peticiones al servidor.</p>
<p>Es decir, en lugar de ponerlo de la siguiente manera:</p>
<p><pre class="brush: xml;">&lt;img src=&quot;image.jpg&quot;&gt;</pre></p>
<p>Lo podemos poner:</p>
<p><pre class="brush: xml;">&lt;img alt=&quot;&quot; src=&quot;data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/...&quot; /&gt;</pre></p>
<p>En estos artículos explica con más detalle la técnica:</p>
<ul>
<li><a href="http://gabrielrodriguez.net/como-poner-imagenes-en-correos-o-paginas-sin-usar-etiquetas-de-img-o-attachments/" target="_blank">Como poner imagenes en correos o paginas sin usar etiquetas de img o attachments</a>.</li>
<li><a href="http://dzign.us/post/798551454/cssembed-conversion-automatica-de-imagenes-a-data-uris" target="_blank">CSSEmbed, conversión automática de imágenes a Data URIs</a>.</li>
</ul>
<p>Y aquí 2 herramientas online para realizar este conversión.</p>
<ul>
<li><a href="http://webcodertools.com/imagetobase64converter" target="_blank">Image to base64 converter</a>.</li>
<li><a href="http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/" target="_blank">Image to Data URI convertor</a>.</li>
</ul>
<p>Y aquí otra para utilizarlo en local o desde aplicaciones Java.</p>
<ul>
<li><a href="http://github.com/nzakas/cssembed" target="_blank">CSSEmbed</a></li>
</ul>
<p>Esta técnica suele aumentar el tamaño en un 30%, pero se compensa si lo metemos en un fichero cacheable (css, html) y ademas lo comprimimos con gzip.</p>
<p>Debemos tener en cuenta:</p>
<ul>
<li>Que esta técnica se utiliza para imágenes pequeñas ya que hay una limitación de tamaño (en el IE8 están limitadas a 32K).</li>
<li>Y que en versiones inferiores al IE8 no es soportado. En estos casos se pueden utilizar en MHTML. La aplicación CSSEmbed que hemos recomendado antes soporta esta opción.</li>
</ul>
<p>En definitiva, la principal ventaja es que <strong>reducimos el número de peticiones al servidor</strong>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=100&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2010/07/16/conversion-automatica-de-imagenes-a-data-uris/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
		<item>
		<title>Detectar móvil con JavaScript y redirigir.</title>
		<link>http://jbravomontero.wordpress.com/2010/06/25/detectar-movil-con-javascript-y-redirigir/</link>
		<comments>http://jbravomontero.wordpress.com/2010/06/25/detectar-movil-con-javascript-y-redirigir/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 14:13:41 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Movil]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/?p=94</guid>
		<description><![CDATA[Detectar móvil con JavaScript y redirigir. Vía: http://miquelcamps.com/javascript/detectar-movil-con-javascript-y-redirigir/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=94&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Detectar móvil con JavaScript y redirigir.</p>
<p><pre class="brush: jscript;">
&lt;script type=”text/javascript”&gt;
var navegador = navigator.userAgent.toLowerCase();
if( navegador.search(/iphone|ipod|android/) &gt; -1 ){
document.location = ‘http://m.dominio.com’;
}
&lt;/script&gt;
</pre></p>
<p>Vía: <a href="http://miquelcamps.com/javascript/detectar-movil-con-javascript-y-redirigir/">http://miquelcamps.com/javascript/detectar-movil-con-javascript-y-redirigir/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=94&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2010/06/25/detectar-movil-con-javascript-y-redirigir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
		<item>
		<title>Probando hootsuite</title>
		<link>http://jbravomontero.wordpress.com/2010/06/16/probando-hootsuite/</link>
		<comments>http://jbravomontero.wordpress.com/2010/06/16/probando-hootsuite/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 22:27:45 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[Varios]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/2010/06/16/probando-hootsuite/</guid>
		<description><![CDATA[Probando hootsuite<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=93&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Probando hootsuite</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=93&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2010/06/16/probando-hootsuite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
		<item>
		<title>Curiosa metáfora de integración continua</title>
		<link>http://jbravomontero.wordpress.com/2010/04/26/curiosa-metafora-de-integracion-continua/</link>
		<comments>http://jbravomontero.wordpress.com/2010/04/26/curiosa-metafora-de-integracion-continua/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 20:03:24 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[integración continua]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/?p=84</guid>
		<description><![CDATA[En: &#8220;Integración continua para mantener el proyecto en rumbo&#8220;. La Integración Continua es como una tarjeta de crédito al revés. Una tarjeta de crédito nos permite comprar algo grande hoy, y pagarlo de a poquito más adelante. Sin embargo, las tarjetas de crédito tienen un pequeño secretito oscuro&#8230; el interés compuesto. Terminamos pagando mucho, mucho [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=84&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>En: &#8220;<a href="http://www.dosideas.com/noticias/desarrollo-de-software/884-integracion-continua-para-mantener-el-proyecto-en-rumbo.html" target="_blank">Integración continua para mantener el proyecto en rumbo</a>&#8220;.</p>
<blockquote>
<div id="_mcePaste">La Integración Continua es como una tarjeta de crédito al revés. Una tarjeta de crédito nos permite comprar algo grande hoy, y pagarlo de a poquito más adelante. Sin embargo, las tarjetas de crédito tienen un pequeño secretito oscuro&#8230; el interés compuesto. Terminamos pagando mucho, mucho más de lo que tomamos prestado. Siempre resulta más barato pagar en efectivo si podemos.</div>
<div id="_mcePaste">Cuando usamos un sistema de Integración Continua, ocurre lo opuesto. Podemos hacer pequeños pagos todos los días, o podemos esperar hasta el final y hacer un único gran pago. ¡Desafortunadamente este último gran pago tiene todo el interés compuesto agregado! Si esperamos al final, terminamos pagando más&#8230; mucho más!</div>
<div id="_mcePaste">Esto ocurre por el &#8220;tiempo a oscuras&#8221; entre que un desarrollador escribe el código y lo combina con el código que escribió el resto del equipo. Si combinamos el código todos los días, o incluso un par de veces a la semana, los cambios son menores y relativamente indoloros. Pero si esperamos&#8230;</div>
</blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=84&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2010/04/26/curiosa-metafora-de-integracion-continua/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial de integración continua</title>
		<link>http://jbravomontero.wordpress.com/2010/04/24/tutorial-de-integracion-continua/</link>
		<comments>http://jbravomontero.wordpress.com/2010/04/24/tutorial-de-integracion-continua/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 21:02:22 +0000</pubDate>
		<dc:creator>jbravomontero</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[integración continua]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[sonar]]></category>

		<guid isPermaLink="false">http://jbravomontero.wordpress.com/?p=78</guid>
		<description><![CDATA[Estupendo tutorial de Integración Continua escrito por Carlo Zuluaga. Este es el indice del tutorial: Introducción. Instalación y configuración. Instalación en Windows. Instalación en Linux. Instalación de Apache ANT. Instalación de Apache Maven. Instalación y Configuración de VisualSVN Server Configurar proyecto de ejemplo Creación de un Proyecto Básico con Hudson Plugins Pruebas unitarias con JUnit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=78&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Estupendo tutorial de Integración Continua escrito por <a href="http://weblogs.javahispano.org/azuluaga/" target="_blank">Carlo Zuluaga</a>.</p>
<p>Este es el indice del tutorial:</p>
<li>Introducción.</li>
<li>Instalación y configuración.
<ol>
<li>Instalación en Windows.</li>
<li>Instalación en Linux.</li>
<li>Instalación de Apache ANT.</li>
<li>Instalación de Apache Maven.</li>
<li>Instalación y Configuración de VisualSVN Server</li>
</ol>
</li>
<li>Configurar proyecto de ejemplo</li>
<li>Creación de un Proyecto Básico con Hudson</li>
<li>Plugins
<ol>
<li>Pruebas unitarias con JUnit</li>
<li>Cobertura de código con Emma.</li>
</ol>
</li>
<li>Sonar
<ol>
<li>Instalación de MySQL.</li>
<li>Instalación de SONAR.</li>
<li>Integración con Hudson.</li>
<li>Análisis del código fuente.</li>
</ol>
</li>
<li>Administración de Hudson.
<ol>
<li>Preguntas Comunes.</li>
<li>Seguridad.</li>
</ol>
</li>
<li>Recomendaciones para una instalación.</li>
<li>Referencias.</li>
<p>Como podéis ver muy completo y pensado para montarlo desde el principio. Lo podéis encontrar en esta dirección: <a href="http://carloszuluaga.wikidot.com/hudson">http://carloszuluaga.wikidot.com/hudson</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbravomontero.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbravomontero.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbravomontero.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbravomontero.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbravomontero.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbravomontero.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbravomontero.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbravomontero.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbravomontero.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbravomontero.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbravomontero.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbravomontero.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbravomontero.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbravomontero.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbravomontero.wordpress.com&amp;blog=9573076&amp;post=78&amp;subd=jbravomontero&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbravomontero.wordpress.com/2010/04/24/tutorial-de-integracion-continua/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0a9e6bbe2424900880e24e19dab9a7f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbravomontero</media:title>
		</media:content>
	</item>
	</channel>
</rss>
