<?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>CuatroXL &#187; tutoriales</title>
	<atom:link href="http://www.cuatroxl.com/category/tutoriales/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cuatroxl.com</link>
	<description>Desarrollo web - Cuatro XL</description>
	<lastBuildDate>Wed, 07 Dec 2011 12:21:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Metodos y Algoritmo para crear una URL corta (shorturl)</title>
		<link>http://www.cuatroxl.com/2011/09/metodos-algoritmo-crear-una-url-corta-shorturl/</link>
		<comments>http://www.cuatroxl.com/2011/09/metodos-algoritmo-crear-una-url-corta-shorturl/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 21:58:54 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[utilidades]]></category>

		<guid isPermaLink="false">http://cuatroxl.com/?p=480</guid>
		<description><![CDATA[Intro Hoy quería investigar sobre cómo crear un sistema de URL cortas; lo primero que hay que decir, es que hay cientos de servicios que te generan este tipo de URL, pero siempre es con el dominio de la herramienta, cosa que no es muy recomendable. De las librerías(resumidas más abajo) que he podido analizar; [...]]]></description>
			<content:encoded><![CDATA[<h2>Intro</h2>
<p>Hoy quería investigar sobre cómo crear un sistema de  URL cortas; lo primero que hay que decir, es que hay cientos de servicios que te generan este tipo de URL, pero siempre es con el dominio de la herramienta, cosa que no es muy recomendable.</p>
<p>De las librerías(resumidas más abajo) que he podido analizar; todas guardan en una base de datos la URL y un identificador que será el que se envía como parámetro. Dentro de estas librerías, <strong>se puede separar en tres grupo por la forma de generar ese identificador</strong>:</p>
<ol>
<li>Las que crean un indice numérico incremental y lo utilizan como identificador.</li>
<li>Las que crear un indice numérico incremental y luego encriptan este número y usan como identificador</li>
<li>Las que ecriptan de algún modo la URL de destino y utilizan (el resultado de la encriptación) como identificador.</li>
</ol>
<h2>YourURL</h2>
<p>Esta librería ha sido la primera en descartar; porque creo que usa la API de su web para realizar la tarea acortar la URL. Cabe destacar que es una aplicación bastante completa porque tiene una sección para ver el trafico que han tenido las URL generadas.</p>
<p>web: <a href="http://yourls.org">http://yourls.org</a></p>
<h2>Rick URL Shortening Service </h2>
<p>Esta librería (en .NET) es del primer grupo; que más o menos nos da una idea de como se monta el sistema. </p>
<p>El principal fallo que le veo; es que se pasa como identificador el ID (numérico) como parámetro y no queda demasiado estético.</p>
<p>En el siguiente screencast (del autor de esta librería) se puede ver bastante bien cómo se monta este sistema(es exactamente igual a como lo monta el segundo grupo):</p>
<p><iframe src="http://player.vimeo.com/video/2517727?title=0&amp;byline=0&amp;portrait=0" width="100%" height="302" frameborder="0"></iframe></p>
<p>web: <a href="http://www.stum.de/2008/12/14/rick-url-shortening-service-an-aspnet-mvc-learning-project/">http://www.stum.de/&#8230;url-shortening-service&#8230;-project/</a></p>
<h2>LilURL</h2>
<p>Esta librería es del 2 grupo; aunque hace una encriptación un tanto rara y bastante enrevesada. Hace una encriptación con caracteres alfabéticos en minúscula.</p>
<p>Lo curioso es que no usa el indice incremental; es él mismo quien va creando la secuencia de identificadores. Para que os hagáis una idea de cómo funciona, este es su código para generar el identificador:</p>
<pre class="brush: php;">
$id = $this-&gt;get_next_id($this-&gt;get_last_id());
</pre>
<p>Como podéis ver, genera el identificador a partir del último. Esto resultaría interesante si no fuese porque realiza una consulta a la base de datos para poder conocer el último identificador generado y a partir de ahí genera el siguiente.</p>
<p>web: <a href="http://lilurl.sourceforge.net/">http://lilurl.sourceforge.net/</a></p>
<h2>Loolu</h2>
<p>Este pertenece al segundo grupo y sin lugar a duda, para mi, es la mejor manera de encriptar la URL. Aquí directamente se descompone el número en una base (64) y se representa con caracteres numéricos, alfabéticos con minúsculas y mayúsculas. El algoritmo es más que sencillo (está en python):</p>
<pre class="brush: python">
codeset  = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
base = 62 # len(codeset)
#....
def encode(self, id):
        hash = ""
        while (id > 0):
            hash = self.codeset[int(id % self.base)] + hash
            id = math.floor(id / self.base)
        return hash
</pre>
<p>Poco más que añadir a lo genial que es esta solución, simple y eficaz.</p>
<p>web: <a href="http://code.google.com/p/loolu/">http://code.google.com/p/loolu/</a></p>
<h2>LessN</h2>
<p>Esta librería pertenece al tercer grupo; encripta la URL utilizando un CheckSum (de PHP y Mysql) y lo usa como identificador. Código que realiza la encriptación:</p>
<pre class="brush: php;">
$checksum 		= sprintf('%u', crc32($url));
$escaped_url 	= function_exists('mysql_real_escape_string') ? mysql_real_escape_string($url) : mysql_escape_string($url);
//...
mysql_query('INSERT INTO `'.DB_PREFIX.'urls` SET `url`="'.$escaped_url.'", `checksum`='.$checksum);
</pre>
<p><em>nota: Cómo podéis ver es muy importante escapar las URL, ya que corremos el peligro de que nos pongan javascript en la url y puede llegar a ejecutarse en el navegador.</em></p>
<p>web: <a href="http://www.shauninman.com/archive/2009/08/17/less_n">http://www.shauninman.com/archive/2009/08/17/less_n</a></p>
<h2>Resumen</h2>
<p>En este tipo de servicios, es muy importante tener muy en cuenta el rendimiento de nuestra aplicación, ya que una mala arquitectura te puede consumir demasiados recursos. Es por eso que personalmente me quedo con el algoritmo de Loolu que me parece de lo más sencillo y eficiente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2011/09/metodos-algoritmo-crear-una-url-corta-shorturl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend_Feed_Reader :: introducción y tutorial</title>
		<link>http://www.cuatroxl.com/2009/07/zend_feed_reader-introduccion-y-tutorial/</link>
		<comments>http://www.cuatroxl.com/2009/07/zend_feed_reader-introduccion-y-tutorial/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 16:10:57 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[enlaces]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[Zend_Feed]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://cuatroxl.com/?p=264</guid>
		<description><![CDATA[Si ha utilizado Zend_Feed, sabrá que la obtención de algo tan  sencillo, como el contenido, o una fecha de creación, es una tarea que requiere un poco de trabajo. La alimentación  vienen en tres formas diferentes: RSS, RDF / RSS y Atom, todos con múltiples versiones. Cada uno tiene su propia manera de presentar la [...]]]></description>
			<content:encoded><![CDATA[<p><em>Si ha utilizado Zend_Feed, sabrá que la obtención de algo tan  sencillo, como el contenido, o una fecha de creación, es una tarea que requiere un poco de trabajo. La alimentación  vienen en tres formas diferentes: RSS, RDF / RSS y Atom, todos con múltiples versiones. Cada uno tiene su propia manera de presentar la información&#8230;</em></p>
<pre class="brush: php;">$feed = Zend_Feed_Reader::import('http://www.planet-php.net/rdf/');
$data = array(
    'title'        =&gt; $feed-&gt;getTitle(),
    'link'         =&gt; $feed-&gt;getLink(),
    'dateModified' =&gt; $feed-&gt;getDateModified(),
    'description'  =&gt; $feed-&gt;getDescription(),
    'language'     =&gt; $feed-&gt;getLanguage(),
    'entries'      =&gt; array(),
);

foreach ($feed as $entry) {
    $edata = array(
        'title'        =&gt; $entry-&gt;getTitle(),
        'description'  =&gt; $entry-&gt;getDescription(),
        'dateModified' =&gt; $entry-&gt;getDateModified(),
        'author'       =&gt; $entry-&gt;getAuthor(),
        'link'         =&gt; $entry-&gt;getLink(),
        'content'      =&gt; $entry-&gt;getContent()
    );
    $data['entries'][] = $edata;
}</pre>
<p>Enlace: <a href="http://blog.astrumfutura.com/archives/408-Zend_Feed_Reader-promoted-to-Zend-Framework-trunk-watch-out-for-ZF-1.9!.html">Zend_Feed_Reader promoted to Zend Framework trunk (watch out for ZF 1.9!)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2009/07/zend_feed_reader-introduccion-y-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manual de Magento CMS 1.1 en español</title>
		<link>http://www.cuatroxl.com/2008/10/manual-de-magento-cms-11-en-espanol/</link>
		<comments>http://www.cuatroxl.com/2008/10/manual-de-magento-cms-11-en-espanol/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 23:34:06 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[enlaces]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Magento CMS]]></category>
		<category><![CDATA[manual]]></category>

		<guid isPermaLink="false">http://cuatroxl.wordpress.com/?p=140</guid>
		<description><![CDATA[Bueno; gracias a la traducción de David Parloir he podido crear un archivo PDF descargable y visible online para poder ponerme al día con Magento y poder ver bien el funcionamiento de esta gran aplicación Manual de Magento CMS 1.1 en español (pinchar aquí para ver) Para poder ver las traducciones online en la web [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno; gracias a la traducción de <a href="http://www.dowhiletrue.net">David Parloir</a> he podido crear un archivo PDF descargable y visible online para poder ponerme al día con <a href="http://www.magentocommerce.com/">Magento</a> y poder ver bien el funcionamiento de esta gran aplicación</p>
<p><a href="http://www.scribd.com/doc/6376128/Manual-Magento-11-en-espanol" target="_blank">Manual de Magento CMS 1.1 en español (pinchar aquí para ver)</a></p>
<p>Para poder ver las traducciones online en la web del autor: <a href="http://www.dowhiletrue.net/blog/index.php/magento/">http://www.dowhiletrue.net/blog/index.php/magento/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2008/10/manual-de-magento-cms-11-en-espanol/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Variables variable en php.</title>
		<link>http://www.cuatroxl.com/2008/08/variables-variable-en-php/</link>
		<comments>http://www.cuatroxl.com/2008/08/variables-variable-en-php/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 10:32:02 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[php variables]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://cuatroxl.wordpress.com/?p=121</guid>
		<description><![CDATA[Por alguna razón, en determinados momentos necesitamos llamar a una variable o función que tiene el nombre que nos llega desde una base de datos(xml, txt, mysql, &#8230;.) Para las variables, php nos ofrece &#8220;$$namevar&#8221; que llama a la variable con el nombre del valor de &#8216;namevar&#8217;: $mujer = "sex"; $el_nombre_de_la_variable = 'mujer'; var_dump($$el_nombre_de_la_variable)// la [...]]]></description>
			<content:encoded><![CDATA[<p>Por alguna razón, en determinados momentos necesitamos llamar a una variable o función que tiene el nombre que nos llega desde una base de datos(xml, txt, mysql, &#8230;.)</p>
<p>Para las variables, php nos ofrece &#8220;$$namevar&#8221; que llama a la variable con el nombre del valor de &#8216;namevar&#8217;:</p>
<pre class="brush: php;">$mujer = "sex";
$el_nombre_de_la_variable = 'mujer';
var_dump($$el_nombre_de_la_variable)// la salida será: "sex"
</pre>
<p>Todos sabemos que en php las variables no pueden empezar con un numero; pues bien, para esto se pueden utilizar &#8220;{}&#8221;:</p>
<pre class="brush: php;">$name_var = '1234';
$$name_var = 'los números';
echo ${'1234'}//la salida será, "los números"
</pre>
<p>Para las funciones es algo mucho más fácil; solo tendremos que crear una variable string con el nombre de la duncion que queremos llamar:</p>
<pre class="brush: php;">$name_var = '1234';
$function love()
{
echo 'lot many';
}
$f = 'love';
$f();//con esto estaríamos llamando a la función love();
</pre>
<p>Si tienen alguna recomendación o ven que algo de esto no es recomendable; por favor comentenlo <img src='http://www.cuatroxl.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2008/08/variables-variable-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generar una lista de árbol(tree list) html en php : I</title>
		<link>http://www.cuatroxl.com/2008/07/generar-una-lista-de-arboltree-list-html-en-php-i/</link>
		<comments>http://www.cuatroxl.com/2008/07/generar-una-lista-de-arboltree-list-html-en-php-i/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 23:04:00 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[tree]]></category>
		<category><![CDATA[tree list]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://cuatroxl.wordpress.com/?p=112</guid>
		<description><![CDATA[En esta primera parte voy a generar una lista de árbol desde un array() que me he inventado, a modo de ejemplo; en la siguiente lo haré desde una base de datos; que es más fácil aún. Por ahora para poder ver técnica nos vale; así será mucho más sencillo de comprender. Lo primero es [...]]]></description>
			<content:encoded><![CDATA[<p>En esta primera parte voy a generar una lista de árbol desde un array() que me he inventado, a modo de ejemplo; en la siguiente lo haré desde una base de datos; que es más fácil aún.</p>
<p>Por ahora para poder ver técnica nos vale; así será mucho más sencillo de comprender.</p>
<p>Lo primero es crear nuestra tabla de datos; una table que necesita de un requisitos; tener dos llaves. La primera llave será el Id del padre, el segundo será el Id de la variable o hijo.</p>
<pre class="brush: php;">$lista[idPadre][id]</pre>
<p>Luego necesitamos una función recursiva que nos cree la lista; pero a esta función habrá que pasarle un parámetro, para decirle a partir de donde necesita crear el árbol(tree).</p>
<p>pego el código; y así lo podréis ver mejor:</p>
<pre class="brush: php;">
$lista=array();
$lista['0']['1']='parque';
$lista['0']['2']='colegio';
$lista['0']['3']='casa';
$lista['1']['4']='cosas';
$lista['1']['5']='gente';
$lista['1']['6']='plantas';
$lista['2']['7']='mesa';
$lista['2']['8']='silla';
$lista['2']['9']='jardin';
$lista['3']['10']='profe';
$lista['3']['11']='gamberro';
$lista['3']['12']='lapiz';
$lista['6']['13']='árbol';
$lista['6']['14']='flor';
$lista['6']['15']='agua';
$lista['9']['16']='jasmin';
$lista['9']['17']='lirios';
$lista['5']['18']='pedro';
$lista['5']['19']='maría';
function generaArbol($idPadre, &#038;$lista)
{
if(!isset($lista[$idPadre])){
return '';
}
$level = $lista[$idPadre];
$out = '
&lt;ul&gt;';
foreach($level as $k=>$v){
$out .= '
&lt;li&gt;';
$out .= $v;
$out .= generaArbol((string)$k, $lista);
}
$out .= '&lt;/li&gt;
&lt;/ul&gt;
';
return $out;
}
echo generaArbol('0', $lista);</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2008/07/generar-una-lista-de-arboltree-list-html-en-php-i/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Creando un interlineado xhtml desde php</title>
		<link>http://www.cuatroxl.com/2008/07/creando-un-interlineado-xhtml-desde-php/</link>
		<comments>http://www.cuatroxl.com/2008/07/creando-un-interlineado-xhtml-desde-php/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 21:00:55 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[interlineado php]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://cuatroxl.wordpress.com/?p=108</guid>
		<description><![CDATA[Uno de las cosignas en el mundo de la programación, que más he escuchado en el trabajo es: &#8220;hay mil maneras de programar; pero solo una es la buena&#8221; cuando escucho eso me aterroriso; porque nunca sé si lo hago bien o mal. Usí que hoy voy a explicar una cosa sencilla, pero que he [...]]]></description>
			<content:encoded><![CDATA[<p>Uno de las cosignas en el mundo de la programación, que más he escuchado en el trabajo es:</p>
<blockquote><p>&#8220;hay mil maneras de programar; pero solo una es la buena&#8221;</p></blockquote>
<p>cuando escucho eso me aterroriso; porque nunca sé si lo hago bien o mal. Usí que hoy voy a explicar una cosa sencilla, pero que he visto muchas maneras de hacer.</p>
<p>Código que utilizo con frecuencia para hacer un interlineado html desde php:</p>
<pre class="brush: php;">&lt;?php $clases=array('uno', 'dos', 'tres'); ?&gt;

&lt;style&gt;

.uno td{background-color:#ccc}

.dos td{background-color:#0fc}

.tres td{background-color:#999}

&lt;/style&gt;

&lt;table&gt;

&lt;?php for($i=0, $line=0; $i &lt; 50; $i++, $line==3?$line=0:$line++): ?&gt;

&lt;tr&gt;

&lt;td&gt; hola&lt;/td&gt;

&lt;/tr&gt;

&lt;?php endfor; ?&gt;</pre>
<p style="margin-bottom: 0;">la variable <strong>$line</strong> es la que marca el tiempo de ciclo del interlineado; puede que no sea un código demasiado &#8220;elegante&#8221; pero creo que es de fácil comprensión para cualquiera</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2008/07/creando-un-interlineado-xhtml-desde-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Cache :: una clase para controlar nuestro Zend_Cache File</title>
		<link>http://www.cuatroxl.com/2008/07/the-cache-una-clase-para-controlar-nuestro-zend_cache-file/</link>
		<comments>http://www.cuatroxl.com/2008/07/the-cache-una-clase-para-controlar-nuestro-zend_cache-file/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 19:44:43 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[enlaces]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[utilidades]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[zend_cache]]></category>

		<guid isPermaLink="false">http://cuatroxl.wordpress.com/?p=105</guid>
		<description><![CDATA[Akra&#8217;s ha escrito una clase bastante sencilla y muy útil para poder utilizar Zend_Cache File. ejemplo de uso: $cacheEnabled = (bool)getenv('THE_CACHE_ENABLED') ? getenv('THE_CACHE_ENABLED') : false; TheCache::init($cacheEnabled, TMP_DIR.'/the-cache/'); $keyName = 'data-z-a-b'; // unique name describing this data set $data = TheCache::load($keyName) if($data === false) { $sql = 'SELECT x,y FROM z WHERE a=b'; $rs = $db-&#62;Execute($sql); [...]]]></description>
			<content:encoded><![CDATA[<p>Akra&#8217;s ha escrito una clase bastante sencilla y muy útil para poder utilizar Zend_Cache File.</p>
<p>ejemplo de uso:</p>
<pre class="brush: php;">$cacheEnabled = (bool)getenv('THE_CACHE_ENABLED') ? getenv('THE_CACHE_ENABLED') : false;
TheCache::init($cacheEnabled, TMP_DIR.'/the-cache/');

$keyName = 'data-z-a-b'; // unique name describing this data set
$data = TheCache::load($keyName)
if($data === false) {
 $sql = 'SELECT x,y FROM z WHERE a=b';
 $rs = $db-&gt;Execute($sql);
 $data = $rs-&gt;GetArray();
 TheCache::save($keyName, $data);
}</pre>
<p>enlace : <a href="http://akrabat.com/php/notes-on-zend_cache/">http://akrabat.com/php/notes-on-zend_cache/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2008/07/the-cache-una-clase-para-controlar-nuestro-zend_cache-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrando GoogleCalendar en aplicaciones PHP</title>
		<link>http://www.cuatroxl.com/2008/07/integrando-googlecalendar-en-aplicaciones-php/</link>
		<comments>http://www.cuatroxl.com/2008/07/integrando-googlecalendar-en-aplicaciones-php/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 19:03:04 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[utilidades]]></category>
		<category><![CDATA[google calendar api]]></category>
		<category><![CDATA[Zend_gdata]]></category>

		<guid isPermaLink="false">http://cuatroxl.wordpress.com/?p=103</guid>
		<description><![CDATA[Google Calendar pone al servicio de los desarrolladores su API para poder acceder a contenidos y eventos de los usuarios. Las librerias(calses) SimpleXML y ZendGData son ideales para trabajar con los Fedds XML generados por ésta API(GoogleCalendar) y poder utilizarlos en nuestras aplicaciones PHP.  Este artículo es una introducción a la API de GoogleCalendar, demostramos [...]]]></description>
			<content:encoded><![CDATA[<div id="result_box" style="padding-left:30px;" dir="ltr">Google Calendar pone al servicio de los desarrolladores su API para poder acceder a contenidos y eventos de los usuarios. Las librerias(calses) SimpleXML y ZendGData son ideales para trabajar con los Fedds XML generados por ésta API(GoogleCalendar) y poder utilizarlos en nuestras aplicaciones PHP.  Este artículo es una introducción a la API de GoogleCalendar, demostramos cómo puede usarlo para moverse por la información generada por el usuario: añadir, actualizar y realizar búsquedas entre los eventos por palabras clave.</div>
<div style="padding-left:30px;" dir="ltr">Este artículo introduce los datos de Google Calendar API, demuestra cómo puede usarlo para navegar generado por el usuario calendarios, añadir y actualizar calendario de eventos, y realizar búsquedas de palabras clave.</div>
<div dir="ltr"></div>
<div dir="ltr">Enlace: <a href="http://www.ibm.com/developerworks/xml/library/x-googleclndr/index.html?ca=drs-tp2808" target="_blank">http://www.ibm.com/developerworks/xml/library/x-googleclndr/index.html?ca=drs-tp2808</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2008/07/integrando-googlecalendar-en-aplicaciones-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Configuración básica para aplicaciones en Zend Framework</title>
		<link>http://www.cuatroxl.com/2008/07/configuracion-basica-para-aplicaciones-en-zend-framework/</link>
		<comments>http://www.cuatroxl.com/2008/07/configuracion-basica-para-aplicaciones-en-zend-framework/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 10:16:40 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://cuatroxl.wordpress.com/?p=97</guid>
		<description><![CDATA[un tutorial bastante introductorio para crear una aplicación con ZendFramework. enlace: http://es.wikibooks.org/wiki/Zend_Framework/Configuracion_Basica]]></description>
			<content:encoded><![CDATA[<p><a href="http://es.wikibooks.org/wiki/Zend_Framework/Configuracion_Basica"><img src="http://upload.wikimedia.org/wikibooks/es/7/7e/Zft_configuracion_basica.png" alt="" /></a></p>
<p>un tutorial bastante introductorio para crear una aplicación con ZendFramework.</p>
<p>enlace: <a href="http://es.wikibooks.org/wiki/Zend_Framework/Configuracion_Basica">http://es.wikibooks.org/wiki/Zend_Framework/Configuracion_Basica</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2008/07/configuracion-basica-para-aplicaciones-en-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial :: aplicación de escritorio para subir imágenes. PHP y Air</title>
		<link>http://www.cuatroxl.com/2008/07/tutorial-aplicacion-de-escritorio-para-subir-imagenes-php-y-air/</link>
		<comments>http://www.cuatroxl.com/2008/07/tutorial-aplicacion-de-escritorio-para-subir-imagenes-php-y-air/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 16:13:21 +0000</pubDate>
		<dc:creator>acido69</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[utilidades]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[uploader image]]></category>

		<guid isPermaLink="false">http://cuatroxl.wordpress.com/?p=96</guid>
		<description><![CDATA[En Zend Developer Zone han escrito un excelente tutorial para crear una aplicación de escritorio, en Air, para subir imágenes a nuestro servidor con un simple drag &#38; drop (arrastrar y soltar en la ventanita de la aplicación). En el tutorial podéis ver todo el código, de Air como PHP. Enlace:  Desktop Image Uploaders Using [...]]]></description>
			<content:encoded><![CDATA[<p>En <a href="http://devzone.zend.com/public/view" target="_blank">Zend Developer Zone</a> han escrito un excelente tutorial para crear una aplicación de escritorio, en <a href="http://www.adobe.com/products/air/">Air</a>, para subir imágenes a nuestro servidor con un simple drag &amp; drop (arrastrar y soltar en la ventanita de la aplicación).</p>
<p>En el tutorial podéis ver todo el código, de Air como PHP.</p>
<p style="text-align:center;"><a href="http://devzone.zend.com/article/3650-Desktop-Image-Uploaders-Using-Adobe-AIR-and-JavaScript" target="_blank"><img src="http://devzone.zend.com/images/articles/3650/image_6.JPG" class="aligncenter" alt="" /></a></p>
<p>Enlace:  <strong><a href="http://devzone.zend.com/article/3650-Desktop-Image-Uploaders-Using-Adobe-AIR-and-JavaScript" target="_blank">Desktop Image Uploaders Using Adobe AIR and JavaScript</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuatroxl.com/2008/07/tutorial-aplicacion-de-escritorio-para-subir-imagenes-php-y-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

