<?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>unijimpe &#187; Servicios Web</title> <atom:link href="http://blog.unijimpe.net/category/servicios-web/feed/" rel="self" type="application/rss+xml" /><link>http://blog.unijimpe.net</link> <description>Desarrollo Web, SEO, Adsense</description> <lastBuildDate>Mon, 28 Nov 2011 03:18:21 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>SEO Parser: Analizar contenido SEO</title><link>http://blog.unijimpe.net/seo-parser-analizar-contenido-seo/</link> <comments>http://blog.unijimpe.net/seo-parser-analizar-contenido-seo/#comments</comments> <pubDate>Fri, 25 Nov 2011 02:50:18 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[SEO]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[Tools]]></category> <category><![CDATA[alt]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[metatags]]></category> <category><![CDATA[nofollow]]></category> <category><![CDATA[seo parser]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1307</guid> <description><![CDATA[<p><a href="http://seoparser.com">SEO Parser</a> es una herramienta que permite analizar como interpretan los buscadores el contenido de una web, para ello elimina los bloques que no son interpretados por los buscadores (Javascript, Flash, Vídeos, Applets, etc) mostrando solo &#8230;</p>]]></description> <content:encoded><![CDATA[<p><a href="http://seoparser.com">SEO Parser</a> es una herramienta que permite analizar como interpretan los buscadores el contenido de una web, para ello elimina los bloques que no son interpretados por los buscadores (Javascript, Flash, Vídeos, Applets, etc) mostrando solo el contenido basado en texto HTML, además de ello hace un análisis de los enlaces y una previsualización de la página en los resultados de Google.</p><p><a href="http://seoparser.com"><img src="http://blog.unijimpe.net/wp-content/uploads/2011/11/seo-parser.png" alt="" title="seo-parser" width="350" height="202" /></a></p><p><em>SEO Parser</em> esta basado en las diferentes reglas que aplican los buscadores al contenido y a los enlaces, estas reglas están detalladas en el libro <a href="http://www.amazon.com/gp/product/0596518862/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=sepa0c-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399369&#038;creativeASIN=0596518862">The Art of SEO: Mastering Search Engine Optimization (Theory in Practice)</a><img src="http://www.assoc-amazon.com/e/ir?t=sepa0c-20&#038;l=as2&#038;o=1&#038;a=0596518862&#038;camp=217145&#038;creative=399369" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important; padding: 0;" />.</p><p>Para utilizar <em>SEO Parser</em> solo hace falta ingresar el URL del enlace que se desea analizar y devolverá como resultado una página con los resultados de: análisis de contenido, análisis de enlaces, análisis de imágenes y una previsualización en los resultados de Google.</p><p><strong>Análisis de Contenido</strong></p><p><em>SEO Parser</em> elimina los bloques que no son visibles a los buscadores (Javascript, Flash, Vídeos, Applets, etc) por lo cual solo muestra el contenido basado en texto HTML.</p><p>Adicionalmente muestra las etiquetas de cabecera (<em>h1</em>, <em>h2</em>, <em>h3</em>, <em>h4</em>, <em>h5</em>, <em>h6</em>) que permiten definir el nivel de importancia del contenido. Por ejemplo el titulo de todo el contenido (h1), el titulo de cada sección (h2) y así sucesivamente.</p><p><img src="http://blog.unijimpe.net/wp-content/uploads/2011/11/seo-parser-content-analysis.png" alt="" title="seo-parser-content-analysis" width="400" height="713" /></p><p><strong>Análisis de Enlaces</strong></p><p>Todos los enlaces dentro de la página se analizan y muestran en diferentes colores para diferenciarlos. Para ello se agrupan en cuatro tipo de enlaces.</p><ul><li><strong>Enlaces Internos</strong>, son enlaces naturales y permiten posicionar secciones internas de un web.</li><li><strong>Enlaces Externos</strong>, son enlaces a otros dominios y mejoran el posicionamiento del dominio de destino.</li><li><strong>Enlaces No Follow</strong>, son enlaces que no pasan ningún beneficio de posicionamiento.</li><li><strong>Enlaces Javascript</strong>, son enlaces creados con javascript o anchors los cuales son invisibles para los buscadores.</li></ul><p><strong>Análisis de Imágenes</strong></p><p>Los buscadores no pueden interpretar el contenido de las imágenes, pero tienen una señal de lo que contienen gracias a la propiedad <em>alt</em> o en su defecto por el nombre del archivo de la imagen. <em>SEO Parser</em> reemplaza las imágenes por el texto <em>Alt</em> y si no existe por el nombre del archivo. Esto permite distinguir rápidamente si hace falta la propiedad <em>alt</em> a nuestras imágenes.</p><p><strong>Previsualizar en Google</strong></p><p>SEO Parser toma los datos del <em>title</em> y <em>description</em> o en su defecto el contenido filtrado de la página para simular como se mostrará la página en los resultados de Google. De esta forma identificaremos rápidamente como se verá nuestra página en Google.</p><p>Adicionalmente se muestra en detalle todos los metatags que contiene la página así como un resumen de las cantidades de enlaces, imágenes e incluso el tamaño del archivo leído.</p><p>Finalmente ofrece <a href="http://seoparser.com/help/">documentación</a> acerca de las reglas que aplica al contenido, también tiene un formulario de <a href="http://seoparser.com/feedback/">feedback</a> donde pueden enviar sus sugerencias, errores y comentarios para mejorar esta herramienta.</p><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 &#8211; 2011 <a href="http://blog.unijimpe.net">unijimpe</a> &#8211; Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/seo-parser-analizar-contenido-seo/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Seguimiento de descargas con Google Analytics</title><link>http://blog.unijimpe.net/seguimiento-de-descargas-con-google-analytics/</link> <comments>http://blog.unijimpe.net/seguimiento-de-descargas-con-google-analytics/#comments</comments> <pubDate>Mon, 31 Oct 2011 02:48:19 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[Mootools]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[analytics]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1299</guid> <description><![CDATA[<p>Google Analytics el popular servicio de estadísticas de visitas ofrece muchas características que permiten conocer al detalle la interacción que tiene el usuario con nuestra web. Una de ellas es hacer el seguimiento de todos los &#8230;</p>]]></description> <content:encoded><![CDATA[<p>Google Analytics el popular servicio de estadísticas de visitas ofrece muchas características que permiten conocer al detalle la interacción que tiene el usuario con nuestra web. Una de ellas es hacer el seguimiento de todos los archivos de descargas, esto no se hace de forma automática por lo que hay que agregar un código adicional.</p><p><strong>Utilizando Google Analytics</strong></p><p>El primer paso es utilizar el código de seguimiento en nuestra página, actualmente se utiliza la versión asincrona la cual se debe colocar justo antes de la etiqueta <code>&lt;/head&gt;</code></p><div class="syntax_hilite"><div id="javascript-8"><div class="javascript"><ol><li style="color:#3A6A8B;"><div style="">&lt;script type=<span style="color: #3366CC;">"text/javascript"</span>&gt;</div></li><li style="color:#26536A;"><div style="">&nbsp; <span style="color: #003366;">var</span> _gaq = _gaq || <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; _gaq.<span style="color: #006600;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span><span style="color: #3366CC;">'_setAccount'</span>, <span style="color: #3366CC;">'UA-XXXXX-X'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; _gaq.<span style="color: #006600;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span><span style="color: #3366CC;">'_trackPageview'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp;</div></li><li style="color:#26536A;"><div style="">&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #003366;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; <span style="color: #003366;">var</span> ga = document.<span style="color: #006600;">createElement</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #66cc66;">&#41;</span>; ga.<span style="color: #006600;">type</span> = <span style="color: #3366CC;">'text/javascript'</span>; ga.<span style="color: #006600;">async</span> = <span style="color: #003366;">true</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; ga.<span style="color: #006600;">src</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'https:'</span> == document.<span style="color: #006600;">location</span>.<span style="color: #006600;">protocol</span> ? <span style="color: #3366CC;">'https://ssl'</span> : <span style="color: #3366CC;">'http://www'</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #3366CC;">'.google-analytics.com/ga.js'</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; <span style="color: #003366;">var</span> s = document.<span style="color: #006600;">getElementsByTagName</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;color:#800000;">0</span><span style="color: #66cc66;">&#93;</span>; s.<span style="color: #006600;">parentNode</span>.<span style="color: #006600;">insertBefore</span><span style="color: #66cc66;">&#40;</span>ga, s<span style="color: #66cc66;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&lt;/script&gt;</div></li></ol></div></div></div><p></p><p>En donde <em>UA-XXXXX-X</em> es el código de seguimiento del sitio web el cual lo podemos obtener al registrar un sitio web en nuestra cuenta de Google Analytics.</p><p><strong>Seguimiento de descargas con Google Analytics</strong></p><p>Si en nuestra página tenemos archivos de descarga, en enlace de descarga es:</p><div class="syntax_hilite"><div id="html-9"><div class="html"><ol><li style="color:#3A6A8B;"><div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/a.html"><span style="color: #000000;">&lt;a</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"/files/map.pdf"</span><span style="color: #000000;">&gt;</span></a></span>map<span style="color: #009900;"><span style="color: #000000;">&lt;/a&gt;</span></span></div></li></ol></div></div></div><p></p><p>Para que Google Analytics pueda registrar las descargas es necesario agregar una llamada al método <em>_gaq.push</em> en donde el segundo parámetro es un nombre con el cual se identificará la descarga.</p><div class="syntax_hilite"><div id="html-10"><div class="html"><ol><li style="color:#3A6A8B;"><div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/a.html"><span style="color: #000000;">&lt;a</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"/files/map.pdf"</span> <span style="color: #000066;">onClick</span>=<span style="color: #ff0000;">"_gaq.push(['_trackPageview','/files/map.pdf']);"</span><span style="color: #000000;">&gt;</span></a></span>map<span style="color: #009900;"><span style="color: #000000;">&lt;/a&gt;</span></span></div></li></ol></div></div></div><p></p><p>El código es muy sencillo y hay que colocarlo en cada enlace de descarga que se tenga.</p><p><strong>Seguimiento de descargas con Google Analytics y Mootools</strong></p><p>Si utilizas Mootools en tu página, entonces puedes utilizarlo para agregar el código de seguimiento de manera sencilla. Para ello a todos los enlaces de descarga le agregaremos un estilo llamado <em>download</em>.</p><div class="syntax_hilite"><div id="html-11"><div class="html"><ol><li style="color:#3A6A8B;"><div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/a.html"><span style="color: #000000;">&lt;a</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"/files/map.pdf"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"download"</span><span style="color: #000000;">&gt;</span></a></span>map<span style="color: #009900;"><span style="color: #000000;">&lt;/a&gt;</span></span></div></li></ol></div></div></div><p></p><p>Luego podemos agregar el siguiente código con el cual se busca todos los enlaces con el estilo <em>download</em> y le agrega la llamada al método <em>_gaq.push</em>.</p><div class="syntax_hilite"><div id="javascript-12"><div class="javascript"><ol><li style="color:#3A6A8B;"><div style="">window.<span style="color: #006600;">addEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'load'</span>, <span style="color: #003366;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp;$$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'.download'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'click'</span>,<span style="color: #003366;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; _gaq.<span style="color: #006600;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span><span style="color: #3366CC;">'_trackPageview'</span>, <span style="color: #000066;">this</span>.<span style="color: #006600;">get</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">replace</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'http://'</span>,<span style="color: #3366CC;">''</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp;<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li></ol></div></div></div><p></p><p><strong>Seguimiento de descargas con Google Analytics y jQuery</strong></p><p>Si utilizamos jQuery podríamos modificar el código anterior el cual se convertiría en:</p><div class="syntax_hilite"><div id="javascript-13"><div class="javascript"><ol><li style="color:#3A6A8B;"><div style="">$<span style="color: #66cc66;">&#40;</span>document<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">ready</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp;$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'a.download'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">click</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; _gaq.<span style="color: #006600;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span><span style="color: #3366CC;">'_trackPageview'</span>, $<span style="color: #66cc66;">&#40;</span><span style="color: #000066;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">attr</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">replace</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'http://'</span>,<span style="color: #3366CC;">''</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp;<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li></ol></div></div></div><p></p><p><strong>Seguimiento de descargas automático</strong></p><p>Si todas estas formas te parecen complicadas o ya tienes un sitio con muchas páginas y resulta complejo agregar el código de seguimiento, existe una solución llamada <a href="http://techoctave.com/c7/posts/58-entourage-js-automatic-download-tracking-for-asynchronous-google-analytics">Entourage.js</a> el cual agregará de forma automática el código de seguimiento a todos los enlaces que contengan archivos: .pdf, .zip, .doc, .xls, .ppt, .exe, .dmg, .mov, .avi y .mp3.</p><p>Para utilizar este método descargan los archivos y copian el archivo <em>entourage.min.js</em> y lo adjuntan a la página donde desean hacer el seguimiento, esto justo antes de colocar el código de Google Analytics.</p><div class="syntax_hilite"><div id="html-14"><div class="html"><ol><li style="color:#3A6A8B;"><div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/entourage.min.js"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div></li></ol></div></div></div><p></p><p>Esta pequeña librería con un tamaño de solo 579 bytes y que nos facilita de manera muy sencilla el trabajo de hacer el seguimiento de descargas en nuestra página.</p><p><strong>Mas Información</strong></p><ul><li><a href="http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html">Google Analytics: Tracking Site Activity</a></li><li><a href="http://davidwalsh.name/track-file-downloads-google-analytics-mootools">Track File Downloads in Google Analytics Using MooTools</a></li><li><a href="http://techoctave.com/c7/posts/58-entourage-js-automatic-download-tracking-for-asynchronous-google-analytics">Entourage.js - Automatic Download Tracking for Asynchronous Google Analytics</a></li></ul><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2011 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/seguimiento-de-descargas-con-google-analytics/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Protege tu web del SPAM con PHP y Akismet</title><link>http://blog.unijimpe.net/protege-tu-web-del-spam-con-php-y-akismet/</link> <comments>http://blog.unijimpe.net/protege-tu-web-del-spam-con-php-y-akismet/#comments</comments> <pubDate>Tue, 31 May 2011 05:10:37 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[akismet]]></category> <category><![CDATA[spam]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1271</guid> <description><![CDATA[<p><a href="http://akismet.com/">Akismet</a> el servicio que filtra los mensajes considerados como SPAM que es ampliamente utilizado en <strong>WordPress</strong> también tiene un API que permite utilizarlo en cualquier proyecto web. Esto permitirá hacer una revisión previa de los comentarios &#8230;</p>]]></description> <content:encoded><![CDATA[<p><a href="http://akismet.com/">Akismet</a> el servicio que filtra los mensajes considerados como SPAM que es ampliamente utilizado en <strong>WordPress</strong> también tiene un API que permite utilizarlo en cualquier proyecto web. Esto permitirá hacer una revisión previa de los comentarios enviados por los usuarios antes de aceptarlos y guardarlos en base de datos.</p><p><a href="http://akismet.com"><img src="http://blog.unijimpe.net/wp-content/uploads/2011/05/akismet.jpg" alt="" title="akismet" width="218" height="60" /></a></p><p><strong>Metodología para verificar el SPAM</strong></p><p>Antes de que cualquier mensaje enviado por el usuario sea publicado en nuestra página, este debe ser aprobado previamente por el administrador, esto para evitar que se publiquen mensajes no deseados.</p><p>Por ello es necesario primero verificar el mensaje si es considerado como spam por Akismet y posteriormente guardar estos datos en una base de datos para ser verificados por el administrador. Luego en el administrador de nuestro sitio debe haber un panel donde podríamos realizar las siguientes acciones:</p><ul><li><strong>Aprobar el Mensaje</strong>: el mensaje se publica y es visible en nuestra página.</li><li><strong>Marcar como SPAM</strong>: se reporta el contenido del mensaje como spam a los servidores de Akismet .</li><li><strong>Marcar como NO-SPAM</strong>: si el mensaje se ha detectado como spam, nosotros podemos revisarlo y marcar el mensaje como no-spam.</li></ul><p><strong>Clase PHP para utilizar Akismet</strong></p><p>Para interactuar con el API de Akismet se puede descargar el archivo <a href="http://www.epictrim.com/files/epictrim-akismet-class.zip">class.akismet.php</a> desarrollada por <a href="http://www.epictrim.com">epictrim</a> y que ofrece métodos sencillos para verificar el contenido ingresado por el usuario.</p><p>Para utilizar esta clase, incluimos el archivo <code>class.akismet.php</code> al inicio de nuestro script PHP, creamos una instancia de la clase y asignamos los siguientes parámetros.</p><ul><li><strong>apikey</strong>: es tu <em>API Key</em> de Akismet . (Obtén tu Key en <a href="https://akismet.com/signup/">API key signup</a>)</li><li><strong>name</strong>: es el nombre del usuario que envía el formulario.</li><li><strong>email</strong>: email del usuario que envía el formulario.</li><li><strong>message</strong>: mensaje que se desea verificar.</li><li><strong>type</strong>: tipo de formulario (<em>comment</em>, <em>trackback</em>, <em>pingback</em>, <em>registration</em>)</li></ul><p><strong>Verificando si el mensaje es SPAM</strong></p><p>Si se desea verificar si los datos enviados por el usuario se puede utilizar el método <em>isSpam</em> el cual devuelve verdadero en el caso que el mensaje sea considerado como spam en la base de datos de Akismet.</p><div class="syntax_hilite"><div id="php-18"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#616100;">require</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"class.akismet.php"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#FF9933; font-style:italic;">// creamos una instancia de la clase</span></div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span> = <span style="color:#000000;">new</span> Akismet<span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">apikey</span> = <span style="color:#FF0000;">"your-akismet-key"</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">name</span> = <span style="color:#FF0000;">"Demo User"</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">email</span> = <span style="color:#FF0000;">"demo@example.com"</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">message</span> = <span style="color:#FF0000;">"Hello my name is Akismet..."</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#FF9933; font-style:italic;">// verificamos el mensaje</span></div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#616100;">if</span> <span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">isSpam</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">"Mensaje Spam!!!"</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#006600;">&#125;</span> <span style="color:#616100;">else</span> <span style="color:#006600;">&#123;</span></div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">"Mensaje Valido"</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#006600;">&#125;</span></div></li></ol></div></div></div><p></p><p><strong>Marcar un Mensaje como SPAM</strong></p><p>Akismet ofrece un método mediante el cual se puede reportar un mensaje como spam de tal forma que se registre en su base de datos para que posteriormente sea considerado automáticamente como spam. La clase con la que trabajamos ofrece el método <em>submitSpam</em> con el cual reportamos un mensaje como spam.</p><div class="syntax_hilite"><div id="php-19"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#616100;">require</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"class.akismet.php"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#FF9933; font-style:italic;">// creamos una instancia de la clase</span></div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span> = <span style="color:#000000;">new</span> Akismet<span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">apikey</span> = <span style="color:#FF0000;">"your-akismet-key"</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">name</span> = <span style="color:#FF0000;">"Viagra"</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">email</span> = <span style="color:#FF0000;">"viagra@example.com"</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">message</span> = <span style="color:#FF0000;">"Hello..."</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#FF9933; font-style:italic;">// marcamos el mensaje como spam</span></div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">submitSpam</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li></ol></div></div></div><p></p><p><strong>Marcar el Mensaje como NO-SPAM</strong></p><p>En el caso que un mensaje ha sido considerado como spam por Akismet, nosotros podemos marcarlo como no-spam, para ello haremos uso del método <em>submitHam</em> de la siguiente forma.</p><div class="syntax_hilite"><div id="php-20"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#616100;">require</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"class.akismet.php"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#FF9933; font-style:italic;">// creamos una instancia de la clase</span></div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span> = <span style="color:#000000;">new</span> Akismet<span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">apikey</span> = <span style="color:#FF0000;">"your-akismet-key"</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">name</span> = <span style="color:#FF0000;">"Valid Friend"</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">email</span> = <span style="color:#FF0000;">"friend-name@example.com"</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">message</span> = <span style="color:#FF0000;">"Hello..."</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#FF9933; font-style:italic;">// marcamos el mensaje como no-spam</span></div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$akismet</span>-&gt;<span style="color:#006600;">submitHam</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li></ol></div></div></div><p></p><p>Como se puede observar interactuar con Akismet es sencillo utilizando esta clase. Con los tres métodos ofrecidos podemos verificar si el mensaje es considerado con spam, podemos reportar spam y también desmarcar el spam.</p><p style="text-align:left;"><a href="http://blog.unijimpe.net/download/php-akismet.zip" title="PHP Akismet"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p><p><strong>Más Información</strong></p><ul><li><a href="http://akismet.com/development/api/">Akismet - API documentation (v1.3)</a></li><li><a href="https://akismet.com/signup/">Akismet - API key signup - It's easy</a></li><li><a href="http://www.epictrim.com/ideas/stop-spam-akismet-php-class/">Stop SPAM with Akismet</a></li><li><a href="http://blog.unijimpe.net/utilizar-akismet-con-php/">Utilizar Akismet con PHP</a></li></ul><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2011 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/protege-tu-web-del-spam-con-php-y-akismet/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Acortar URLs con PHP y Goo.gl</title><link>http://blog.unijimpe.net/acortar-urls-con-php-y-goo-gl/</link> <comments>http://blog.unijimpe.net/acortar-urls-con-php-y-goo-gl/#comments</comments> <pubDate>Mon, 21 Mar 2011 01:36:09 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[API]]></category> <category><![CDATA[class]]></category> <category><![CDATA[goo.gl]]></category> <category><![CDATA[key]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1259</guid> <description><![CDATA[<p><a href="http://goo.gl">Goo.gl</a> es el servicio de Google para acortar URLs semejante a Bit.ly que ofrece un API que permite acortar y expandir las URLs de manera sencilla. Además de ello ofrece estadísticas de visitas a nuestras URLs &#8230;</p>]]></description> <content:encoded><![CDATA[<p><a href="http://goo.gl">Goo.gl</a> es el servicio de Google para acortar URLs semejante a Bit.ly que ofrece un API que permite acortar y expandir las URLs de manera sencilla. Además de ello ofrece estadísticas de visitas a nuestras URLs acortadas para una análisis del rendimiento.</p><p><strong>Creando un API Key</strong><br /> El proceso completo para hacer uso del API esta explicado en <a href="http://code.google.com/apis/urlshortener/v1/getting_started.html">Getting Started - Google URL Shortener API</a>. Donde se explica que para hacer poder acortar las URLs es necesario tener un API Key. Este key es gratuito y para obtenerlo hay que seguir los siguientes pasos.</p><ul><li>Entra a <a href="http://code.google.com/apis/console/">Google API Console</a>.</li><li>Crea un nuevo proyecto y activa "<em>URL Shortener API</em>".</li><li>Click en el menú "<em>Identity</em>" y en la sección <em>Access Key</em> encontrarás tu key.</li></ul><p><strong>Creando la Clase para Goo.gl</strong></p><p>De acuerdo a la documentación creamos un clase en PHP con dos métodos <em>shorten</em> para acortar un URL y <em>expand</em> para expandir URLs.</p><div class="syntax_hilite"><div id="php-25"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#000000;">class</span> Googl <span style="color:#006600;">&#123;</span></div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; <span style="color:#000000;">var</span> <span style="color:#0000FF;">$path</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> Googl<span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">path</span> = <span style="color:#FF0000;">"https://www.googleapis.com/urlshortener/v1"</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> shorten<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$url</span>, <span style="color:#0000FF;">$key</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$ch</span> = curl_init<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">path</span>.<span style="color:#FF0000;">"/url?key="</span>.<span style="color:#0000FF;">$key</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; curl_setopt<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$ch</span>, CURLOPT_RETURNTRANSFER, <span style="color:#000000;">true</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; curl_setopt<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$ch</span>, CURLOPT_POST, <span style="color:#000000;">true</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; curl_setopt<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$ch</span>, CURLOPT_HTTPHEADER, <a href="http://www.php.net/array"><span style="color:#000066;">array</span></a><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">'Content-type: application/json'</span><span style="color:#006600;">&#41;</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; curl_setopt<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$ch</span>, CURLOPT_POSTFIELDS, json_encode<span style="color:#006600;">&#40;</span><a href="http://www.php.net/array"><span style="color:#000066;">array</span></a><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">'longUrl'</span> =&gt; <span style="color:#0000FF;">$url</span><span style="color:#006600;">&#41;</span><span style="color:#006600;">&#41;</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$rpta</span> = curl_exec<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$ch</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$data</span> = json_decode<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$rpta</span>, <span style="color:#000000;">true</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; curl_close<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$ch</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$data</span><span style="color:#006600;">&#91;</span><span style="color:#FF0000;">"id"</span><span style="color:#006600;">&#93;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> expand<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$url</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$ch</span> = curl_init<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">path</span>.<span style="color:#FF0000;">"/url?shortUrl="</span>.<span style="color:#0000FF;">$url</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; curl_setopt<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$ch</span>, CURLOPT_RETURNTRANSFER, <span style="color:#000000;">true</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$rpta</span> = curl_exec<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$ch</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$data</span> = json_decode<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$rpta</span>, <span style="color:#000000;">true</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; curl_close<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$ch</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$data</span><span style="color:#006600;">&#91;</span><span style="color:#FF0000;">"longUrl"</span><span style="color:#006600;">&#93;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span>&nbsp; &nbsp;</div></li><li style="color:#26536A;"><div style=""><span style="color:#006600;">&#125;</span></div></li></ol></div></div></div><p></p><p>Este código lo guardamos en un archivo llamado <em>googl.php</em>.</p><p><strong>Utilizando la clase</strong></p><p>Para utilizar la clase lo primero es incluir la clase al inicio de nuestro archivo PHPy luego creamos una instancia del objeto para utilizarlo posteriormente.</p><div class="syntax_hilite"><div id="php-26"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#616100;">require</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"googl.php"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$googl</span> = <span style="color:#000000;">new</span> Googl<span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li></ol></div></div></div><p></p><p>Entonces si deseamos acortar un URL haremos uso del método <em>shorten</em> el cual recibe dos parámetros el primero el URL que deseamos acortar y el segundo es tu Key.</p><div class="syntax_hilite"><div id="php-27"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#616100;">require</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"googl.php"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$googl</span> = <span style="color:#000000;">new</span> Googl<span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$urlmin</span> = <span style="color:#0000FF;">$googl</span>-&gt;<span style="color:#006600;">shorten</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"http://blog.unijimpe.net/tubeplayer/"</span>, <span style="color:#FF0000;">"tu-api-key"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">"urlmin: "</span>.<span style="color:#0000FF;">$urlmin</span>;</div></li></ol></div></div></div><p></p><p>Si por el contrario deseamos expandir un URL ya acortado, haremos uso del método <em>expand</em> el cual recibe un único parámetro que el URL acortado que deseamos expandir.</p><div class="syntax_hilite"><div id="php-28"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#616100;">require</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"googl.php"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$googl</span> = <span style="color:#000000;">new</span> Googl<span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$urlmax</span> = <span style="color:#0000FF;">$googl</span>-&gt;<span style="color:#006600;">expand</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"http://goo.gl/E6pAi"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">"urlmax: "</span>.<span style="color:#0000FF;">$urlmax</span>;</div></li></ol></div></div></div><p></p><p>Como se puede ver el uso de esta clase es muy sencilla, solo hay que indicar el URL que deseamos acortar junto con nuestro API y generaremos automáticamente la versión acortada del mismo. Además de ello esta URL se anexará a nuestra cuenta de Goo.gl y podremos ver las estadísticas de visitas.</p><p style="text-align:left;"><a href="http://blog.unijimpe.net/download/googl-class.zip" title="PHP Goo.gl Class"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2011 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/acortar-urls-con-php-y-goo-gl/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Cached Commons: Librerías Javascript Online para tus Proyectos</title><link>http://blog.unijimpe.net/cached-commons-librerias-javascript-online-para-tus-proyectos/</link> <comments>http://blog.unijimpe.net/cached-commons-librerias-javascript-online-para-tus-proyectos/#comments</comments> <pubDate>Wed, 01 Sep 2010 04:46:36 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[Optimización Web]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[Tools]]></category> <category><![CDATA[cdn]]></category> <category><![CDATA[github]]></category> <category><![CDATA[gzip]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[minificar]]></category> <category><![CDATA[SWFObject]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1234</guid> <description><![CDATA[<p><strong>Cached Commons</strong> es una colección de librerías Javascript que han sido cacheadas, optimizadas y alojadas en el CDN de Github las cuales podemos incluir directamente en nuestros proyectos. Están disponibles librerías como: <em>jQuery</em>, <em>SWFObject</em>, &#8230;</p>]]></description> <content:encoded><![CDATA[<p><strong>Cached Commons</strong> es una colección de librerías Javascript que han sido cacheadas, optimizadas y alojadas en el CDN de Github las cuales podemos incluir directamente en nuestros proyectos. Están disponibles librerías como: <em>jQuery</em>, <em>SWFObject</em>, <em>SWFAddress</em>, <em>SyntaxHighlighter</em>, <em>jqPlot</em> entre otros.</p><p><a href="http://cachedcommons.org/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/08/cached-commons.jpg" alt="" title="cached-commons" width="400" height="231" /></a></p><p>Cada librería incluida ha sido <em>minificada</em>, luego se la envía al usuario utilizando compresión <em>GZIP</em> y además con los headers necesarios para ser guardados en el cache del usuario. Esto significa que han sido correctamente optimizados para cargarse rápidamente y por consiguiente acelerar la carga de nuestra web.</p><p><strong>Como utilizar Cached Commons</strong></p><p>Para utilizar cualquier librería alojada en <em>Cached Commons</em> solo debes copiar la ruta de la librería e incluirla directamente en tu proyecto.</p><p>Por ejemplo si deseamos utilizar la librería SWFObject podemos hacerlo mediante:</p><div class="syntax_hilite"><div id="html-31"><div class="html"><ol><li style="color:#3A6A8B;"><div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"http://cachedcommons.org/javascripts/swf/swfobject-2.2.js"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div></li></ol></div></div></div><p></p><p>También podemos utilizar la versión minificada:</p><div class="syntax_hilite"><div id="html-32"><div class="html"><ol><li style="color:#3A6A8B;"><div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"http://cachedcommons.org/javascripts/swf/swfobject-2.2-min.js"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div></li></ol></div></div></div><p></p><p>Este proyecto es semejante al <a href="http://blog.unijimpe.net/google-ajax-libraries-api/">Google Ajax Libraries API</a> el cual también aloja a las principales librerías javascript, pero tiene la ventaja que aloja a muchas mas librerías y plugins más populares. Si aún así no encuentras la librería que necesitas puedes solicitar qu la agreguen al directorio.</p><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2011 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/cached-commons-librerias-javascript-online-para-tus-proyectos/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Obtener Descuentos para Comprar por Internet</title><link>http://blog.unijimpe.net/obtener-descuentos-para-comprar-por-internet/</link> <comments>http://blog.unijimpe.net/obtener-descuentos-para-comprar-por-internet/#comments</comments> <pubDate>Tue, 17 Aug 2010 04:46:19 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[Tools]]></category> <category><![CDATA[ahorro]]></category> <category><![CDATA[comprar]]></category> <category><![CDATA[cupones]]></category> <category><![CDATA[descuentos]]></category> <category><![CDATA[internet]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1211</guid> <description><![CDATA[<p>Si tienes la necesidad de hacer compras por internet, te presento un tip sencillo para obtener descuentos y ahorrar dinero. Se trata de <a href="http://www.retailmenot.com/">RetailMeNot</a>, una comunidad donde encontrarás múltiples cupones de descuento compartidos por los &#8230;</p>]]></description> <content:encoded><![CDATA[<p>Si tienes la necesidad de hacer compras por internet, te presento un tip sencillo para obtener descuentos y ahorrar dinero. Se trata de <a href="http://www.retailmenot.com/">RetailMeNot</a>, una comunidad donde encontrarás múltiples cupones de descuento compartidos por los usuarios. Encontrarás cupones de todo tipo y para muchos sitios web.</p><p><a href="http://www.retailmenot.com/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/08/retailmenot.jpg" alt="" title="retailmenot" width="500" height="359" /></a></p><p><strong>Obtener Descuentos en GoDaddy</strong></p><p>GoDaddy es uno de los mas grandes proveedores de Dominios, entonces si vas a comprar dominios puedes realizar la búsqueda de cupones y luego ver el listado de todos los <a href="http://www.retailmenot.com/view/godaddy.com">cupones disponibles para GoDaddy</a>. En mi caso yo escojo el descuento de dominios a <em>$US 7.49</em> cuando normalmente el precio del dominio es de <em>$11.44</em>.</p><p>Luego cuando compramos el dominio, en el carrito de compras podemos ingresar el cupón de descuento con en la siguiente imagen con lo cual nos ahorramos unos dolares de manera sencilla.</p><p><img src="http://blog.unijimpe.net/wp-content/uploads/2010/08/godaddy-cart-discount.jpg" alt="" title="godaddy-cart-discount" width="580" height="165" /></p><p>Como pueden ver es sencillo ahorrar dinero al momento de comprar en internet, todo es cuestión de conocer los lugares donde encontrar los cupones de descuento adecuados.</p><p><strong>Compartir Cupones</strong></p><p>Los cupones listados en <em>RetailMeNot</em> son enviados por los usuarios, así que si te llega algún cupón y no lo vas a utilizar es bueno que lo compartas en esta página para de esta forma beneficiarnos todos con los descuentos.</p><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2011 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/obtener-descuentos-para-comprar-por-internet/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Convertir monedas con PHP y Google Finance</title><link>http://blog.unijimpe.net/convertir-monedas-con-php-y-google-finance/</link> <comments>http://blog.unijimpe.net/convertir-monedas-con-php-y-google-finance/#comments</comments> <pubDate>Wed, 30 Jun 2010 06:38:05 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[conversor]]></category> <category><![CDATA[currency]]></category> <category><![CDATA[finance]]></category> <category><![CDATA[JSON]]></category> <category><![CDATA[moneda]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1204</guid> <description><![CDATA[<p><em>Google Finance</em> es un servicio para temas relacionados a finanzas (Cotizaciones financieras, datos económicos de empresas y noticias financieras), entre las muchas herramientas que ofrece dispone de un conversor de monedas para la mayoría de monedas &#8230;</p>]]></description> <content:encoded><![CDATA[<p><em>Google Finance</em> es un servicio para temas relacionados a finanzas (Cotizaciones financieras, datos económicos de empresas y noticias financieras), entre las muchas herramientas que ofrece dispone de un conversor de monedas para la mayoría de monedas del mundo. Aprovecharemos este servicio para crear un conversor de monedas personalizado.</p><p><a href="http://samples.unijimpe.net/currency/custom.php"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/currency-converter-300x90.jpg" alt="" title="currency-converter" width="300" height="90" /></a></p><p><strong>Obteniendo la Información</strong></p><p>Lo primero es obtener los datos, para ello utilizaremos un URL que Google Finance utiliza para mostrar el tipo de cambio.</p><div class="syntax_hilite"><div id="php-38"><div class="php"><ol><li style="color:#3A6A8B;"><div style="">http:<span style="color:#FF9933; font-style:italic;">//www.google.com/ig/calculator?hl=en&amp;q=100USD%3D%3FPEN </span></div></li></ol></div></div></div><p></p><p>Donde se tienen los siguiente parámetros:</p><ul><li><strong>100</strong> es el monto que deseamos convertir.</li><li><strong>USD</strong> es la moneda que deseamos convertir (En este caso USD).</li><li><strong>PEN</strong> es la moneda a la que deseamos convertir.</li></ul><p>El cual  devuelve como resultado los datos en formato JSON:</p><div class="syntax_hilite"><div id="php-39"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#006600;">&#123;</span>lhs: <span style="color:#FF0000;">"1 U.S. dollar"</span>,rhs: <span style="color:#FF0000;">"2.8239972 Peruvian nuevos soles"</span>,error: <span style="color:#FF0000;">""</span>,icc: <span style="color:#000000;">true</span><span style="color:#006600;">&#125;</span></div></li></ol></div></div></div><p></p><p>Para una lista completa de los códigos de monedas disponibles pueden visitar <a href="http://samples.unijimpe.net/currency/codes.php">Currency Codes</a>.</p><p><strong>Implementando Conversor de Monedas Básico</strong></p><p>Como los datos son devueltos en formato JSON, utilizaremos la librería <em>JSON.php</em> de la cual hemos comentado en <a href="http://blog.unijimpe.net/json-con-php/">JSON con PHP</a>. Entonces crearemos un script para mostrar la equivalencia entre el Dolares Americanos (USD) y Nuevos Soles (PEN).</p><p>Primero incluimos la librería <em>JSON.php</em> luego utilizamos la función <em>file_get_contents</em> para obtener los datos desde el URL donde hemos puesto los códigos de las monedas a convertir. Después decodificamos el contenido.</p><div class="syntax_hilite"><div id="php-40"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#616100;">require_once</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"JSON.php"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://www.google.com/ig/calculator?hl=en&amp;q=1USD%3D%3FPEN"</span>;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$data</span> = <a href="http://www.php.net/file_get_contents"><span style="color:#000066;">file_get_contents</span></a><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp;</div></li><li style="color:#3A6A8B;"><div style=""><span style="color:#0000FF;">$json</span> = <span style="color:#000000;">new</span> Services_JSON<span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><span style="color:#0000FF;">$obj</span> = <span style="color:#0000FF;">$json</span>-&gt;<span style="color:#006600;">decode</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$data</span><span style="color:#006600;">&#41;</span>;</div></li></ol></div></div></div><p></p><p>Una vez obtenido los valores solo queda imprimir los resultados en nuestra página.</p><div class="syntax_hilite"><div id="html-41"><div class="html"><ol><li style="color:#3A6A8B;"><div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/h2.html"><span style="color: #000000;">&lt;h2&gt;</span></a></span>Currency Converter<span style="color: #009900;"><span style="color: #000000;">&lt;/h2&gt;</span></span></div></li><li style="color:#26536A;"><div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/strong.html"><span style="color: #000000;">&lt;strong&gt;</span></a></span>From:<span style="color: #009900;"><span style="color: #000000;">&lt;/strong&gt;</span></span> <span style="color: #009900;"><span style="color: #000000;">&lt;</span></a>?php echo $obj-<span style="color: #000000;">&gt;</span></a></span>lhs; ?&gt;<span style="color: #009900;"><a href="http://december.com/html/4/element/br.html"><span style="color: #000000;">&lt;br</span></a> /<span style="color: #000000;">&gt;</span></a></span></div></li><li style="color:#3A6A8B;"><div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/strong.html"><span style="color: #000000;">&lt;strong&gt;</span></a></span>To:<span style="color: #009900;"><span style="color: #000000;">&lt;/strong&gt;</span></span> <span style="color: #009900;"><span style="color: #000000;">&lt;</span></a>?php echo $obj-<span style="color: #000000;">&gt;</span></a></span>rhs; ?&gt;</div></li></ol></div></div></div><p></p><p>Pueden ver el resultado de este ejemplo en <a href="http://samples.unijimpe.net/currency/">http://samples.unijimpe.net/currency/</a>.</p><p><strong>Conversor de Monedas Personalizado</strong></p><p>Ahora si deseamos que el usuario seleccione que moneda desea convertir, se puede agregar dos selectores: uno para seleccionar la moneda de origen al cual llamaremos <em>from</em> y otro para definir la moneda de destino llamado <em>to</em>. Luego solo nos queda procesar los datos del formulario y mostrar los resultados.</p><div class="syntax_hilite"><div id="php-42"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><span style="color:#616100;">if</span> <span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$_POST</span><span style="color:#006600;">&#91;</span><span style="color:#FF0000;">'from'</span><span style="color:#006600;">&#93;</span> != <span style="color:#FF0000;">""</span> &amp;&amp; <span style="color:#0000FF;">$_POST</span><span style="color:#006600;">&#91;</span><span style="color:#FF0000;">'to'</span><span style="color:#006600;">&#93;</span> != <span style="color:#FF0000;">""</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; <span style="color:#0000FF;">$from</span> = <span style="color:#0000FF;">$_POST</span><span style="color:#006600;">&#91;</span><span style="color:#FF0000;">'from'</span><span style="color:#006600;">&#93;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; <span style="color:#0000FF;">$to</span> = <span style="color:#0000FF;">$_POST</span><span style="color:#006600;">&#91;</span><span style="color:#FF0000;">'to'</span><span style="color:#006600;">&#93;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://www.google.com/ig/calculator?hl=en&amp;q=1"</span>.<span style="color:#0000FF;">$from</span>.<span style="color:#FF0000;">"=?"</span>.<span style="color:#0000FF;">$to</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; <span style="color:#0000FF;">$data</span> = <a href="http://www.php.net/file_get_contents"><span style="color:#000066;">file_get_contents</span></a><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp;</div></li><li style="color:#26536A;"><div style="">&nbsp; &nbsp; <span style="color:#0000FF;">$json</span> = <span style="color:#000000;">new</span> Services_JSON<span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; <span style="color:#0000FF;">$obj</span> = <span style="color:#0000FF;">$json</span>-&gt;<span style="color:#006600;">decode</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$data</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp;</div></li><li style="color:#3A6A8B;"><div style="">&nbsp; &nbsp; <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#FF0000;">"&lt;strong&gt;1 "</span>.<span style="color:#0000FF;">$from</span>.<span style="color:#FF0000;">" = "</span>.<span style="color:#0000FF;">$obj</span>-&gt;<span style="color:#006600;">rhs</span>.<span style="color:#FF0000;">"&lt;/strong&gt;"</span>;</div></li><li style="color:#26536A;"><div style="">&nbsp;<span style="color:#006600;">&#125;</span></div></li></ol></div></div></div><p></p><p>A nuestro segundo ejemplo le agregamos una hoja de estilos y ordenamos nuestro formulario para obtener un buen resultado. Pueden ver el resultado del ejemplo en <a href="http://samples.unijimpe.net/currency/custom.php">http://samples.unijimpe.net/currency/custom.php</a>.</p><p>Como pueden ver basado en nuestro conocimiento de JSON con PHP podemos utilizar un servicio para integrarlo a nuestra de manera rápida. Les dejo los archivos fuente del ejemplo para que lo puedan estudiar y hacer sus pruebas.</p><p style="text-align:left;"><a href="http://blog.unijimpe.net/download/currency.zip" title="Currency Converter"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2011 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/convertir-monedas-con-php-y-google-finance/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> <item><title>Los mejores Clientes FTP gratuitos</title><link>http://blog.unijimpe.net/los-mejores-clientes-ftp-gratuitos/</link> <comments>http://blog.unijimpe.net/los-mejores-clientes-ftp-gratuitos/#comments</comments> <pubDate>Mon, 21 Jun 2010 04:09:12 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[Tools]]></category> <category><![CDATA[download]]></category> <category><![CDATA[ftp]]></category> <category><![CDATA[gratis]]></category> <category><![CDATA[linux]]></category> <category><![CDATA[mac]]></category> <category><![CDATA[online]]></category> <category><![CDATA[Open Source]]></category> <category><![CDATA[upload]]></category> <category><![CDATA[windows]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1189</guid> <description><![CDATA[<p>Un cliente de FTP (<em>File Transfer Protocol</em>) es una de las herramientas básicas para cualquier desarrollador web, por que nos permite transferir archivos entre el servidor web y nuestro computador local.</p><p>Existen herramientas comerciales &#8230;</p>]]></description> <content:encoded><![CDATA[<p>Un cliente de FTP (<em>File Transfer Protocol</em>) es una de las herramientas básicas para cualquier desarrollador web, por que nos permite transferir archivos entre el servidor web y nuestro computador local.</p><p>Existen herramientas comerciales como <a href="http://www.cuteftp.com/">CuteFTP</a> que tiene versiones para Windows y Mac o también <a href="http://www.flashfxp.com/">FlashFXP</a> que cuenta con versión para Windows solamente. Veamos algunas alternativas gratuitas para gestionar nuestros archivos vía FTP.</p><p><strong>FileZilla</strong><br /> <a href="http://filezilla-project.org/">FileZilla</a> es un proyecto Open Source y es uno de los mejores clientes gratuitos, que además cuenta con versiones para <em>Windows</em>, <em>Linux</em> y <em>Mac OSX</em>. Cuenta con una amplia comunidad de desarrolladores por lo cual tiene amplio soporte y actualizaciones constantes. FileZilla cuenta con todas las opciones de cualquier cliente comercial y con buen rendimiento.</p><p><a href="http://filezilla-project.org/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/filezilla.jpg" alt="" title="filezilla" width="300" height="239" /></a></p><h3>Clientes para Windows</h3><p><strong>Coffee Free FTP</strong><br /> Este es un cliente interesante que cuenta con una interfaz muy limpia lo cual facilita el proceso de transferencia de archivos. <a href="http://www.coffeecup.com/free-ftp/">Coffee Free FTP</a> permite utilizar varios perfiles de usuarios y soporte para subir múltiples archivos de manera sencilla con una vista de los archivos que se tiene en el servidor y en local.</p><p><a href="http://www.coffeecup.com/free-ftp/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/coffee-free-ftp.jpg" alt="" title="coffee-free-ftp" width="300" height="212" /></a></p><p><strong>GoFTP</strong><br /> <a href="http://www.goftp.com/">GoFTP</a> es otro cliente de FTP que ofrece mayor velocidad, en su web anuncian que es hasta 314% mas rápido que los otros clientes. Cuenta con un explorador de archivos para facilitar la transferencias de archivos, también permite continuar uploads o downloads de archivos que hayan sido detenidos.</p><p><a href="http://www.goftp.com/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/goftp.jpg" alt="" title="goftp" width="300" height="232" /></a></p><h3>Clientes para Mac</h3><p><strong>Cyberduck</strong><br /> <a href="http://cyberduck.ch/">Cyberduck</a> es uno de los mejores clientes FTP para Mac, ademas de ello permite utilizarlo como cliente para <em>WebDAV</em>, <em>Google Docs</em> y <em>Amazon S3</em>. Ademas de ello se puede integrar con la mayoría de editores de código de Mac.</p><p><a href="http://cyberduck.ch/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/cyberduck.jpg" alt="" title="cyberduck" width="300" height="270" /></a></p><p><strong>Classic FTP for Mac</strong><br /> Este cliente esta perfectamente integrado con Mac y permite subir y descargar archivos de manera sencilla con un explorador de archivos integrados. Cuenta con todas las funcionalidades necesarias de un cliente FTP.</p><p><a href="http://www.nchsoftware.com/classic/screenshots.html"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/classicftp.jpg" alt="" title="classicftp" width="300" height="245" /></a></p><h3>Clientes Online</h3><p><strong>net2ftp</strong><br /> <a href="http://www.net2ftp.com/">net2ftp</a> es un cliente FTP el cual puedes utilizar desde cualquier navegador sin necesidad de instalar ningún programa. Puedes ver todos los archivos que tienes en tu servidor, también puedes subir y descargar los archivos de manera sencilla.</p><p><a href="http://www.net2ftp.com/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/net2ftp.jpg" alt="" title="net2ftp" width="300" height="225" /></a></p><p>Como pueden ver hay muchas alternativas para poder administrar archivos de nuestro FTP y sobre todo gratuitos.</p><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2011 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/los-mejores-clientes-ftp-gratuitos/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Herramientas Online para trabajar con CSS</title><link>http://blog.unijimpe.net/herramientas-online-para-trabajar-con-css/</link> <comments>http://blog.unijimpe.net/herramientas-online-para-trabajar-con-css/#comments</comments> <pubDate>Sun, 06 Jun 2010 02:36:05 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[CSS]]></category> <category><![CDATA[General]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[Tools]]></category> <category><![CDATA[codigo]]></category> <category><![CDATA[gratis]]></category> <category><![CDATA[minificar]]></category> <category><![CDATA[online]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1182</guid> <description><![CDATA[<p>Las hojas de estilos nos sirven para dar formato al contenido de nuestra web, el mejor software para editar estilos en <em>Adobe Dreamweaver</em>, pero si no quieres instalar programas adicionales, existen servicios online que permiten &#8230;</p>]]></description> <content:encoded><![CDATA[<p>Las hojas de estilos nos sirven para dar formato al contenido de nuestra web, el mejor software para editar estilos en <em>Adobe Dreamweaver</em>, pero si no quieres instalar programas adicionales, existen servicios online que permiten editar, optimizar y validar documentos CSS, veamos algunas de estas aplicaciones.</p><p><strong>Editar  CSS</strong></p><p><a href="http://cssdesk.com/">CSSDesk - Online CSS Sandbox</a><br /> Esta es ta de las interesantes herramientas que ademas de permitir editar los estilos, permite la previsualización inmediata del resultado, además de ello puede colorear automáticamente el código. Finalmente cuando hayas terminado la edición tiene la opción para descargar el archivo con el resultado de nuestro trabajo.</p><p><a href="http://cssdesk.com/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/cssdesk.jpg" alt="" title="cssdesk" width="350" height="211" /></a></p><p><a href="http://www.cssportal.com/online-css-editor/">Online CSS Editor</a><br /> Esta herramienta permite crear tus CSS en internet y automáticamente previsualizar el resultado, con ello puedes obtener la hoja de estilos que necesitas sin necesidad de ningún software adicional.</p><p><a href="http://www.cssportal.com/online-css-editor/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/online-css-editor.jpg" alt="" title="online-css-editor" width="350" height="230" /></a></p><p><strong>Optimizar CSS</strong><br /> Optimizar CSS consiste en utilizar de forma eficiente los selectores así como versiones abreviadas de códigos de colores y de bordes, de esta forma el documento CSS se reducirá en tamaño logrando acelerar la carga de nuestro web.</p><p><a href="http://www.cleancss.com/">CSS Formatter and Optimiser</a><br /> Esta herramienta permite pegar tu código CSS o colocar la ruta a tu archivo CSS, con múltiples opciones de compresión puede optimizar adecuadamente tu archivo CSS. Ofrece un reporte del resultado del proceso indicando que líneas se han modificado y el resultado del mismo.</p><p><a href="http://www.cleancss.com/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/cleancss.jpg" alt="" title="cleancss" width="350" height="369" /></a></p><p><a href="http://iceyboard.no-ip.org/projects/css_compressor"> CSS Compressor</a><br /> Esta herramienta semejante a la anterior permite optimizar nuestro código, permite subir nuestro archivo directamente, colocar la ruta a nuestro archivo o pegar el código de nuestro CSS. Finalmente obtendremos el resultado del proceso nuestro archivo optimizado.</p><p><a href="http://iceyboard.no-ip.org/projects/css_compressor"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/css-compressor.jpg" alt="" title="css-compressor" width="350" height="287" /></a></p><p><strong>Formatear CSS</strong><br /> Cuando se optimiza las hojas de estilos se eliminan los saltos de línea y espacios en blanco lo cual lo hacen dificiles de entender y editar, para ello tenemos herramientas que formatearán el código agregando saltos de línea y tabulando el contenido.</p><p><a href="http://styleneat.com/">Styleneat - CSS Organizer</a><br /> Esta aplicación permite formatear hojas de estilos que han sido minificadas, puedes pegar el código, subir un archivo o colocar la ruta al archivo. Devuelve el código CSS formateado y resaltado en colores para entender rápidamente la hojas de estilos.</p><p><a href="http://styleneat.com/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/style-neat.jpg" alt="" title="style-neat" width="350" height="223" /></a></p><p><a href="http://www.binaryturf.com/free-software/css-beautifier-and-indenter/">Online CSS beautifier and Indenter</a><br /> Esta web permite formatear e identar el código CSS rápidamente, aunque no colorea el código es muy eficiente y rápido en el resultado de formatear las hojas de estilos.</p><p><a href="http://www.binaryturf.com/free-software/css-beautifier-and-indenter/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/06/css-beautifier.jpg" alt="" title="css-beautifier" width="350" height="411" /></a></p><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2011 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/herramientas-online-para-trabajar-con-css/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>HTTP Redirect Viewer</title><link>http://blog.unijimpe.net/http-redirect-viewer/</link> <comments>http://blog.unijimpe.net/http-redirect-viewer/#comments</comments> <pubDate>Sun, 23 May 2010 20:50:29 +0000</pubDate> <dc:creator>unijimpe</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[iPhone]]></category> <category><![CDATA[SEO]]></category> <category><![CDATA[Servicios Web]]></category> <category><![CDATA[301]]></category> <category><![CDATA[302]]></category> <category><![CDATA[canonicalización]]></category> <category><![CDATA[headers]]></category> <category><![CDATA[http]]></category> <category><![CDATA[redirect]]></category> <category><![CDATA[user agent]]></category><guid isPermaLink="false">http://blog.unijimpe.net/?p=1175</guid> <description><![CDATA[<p><a href="http://samples.unijimpe.net/redirect-viewer/">HTTP Redirect Viewer</a> es un herramienta que te permitirá visualizar todas las redirecciones que se hacen en una determinada URL dependiendo del <em>User Agent</em> que se puede seleccionar. Esto es útil para verificar el tipo de &#8230;</p>]]></description> <content:encoded><![CDATA[<p><a href="http://samples.unijimpe.net/redirect-viewer/">HTTP Redirect Viewer</a> es un herramienta que te permitirá visualizar todas las redirecciones que se hacen en una determinada URL dependiendo del <em>User Agent</em> que se puede seleccionar. Esto es útil para verificar el tipo de redirección que estamos aplicando a nuestros proyectos y probar el funcionamiento dependiendo del navegador con que se accede.</p><p><a href="http://samples.unijimpe.net/redirect-viewer/"><img src="http://blog.unijimpe.net/wp-content/uploads/2010/05/http-redirect-viewer1.jpg" alt="" title="http-redirect-viewer" width="480" height="395" /></a></p><p><strong>Características</strong></p><p>Entre las principales características de esta herramienta podemos mencionar:</p><ul><li>Visualizar la cantidad y tipos de redirecciones (<em>301</em> y <em>302</em>).</li><li>Verificar el tipo de <em>canonicalización</em> de un dominio.</li><li>Verificar si el cambio de dominio se hace correctamente (Redirección 301).</li><li>Verificar el tipo de respuesta por navegador (Se puede seleccionar el <em>User Agent</em>).</li><li>Revisar que contenido se envía a los usuarios que acceden desde iPhone/iPad.</li><li>Se puede determinar que URL pueden ver el robot de Google.</li><li>Permite visualizar los headers de respuesta de un URL.</li><li>Permite visualizar el contenido de respuesta de un URL.</li></ul><p><strong>Ejemplos de Uso</strong></p><p>Analizamos la dirección <em>http://gmail.com</em> tendremos un total de 4 redirecciones (Tres del tipo 301 y una  del tipo 302). Obviamente esto no es optimo por la cantidad de redirecciones lo cual incrementa el tiempo de carga para el usuario.</p><p>Analizando la dirección <em>http://www.bajar-youtube.com</em> se tiene una sola redirección y del tipo 301 a la ruta final http://bajar-youtube.com lo cual indica que hay <em>canonicalización</em> (En este caso para no utilizar WWW en el dominio).</p><p>Esta herramienta fue escrita como complemento al artículo <a href="http://blog.unijimpe.net/como-hacer-redireccionamiento-301-y-302/">Como hacer redireccionamiento 301 y 302</a>, si tienen sugerencias u observaciones pueden dejarnos un comentario para tomarlo en cuenta para futuras versiones.</p><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2011 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> ]]></content:encoded> <wfw:commentRss>http://blog.unijimpe.net/http-redirect-viewer/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (User agent is rejected)
Database Caching using disk: basic

Served from: blog.unijimpe.net @ 2012-02-08 21:10:42 -->
