<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sergi Quiñonero</title>
	<atom:link href="http://www.sergiquinonero.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sergiquinonero.net</link>
	<description>Sergi Quiñonero Blog Page</description>
	<lastBuildDate>Fri, 25 Mar 2011 20:04:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Configurar PHPUnit en XAMPP</title>
		<link>http://www.sergiquinonero.net/configurar-phpunit-en-xampp.html</link>
		<comments>http://www.sergiquinonero.net/configurar-phpunit-en-xampp.html#comments</comments>
		<pubDate>Thu, 28 Jan 2010 11:17:36 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[configuración]]></category>
		<category><![CDATA[phpunit]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=86</guid>
		<description><![CDATA[Esta semana, en clase de programación, hemos estado viendo las bondades de contar con unit testing y TDD.
El problema nos surgió cuando quisimos ponerlo en práctica. Dado que trabajamos con Windows, hemos utilizando XAMPP para poder trabajar en un entorno de programación, pero al utilizar PHPUnit comenzaron los problemas. Así que iniciamos una búsqueda de [...]]]></description>
			<content:encoded><![CDATA[<p>Esta semana, en clase de programación, hemos estado viendo las bondades de contar con <strong>unit testing</strong> y <strong>TDD</strong>.</p>
<p>El problema nos surgió cuando quisimos ponerlo en práctica. Dado que trabajamos con Windows, hemos utilizando <strong>XAMPP </strong>para poder trabajar en un entorno de programación, pero al utilizar <strong>PHPUnit </strong>comenzaron los problemas. Así que iniciamos una búsqueda de cómo <strong>configurar PHPUnit en XAMPP</strong>.<span id="more-86"></span></p>
<p>Después de mucho buscar y buscar, encontramos una solución que espero que os sirva. Para este ejemplo hemos/vamos a utilizar:</p>
<ul>
<li>PHP 5.2.9</li>
<li>Xdebug 2.0.5</li>
<li>PHPUnit 3.4.9</li>
</ul>
<p><strong>Configurar PHPUnit en XAMPP</strong>:</p>
<ol>
<li>Descargar la librería DLL v.2.0.5 desde la página de <a title="página de descarga de XDebug" href="http://xdebug.org/download.php" target="_blank">XDebug </a>(en nuestro caso hemos utilizado la <a title="dll xdebug " href="http://xdebug.org/files/php_xdebug-2.0.5-5.2.dll">versión 5.2 VC6 32 bits</a>)</li>
<li>Renombrara (o eliminar) la anterior librería (php_xdebug.dll) ubicada en C:/xampp/php/ext/ y renombrar la que hemos descargado (renombrarla a php_xdebug.dll)</li>
<li>Abrir una ventana de comandos (Menú Inicio &gt; ejecutar &gt; cmd ) y lanzar
<ol>
<li>cd C:\xampp\php</li>
<li>pear upgrade pear</li>
<li>pear upgrade &#8211;alldeps phpunit/phpunit-3.4.9</li>
</ol>
</li>
</ol>
<p>y ya podéis ejecutar <strong>PHUnit </strong>en <strong>XAMPP </strong>sin marearos.</p>
<p>P.D.: Quiero dar las gracias a Javier F., Raul M y Mari Ángeles por la ayuda que me han brindado <img src='http://www.sergiquinonero.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<!-- AdSense Now! V1.83 -->
<!-- Post[count: 2] -->
<div class="adsense adsense-leadout" style="float:left;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "pub-3509193416949473";
/* Sergiquinonero.net */
google_ad_slot = "0327514928";
google_ad_width = 234;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/configurar-phpunit-en-xampp.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Diferentes tipos de ataques en páginas y aplicaciones Web</title>
		<link>http://www.sergiquinonero.net/diferentes-tipos-de-ataques-en-paginas-y-aplicaciones-web.html</link>
		<comments>http://www.sergiquinonero.net/diferentes-tipos-de-ataques-en-paginas-y-aplicaciones-web.html#comments</comments>
		<pubDate>Fri, 22 Jan 2010 12:10:50 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[HTML Inyection]]></category>
		<category><![CDATA[SQL Inyection]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=74</guid>
		<description><![CDATA[En el día a día de un programador Web, nos vienen a la cabeza el cómo mejorar nuestra aplicación. No siempre la mejora de una aplicación se basa en una mejora visual y/o de nuevas funcionalidades, sino de una mejora a nivel de seguridad.
Ante este gran dilema, la seguridad web, nos planteamos una serie de [...]]]></description>
			<content:encoded><![CDATA[<p>En el día a día de un programador Web, nos vienen a la cabeza el cómo mejorar nuestra aplicación. No siempre la mejora de una aplicación se basa en una mejora visual y/o de nuevas funcionalidades, sino de una mejora a nivel de seguridad.</p>
<p>Ante este gran dilema, la <strong>seguridad web</strong>, nos planteamos una serie de mecanismos que nos permitan hacer, de nuestra aplicación, un lugar mejor. Seguro que a la mayoría no nos gustaría ver un día, al entrar en nuestra aplicación Web, un &#8220;bonito&#8221; mensaje del tipo &#8220;This Web has been hacked by&#8230;&#8221;.  Hay <strong>diferentes tipos de ataques a una página Web</strong> y cada uno de ello se puede solventar de forma diversa. En este caso solo hablaré de los <strong>ataques </strong>al servidor (aunque la mejor palabra para definirlo sería <strong>vulnerabilidades</strong> del software).<span id="more-74"></span></p>
<p>Las diferentes <strong>vulnerabilidades Web</strong>, entre otras, son:</p>
<p style="padding-left: 30px;">1. <strong>Cross Site Scripting</strong> (<strong>XSS</strong>). Básicamente se basa en aplicaciones que permite ejecutar código de scripting (javascript, entre otros) y es causado por la no verificación de los valores introducidos por el usuario. <strong>XSS </strong>es un tipo de inyección HTML y permite a una persona mal intencionada ejecutar código en el navegador de la víctima y pudiendo insertar contenido nefasto, realizar ataques de phising, robar las sesiones de usuario,&#8230; entre otros. Generalmente, <strong>Cross Site Scripting</strong>, se suele utilizar JavaScript para esta finalidad, pero en realidad, cualquier lenguaje de script puede ser utilizado.</p>
<p style="padding-left: 30px;">2. <strong>Inyecciones de código</strong>. Se basa en el envío de datos por parte del cliente a la aplicación con contenido malicioso y  utilizados directamente, por ejemplo, en sentencias SQL.</p>
<p style="padding-left: 30px;">El típico caso de ataque de inyección es <strong>SQL Inyection</strong>, aunque también tenemos <strong>HTML Inyection</strong> (como el <strong>XSS</strong>), <strong>XPath</strong>, <strong>XML</strong>&#8230; Al igual que comentaba en el punto anterior, todos estos ataques suele producirse cuando el desarrollador confía demasiado en el usuario y no filtra correctamente todos los puntos de entrada de datos.</p>
<p style="padding-left: 30px;">3. <strong>Ejecución maliciosa de código</strong>. Esta <strong>vulnerabilidad </strong>se basa en el uso de una variable procedente del usuario para incluir en nuestro código un fichero determinado.</p>
<p style="padding-left: 30px;">Un claro ejemplo de ello, son aquellas aplicaciones que mediante el uso de un parámetro específico en la URI, hacen la inclusión de ese &#8220;módulo&#8221;. <em><span style="color: #808080;">www.sergiquinonero.net/index.php?controlador=inicio</span></em> donde en inicio podríamos encontrar algo tal que <em><span style="color: #808080;">include $_GET['controlador'] .  &#8217;.php&#8217;;</span></em></p>
<p style="padding-left: 30px;"><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">4. <strong>Cross Site Request Forgery</strong> (<strong>CSRF</strong>). Este tipo de ataque permite a una página mal intencionada, al ser visitado por una víctima, ejecutar una llamada Web a otra página (susceptible al usuario) y realizar una acción determinada sobre el site víctima.</span></span></em></p>
<p style="padding-left: 30px;"><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">Imaginaos qué, en una Web A tenemos una imagen oculta, cuya fuente de imagen sea <em><span style="color: #808080;">http://www.facebook.com/profile/modify-mail/correo-malintencionado@miserver.com</span></em> (obivamente esto es un ejemplo IRREAL).El usuario que visitase esa página Web A, si está identificado en facebook (en este caso) estaría permitiendo a la Web malintencionada, modificar su e-mail sin que éste se diera cuenta.</span></span></em></p>
<p style="padding-left: 30px;"><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">5. <strong>Fuga de información</strong> o <strong>Error en el manejo de errores</strong>. Esto suele ocurrir cuando nuestro servidor muestra los errores de programación (Fatal Error, Warning, Notices) que dan al usuario mal intencionado información de cómo es nuestra estructura permitiéndole utilizar otro tipo de vulnerabilidades para hacerse con el control total o parcial de nuestro sitio.</span></span></em></p>
<p style="padding-left: 30px;"><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">6. <strong>Robo de Sesión</strong>. Cuando un usuario inicia sesión en una página Web, normalmente, ese sitió dejará una galletita (cookie) en el ordenador del usuario con un session id que identificará ese usuario con esa máquina. El servidor también almacena ese ID junto con información del usuario. Como no es frecuente el uso de navegación segura (mediante HTTPS), cualquier persona mal intencionada (y con los medios) podría obtener esa información y suplantar a la víctima (creando una cookie con esa información).</span></span></em></p>
<p><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">No son todos estos puntos los únicos que hay que tomar en cuenta para prevenir ataques en páginas y aplicaciones Web, pero con ellos, estaremos un poco más seguros y podremos conciliar mejor el sueño.</span></span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/diferentes-tipos-de-ataques-en-paginas-y-aplicaciones-web.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Solventar problemas de lentitud en Windows y Linux usando samba</title>
		<link>http://www.sergiquinonero.net/solventar-problemas-de-lentitud-en-windows-y-linux-usando-samba.html</link>
		<comments>http://www.sergiquinonero.net/solventar-problemas-de-lentitud-en-windows-y-linux-usando-samba.html#comments</comments>
		<pubDate>Wed, 20 Jan 2010 21:25:49 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[netbios]]></category>
		<category><![CDATA[problemas]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Winsock]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=64</guid>
		<description><![CDATA[Desde hace unos meses utilizo un pequeño netbook con Ubuntu como servidor de Desarrollo y utilizo samba para comunicar los ordenadores Windows con éste. De vez en cuando veo que hay problemas de lentitud en la comunicación entre Windows y Linux. Copiar fichero es un horror y a veces, la mera acción de acceder a [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace unos meses utilizo un pequeño netbook con <strong>Ubuntu </strong>como servidor de Desarrollo y utilizo samba para comunicar los ordenadores <strong>Windows </strong>con éste. De vez en cuando veo que hay <strong>problemas de lentitud en la comunicación entre Windows y Linux</strong>. Copiar fichero es un horror y a veces, la mera acción de acceder a un directorio ni os cuento.</p>
<p>El problema reside en una librería de Microsoft llamada WinSock2 que, parece ser, está bastante mal implementada y que no se comunica correctamente con SAMBA. A causa de esto, muchos paquetes TCP/IP se pierden dejando la red inundada de esos zombies.</p>
<p>Para <strong>solventar el problema de lentitud en Windows y Linux</strong>, solo es necesario desactivar el <strong>Netbios sobre TCP/IP</strong> de Windows. Para ello solo hay que ir a Panel de Control &gt; Conexiones de Red &gt; Propiedades en la conexión de red &gt; Protocolo de Internet versión 4 (TCP/IPv4)  &gt; Opciones avanzadas &gt; WINS  y una vez aquí, desactivamos el<strong> NetBios a través de TCP/IP.</strong></p>
<p>Y ya está <img src='http://www.sergiquinonero.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/solventar-problemas-de-lentitud-en-windows-y-linux-usando-samba.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Desactivar safe_mode y open_basedir en Plesk 9</title>
		<link>http://www.sergiquinonero.net/desactivar-safe_mode-y-open_basedir-en-plesk-9.html</link>
		<comments>http://www.sergiquinonero.net/desactivar-safe_mode-y-open_basedir-en-plesk-9.html#comments</comments>
		<pubDate>Tue, 05 Jan 2010 09:07:51 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[open_basedir]]></category>
		<category><![CDATA[plesk]]></category>
		<category><![CDATA[safe_mode]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=63</guid>
		<description><![CDATA[Lo primero que haremos para desactivar safe_mode y open_basedir en Pelsk 9 será crear un fichero vhost.conf dentro del directorio de cofniguración del dominio deseado (por ejemplo /var/www/vhosts/sergiquinonero.net/conf/ ) con el contenido 
&#60;Directory /var/www/vhosts/sergiquinonero.net/httpdocs&#62;
php_admin_value safe_mode off
php_admin_value open_basedir none
&#60;/Directory&#62;
Una vez agregado, deberemos reconstruir la configuración del dominio ejecutando
#/usr/local/psa/admin/sbin/websrvmng -u &#8211;vhost-name=sergiquinonero.net
y reanudar apache
# /etc/init.d/httpd restart
y ya está, [...]]]></description>
			<content:encoded><![CDATA[<p>Lo primero que haremos para desactivar <strong>safe_mode </strong>y <strong>open_basedir </strong>en <strong>Pelsk </strong>9 será crear un fichero vhost.conf dentro del directorio de cofniguración del dominio deseado (por ejemplo<strong> </strong><span><em>/var/www/vhosts/sergiquinonero.net/conf</em>/ </span><span>) con el contenido </span></p>
<blockquote><p>&lt;Directory /var/www/vhosts/sergiquinonero.net/httpdocs&gt;<br />
php_admin_value safe_mode off<br />
php_admin_value open_basedir none<br />
&lt;/Directory&gt;</p></blockquote>
<p>Una vez agregado, deberemos reconstruir la configuración del dominio ejecutando</p>
<blockquote><p>#/usr/local/psa/admin/sbin/websrvmng -u &#8211;vhost-name=sergiquinonero.net</p></blockquote>
<p>y reanudar apache</p>
<blockquote><p># /etc/init.d/httpd restart</p></blockquote>
<p>y ya está, nuestro dominio funcionando con <strong>safe_mode </strong>y <strong>open_basedir </strong>desactivados.</p>
<p>Otra manera de configurar <strong>Plesk </strong>de una forma parecida nos la ofrecen desde este <a href="http://geekple.blogspot.com/2009/09/modificar-configuracion-de-apache-en.html" target="_blank">blog sobre Plesk</a></p>
<p><strong>Nota importante</strong>: Si ves que no te funciona, mira si en tu /etc/php.ini tienes el open_basedir activado con algún path. Si esto está activado, el fichero vhost es ignorado.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/desactivar-safe_mode-y-open_basedir-en-plesk-9.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manifiesto “En defensa de los derechos fundamentales en internet”</title>
		<link>http://www.sergiquinonero.net/manifiesto-%e2%80%9cen-defensa-de-los-derechos-fundamentales-en-internet%e2%80%9d.html</link>
		<comments>http://www.sergiquinonero.net/manifiesto-%e2%80%9cen-defensa-de-los-derechos-fundamentales-en-internet%e2%80%9d.html#comments</comments>
		<pubDate>Thu, 03 Dec 2009 04:27:09 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[derechos]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=62</guid>
		<description><![CDATA[Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que…
1.- Los [...]]]></description>
			<content:encoded><![CDATA[<p>Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que…</p>
<p>1.- <strong>Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos</strong>, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.</p>
<p>2.- <strong>La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial</strong>. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial – un organismo dependiente del ministerio de Cultura -, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.</p>
<p>3.- <strong>La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español</strong>, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.</p>
<p>4.- <strong>La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural</strong>. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.</p>
<p>5.- <strong>Los autores</strong>, como todos los trabajadores, <strong>tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones</strong>. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.</p>
<p>6.- Consideramos que <strong>las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales</strong>, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.</p>
<p>7.- <strong>Internet debe funcionar de forma libre y sin interferencias políticas</strong> auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.</p>
<p>8.- <strong>Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España</strong>, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.</p>
<p>9.- <strong>Proponemos una verdadera reforma del derecho de propiedad intelectual</strong> orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.</p>
<p>10.- <strong>En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público</strong> y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.</p>
<p>Este manifiesto, elaborado de forma conjunta por varios autores, es de todos y de ninguno. Si quieres sumarte a él, difúndelo por Internet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/manifiesto-%e2%80%9cen-defensa-de-los-derechos-fundamentales-en-internet%e2%80%9d.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La primera comunidad sobre un parque temático</title>
		<link>http://www.sergiquinonero.net/la-primera-comunidad-sobre-un-parque-tematico.html</link>
		<comments>http://www.sergiquinonero.net/la-primera-comunidad-sobre-un-parque-tematico.html#comments</comments>
		<pubDate>Sat, 13 Dec 2008 19:55:08 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[día a día]]></category>
		<category><![CDATA[port aventura]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=59</guid>
		<description><![CDATA[El domingo pasado, nació la primera comunidad sobre un parque temático, Port Aventura. Port Aventura Community es una red social vertical pensada para cliente y empleados del parque.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sergiquinonero.net/wp-content/uploads/2008/12/screenshot_pac.jpg"><img class="alignleft alignnone size-medium wp-image-61" style="margin: 10px; float: left;" title="screenshot_pac" src="http://www.sergiquinonero.net/wp-content/uploads/2008/12/screenshot_pac-300x202.jpg" alt="Port Aventura Communty" width="240" height="161" /></a>El domingo pasado, nació la primera comunidad sobre un parque temático, <span style="color: #800000;"><strong><a href="http://www.pa-community.com" target="_blank">Port Aventura</a></strong></span>. <a href="http://www.pa-community.com" target="_blank"><span style="color: #800000;"><strong>Port Aventura Community</strong></span></a> es una red social vertical pensada para cliente y empleados del parque.</p>
<p><span style="color: #800000;"><strong>Port Aventura Community</strong></span> nació hace unos años como fan club de <span style="color: #800000;"><strong>Port Aventura</strong></span>. Ahora, tras un largo periodo de desarrollo dan el paso y se transforman, a nivel mundial, en la primera red social que gira alrededor de un parque temático.</p>
<p>Es un punto de encuentro para todas aquellas personas vinculadas con el parque. Todos los miembros de la comunidad de <span style="color: #800000;"><strong>Port Aventura Community</strong></span> hacen fluir contenido sobre el parque tanto a nivel de <span style="color: #800000;"><strong><a href="http://www.pa-community.com/p/noticias/" target="_blank">noticias de port aventura</a></strong></span>, como de descuentos, 2&#215;1 y <span style="color: #800000;"><strong><span><a href="http://www.pa-community.com/p/ofertas_port_aventura/" target="_blank">ofertas en Port Aventura</a></span></strong></span>, de tal modo que la comunidad siempre está informada de todo lo que ocurre en el parque de una manera rápida y eficaz.</p>
<p><span id="more-59"></span></p>
<p>Tal como comentan los chicos de <span style="color: #800000;"><strong>Port Aventura Community</strong></span>, ésta no dejará de ser una beta, dado que quieren que la aplicación vaya creciendo según las necesidades de sus miembros.</p>
<p>Por ahora, todos los miembros de la comunidad pueden crear sus blogs, comentar todo tipo de información portaventurera (<span style="color: #800000;"><strong><a href="http://www.pa-community.com/p/hotel_port_aventura/" target="_blank">hoteles en Port Aventura</a></strong></span>, Restaurantes, Atracciones&#8230;) y conocer a gente con sus mismos intereses.</p>
<p>Por otra parte, los trabajadores también salen beneficiados de este sistema, ya que les permite conocer a otros compañeros de trabajo y, depaso, favorecer su entorno laboral.</p>
<p>Personalmente la he probado y las sensaciones que me han transmitido los miembros que la forman, son sensacionales.</p>
<p>Enlace: <a href="http://www.pa-community.com" target="_blank">Port Aventura Community</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/la-primera-comunidad-sobre-un-parque-tematico.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WOW WotLK: La nueva expansión</title>
		<link>http://www.sergiquinonero.net/wow-wotlk-la-nueva-expansion.html</link>
		<comments>http://www.sergiquinonero.net/wow-wotlk-la-nueva-expansion.html#comments</comments>
		<pubDate>Wed, 01 Oct 2008 13:46:18 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[WoW]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=53</guid>
		<description><![CDATA[WOW WotLK es el nombre por el cual se conoce a World of Warcraft : Wrath of the Lich King (wow wotlk), la segunda expansión de la saga de Blizzard.
Según informa Blizzard, la fecha de lanzamiento de WOW WotLK será el 13 de Noviembre de 2008 y ya disponible para su reserva en todos los [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sergiquinonero.net/wp-content/uploads/2008/10/wlk12801024pf0.jpg"><img class="alignleft alignnone size-medium wp-image-55" style="float: left;" title="wlk12801024pf0" src="http://www.sergiquinonero.net/wp-content/uploads/2008/10/wlk12801024pf0-300x240.jpg" alt="wow wotlk Rey Lich" width="183" height="146" /></a><span style="color: #800000;"><strong>WOW WotLK</strong></span> es el nombre por el cual se conoce a <span style="color: #800000;"><strong><a rel="nofollow" href="http://www.worldofwarcraft.com/wrath/" target="_blank">World of Warcraft : Wrath of the Lich King</a> </strong></span>(<span style="color: #800000;"><strong>wow</strong></span> <strong><span style="color: #800000;">wotlk</span></strong>), la segunda expansión de la saga de Blizzard.</p>
<p>Según informa Blizzard, la fecha de lanzamiento de <span style="color: #800000;"><strong>WOW WotLK</strong></span> será el 13 de Noviembre de 2008 y ya disponible para su reserva en todos los centros de videojuegos.</p>
<p><span id="more-53"></span>Ahora el nivel máximo en wow wotlk será de 80 y las profesiones pasarán ha tener una habilidad máxima de 450 puntos. El nuevo continente Rasganorte (conocido como Northrend en la saga Warcraft) viene con 10 nuevas zonas donde poder jugar hasta la saciedad junto a las nuevas mazmorras (Fortaleza de Utgarde) y junto las instancias donde podrás pelear con el mismisimo Rey Lich en la cual se basa la saga <strong><span style="color: #800000;">wow wotlk</span></strong>.</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-54 aligncenter" title="wotlk_01" src="http://www.sergiquinonero.net/wp-content/uploads/2008/10/wotlk_01-300x211.jpg" alt="wow wotlk" width="300" height="211" /></p>
<p>Con <span style="color: #800000;"><strong>WotLK </strong></span>nace una nueva clase de héroe: el Caballero de la Muerte. Además incluye otras novedades, como la nueva profesión de inscripción, nuevas opciones de personalización de personaje (también disponibles para los personajes ya existentes), edificios destructibles y guerras de asedio.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/KTvhINJQPKc&amp;hl=en&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/KTvhINJQPKc&amp;hl=en&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;">En definitiva, <span style="color: #800000;"><strong>World of Warcraft : Wrath of the Lich King</strong><span style="color: #000000;"> es el juego más deseado por todos los jugadores <span style="color: #800000;"><strong>WOW.</strong></span></span></span></p>
<blockquote>
<p style="text-align: left;"><em>POR LA ALIANZA!</em></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/wow-wotlk-la-nueva-expansion.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Después de un día duro de trabajo&#8230;</title>
		<link>http://www.sergiquinonero.net/despues-de-un-dia-duro-de-trabajo.html</link>
		<comments>http://www.sergiquinonero.net/despues-de-un-dia-duro-de-trabajo.html#comments</comments>
		<pubDate>Tue, 09 Sep 2008 16:13:03 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[memoria]]></category>
		<category><![CDATA[recursos]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=50</guid>
		<description><![CDATA[

¿Alguien ve algo raro?
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.sergiquinonero.net/wp-content/uploads/2008/09/firefox_recursos.jpg"><img class="size-full wp-image-51 aligncenter" title="firefox_recursos" src="http://www.sergiquinonero.net/wp-content/uploads/2008/09/firefox_recursos.jpg" alt="" width="404" height="450" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">¿Alguien ve algo raro?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/despues-de-un-dia-duro-de-trabajo.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Explain MySQL o cómo optimiza SQL</title>
		<link>http://www.sergiquinonero.net/explain-mysql-o-como-optimiza-sql.html</link>
		<comments>http://www.sergiquinonero.net/explain-mysql-o-como-optimiza-sql.html#comments</comments>
		<pubDate>Wed, 03 Sep 2008 17:53:40 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql explain]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[optimizar]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=48</guid>
		<description><![CDATA[Hoy he tenido una interesante conversación con Marc Lladó i con José Mª Rodríguez (álias UTF8  ) sobre SQL y la optimización sql del mismo (en un entorno MySQL).
Al final se puede resumir que EXPLAIN MySQL es una herramienta indispensable (no la única) a la hora de realizar tareas de otpimización sql.
Explain MySQL no [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy he tenido una interesante conversación con Marc Lladó i con José Mª Rodríguez (álias UTF8 <img src='http://www.sergiquinonero.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) sobre SQL y la <span style="color: #800000;"><strong>optimización sql</strong></span> del mismo (en un entorno MySQL).</p>
<p>Al final se puede resumir que <span style="color: #800000;"><strong>EXPLAIN MySQL</strong></span> es una herramienta indispensable (no la única) a la hora de realizar tareas de <span style="color: #800000;"><strong>otpimización sql</strong></span>.<span id="more-48"></span></p>
<p><span style="color: #800000;"><strong>Explain MySQL</strong></span> no es más que una manera de mostrar como MySQL procesa las sentencias SQL mediante sus índices y uniones. El uso de <span style="color: #800000;"><strong>Explain MySQL</strong></span> permite ayudar a los DBAs, en una primera instancia, a mejor el diseño de base de datos agregando índices y permitiendo una selección de consultas más óptimas.</p>
<p>Lo único que debemos hacer para hacer uso de <span style="color: #800000;"><strong>Explain MySQL</strong></span> es anteponer &#8220;Explain&#8221; a la SQL deseada.</p>
<blockquote>
<div><span class="syntax"><span class="syntax_alpha syntax_alpha_reservedWord">EXPLAIN</span> <span class="syntax_alpha syntax_alpha_reservedWord">SELECT</span> <span class="syntax_punct">*</span> <span class="syntax_alpha syntax_alpha_reservedWord">FROM</span> <span class="syntax_quote syntax_quote_backtick">`localidades`</span> <span class="syntax_alpha syntax_alpha_reservedWord">WHERE</span> <span class="syntax_alpha syntax_alpha_identifier">id</span> <span class="syntax_punct">=</span><span class="syntax_digit syntax_digit_integer">1</span></span></div>
</blockquote>
<div>
<p>Ejecutando esta SQL, MySQL nos indica como la está procesando y nos mostrará un listado con información sobre índices, tablas, resultados, etc.</p>
</div>
<div>
<p>En el resultado de <strong><span style="color: #800000;">explain de mysql</span></strong> visualizaremos una tabla con 10 columnas de información para cada tabla implicada</p>
</div>
<div style="text-align: center;"><a href="http://www.sergiquinonero.net/wp-content/uploads/2008/09/explain_mysql.jpg"><img class="alignnone size-full wp-image-49" title="explain mysql" src="http://www.sergiquinonero.net/wp-content/uploads/2008/09/explain_mysql.jpg" alt="explain mysql" width="500" height="62" /></a></div>
<div>De las columnas anteriores cabe destacar:</div>
<ol>
<li><span style="color: #800000;"><strong>type</strong></span>: Esta columna indica el tipo de unión que se está usando (de más a menos óptimo).
<ol>
<li><strong>const</strong>: Es la más óptima y se dá cuando la tabla tiene como máximo una fila que coincide. Como solo hay una fila coincidente, MySQL la considerará como constante por el optimizador.</li>
<li><strong>eq_ref</strong>: Una fila será leída de la tabla A por cada combinación de fila de la tabla B. Este tipo es usada cuando todas las partes de un índice son usados para la consulta y el índice es UNIQUE o PRIMARY</li>
<li><strong>ref</strong>: Todas las filas con valores en el índice que coincidan serán leídos desde esta tabla por cada combinación de filas de las tablas previas. Si la clave que es usada coincide sólo con pocas filas, esta unión es buena.</li>
<li><strong>range</strong>: Sólo serán recuperadas las filas que estén en un rango dado, usando un índice para seleccionar las filas. La columna key indica que índice se usará, y el valor key_len contiene la parte más grande de la clave que fue usada. La columna ref será NULL para este tipo.</li>
<li><strong>index</strong>: Este es el mismo que ALL, excepto que sólo el índice es escaneado. Este es usualmente más rápido que ALL, ya que el índice es usualmente de menor tamaño que la tabla completa.</li>
<li><strong>ALL</strong>: Realiza un escaneo completo de tabla por cada combinación de filas de las tablas previas. Este caso es el peor de todos.</li>
</ol>
</li>
<li><span style="color: #800000;"><strong>possible_keys</strong></span>: Esta columna indica los posibles índices a utilizar en la consulta</li>
<li><span style="color: #800000;"><strong>key</strong></span>: Esta columna indica el indice que MySQL actualmente está usando. Esta columna es NULL si no se ha elegido ninguno. Es interesante saber que podemos forzar a MySQL a usarlo (y también a ignorarlo) mediante el uso de <em>FORCE INDEX</em>, <em>USE INDEX </em>o <em>IGNORE INDEX</em></li>
<li><span style="color: #800000;"><strong>key_len</strong></span>: El tamaño del índice usado. A menor valor mejor.</li>
<li><span style="color: #800000;"><strong>ref</strong></span>: La columna ref muestra que columna o constante es usada junto a la key para seleccionar las columnas de la tabla</li>
<li><span style="color: #800000;">rows</span>: Indica el número de columnas que MySQL cree necesario examinar para ejecutar la SQL.</li>
<li><span style="color: #800000;"><strong>extra</strong></span>: Indica información adicional de como MySQL ha resuelto la SQL y hay que prestar atención si aparece <em>USING FILESORT</em> o <em>USING TEMPORARY</em>. En el primer caso, indica que MySQL debe hacer un paso extra para recuperar la información. En el segundo, MySQL necesita generar una tabla extra para mantener la información y después mostrarla y es típico al usar <em>GROUP BY</em> u <em>ORDER BY</em>.</li>
</ol>
<p>En ocasiones, MySQL puede mostrar ALL en la columna type cuando:</p>
<ol>
<li>La tabla es tan pequeña que MySQL ve más rapido hacer un escaneo completo de la tabla.</li>
<li>No hay restricciones usando las cláusulas ON o WHERE.</li>
<li>Se compara columnas indexadas con valores cosntantes</li>
<li>Las claves utilizadas devuelven muchos registros que coinciden con el valor.</li>
</ol>
<p>Aún así, hay que decir que éste no es el único método de <span style="color: #800000;"><strong>optimización SQL</strong></span>, aunque es uno bueno.</p>
<p>Para más información visita la <a rel="nofollow" href="http://dev.mysql.com/doc/refman/5.0/en/explain.html" target="_blank">referncia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/explain-mysql-o-como-optimiza-sql.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Acceder a un array de manera más limpia en PHP</title>
		<link>http://www.sergiquinonero.net/acceder-a-un-array-de-manera-mas-limpia-en-php.html</link>
		<comments>http://www.sergiquinonero.net/acceder-a-un-array-de-manera-mas-limpia-en-php.html#comments</comments>
		<pubDate>Thu, 28 Aug 2008 15:57:37 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[objeto]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=45</guid>
		<description><![CDATA[Navegando un poquito por php.net he encontrado una manera curiosa de acceder al valor de un array asociativo.
La cuestión está en transformar el array, con una sola línea, en un objeto. De esta manera, el acceso a un valor del array es similar al acceso a una propiedad de objeto.
$persona = array(
'nombre' =&#62; 'Sergi',
'apellidos' =&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Navegando un poquito por <a rel="nofollow" href="http://www.php.net" target="_blank">php.net</a> he encontrado una manera curiosa de acceder al valor de un array asociativo.</p>
<p>La cuestión está en transformar el array, con una sola línea, en un objeto. De esta manera, el acceso a un valor del array es similar al acceso a una propiedad de objeto.<span id="more-45"></span></p>
<pre>$persona = array(
'nombre' =&gt; 'Sergi',
'apellidos' =&gt; 'Quiñonero Gasent',
'web' =&gt; 'www.sergiquinonero.net'
);
$persona = (object) $persona; #En esta línea está la solución
echo $persona-&gt;nombre . " " . $persona-&gt;apellidos;</pre>
<p>El causante es el modificador explicito (object). Éste transforma nuestro array en un objeto. ¿Una forma limpia de acceder? o de lo contrario ¿Una chapuza que solo hace más ilegible el código?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/acceder-a-un-array-de-manera-mas-limpia-en-php.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

