<?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>Rafael Vega &#187; PHP</title>
	<atom:link href="http://www.rafaelvega.info/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rafaelvega.info</link>
	<description>Mis experiencias personales y laborales</description>
	<lastBuildDate>Tue, 07 Feb 2012 01:01:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Evitar tener varias instancias de memcache</title>
		<link>http://www.rafaelvega.info/evitar-tener-varias-instancias-de-memcache/</link>
		<comments>http://www.rafaelvega.info/evitar-tener-varias-instancias-de-memcache/#comments</comments>
		<pubDate>Wed, 11 May 2011 03:44:49 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[aplicación]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[memcache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[persistencia]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[solución]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=964</guid>
		<description><![CDATA[Tuvimos un problema al tratar de centralizar una aplicación web que corría en varios dominios, lo que sucedía era que las KEYs del memcache eran exactamente iguales en todos los dominios pero los datos que debían contener esas KEYs eran diferente, obviamente porque eran sitios diferentes solo que con el mismo código fuente. La solución [...]]]></description>
			<content:encoded><![CDATA[<p>Tuvimos un problema al tratar de centralizar una aplicación <a href="http://www.rafaelvega.info/tag/web/">web</a> que corría en varios dominios, lo que sucedía era que las KEYs del <a href="http://www.rafaelvega.info/memcache-php/">memcache</a> eran exactamente iguales en todos los dominios pero los datos que debían contener esas KEYs eran diferente, obviamente porque eran sitios diferentes solo que con el mismo código fuente.</p>
<p>La <a href="http://www.rafaelvega.info/tag/solucion/">solución</a> que se nos ocurrió para evitar tener varias instancias de <a href="http://www.rafaelvega.info/memcache-php/">memcache</a> ejecutadas en el servidor gastando memoria fue la de agregar un Prefijo parametrizado según el dominio en el que se crea la KEY.</p>
<p>Este es un ejemplo del código actual que tenemos</p>
<pre class="brush: php">define("PREFIJO","app1"); //este es el parametro que se configura según cada dominio
$memcache= new Memcache();
$memcache-&gt;connect("localhost",111112);
$key=PREFIJO."nombre_llave";
$memcache-&gt;set($key,$datos,false,60*60);</pre>
<p>Luego para leer sería:</p>
<pre class="brush: php">$key=PREFIJO."nombre_llave";
$memcache-&gt;get($key);</pre>
<p>Espero que les sirva como nos sirvió a nosotros <img src='http://www.rafaelvega.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<table border="0"></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/evitar-tener-varias-instancias-de-memcache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convertir un PDF en imágenes JPG con PHP</title>
		<link>http://www.rafaelvega.info/convertir-un-pdf-en-imagenes-jpg-con-php/</link>
		<comments>http://www.rafaelvega.info/convertir-un-pdf-en-imagenes-jpg-con-php/#comments</comments>
		<pubDate>Sun, 24 Apr 2011 00:37:28 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[tratamiento de imágenes]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=958</guid>
		<description><![CDATA[Hace días alguien del equipo de desarrollo de evoluZiona Sas necesitaba obtener la primera página de un PDF pero en formato JPG con PHP, obviamente de forma dinámica porque era para resolver un problema que nos asechaba desde hace ya algún tiempo. La solución para el problema la dimos con imagemagick, específicamente con el comando [...]]]></description>
			<content:encoded><![CDATA[<p>Hace días alguien del equipo de desarrollo de <a href="http://www.evoluziona.co" target="_blank">evoluZiona Sas</a> necesitaba obtener la primera página de un PDF pero en formato JPG con <a href="http://www.rafaelvega.info/tag/php/" target="_blank">PHP</a>, obviamente de forma dinámica porque era para resolver un problema que nos asechaba desde hace ya algún tiempo.</p>
<p>La solución para el problema la dimos con <strong>imagemagick</strong>, específicamente con el comando <strong>convert</strong>, lo que hicimos fue instalar esta herramienta en el servidor y luego usarla con PHP mediante la función <em>exec, </em>aquí el código:</p>
<pre class="brush: php">$archivo="archivo_pdf_de_donde_sacaremos_el_jpg.pdf";
$img_path="/tmp"; //ruta temporal para guardar el jpg
$file_name=time();
$dir="/usr/bin/convert";
$comando="$dir {$archivo}[0] $img_path/$file_name.jpg";
exec($comando,$out);

$image=imagecreatefromjpeg("$img_path/$file_name.jpg");
header('Content-Type: image/jpeg');
imagejpeg($image);
unlink("$img_path/$file_name.jpg");</pre>
<p>El comando convert  recibe los siguiente parametros:</p>
<ul>
<li>ruta del archivo PDF. Entre corchetes se coloca el rango de paginas a convertir en JPG, puede ser una página en especifico o un rango determinado, [0] , [0-100]. Tengan en cuenta que en linux se empieza a numerar desde cero, lo que quiere decir que la primera página vendría siendo la página 0</li>
<li>Ruta destino donde se guardará el JPG</li>
</ul>
<table border="0"></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/convertir-un-pdf-en-imagenes-jpg-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizar tu aplicación web PHP &#8211; Parte 1</title>
		<link>http://www.rafaelvega.info/optimizar-tu-aplicacion-web-php-parte-1/</link>
		<comments>http://www.rafaelvega.info/optimizar-tu-aplicacion-web-php-parte-1/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 03:36:38 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[optimización]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=945</guid>
		<description><![CDATA[Hace tiempo escribí un artículo sobre como hacer que el código javascript se cargue de forma más rápida, y también el uso de memcache para optimizar la petición de consultas a la base de datos y hoy quiero empezar la primera parte de dos o quizás tres secciones de un artículo con consejos para optimizar [...]]]></description>
			<content:encoded><![CDATA[<p>Hace tiempo escribí un artículo sobre como hacer que el <a href="http://www.rafaelvega.info/optimizar-las-paginas-javascript-con-php/">código javascript se cargue de forma más rápida</a>, y también el uso de <a href="http://www.rafaelvega.info/memcache-php/">memcache para optimizar la petición de consultas a la base de dato</a>s y hoy quiero empezar la primera parte de dos o quizás tres secciones de un artículo con consejos para optimizar tu aplicación web hecha en PHP.</p>
<p>Cuando me refiero a optimizar significa a que nuestras aplicaciones básicamente sean más rápidas ya sean usando menos memoria o menos procesos, lo primero que quiero es desmentir el mito que dice &#8220;una aplicación es optima que otra si usa menos líneas de código&#8221;, eso es falso&#8230; quizás en algunas ocasiones aplique pero no siempre es así.</p>
<p>Ahora, como decía antes, hay varios aspectos a optimizar en una aplicación, trataré de dar consejos para los siguientes 3 aspectos optimizables dentro de cualquier programa o fragmento de código:</p>
<ol>
<li>Cantidad de líneas de código</li>
<li><strong>Consumo de memoria</strong></li>
<li><strong>La velocidad en que se ejecuta (uso de procesador)</strong></li>
</ol>
<p>A mi criterio, los dos últimos puntos son los más importantes, estos dos determinan si un algoritmo es optimo o no, pero la cantidad de líneas de código no determina que tan optimo es un algoritmo. Ahora, si ayuda a la optimización porque cada línea de código significa una instrucción o instrucciones más para el procesador.</p>
<p>Mis consejos son:</p>
<ol>
<li>Tratar de no usar variables globales a menos que sea necesario. PHP siempre tiene que comprobar que existen.</li>
<li>Es mejor no introducir código html dentro de PHP.Es más rápido usar
<pre class="brush: php"><strong>Texto aquí</strong></pre>
<p>que usar</p>
<pre class="brush: php">echo "<strong>Texto aquí</strong>"</pre>
</li>
<li>No declares variables que no usarás, estoy utilizaría memoria innecesaria</li>
<li>La función <span style="color: #ff0000;">require_once <span style="color: #000000;">es lenta, así que en lo posible no la uses</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">Siempre que puedas declarar un método o variable como estática, hazlo! </span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">Si vas a escribir en disco duro, trata de no hacerlo fragmento por fragmento sino todo de un solo golpe, quizás sacrifiques un poco de memoria RAM pero ganas rendimiento en velocidad, esto debido a que es más rápido acceder a memoria RAM que al disco duro&#8230; es necesario analizar bien el caso para saber como aplicarlo.</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">Los ciclos o bucles consumen gran cantidad de procesamiento en la CPU, así que si puedes aplicar un poco de matemáticas discretas seguramente el procesador te lo agradecerá.</span></span></li>
<li><span style="color: #ff0000;"><span style="color: #000000;">Hay que calcular el tamaño de un arreglo antes de un ciclo, sino cada vez que se ejecuta el ciclo se tendrá que calcular el tamaño del arreglo</span></span>Mal:
<pre class="brush: php">for($i=1;$i&lt;=sizeof($arreglo);$i++)</pre>
<p>Bien:</p>
<pre class="brush: php">$tamano=sizeof($arreglo);
for($i=1;$i&lt;=$tamano;$i++)</pre>
</li>
<li>Esconder los errores con @ es muy lento</li>
<li>Utiliza pocos accesos a la base de datos</li>
<li>Cuando hagas una consulta a la base de datos, no traigas campos innecesarios. No utilices &#8220;SELECT * FROM tabla&#8221; si no lo necesitas, utiliza &#8220;SELECT campo, campo FROM tabla&#8221;.</li>
<li>La programación orientada a objetos es muy útil cuando nuestro programa es grande y nos permite reutilizar código, por tanto tener menos líneas de código fuente</li>
</ol>
<p>Bueno, estos son apenas unos cuantos consejos que doy de mi experiencia, quizás aún tu aplicación no sea optima pero seguro que estos consejos ayudarán a que el rendimiento mejore mucho.</p>
<p>Pronto escribiré otra tanda de consejos para que tu aplicación en php sea mas optima.</p>
<ol></ol>
<table border="0"></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/optimizar-tu-aplicacion-web-php-parte-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No pongas el dominio de tu web en el title de la página, un consejo SEO</title>
		<link>http://www.rafaelvega.info/no-pongas-el-dominio-de-tu-web-en-el-title-de-la-pagina-un-consejo-seo/</link>
		<comments>http://www.rafaelvega.info/no-pongas-el-dominio-de-tu-web-en-el-title-de-la-pagina-un-consejo-seo/#comments</comments>
		<pubDate>Sun, 13 Mar 2011 15:20:08 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[consejo]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[posicionamiento]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=906</guid>
		<description><![CDATA[Este es un error muy común que se comete, y es las personas ponen en el title de la web el dominio de la misma. No hacer esto: &#8220;miweb.com &#8211; Lo mejor del entretenimiento en internet&#8221; Lo mejor es hacer esto: &#8220;Lo mejor del entretenimiento de internet &#124; miweb&#8221; El poner el dominio de tu [...]]]></description>
			<content:encoded><![CDATA[<p>Este es un error muy común que se comete, y es las personas ponen en el title de la web el dominio de la misma.</p>
<p>No hacer esto: &#8220;miweb.com &#8211; Lo mejor del entretenimiento en <a href="http://www.rafaelvega.info/tag/internet/">internet</a>&#8221;</p>
<p>Lo mejor es hacer esto: &#8220;Lo mejor del <a href="http://www.rafaelvega.info/tag/entretenimiento/">entretenimiento</a> de internet | miweb&#8221;</p>
<p>El poner el dominio de tu web de primero en el title causa irrelevancia que no te ayuda mucho a la hora de querer posicionar tu <a href="http://www.rafaelvega.info/tag/web/">web</a>.</p>
<table border="0"></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/no-pongas-el-dominio-de-tu-web-en-el-title-de-la-pagina-un-consejo-seo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redireccionar a www, un consejo SEO</title>
		<link>http://www.rafaelvega.info/redireccionar-a-www-un-consejo-seo/</link>
		<comments>http://www.rafaelvega.info/redireccionar-a-www-un-consejo-seo/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 15:00:58 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[consejos]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[posicionamiento]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[tecnicas]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=899</guid>
		<description><![CDATA[No se si habrán notado que al entrar a webs como http://bubok.es http://facebook.com http://google.com http://linkedin.com Automaticamente, siempre se agrega el prefijo www. a la web. Pues la razón es que es un punto a favor para lograr un buen posicionamiento de tu web, porque al final si no aplicas esta técnica para los buscadores www.bubok.es [...]]]></description>
			<content:encoded><![CDATA[<p>No se si habrán notado que al entrar a webs como</p>
<p><a href="http://bubok.es" target="_blank">http://bubok.es</a></p>
<p>http://facebook.com</p>
<p>http://google.com</p>
<p>http://linkedin.com</p>
<p>Automaticamente, siempre se agrega el prefijo www. a la web.</p>
<p>Pues la razón es que es un punto a favor para lograr un buen posicionamiento de tu web, porque al final si no aplicas esta técnica para los buscadores www.bubok.es y bubok.es son dos dominios (webs) diferentes, en cambios si obligamos a que bubok.es vaya a www.bubok.es siempre lo tomará como un solo dominio y tendremos un mejor posicionamiento.</p>
<p>Si tienen un servidor apache o similiar, podemos lograr esto mediante el archivo .htaccess en tu <a href="http://www.rafaelvega.info/tag/servidor/">servidor</a> y el siguiente fragmento de código:</p>
<p><span style="color: #ff0000;">RewriteCond %{HTTP_HOST} ^[a-zA-Z]+\.info<br />
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]</span></p>
<p>El anterior fragmento hace que al entrar en mi dominio http://rafaelvega.info redireccione se 301 a http://www.rafaelvega.info</p>
<table border="0"></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/redireccionar-a-www-un-consejo-seo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Escribir mensajes en twitter desde PHP</title>
		<link>http://www.rafaelvega.info/escribir-mensajes-en-twitter-desde-php/</link>
		<comments>http://www.rafaelvega.info/escribir-mensajes-en-twitter-desde-php/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 20:23:24 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[offtopic]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[authx]]></category>
		<category><![CDATA[oauthx]]></category>
		<category><![CDATA[postear]]></category>
		<category><![CDATA[twits]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=557</guid>
		<description><![CDATA[Desde hace un tiempo atrás del cual no tengo idea cuanto fue, twitter cambió su API para conectarse a sus servicios, esto causó que todo mundo tuviera que actualizar sus códigos OBLIGATORIAMENTE para poder seguir haciendo lo que venían haciendo antes. Despues de varios intentos fallidos encontré una forma de hacer la autenticación, fue un [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace un tiempo atrás del cual no tengo idea cuanto fue, twitter cambió su API para conectarse a sus servicios, esto causó que todo mundo tuviera que actualizar sus códigos OBLIGATORIAMENTE para poder seguir haciendo lo que venían haciendo antes.</p>
<p>Despues de varios intentos fallidos encontré una forma de hacer la autenticación, fue un aporte de <a href="http://classes.verkoyen.eu/twitter_oauth" target="_blank">Tijs Verkoyen</a>.</p>
<p>Lo unico que no hace Tijs es decir como utilizar su clase&#8230; aquí trataré de poner de la forma más fácil como twittear con la clase de Tijs, el resto de funciones las puede mirar en su web.</p>
<p>1. <a href="http://www.rafaelvega.info/twitter_api.php.zip">Bajar el archivo .php de la clase, aquí.</a></p>
<p>2. Crear una aplicación de twitter, rellenando todos los datos en: <a href="http://dev.twitter.com/apps/new" target="_blank">http://dev.twitter.com/apps/new</a></p>
<p>3. Entramos a <a href="http://dev.twitter.com/apps" target="_blank">http://dev.twitter.com/apps</a> e ingresamos a la aplicación que hemos creado, de aquí debemos tomar los valores de &#8220;Consumer key&#8221; y el &#8220;Consumer secret&#8221;.</p>
<p>4. Luego de copiar/anotar los valores, vamos al menú derecho y entramos a &#8220;My Access Token&#8221;, de aquí copiaremos los valores de &#8220;Access Token&#8221; y &#8220;Access Token Secret&#8221;</p>
<p>Ya tenemos casi listo todo <img src='http://www.rafaelvega.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , ahora viene el código.</p>
<pre class="brush: php">
$twi_user = new Twitter("Consumer key","Consumer secret");
$twi_user->setOAuthToken("Access Token");
$twi_user->setOAuthTokenSecret("Access Token Secret");
$twi_user->statusesUpdate("Este es mi primer mensaje en twitter con el nuevo método de autenticación");
</pre>
<p>Eso es todo, más fácil de lo que parece</p>
<table border="0"></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/escribir-mensajes-en-twitter-desde-php/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Memcache + PHP</title>
		<link>http://www.rafaelvega.info/memcache-php/</link>
		<comments>http://www.rafaelvega.info/memcache-php/#comments</comments>
		<pubDate>Sun, 16 May 2010 05:18:14 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[memcache]]></category>
		<category><![CDATA[optimización]]></category>
		<category><![CDATA[recursos]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=440</guid>
		<description><![CDATA[¿Por qué memcache? En muchos proyectos de software (incluyendo Web) se realizan consultas a la base de datos que un lapso de tiempo siempre arrojan el mismo resultado; pero como no teníamos con una forma de almacenar esa información para disponer de ella cada vez que la necesitamos sin tener que realizar la consulta en [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><strong>¿Por qué memcache? </strong></span><br />
En muchos proyectos de  software (incluyendo Web) se realizan consultas a la base de datos que  un lapso de tiempo siempre arrojan el mismo resultado; pero como no  teníamos con una forma de almacenar esa información para disponer de  ella cada vez que la necesitamos sin tener que realizar la consulta en  el motor de bases de datos nuevamente, entonces simplemente llamábamos  un query X cantidad de veces sin importar los recursos que tomaba la  ejecución de dicha consulta. Con el fin de evitar ese desperdicio de  recursos es que ha nacido memcache.</p>
<p><span style="text-decoration: underline;"><strong>¿Qué es  memcache?</strong></span><br />
Memcache es un servicio para almacenar  objetos en memoria RAM y que pueden ser utilizados por múltiples  procesos sin importar si se encuentran en la misma máquina o no. El  objetivo principal por el que surgió memcache es el de evitar peticiones  incesarías a la base de datos.</p>
<p><span style="text-decoration: underline;"><strong>¿Cómo lo instalo y  configuro? </strong></span><br />
<strong><em> Para unix:</em></strong><br />
$ sudo apt-get install memcached<br />
$ sudo /etc/init.d/memcached restart<br />
$ sudo apt-get install php5-memcache</p>
<p>Activar la extensión editando el archivo  /etc/php5/conf.d/memcache.ini y descomentando la línea extension.<br />
;  uncomment the next line to enable the module<br />
extension=memcache.so</p>
<p>Por último reiniciar apache</p>
<p><em><strong> Para  Windows:</strong></em><br />
Bajar e instalar: <a href="http://allegiance.chi-town.com/MemCacheDManager.aspx">http://allegiance.chi-town.com/MemCacheDManager.aspx<br />
</a><br />
Activar  la extensión editando el archivo  G:\wamp\bin\php\php5.2.6\php.ini  y  descomentando la línea extension.<br />
extension=php_memcache.dll</p>
<p>Por último reiniciar apache</p>
<p>Memcache es un servicio/daemon que se ejecuta por consola de la  siguiente manera:</p>
<p>/usr/bin/memcached -d -m 2048 -u root<br />
-d : corre como servicio.<br />
-m : limite de memoria en MB que le permitiremos usar a memecache<br />
-u : identidad de quien ejecuta el proceso<br />
-p : puerto (por default es 11211)<br />
-c : limite de conexiones simultaneas (default es 1024)<br />
-h : muestra ayudas y otros parámetros de uso</p>
<p><strong>¿Cómo lo uso?</strong></p>
<pre class="brush: php">function memcache_test(){
   $memcache = new Memcache();
   $memcache-&gt;connect("localhost",11211);
   $key = "todos_los_registros_de_tabla_datos";
   $datos = $memcache-&gt;get($key);
   if (!$datos){
      echo "No esta cachado... hitting db e insertando en  memcache. &lt;br&gt;";
      $result = mysql_query("SELECT * FROM datos");
      while( ($dato=mysql_fetch_assoc($result))!=null){
         $datos[]=$dato;
      }
      $memcache-&gt;set($key,$datos,false,60*60*24); //cachados  por 24 horas
      print_r($datos);
   }else{
      echo "Ya se encuentra en memoria:&lt;br&gt;";
      print_r($datos);
   }
}</pre>
<p>Gracias <a href="http://twitter.com/panchicore">luis</a> por la info</p>
<table border="0"></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/memcache-php/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SMS, Mensajes gratis a todos los celulares en Colombia desde aquí</title>
		<link>http://www.rafaelvega.info/sms-mensajes-gratis-a-todos-los-celulares-en-colombia-desde-aqui/</link>
		<comments>http://www.rafaelvega.info/sms-mensajes-gratis-a-todos-los-celulares-en-colombia-desde-aqui/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 22:34:59 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[offtopic]]></category>
		<category><![CDATA[colombia]]></category>
		<category><![CDATA[comcel]]></category>
		<category><![CDATA[gratis]]></category>
		<category><![CDATA[mensaje]]></category>
		<category><![CDATA[mensajes]]></category>
		<category><![CDATA[mensajes de texto]]></category>
		<category><![CDATA[mensajes de texto gratis]]></category>
		<category><![CDATA[mensajes gratis]]></category>
		<category><![CDATA[movistar]]></category>
		<category><![CDATA[sms]]></category>
		<category><![CDATA[sms a colombia gratis]]></category>
		<category><![CDATA[sms comcel]]></category>
		<category><![CDATA[sms gratis]]></category>
		<category><![CDATA[sms movistar]]></category>
		<category><![CDATA[sms tigo]]></category>
		<category><![CDATA[tigo]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=403</guid>
		<description><![CDATA[Hoy tengo buenas noticias para los que requiere enviar mensajes de texto a celulares en Colombia y no tiene saldo o no quieren gastarlo enviando el sms desde su celular. Hoy he implementado una pequeña herramienta que esta en la barra derecha del blog, y lo que permite es enviar mensajes de texto a cualquier [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy tengo buenas noticias para los que requiere enviar mensajes de texto a celulares en Colombia y no tiene saldo o no quieren gastarlo enviando el sms desde su celular.</p>
<p>Hoy he implementado una pequeña herramienta que esta en la barra derecha del blog, y lo que permite es enviar mensajes de texto a cualquier celular en Colombia sin importar el operador (tigo, movistar, comcel).</p>
<p>Explico aquí su funcionamiento:</p>
<p><img class="alignleft size-medium wp-image-404" title="sms gratis colombia" src="http://www.rafaelvega.info/wp-content/uploads/2010-04-24_1729-300x213.png" alt="" width="300" height="213" /><br />
1. lo primero que deben hacer es escribir el número o los números a los que desean enviar el mensaje de texto separados por coma, ejemplo: 3004968547, 3104132435, 3152345678</p>
<p>2. Escribir el mensaje de texto que van a enviar. El número máximo de caracteres permitidos es de 110</p>
<p>3. Por último presionas el botón de enviar.</p>
<p>4. Cuando se envíen los mensajes te aparecerá un listado con lo que sucedió con cada número de celular, por ejemplo si fue enviado o si hubo algún error.<img class="aligncenter size-full wp-image-407" title="2010-04-24_1730" src="http://www.rafaelvega.info/wp-content/uploads/2010-04-24_1730.png" alt="" width="289" height="197" />5. Por último ya las personas podrán leer su mensaje en el celular, por ejemplo miren aquí:</p>
<p><img class="alignnone size-full wp-image-408" title="2010-04-24_1732" src="http://www.rafaelvega.info/wp-content/uploads/2010-04-24_1732.png" alt="" width="173" height="230" /> <img class="alignnone size-full wp-image-409" title="2010-04-24_1733" src="http://www.rafaelvega.info/wp-content/uploads/2010-04-24_1733.png" alt="" width="204" height="235" /></p>
<p>Y listo!!! ya pueden empezar a disfrutar de esta herramienta que se encuentra aquí en mi blog, espero les sirva de mucho.</p>
<p>Saludos,</p>
<table border="0"></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/sms-mensajes-gratis-a-todos-los-celulares-en-colombia-desde-aqui/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Plugin de puntuación de características en wordpress</title>
		<link>http://www.rafaelvega.info/plugin-de-puntuacion-de-caracteristicas-en-wordpress/</link>
		<comments>http://www.rafaelvega.info/plugin-de-puntuacion-de-caracteristicas-en-wordpress/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 04:47:55 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[offtopic]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[herramientas]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugin wordpress]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[puntuar]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=353</guid>
		<description><![CDATA[He desarrollado un plugin para wordpress que tiene como finalidad realizar puntuación de características  de algún producto, aparato, foto o lo que quieras, yo lo utilizaré para las películas que veo. Aquí dejo los links para que se descarguen el plugin y un rápido howto de como configurarlo y utilizarlo, realmente es muy fácil. http://www.rafaelvega.info/puntuador/puntuador.zip [...]]]></description>
			<content:encoded><![CDATA[<p>He desarrollado un plugin para wordpress que tiene como finalidad realizar puntuación de características  de algún producto, aparato, foto o lo que quieras, yo lo utilizaré para las películas que veo.</p>
<p>Aquí dejo los links para que se descarguen el plugin y un rápido howto de como configurarlo y utilizarlo, realmente es muy fácil.</p>
<p><a href="http://www.rafaelvega.info/puntuador/puntuador.zip">http://www.rafaelvega.info/puntuador/puntuador.zip</a><br />
<a href="http://www.rafaelvega.info/puntuador/puntuador.pdf">http://www.rafaelvega.info/puntuador/puntuador.pdf</a></p>
<p>Lo que hace exactamente es esto:</p>
<p></p>
<p></p>
<p></p>
<table border="0"><tr>
		<td align="right"><b>Efectos especiales </b></td>
		<td>
	<div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#e2e3e2;border:1px solid #b5b6b5;"></div><div class="puntuacion_info">9/10</div><div class="clear"></div></td></tr><tr>
		<td align="right"><b>Reparto </b></td>
		<td>
	<div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#e2e3e2;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#e2e3e2;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#e2e3e2;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#e2e3e2;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#e2e3e2;border:1px solid #b5b6b5;"></div><div class="puntuacion_info">5/10</div><div class="clear"></div></td></tr><tr>
		<td align="right"><b>Trama </b></td>
		<td>
	<div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#ed8e28;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#e2e3e2;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#e2e3e2;border:1px solid #b5b6b5;"></div><div class="puntuacion_lleno" style="background:#e2e3e2;border:1px solid #b5b6b5;"></div><div class="puntuacion_info">7/10</div><div class="clear"></div></td></tr></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/plugin-de-puntuacion-de-caracteristicas-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ocultar categoría en sidebar de wordpress</title>
		<link>http://www.rafaelvega.info/ocultar-categoria-en-sidebar-de-wordpress/</link>
		<comments>http://www.rafaelvega.info/ocultar-categoria-en-sidebar-de-wordpress/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 04:09:50 +0000</pubDate>
		<dc:creator>Rafael Vega Castro</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.rafaelvega.info/?p=228</guid>
		<description><![CDATA[Es algo sencillo pero útil Simplemente busquen la función wp_list_categories y agreguen el parámetro exclude, ejemplo: wp_list_categories(&#8220;title_li=&#38;exclude=20&#8243;);]]></description>
			<content:encoded><![CDATA[<p>Es algo sencillo pero útil <img src='http://www.rafaelvega.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Simplemente busquen la función wp_list_categories y agreguen el parámetro <em>exclude</em>, ejemplo:</p>
<p><span style="color: #008000;">wp_list_categories(&#8220;title_li=&amp;exclude=20&#8243;);</span></p>
<table border="0"></table>]]></content:encoded>
			<wfw:commentRss>http://www.rafaelvega.info/ocultar-categoria-en-sidebar-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

