<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2643060250244696769</atom:id><lastBuildDate>Mon, 28 Nov 2011 00:42:55 +0000</lastBuildDate><category>webmaster</category><category>blogger</category><category>plantillas blogger</category><category>themes wordprees</category><category>tutoriales</category><category>wordpress</category><category>photoshop</category><category>noticias</category><title>ayuda_bloggind</title><description /><link>http://ayuda-bloggind.blogspot.com/</link><managingEditor>noreply@blogger.com (Razock)</managingEditor><generator>Blogger</generator><openSearch:totalResults>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Ayuda_bloggind" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="ayuda_bloggind" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-3801019563593034529</guid><pubDate>Tue, 02 Dec 2008 09:17:00 +0000</pubDate><atom:updated>2008-12-02T01:19:26.809-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">wordpress</category><title>Videotutoriales de WordPress</title><description>Explicación paso a paso de la instalación de WordPress en el servidor y vistazo general al panel de control del blog. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/e-wz_T6t3xY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/e-wz_T6t3xY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Como escribir un artículo o entrada en el weblog: enseñan a darle un título, escribir el texto y darle formato.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hVQFZA4kFCI&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/hVQFZA4kFCI&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Explica los pasos que hay que seguir para subir imágenes al servidor de la página web mediante WordPress, cómo ponerlas en un post y editarlas. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/b1_CnRHEzAk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/b1_CnRHEzAk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Habla de la configuración de los enlaces con el editor de WordPress. Hay varias opciones, dejar que se abran en la misma ventana del navegador, ordenar que se abran en una ventana nueva, etc.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tZP8xa5HE4Y&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/tZP8xa5HE4Y&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Explica qué hay que hacer para poner un video de Youtube o cualquier otra página similar en un post de tu blog. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GX9Sq2b3O14&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/GX9Sq2b3O14&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-3801019563593034529?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/videotutoriales-de-wordpress.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-1752593668929321116</guid><pubDate>Tue, 02 Dec 2008 08:58:00 +0000</pubDate><atom:updated>2008-12-02T01:06:57.282-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webmaster</category><title>Videotutoriales de Dreamweaver</title><description>Curso de Dreamweaver 8 creado por videotutoriales.es. En este primer capítulo muestran como crear la estructura de una página web partiendo de cero, estableciendo un encabezado, un pie de página y un espacio para el contenido.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/AGlXVXCUFJ8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/AGlXVXCUFJ8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. En el segundo capítulo muestran como estructurar la cabecera de la página con imágenes y una tabla. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/iwzXx1ha1uo&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/iwzXx1ha1uo&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. En el tercer capítulo nos enseñan a estructurar el cuerpo de la página donde irá el contenido de la web, incluyendo una barra lateral para el menú de navegación.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WrNJibdOdy8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/WrNJibdOdy8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. En el cuarto capítulo nos continúa explicando una forma de estructurar el cuerpo de la página y el menú de navegación mediante imágenes y tablas.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XXLbV6_YKvU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/XXLbV6_YKvU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. En el quinto capítulo nos explican más en profundicar cómo crear mediante el uso de imágenes y tablas un menú de navagación para la página web.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rU8rV2h4a64&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rU8rV2h4a64&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. En el sexto capítulo nos explican cómo poner un texto en la cabecera y en el pie de página modificando los colores. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/s-5vZsI2dYM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/s-5vZsI2dYM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. En este capítulo hablan de las hojas de estilos, como controlar el formato de la página web por medio del uso de CSS. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/gtbm8al_UqE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/gtbm8al_UqE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. Habla de las bibliotecas de las páginas web, de como añadir objetos comunes de tu web a la biblioteca, especificar zonas modificables y fijas, etc.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Fh2J4oDHkjg&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Fh2J4oDHkjg&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. En este video tutorial explican como añadir contenido a la web, creando diferentes páginas en base a una plantilla general. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-yzIxFUXZL8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-yzIxFUXZL8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. Describe como añadir un elemento de flash en la página web. También enseña a vincular diferentes páginas de tu web con botones y a modificar una plantilla para que toda la web se modifique con ella.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/co1qLDkZGig&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/co1qLDkZGig&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. Sigue modificando la plantilla creada para añadir enlaces, nuevos estilos, etc. a toda la web a la vez. Manejo de tablas. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/sfZ2RCCV1VU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/sfZ2RCCV1VU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. Sigue completando el proyecto web del tutorial, en este video tutorial explica más en profundidad el uso de tablas anidadas. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Yr66yzIVMPs&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Yr66yzIVMPs&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;urso de Dreamweaver 8 creado por videotutoriales.es. Versa sobre el trabajo con la plantilla de la web para modificar todas las páginas del sitio. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OQnyPloFANM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/OQnyPloFANM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. Creación de formularios en Dreamweaver. Muy útil para facilitar el contacto con el usuario. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/C8Kkrwnb1pc&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/C8Kkrwnb1pc&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. Continúa explicando como hacer formularios en Dreamweaver, darles formato y configurarlos. En este caso explica como hacer un formulario de pedidos.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/H1y5H3NYXMM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/H1y5H3NYXMM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. Una vez creada la página web con Dreamweaver, en este tutorial nos explica como registrarnos en un servicio de hosting gratiuto para subir nuestra web a Internet.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Vxo0sSFMYns&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Vxo0sSFMYns&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Curso de Dreamweaver 8 creado por videotutoriales.es. Final del videotutorial. En este video nos enseña como configurar Dreamweaver para subir el sitio a nuestro hosting gratuito. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZGKpT1Vlb-A&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ZGKpT1Vlb-A&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-1752593668929321116?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/videotutoriales-de-dreamweaver.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-7134127476462775970</guid><pubDate>Tue, 02 Dec 2008 08:54:00 +0000</pubDate><atom:updated>2008-12-02T00:57:53.218-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webmaster</category><title>Videotutoriales de Hojas de Estilo (CSS)</title><description>Nivel Avanzado&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. En este primer capítulo nos introducen en la utilidad de usar hojas de estilo para diseñar páginas web. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Na-9lyL-SEs&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Na-9lyL-SEs&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. Nos enseña a crear las etiquetas necesarias para empezar a crear estilos CSS. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6xzTmZf49Wo&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/6xzTmZf49Wo&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. Nos enseña a definir nuestra primera regla en CSS para dar formato a un tipo de texto específico. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BuH1S5YCt_M&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/BuH1S5YCt_M&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. Introducción al uso de selectores en las hojas de estilo y explicación de cada parte de una regla CSS. Continúa explicando más en profundidad a añadir reglas a nuestra hoja de estilo.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/x82KWxq5VYc&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/x82KWxq5VYc&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. Continúa explicando el uso las reglas en CSS. También habla de cómo ahorra tiempo al cambiar el diseño de una página usar hojas de estilo.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ACkENy2XfwE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ACkENy2XfwE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. Explica el uso de distintas reglas para dar estilos diferentes a determinadas partes de la página. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rTNkixu0vXI&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rTNkixu0vXI&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. Introducción al uso de selectores. Noción de agrupación de selectores. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/o9owqUrN5Rw&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/o9owqUrN5Rw&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. Sigue hablando de la utilidad de usar agrupamientos de selectores para ahorrar código y teimpo al diseñar nuestras páginas web.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Ss-dUxgL6FQ&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Ss-dUxgL6FQ&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. Continúa explicando más en profundidad el uso de selectores en las hojas de estilo y la manera de agruparlos correctamente. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Bc-X5aR3TbE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Bc-X5aR3TbE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Videotutorial de illasaron.com. Explica las diferencias que implica escribir cada regla de nuestra hoja de estilos por separado en lugar de utilizando agrupaciones.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6LQEVV5ThAs&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/6LQEVV5ThAs&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-7134127476462775970?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/videotutoriales-de-hojas-de-estilo-css_02.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-33447120130951653</guid><pubDate>Tue, 02 Dec 2008 08:51:00 +0000</pubDate><atom:updated>2008-12-02T00:53:46.854-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webmaster</category><title>Videotutoriales de Hojas de Estilo (CSS)</title><description>Nivel Basico&lt;br /&gt;&lt;br /&gt;En este primer capítulo enseñan la estructura básica de una hoja de estilos, como organizar el código, las distintas partes del mismo, etc. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/--HseGsYQ18&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/--HseGsYQ18&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Explica las diferentes formas de añadir código CSS a tus páginas web para darles formato. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/CHacvAqb7dU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/CHacvAqb7dU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Se explica la forma de crear un diseño básico para el texto de las páginas web. También explica más en profundidad algunas propiedades específicas que sirven para dar formato a los textos.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OydhsP9uxhA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/OydhsP9uxhA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En este video tutorial se explica como empezar a crear una web: crear un sitio, una hoja de estilos, una plantilla y un index. Videotutorial de: &lt;a href="http://www.dumo.3wsa.com/crear_web/sitio_plantilla.php" target="_blank" class="ir"&gt;dumo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/krsvcPZWejs&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/krsvcPZWejs&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-33447120130951653?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/videotutoriales-de-hojas-de-estilo-css.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-7179444628473390512</guid><pubDate>Tue, 02 Dec 2008 08:47:00 +0000</pubDate><atom:updated>2008-12-02T00:51:01.382-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webmaster</category><title>Videotutoriales de HTML</title><description>Nivel Medio&lt;br /&gt;&lt;br /&gt;En este primer capítulo enseña a crear un archivo HTML con su estructura básica (header, title, body...) y una breve explicación de algunas etiquetas de HTML.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/utbVrAQY2oM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/utbVrAQY2oM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En el segundo capítulo explican el uso de listas en HTML para formatear datos. Listas ordenadas y desordenadas, listas anidadas... &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jPx47ohtntY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jPx47ohtntY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En el tercer capítulo indica como dar formato a textos con el uso de párrafos y títulos con h1, h2, etc. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/cCL9eqtlaYM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/cCL9eqtlaYM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En este 4º capítulo explican como crear tablas en HTML, añadir filas (tr) y celdas (td o th). También explica la diferencia entre th y td para crear celdas.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/c_RPZh2eKXM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/c_RPZh2eKXM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En este capítulo continúan explicando cómo dar un formato básico a la página web mediante estilos como negrita, subrayado, cursiva, etc. Explica la diferencia entre los estílos físicos (b, i...) y lógicos (strong, em...).&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/HmIvOdpDkcA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/HmIvOdpDkcA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-7179444628473390512?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/videotutoriales-de-html_02.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-5520566645003804140</guid><pubDate>Tue, 02 Dec 2008 08:35:00 +0000</pubDate><atom:updated>2008-12-02T00:47:10.334-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webmaster</category><title>Videotutoriales de HTML</title><description>Nivel Basico&lt;br /&gt;&lt;br /&gt;En este primer capítulo enseñan a crear un archivo HTML con el block de notas. Nociones muy básicas de HTML para empezar a conocer este lenguaje. Creado por formacion-dka. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NHpgKGYARxE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/NHpgKGYARxE&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En el segundo capítulo explican cómo darle estructura al archivo HMTL para que los navegadores sepan interpretarlo. Creado por formacion-dka. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/fj2IpcSl0ak&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/fj2IpcSl0ak&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En el tercer capítulo indican cómo crear el cuerpo de la página web, donde irá el contenido de la página. Creado por formacion-dka.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/132hvp6w8uU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/132hvp6w8uU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En este 4º capítulo explican algunas etiquetas básicas de HTML para darle formato al texto, como color, letras en cursiva o negrita y saltos de línea. Creado por formacion-dka.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/O_gJGCH6nxY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/O_gJGCH6nxY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En este capítulo continúan explicando cómo dar un formato básico a la página web, añadir imágenes y color de fondo, etc. Creado por formacion-dka.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/vRgbPbycp2A&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/vRgbPbycp2A&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;En la última parte de este mini curso explican como añadir enlaces a otras páginas web y enlaces de correo electrónico. Creado por formacion-dka.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/n5by85PZC2Y&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/n5by85PZC2Y&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-5520566645003804140?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/videotutoriales-de-html.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-8428633005820874283</guid><pubDate>Tue, 02 Dec 2008 08:28:00 +0000</pubDate><atom:updated>2008-12-02T00:29:12.636-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webmaster</category><title>Tutorial de CGI</title><description>INTRODUCCIÓN&lt;br /&gt;&lt;br /&gt;El CGI (Common Gateway Interface) es un estandar para comunicar aplicaciones externas con los servidores de información, tales como servidores HTTP o Web. Un documento en HTML que el daemon del Web se trae es estático, es decir, se mantiene constante: un fichero de texto que no cambia. Un programa CGI, por otro lado es ejecutado en tiempo real, así que puede generar información dinámica.&lt;br /&gt;&lt;br /&gt;Por ejemplo, supongamos que quieres enganchar tu base de datos de Unix al WWW, para permitir a gente de todo el mundo consultarla. Básicamente se necesitará un programa CGI que el daemon del Web ejecutará para transmitir la información al gestor de base de datos, y recibir los resultados para presentarselos al cliente. Este es un ejemplo de pasarela (gateway), y es lo que CGI, actualmente en su versión 1.1, tiene en sus orígenes.&lt;br /&gt;&lt;br /&gt;El ejemplo de la base de datos es una idea sencilla, pero la mayoría de las veces dificil de implementar. Realmente no hay límite con lo que tu quieras enganchar al Web. La íunica cosa que debes recordar es que haga lo que haga tu progrma CGI, no deberá tardar mucho tiempo en procesar. De otra manera, el usuario estaría esperando con su navegador a que algo pase.&lt;br /&gt;&lt;br /&gt;Especificaciones&lt;br /&gt;&lt;br /&gt;Como un programa CGI es un ejecutable, es equivalente a dejar a el mundo ejecutar un programa en tu sistema, que no es lo mas seguro a hacer. Por ello existen una serie de precauciones de seguridad que son necesarias de implementar cuando se usan programas CGI. Probablemente la que afectará al usuario típico del Web, es que hecho de que los programas CGI necesitan residir en un directorio especial, así el servidor sabe que tiene que ejecutarlo, en vez de simplemente mostrarlo por pantalla. Este directorio está generalmente bajo el control del webmaster, prohibiendo al usuario medio crear programas CGI. Hay otros métodos para permitir el accesos a scripts CGI, pero depende del webmaster que se te de esta posibilidad. Así que deberás contactar con tu webmaster para consultar la factibilidad de permitirte un acceso a los CGI.&lt;br /&gt;&lt;br /&gt;Si dispones de una versión del servidor HTTPd NCSA, verás un directorio denominado /cgi-bin. Este es el directorio especial antes mencionado, donde todos los programas CGI residen. Un programa CGI se puede escribir en cualquier lenguaje que permita ser ejecutado en el sistema, como:&lt;br /&gt;&lt;br /&gt;C/C++&lt;br /&gt;Fortran&lt;br /&gt;PERL&lt;br /&gt;TCL&lt;br /&gt;Algún Shell de Unix&lt;br /&gt;Visual Basic&lt;br /&gt;AppleScript&lt;br /&gt;&lt;br /&gt;Simplemente depende de lo que tengas en tu sistema. Si usas un lenguaje de programación como C o Fortran, como ya sabrás, debes compilar el programa antes de poder ejecutarlo. Si miras en el directorio /cgi-src, encontrarás el código fuente de algunos programas CGI del directorio /cgi-bin. Pero, si usas alguno de los lenguajes interpretados, como PERL, TCL, o un shell de Unix, el script simplemente necesita residir en el directorio /cgi-bin, ya que no tiene un código fuente asociado. Mucha gente prefiere escribir scripts CGI en vez de programas, ya que son más fáciles de depurar, modificar y mantener que un programa típico compilado.&lt;br /&gt;&lt;br /&gt;¿Qué es el directorio cgi-bin?&lt;br /&gt;&lt;br /&gt;Este es un directorio especial, que contiene los scripts, configurado dentro del servidor http. El servidor conoce que este directorio contiene ejecutables que deberán ser ejecutados y su salida deberá ser enviada al navegador del cliente. No se puede simplemente crear un directorio cgi-bin, el administrador del servidor deberá configurarlo para su uso. Si no está configurado, los scripst serán cargados como simples ficheros de texto.&lt;br /&gt;&lt;br /&gt;Algunos servidores están configurados de tal manera que los ficheros con una determinada extensión (generalmente .cgi) son reconocidos como scripts y serán ejecutados como si estuvieran en un directorio cgi-bin.&lt;br /&gt;&lt;br /&gt;Nota: No deberemos confundirlo con html analizado (generalmente .shtml)&lt;br /&gt;&lt;br /&gt;La configuración de los directorios, o de la extensión mencionada antes, depende únicamente del servidor. Comprueba la documentación sobre tu servidor, o pregunta a otro usuario que también lo use.&lt;br /&gt;&lt;br /&gt;¿Qué parte es Perl, y qué parte es html?&lt;br /&gt;&lt;br /&gt;El formulario que se presenta al usuario está escrito en html, y este llama al script en el servidor escrito en perl . El script devolverá en la mayoría de los casos código html para presentar al usuario.&lt;br /&gt;&lt;br /&gt;VARIABLES DE ENTORNO EN CGI&lt;br /&gt;&lt;br /&gt;El servidor usa tanto de líneas de comando, como variables de entorno para pasar los datos del servidor al script.&lt;br /&gt;&lt;br /&gt;Estas variables de entorno se activan cuando el programa ejecuta el programa cgi.&lt;br /&gt;&lt;br /&gt;Especificación&lt;br /&gt;&lt;br /&gt;Las siguientes variables no dependen de la información enviada y son activadas en todos los casos:&lt;br /&gt;&lt;br /&gt;SERVER_SOFTWARE&lt;br /&gt;&lt;br /&gt;Devuelve el nombre y la versión del software del servidor de información que contesta la petición de usuario (y ejecuta el programa cgi). Formato: nombre/versión.&lt;br /&gt;&lt;br /&gt;SERVER_NAME&lt;br /&gt;&lt;br /&gt;Devuelve nombre de host del servidor, el alias DNS, o la dirección IP como aparecería en las URL autoreferenciadas.&lt;br /&gt;&lt;br /&gt;GATEWAY_INTERFACE&lt;br /&gt;&lt;br /&gt;Devuelve la revisión de la especificación CGI con que el servidor puede trabajar. Formato: CGI/revisión.&lt;br /&gt;&lt;br /&gt;Las siguientes variables de entorno son específicas de la petición de usuario, y es el programa del gateway el que las da el valor:&lt;br /&gt;&lt;br /&gt;SERVER_PROTOCOL&lt;br /&gt;&lt;br /&gt;Da el nombre y revisión del protocolo de información con el que la peticion de usuario viene. Formato: protocolo/revisión. SERVER_PORT&lt;br /&gt;&lt;br /&gt;Devuelve el número de puerto por el cual fue enviada la petición.&lt;br /&gt;&lt;br /&gt;REQUEST_METHOD&lt;br /&gt;&lt;br /&gt;Devuelve el método por el cual la petición fue enviada. Para HTTP serán "GET", "HEAD", "POST", etc.&lt;br /&gt;&lt;br /&gt;PATH_INFO&lt;br /&gt;&lt;br /&gt;La información extra sobre el path, tal como es dada por el cliente. En otras palabras, podemos acceder a los scripts por su pathname virtual, seguido de alguna información extra. Esa información extra es enviada como PATH_INFO. La información será decodificada por el servidor si viene de una URL antes de pasarla al script CGI.&lt;br /&gt;&lt;br /&gt;PATH_TRANSLATED&lt;br /&gt;&lt;br /&gt;El servidor proporciona una versión traducida del PATH_INFO, que transforma el path virtual al físico.&lt;br /&gt;&lt;br /&gt;SCRIPT_NAME&lt;br /&gt;&lt;br /&gt;Path virtual al script que va a ejecutar, usado para autoreferenciar URL.&lt;br /&gt;&lt;br /&gt;QUERY_STRING&lt;br /&gt;&lt;br /&gt;La información que sigue al signo ‘?’ en la URL que referencia al script. Es la información de la pregunta. No deberá ser decodificada de ningún modo. Esta variable será activada cuando hay una petición de información, sin hacer caso de la decodificación de la línea de comandos.&lt;br /&gt;&lt;br /&gt;REMOTE_HOST&lt;br /&gt;&lt;br /&gt;El nombre de host que realiza la petición. Si el servidor no posee esta información activará REMOTE_ADDR y dejará esta desactivada.&lt;br /&gt;&lt;br /&gt;REMOTE_ADDR&lt;br /&gt;&lt;br /&gt;La dirección IP del host remoto que realiza la petición.&lt;br /&gt;&lt;br /&gt;AUTH_TYPE&lt;br /&gt;&lt;br /&gt;Si el servidor soporta autentificación de usuario , y el script está protegido, esta es el método de autentificación específico del protocolo para validar el usuario.&lt;br /&gt;&lt;br /&gt;REMOTE_USER&lt;br /&gt;&lt;br /&gt;Si el servidor soporta autentificación de usuario , y el script está protegido, este será el nombre de usuario con el que se ha autentificado.&lt;br /&gt;&lt;br /&gt;REMOTE_IDENT&lt;br /&gt;&lt;br /&gt;Si el servidor HTTP soporta autentificación RFC 931 , entonces está variable se activará con el nombre del usuario remoto obtenido por el servidor. Esta varible solo se utilizará durante el login.&lt;br /&gt;&lt;br /&gt;CONTENT_TYPE&lt;br /&gt;&lt;br /&gt;Para peticiones que tienen información añadida, como HTTP POST y PUT, este será el tipo de datos contenido.&lt;br /&gt;&lt;br /&gt;CONTENT_LENGTH&lt;br /&gt;&lt;br /&gt;La longitud del contenido tal como es dado por el cliente.&lt;br /&gt;&lt;br /&gt;Además, las líneas de la cabecera recibidas por el cliente, si las hay, son colocadas en el entorno con el prefijo HTTP_ seguido del nombre de la cabecera. Cada carácter de el nombre de la cabecera se cambia por caracteres _. El servidor puede excluir algunos caracteres que ya haya procesado, como la autorización.&lt;br /&gt;&lt;br /&gt;El tipo de contenido y la longitud de este, pueden ver suprimidas sus cabeceras si al incluirlos se excede el límite de entorno del sistema. Un ejemplo de esto es la variable HTTP_ACCEPT que se definió en CGI/1.0. Otro ejemplo es la cabecera USER_AGENT.&lt;br /&gt;&lt;br /&gt;HTTP_ACCEPT&lt;br /&gt;&lt;br /&gt;Los tipos MIME que el cliente aceptará, como son dados por las cabeceras HTTP. Otros protocolos pueden ser necesarios para obtener esa información de algún otro lugar. Cada elemento de esta lista deberá estar separado por comas por la especificación HTTP.&lt;br /&gt;&lt;br /&gt;Formato: tipo/subtipo, tipo/subtipo&lt;br /&gt;&lt;br /&gt;HTTP_USER_AGENT&lt;br /&gt;&lt;br /&gt;El navegador que el cliente usa para mandar la petición.&lt;br /&gt;&lt;br /&gt;Formato general: software/versión librería/versión.&lt;br /&gt;&lt;br /&gt;LEYENDO EL FORMULARIO DE ENTRADA DE USUARIO&lt;br /&gt;&lt;br /&gt;Cuando el usuario envía el formulario, el script recibe los datos como pares nombre-valor. Los nombres son lo que definimos en las etiquetas INPUT (o las etiquetas SELECT o TEXTAREA), y los valores aquello que el usuario haya escrito o seleccionado. (Los usuarios también pueden enviar ficheros con los formularios, pero no nos ocuparemos de ello.)&lt;br /&gt;&lt;br /&gt;Estos pares nombre-valor llegan como una larga cadena que necesitamos formatear. No es muy complicado, hay una gran cantidad de rutinas que lo hacen por tí. En el directorio CGI de Yahoo encontrarás unas cuantas en varios lenguajes.&lt;br /&gt;&lt;br /&gt;Si aun así prefiere hacerlo usted mismo, aquí esta el formato de la cadena:&lt;br /&gt;&lt;br /&gt;“nombre1=valor1&amp;nombre2=valor2&amp;nombre3=valor3”&lt;br /&gt;Así que sólo hay que dividir donde están los signos ‘&amp;’ y ‘=’, y luego hacer dos cosas a cada nombre y valor:&lt;br /&gt;1.Convertir todos los signos ‘+’ a espacios.&lt;br /&gt;2.Convertir todas las secuencias ‘%xx’ al valor del carácter cuyo valor ASCII sea ‘xx’ en hexadecimal. Por ejemplo convertir ‘%3d’ a ‘=’.&lt;br /&gt;&lt;br /&gt;Esto se hace necesario porque la larga cadena original esta codificada según el código URL, para permitir los signos ‘&amp;’, ‘=’, y todo lo que el usuario introduzca.&lt;br /&gt;&lt;br /&gt;Pero, ¿de donde se obtiene la cadena de entrada? Esto dependerá del método por el cual el formulario haya sido enviado:&lt;br /&gt;&lt;br /&gt;Para los envíos con GET, será la variable de entorno QUERY_STRING.&lt;br /&gt;&lt;br /&gt;Para los envíos con POST, habrá que leer del STDIN. El número exacto de bytes a leer estará en la variable de entorno CONTENT_LENGTH.&lt;br /&gt;&lt;br /&gt;DEVOLVIENDO LA RESPUESTA AL USUARIO&lt;br /&gt;&lt;br /&gt;Primero, escribir la linea&lt;br /&gt;&lt;br /&gt;Content-Type: text/html&lt;br /&gt;más otra línea en blanco en el STDOUT. Después, escribiremos nuestra pagina de respuesta en HTML al STDOUT, y será enviada al usuario cuando el script esté ejecutado.&lt;br /&gt;&lt;br /&gt;Sí, estamos generando código en HTML en tiempo real. No es difícil, si no más bien directo. El código HTML fue diseñado lo suficientemente simple para poder ser generado por este método.&lt;br /&gt;&lt;br /&gt;GUARDANDO LA ENTRADA DEL USUARIO EN UN ARCHIVO&lt;br /&gt;&lt;br /&gt;En este apartado vamos a guardar los datos escritos por el usuario en un archivo para poder recuperarlos posteriormente. Como ejemplo utilizaremos un formulario para enviar chistes. Este formulario obtendrá la siguiente información y lo guardará en las variables indicadas entre paréntesis:&lt;br /&gt;&lt;br /&gt;Nombre del Usuario (nombre)&lt;br /&gt;&lt;br /&gt;Un Chiste (chiste)&lt;br /&gt;&lt;br /&gt;Para ello creamos un formulario simple con el siguiente código:&lt;br /&gt;&lt;br /&gt;&lt; f o r m method="POST" action="http://www.uva.es/cgi-bin/chiste-envio.pl"&gt;&lt;br /&gt;&lt; P &gt; Tu nombre: &lt; i n p u t name="nombre" size="20"&gt;&lt; / P &gt;&lt;br /&gt;&lt; P &gt;El chiste: &lt; t e x t a r e a cols=60 rows=5 name="chiste"&gt;&lt; / t e x t a r e a &gt;&lt; / P &gt;&lt;br /&gt;&lt; P &gt; &lt; i n p u t type="submit" value="Enviar"&gt;&lt; B R &gt;&lt;br /&gt;&lt; i n p u t type="reset" value="Borrars"&gt;&lt; / P &gt;&lt;br /&gt;&lt; / f o r m &gt;&lt;br /&gt;&lt;br /&gt;Nuestro programa colocará está información para que la podamos dar el visto bueno. El programa devolverá una nota al usuario indicándole que su envío será revisado más tarde.&lt;br /&gt;&lt;br /&gt;Por consistencia , llamaremos a este script chiste-envio.pl.&lt;br /&gt;&lt;br /&gt;Necesitamos iniciar y comentar nuestro script. Utilizaremos la librería cgi-lib.pl de Steve Brenner’s para facilitar la entrada de formularios.&lt;br /&gt;&lt;br /&gt;Seguiremos con el script que coja la entrada y devuelva e siguiente mensaje:&lt;br /&gt;&lt;br /&gt;Gracias _nombre_, tu envío será revisado en breve.&lt;br /&gt;&lt;br /&gt;El script que realiza esto es el siguiente:&lt;br /&gt;&lt;br /&gt;#!/usr/local/bin/perl&lt;br /&gt;# chiste-envio.pl&lt;br /&gt;# Por Javier Pérez Delgado (jperez@ctv.es)&lt;br /&gt;#&lt;br /&gt;# Este script añade el chiste al archivo de chistes.&lt;br /&gt;# Devuelve una nota al usuario, indicando que su chiste será revisado.&lt;br /&gt;&lt;br /&gt;push(@INC,"/p/www/httpd/cgi-bin/");&lt;br /&gt;require("cgi-lib.pl");&lt;br /&gt;&amp;ReadParse;&lt;br /&gt;print &amp;PrintHeader;&lt;br /&gt;print "&lt; H T M L &gt; &lt; H E A D &gt;\n";&lt;br /&gt;print "&lt; T I T L E &gt;Reconocimiento de chiste&lt; / T I T L E&gt;\n";&lt;br /&gt;print "&lt; / H E A D&gt;&lt; B O D Y&gt;\n";&lt;br /&gt;print "Gracias ",$in{'nombre'},",Tu envío será revisado lo antes posible. .&lt; P &gt;\n ";&lt;br /&gt;print "&lt; / B O D Y &gt;&lt; / H T M L &gt;\n";&lt;br /&gt;&lt;br /&gt;Ahora al tema central, añadir a un archivo. Para hacerlo necesitamos un archivo con permiso de escritura para el daemon http. La creación de este archivo variará entre distintos sistemas, y necesitaras consultar a tu webmaster. En este caso usaremos el archivo:&lt;br /&gt;&lt;br /&gt;/users/jperez/www/tutor/chiste.txt&lt;br /&gt;&lt;br /&gt;Para abrir el fichero para añadir al final usaremos el comando de perl para abrir ficheros, que tiene la siguiente sintaxis:&lt;br /&gt;&lt;br /&gt;open(FILEHANDLE,"&gt;&gt;nombrearchivo");&lt;br /&gt;&lt;br /&gt;FILEHANDLE es como llamaremos al archivo mientras esté abierto. Es similar a una variable. Nombrearchivo es el archivo a abrir. Los signos ‘mayor’ (&gt;&gt;) son importantes, y como en el shell indican ‘añadir a un fichero’.&lt;br /&gt;&lt;br /&gt;Así la orden de apertura quedará así:&lt;br /&gt;&lt;br /&gt;open(CHISTE,"&gt;&gt;/users/jperez/www/tutor/chiste.txt");&lt;br /&gt;&lt;br /&gt;Nota: Es aconsejable usar letras mayúsculas para FILEHANDLE para ayudar a distinguirlo de las variables.&lt;br /&gt;&lt;br /&gt;Escribir a un fichero es idéntico a como hicimos previamente. La única diferencia es que el FILEHANDLE es el primer argumento de la sentencia print, y está separado de lo que será imprimido por un espacio. Por ejemplo para escribir la linea “Las rosas son rojas” al FILEHANDLE CHISTE, escribiremos:&lt;br /&gt;&lt;br /&gt;print CHISTE "Las rosas son rojas\n";&lt;br /&gt;&lt;br /&gt;Escribir variables se realiza de la misma manera:&lt;br /&gt;&lt;br /&gt;print CHISTE "Las rosas son ",$in{'colorrosas'},"\n";&lt;br /&gt;&lt;br /&gt;El código para nuestro ejemplo necesitará escribir al archivo:&lt;br /&gt;&lt;br /&gt;1. El nombre del usuario precedido con la cadena “Nombre:”&lt;br /&gt;2. Una línea en blanco.&lt;br /&gt;3. El chiste enviado.&lt;br /&gt;4. Una línea con 50 guiones.&lt;br /&gt;&lt;br /&gt;El código es el siguiente:&lt;br /&gt;&lt;br /&gt;print CHISTE "Nombre: ",$in{'nombre'},"\n";&lt;br /&gt;print CHISTE "\n";&lt;br /&gt;print CHISTE $in{'chiste'},"\n";&lt;br /&gt;print CHISTE "--------------------------------------------------\n";&lt;br /&gt;&lt;br /&gt;Ahora solo nos queda cerrar el fichero, y esto lo hacemos con el comando:&lt;br /&gt;&lt;br /&gt;close FILEHANDLE;&lt;br /&gt;&lt;br /&gt;DEVOLVIENDO UNA PÁGINA QUE NO HEMOS GENERADO&lt;br /&gt;&lt;br /&gt;En este apartado crearemos un libro de visitas sencillito. Durante el proceso de realización, haremos bastantes cosas de forma ordenada.&lt;br /&gt;&lt;br /&gt;Devolveremos una página html que nosotros no habremos creado en tiempo real. Esto se hace principalmente para demostrar la directiva de localización.&lt;br /&gt;&lt;br /&gt;Hay que verificar que todos los campos tienen una entrada, y que la direción de correo electrónico tiene un símbolo arroba (@).&lt;br /&gt;&lt;br /&gt;Editar un documento html con un script, insertando información en el medio.&lt;br /&gt;&lt;br /&gt;Vamos a empezar creando un formulario que coja la siguiente información en las variables indicadas entre paréntesis.&lt;br /&gt;&lt;br /&gt;Nombre (nombre)&lt;br /&gt;&lt;br /&gt;email (email)&lt;br /&gt;&lt;br /&gt;comentarios (comentarios)&lt;br /&gt;&lt;br /&gt;Colocamos un comentario en HTML que contenga la cadena "INSERTAR AQUÍ" en el formulario donde vayamos a insertar las nuevas entradas.&lt;br /&gt;&lt;br /&gt;Este formulario llamará al script, guestbook.pl. El formulario guestbook.html será el siguiente:&lt;br /&gt;&lt;br /&gt;&lt; ! D O C T Y P E HTML PUBLIC "-//IETF//DTD HTML//EN"&gt;&lt;br /&gt;&lt; h t m l &gt;&lt;br /&gt;&lt; h e a d &gt;&lt;br /&gt;&lt; t i t l e &gt;Libro de visitas&lt; / t i t l e &gt;&lt;br /&gt;&lt; / h e a d &gt;&lt;br /&gt;&lt; b o d y &gt;&lt;br /&gt;&lt; h 1 &gt;Firma el formulario&lt; / h 1 &gt;&lt;br /&gt;&lt; P &gt;Por favor, rellena todos los campos:&lt; / P &gt;&lt;br /&gt;&lt; h r &gt;&lt;br /&gt;&lt; f o r m m e t h o d=POST action="http://www.ctv.es/cgi-bin/guestbook.pl"&gt;&lt;br /&gt;&lt; P &gt; &lt; i n p u t name="nombre" size="20"&gt;&lt; B R &gt;&lt;br /&gt;Nombre&lt; / P &gt;&lt;br /&gt;&lt; P &gt; &lt; i n p u t name="email" size="20"&gt;&lt; B R &gt;&lt;br /&gt;Dirección e-Mail [Debe tener una arroba @]&lt; / P &gt;&lt;br /&gt;&lt; P &gt; &lt; t e x t a r e a rows=3 cols=70 name="commentarios"&gt;&lt; / t e x t a r e a &gt;&lt; B R &gt;&lt;br /&gt;Comentarios:&lt; / P &gt;&lt;br /&gt;&lt; P &gt;&lt; i n p u t t y p e="submit" value="Añadir tus comentarios"&gt;&lt; B R &gt;&lt;br /&gt;&lt; i n p u t type="reset" value="Borrar formulario"&gt;&lt; / P &gt;&lt;br /&gt;&lt; / f o r m &gt;&lt;br /&gt;&lt; H R &gt;&lt;br /&gt;&lt; ! - -INSERT HERE - - &gt;&lt;br /&gt;&lt; P &gt;Última modificación 21/9/96&lt;br /&gt;&lt; / b o d y &gt;&lt;br /&gt;&lt; / h t m l &gt;&lt;br /&gt;&lt;br /&gt;Como se puede ver, los nombres serán añadidos al final del formulario.&lt;br /&gt;&lt;br /&gt;Estos son los pasos para realizar nuestra tarea:&lt;br /&gt;&lt;br /&gt;1. Verificar la entrada, devolviendo un mensaje de error si hay un problema.&lt;br /&gt;2. Uraremos un bloqueo de archivo denominado ‘del pobre’. Creando un nuevo archivo denominado. Si este archivo existe el programa se detendrá durante un segundo y lo volverá a intentar.&lt;br /&gt;3. Abriremos y leeremos el archivo del libro de firmas actual: guestbook.html.&lt;br /&gt;4. Borraremos este archivo, y escribiremos un nuevo fichero que consistirá en la antigua información con toda la nueva en el sitio apropiado. Usaremos el comentario &lt; ! --INSERTAR AQUÍ-- &gt; como marcador donde añadir entradas.&lt;br /&gt;&lt;br /&gt;Nota: Puede ser deseable hacer una copia de seguridad del archivo, antes de borrarlo. No lo hacemos en este ejemplo, pero lo recomiendo en cualquier desarrollo. Se podrá hacer por cualquier método, incluido una llamada al sistema para copiar (cp).&lt;br /&gt;&lt;br /&gt;5. Retornar una directiva de lugar apuntando a una página de agradecimiento que ya hayamos preparado.&lt;br /&gt;&lt;br /&gt;6. Desbloquear borrando el archivo .guestlock.&lt;br /&gt;&lt;br /&gt;Obviamente, este no es el mejor libro de visitas, pero servirá como un buen ejemplo, y es fácilmente ampliable.&lt;br /&gt;&lt;br /&gt;Empecemos:&lt;br /&gt;&lt;br /&gt;1. Como es habitual nuestro script deberá empezar con una llamada al Perl, los comentarios apropiados, y una llamada a la rutina ReadParse. No lo detallaremos aquí, ya que se hizo anteriormente.&lt;br /&gt;&lt;br /&gt;2. Para empezar debemos verificar los datos de entrada. Nos queremos asegurar de que no hay campos en blanco, y de que la dirección e-Mail contiene una arroba (@). Para ventaja nuestra, las cadenas nos vienen dadas sin los espacios en blanco, justo igual que los navegadores cuando presentan páginas html. Esto significa que solo debemos comprobar que ninguna de las cadenas es igual a la cadena vacía, “”. En perl, como en muchos lenguajes, las cadenas se comparan de manera diferente a los números. Usaremos ‘eq’ para comprobar la igualdad de cadenas, y el signo ‘==’ para comprobar la igualdad de números. Usearemos ‘ne’ y ‘!=’ respectivamente para las comparaciones ‘no igual’.&lt;br /&gt;&lt;br /&gt;Podemos hacerlo de la siguiente manera:&lt;br /&gt;&lt;br /&gt;if ($in{'nombre'} eq "") {&lt;br /&gt;# Hay una cadena vacía, devolver mensaje de error&lt;br /&gt;# salimos al final del script ahora, tenemos un error&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Como podrás adivinar, Ahora no ponemos el código para devolver el mensaje de error, en el ejemplo de arriba. Aún así muestra lo facil que es comprobar que un campo está vacío.&lt;br /&gt;&lt;br /&gt;Nota: Los paréntesis () y las llaves ({}) son importantes. Los paréntesis contienen lo que se está comprobando como verdadero o falso, y las llaves contienen las sentencias a ejecutar si es verdadero.&lt;br /&gt;&lt;br /&gt;Como vamos a realizar varias comprobaciones de cadenas vacías, y vamos a devolver el mismo error para todas ellas, podemos incluirlas en la misma sentencia if-then uniéndolas por OR logicos ||, en perl. El OR significa que alguna de las comprobaciones tienen que ser verdad, para que toda la sentencia sea cierta.&lt;br /&gt;&lt;br /&gt;Un ejemplo de comprobar si tres variables no están vacias podría ser este:&lt;br /&gt;&lt;br /&gt;if (($in{'nombre'} eq "") || ($in{'email'} eq "") || ($in{'comentarios'} eq "")) {&lt;br /&gt;# algun campo está en blanco, devolver mensaje de error&lt;br /&gt;# salimos al final del script ahora, tenemos un error&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;De nuevo he omitido, el codigo del mensaje de error, ya que es sencillo construir un pequeña tabla con los codigos para devolver un código de error útil para el usuario. El código que he elegido para hacerlo aparece más tarde en el código final de guestbook.pl.&lt;br /&gt;&lt;br /&gt;La última verificación que necesitamos realizar es comprobar que la dirección eMail del usuario contiene un signo (@). Lo realizaremos fácilmente con las potentes expresiones regulares que el perl proporciona.&lt;br /&gt;&lt;br /&gt;Una expresion regular sencilla para chequear esto sería /\w*@\w*/. Simplemente describe una situación donde una palabra aparece delante y detras de un símbolo @. Las expresiones regulares son una herramienta extremadamente potente, pero no entran dentro del dominio de esta lección.&lt;br /&gt;&lt;br /&gt;Para llevar a cabo la comprobación de que la expresión se cumple, simplemente comparamos. Funcionará como las comparaciones normales, pero usando el símbolo ‘=~’ para igualdad y el símbolo ‘!~’ para desigualdad. La expresión regular podría codificarse así:&lt;br /&gt;&lt;br /&gt;if ($in{'email'} !~ /\w*@\w*/) {&lt;br /&gt;# La expresión regular no es igual, devolver mensaje de error.&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;De nuevo, he omitido el mensaje de error para este código.&lt;br /&gt;&lt;br /&gt;3. Ahora comprobaremos la existencia de nuestro archivo de bloqueo. Si existe, nos detendremos por un segundo para un segundo intento. Si no existe deberemos crearlo, bloqueando de este modo el archivo. Para hacerlo necesitaremos un bucle continuo sobre una sentencia if-then-else que compruebe la existencia del archivo, y que terminará cuando hayamos añadido la entrada.&lt;br /&gt;&lt;br /&gt;Para el bucle en perl usaremos la sentencia while. Esta sentencia ejecuta repetidamente lo que está entre llaves hasta que la condición entre paréntesis es falsa. Un ejemplo para clarificarlo:&lt;br /&gt;&lt;br /&gt;while (condición) {&lt;br /&gt;# Codigo a ejecutar mientras la condición sea cierta&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Las condiciones son del mismo tipo de las que pondríamos en una sentencia if-then. Vamos a usar de hecho una sentencia if-then con la clausula else en este bucle. Como ya sabemos las sentencias if-then-else ejecuta el then cuando la condición es cierta y el else cuando es falsa.&lt;br /&gt;&lt;br /&gt;if (condición) {&lt;br /&gt;# Código a ejecutar si la condición es CIERTA&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;# Código a ejecutar si la condición es FALSA&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Para comprobar la exiastencia de un archivo, usaremos el operador ‘-e’ del nombre del archivo. No se debe olvidar que el archivo de bloqueo debe estar en un lugar donde el httpd pueda escribir. En este caso lo colocaremos en el directorio users/jperez/www/tutor/. Si el fichero existe, nos dentendremos durante un segundo, y lo volveremos a intentar. El lenguaje perl tiene un comando de espera con la forma:&lt;br /&gt;&lt;br /&gt;sleep(# segundos).&lt;br /&gt;&lt;br /&gt;Aquí tenemos como debemos realizar el chequeo, con el comando de espera. Todo ello queda incluido en un bucle while que comprueba que la variable quitar vale 1 antes de salir.&lt;br /&gt;&lt;br /&gt;$quitar = 0;&lt;br /&gt;while ($quitar != 1) {&lt;br /&gt;if (-e "/users/jperez/www/tutor/.guestlock") {&lt;br /&gt;# El archivo existe. Esperaremos un segundo&lt;br /&gt;sleep(1);&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;# El archivo no existe, haremos el trabajo para añadir la entrada.&lt;br /&gt;# Aquí deberemos dar a $quitar valor 1.&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Para crear el archivo de bloqueo, simplemente deberemos abrir y cerrar el archivo. Así crearemos un archivo de 0 bytes de longitud, que servirá en nuestro chequeo, y bloqueará otros procesos que la gente pueda realizar en ese momento, hasta que este haya acabado. Para ello esaremos un trozo de código que aquí se detalla:&lt;br /&gt;&lt;br /&gt;open(LOCK,"&gt;/users/jperez/www/tutor//.guestlock");&lt;br /&gt;close LOCK;&lt;br /&gt;&lt;br /&gt;4. Ahora tnemos un bloqueador del fichero. Ahora deberemos abrir y leer todos los contenisdos del guestbook.html. Esto se hace fácilmente abriendo el archivo para lectura. En el comando open antes empleado usaremos el símbolo (&lt;) donde antes usamos (&gt;&gt;). El resultado será:&lt;br /&gt;&lt;br /&gt;open(FILEHANDLE,"&lt; nombrefichero " ) ;&lt;br /&gt;El código será::&lt;br /&gt;open(GB,"&lt; users / jperez/www/tutor/guestbook.html" ) ;&lt;br /&gt;Leer del fichero es igual de fácil. Perl perimite usar el FILEHANDLE entre los símbolos (&lt;&gt;) para sustituir a la próxima línea del fichero.&lt;br /&gt;Así pues, podemos poner algo como esto:&lt;br /&gt;$linea = &lt; G B &gt; ;&lt;br /&gt;&lt;br /&gt;Así leeremos una línea del fichero apuntado por GB, y avanzará el puntero a la siguiente línea automáticamente. Esto significa que la siguiente sentencia como esta leerá la siguiente línea. Podremos leer el archivo entero en un bucle, saliendo solo cuando no quede nada más,. Pero hay un modo más fácil, podemos usar un vector. Un vector es una variable, con mucha información que puede ser accedida individualmente. Ya hemos usado arrays asociativos en la construcción $in{'variable'}. Recuerda que se tiene el elemento etiquetado como variable en el vector asociativo $in. Usaremos un vector ordenado numericamente. Esto significa que la información es almacenada en el vector en el orden en la que la ponemos, y podemos referenciar el elemento n-ésimo elemento añadido, donde n es un número cualquiera. Estos vectores son referenciados con el signo @, y se usan de manera similar a los vectores asociativos cuando queremos recuperar un solo elemento de él. El siguiente ejemplo lo explica:&lt;br /&gt;&lt;br /&gt;@pepe # Este es el vector pepe entero, con todos sus elementos&lt;br /&gt;$pepe[4] # El el quinto elemento del vector pepe. Notar que&lt;br /&gt;# se empieza a contar desde 0, y que por tanto:&lt;br /&gt;$pepe[0] # es el primer elemento del vector. (Igual que en el lenguaje C)&lt;br /&gt;&lt;br /&gt;Perl proporciona un modo rápido para llenar un vector con el contenido de un archivo. Podemos usar la sentencia @vector = . Se leerá cada linea del fichero apuntado por FILEHANDLE, y seran colocados secuencialmente en el vector. Para leer el libro de visitas entero, deberemos usar:&lt;br /&gt;&lt;br /&gt;@lineas = &lt; G B &gt; ;&lt;br /&gt;&lt;br /&gt;No debemos olvidarnos de cerrar el fichero:&lt;br /&gt;&lt;br /&gt;close GB;&lt;br /&gt;&lt;br /&gt;5.Vaciar el archivo es muy sencillo. Simplemente debemos reabrirlo para escritura sin añadir. Esto significa usar un ‘&gt;’ en vez de dos. Una vez hecho esto debemos imprimir cada línea del fichero, sustituyendo lo que el usuario escribió justo delante del marcador.&lt;br /&gt;&lt;br /&gt;Para llevar a cabo la sustitución usaremos la función s/oldpattern/newpattern/, que reemplaza el patrón antiguo con el nuevo. La buena noticia es que modemos usar metacaracteres como \n para reemplazar varias líneas. Para que esto afecte a una variable que contiene una cadena usaremos un operador. La sentencia quedará así:&lt;br /&gt;&lt;br /&gt;$linea =~ s/oldpattern/newpattern/&lt;br /&gt;&lt;br /&gt;Realmente haremos una sustitución en los comentarios, para convertir las nuevas líneas en comandos&lt;br /&gt;, de manera que las líneas queden tal y como el visitante las escribió. Para hacerlo pondremos:&lt;br /&gt;&lt;br /&gt;$in{'comentarios'} =~ s/\n/&lt; B R &gt;\n/go;&lt;br /&gt;&lt;br /&gt;La g que va detrás del patrón significa que se hará esto para cada línea en la variable, la o significa compilar esta expresión regular de manea que concuerde más rápido. Es bueno hacerlo.&lt;br /&gt;&lt;br /&gt;Para realizar la sustitución y añadir los comentarios del usuario para cada línea del vector, usaremos uin bucle foreach. Esto significa para cada elemento de la lista, coloca el elemento en la variable_de_bucle, y ejecuta las sentencias que están entre las llaves ({}). Esto sería:&lt;br /&gt;&lt;br /&gt;foreach $variable_de_bucle (lista) {&lt;br /&gt;#cosas a hacer&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Queremos insertar el nombre de la persona con su dirección e-Mail entre paréntesis, seguido de sus comentarios. Esto lo incluiremos en un parrafo HTML, seguido de un comando &lt; H R &gt; . No tenemos que olvidarnos de incluir un nuevo marcador &lt; ! - - INSERTAR AQUÍ - -! &gt;. Lo pondremos primero así las nuevas entradas serán añadidas al principio de la página. Mi codigo será:&lt;br /&gt;&lt;br /&gt;open(GB,"&gt;/users/jperez/www/tutor/guestbook.html");&lt;br /&gt;foreach $linea (@lineas) {&lt;br /&gt;$linea=~ s/&lt; ! - - INSERTAR AQUÍ - - &gt; / &lt; ! - - INSERTAR AQUÍ- - &gt;\n &lt; P &gt; Nombre: $in{'nombre'}($in{'email'})&lt; B R &gt;\nComentarios:&lt; B R &gt;\n$in{'comentarios'}&lt;\/P&gt;\n&lt; H R &gt;\n/o;&lt;br /&gt;print GB $linea;&lt;br /&gt;}&lt;br /&gt;close GB;&lt;br /&gt;&lt;br /&gt;6. Ahora que hemos reescrito el archivo, debemos desbloquearlo, borrando el archivo .guestlock. Es sencillo, ya que perl tiene un buncion borrar:&lt;br /&gt;&lt;br /&gt;unlink(lista of ficheros);&lt;br /&gt;Así tendremos que poner:&lt;br /&gt;unlink("/users/jperez/www/tutor/.guestlock");&lt;br /&gt;&lt;br /&gt;7. El ultimo paso es apuntar a mi página de agradecimiento. Y poner la variable $quitar = 1;. HTTP nos permite hacer esto fácilmente con la directiva de localización. Simplemente devolvemos la línea:&lt;br /&gt;&lt;br /&gt;Location: url&lt;br /&gt;Instead of:&lt;br /&gt;Content-Type: text/html&lt;br /&gt;&lt;br /&gt;Esto lo resolvemos con la siguiente sentencia print:&lt;br /&gt;&lt;br /&gt;print "Location: http://www.ctv.es/users/jperez/www/tutor/agradecimiento.html\n\n";&lt;br /&gt;&lt;br /&gt;La nueva segunda línea es significativa. Los códigos de retorno Mime, de los cuales la localización es uno de ellos, requiere dos nuevas lineas siguiéndolo para trazar el fin del código de retorno. Olvidar la nueva segunda línea provocará un daño irrecuperable.&lt;br /&gt;&lt;br /&gt;Poner la variable ‘quitar’ a 1 es trivial:&lt;br /&gt;&lt;br /&gt;$quitar = 1;&lt;br /&gt;&lt;br /&gt;El código final para el archivo guestbook.pl será:&lt;br /&gt;&lt;br /&gt;#!/usr/local/bin/perl&lt;br /&gt;# Por Javier Pérez Delgado (jperez@ctv.es) 6-9-96&lt;br /&gt;#&lt;br /&gt;# guestbook.pl&lt;br /&gt;# Procesa las entradas a un libro de firmas&lt;br /&gt;#&lt;br /&gt;#Usaremos la librería cgi-lib.pl para manejar la entrada&lt;br /&gt;push(@INC,"/p/www/httpd/cgi-bin");&lt;br /&gt;require("cgi-lib.pl");&lt;br /&gt;&amp;ReadParse;&lt;br /&gt;if (($in{'nombre'} eq "") || ($in{'email'} eq "") || ($in{'comentarios'} eq "")) {&lt;br /&gt;# algún campo en blanco, devolver mensaje de error&lt;br /&gt;print &amp;PrintHeader;&lt;br /&gt;print "&lt; H T M L &gt;\n"; print "&lt; H E A D &gt;\n";&lt;br /&gt;print "&lt; T I T L E &gt;Mensaje de error&lt; / T I T L E &gt;\n";&lt;br /&gt;print "&lt; / H E A D &gt;\n";&lt;br /&gt;print "&lt; B O D Y &gt;\n";&lt;br /&gt;print "\n";&lt;br /&gt;print "&lt; H 1 &gt;Ha ocurrido un error&lt; / H 1 &gt;\n";&lt;br /&gt;print "\n";&lt;br /&gt;print "&lt; P &gt;No has completado todos los campos Por favor vuelve a intentarlo.&lt; / P &gt;\n";&lt;br /&gt;print "&lt; / B O D Y&gt;\n";&lt;br /&gt;print "&lt; / H T M L &gt;\n";&lt;br /&gt;# llamda para salir del script. Tenemos un error&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;if ($in{'email'} !~ /\w*@\w*/) {&lt;br /&gt;# No es igual a la expresión regular. Enviar mensaje de error&lt;br /&gt;print &amp;PrintHeader;&lt;br /&gt;print "&lt; H T M L &gt;\n";&lt;br /&gt;print "&lt; H E A D &gt;\n";&lt;br /&gt;print "&lt; T I T L E &gt;Mensaje de error\n";&lt;br /&gt;print "&lt; / H E A D &gt;\n";&lt;br /&gt;print "&lt; B O D Y &gt;\n";&lt;br /&gt;print "\n";&lt;br /&gt;print "&lt; H 1 &gt;Ha ocurrido un error&lt; / H 1 &gt;\n";&lt;br /&gt;print "\n";&lt;br /&gt;print "&lt; P &gt;Tu dirección email no contiene una @.&lt; / P &gt;\n";&lt;br /&gt;print "&lt; / B O D Y&gt;\n";&lt;br /&gt;print "&lt; / H T M L &gt;\n";&lt;br /&gt;# llamada para salir ahora del script, tenemos un error&lt;br /&gt;exit;&lt;br /&gt;}&lt;br /&gt;$quitar = 0;&lt;br /&gt;while ($quitar != 1) {&lt;br /&gt;if (-e "/users/jperez/www/tutor/.guestlock") {&lt;br /&gt;# El fichero existe, esperamos un momento&lt;br /&gt;sleep(1);&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;# Creamos el fichero de bloqueo, de manera que el libro de firmas queda bloqueado.&lt;br /&gt;open(LOCK,"&gt;/users/jperez/www/tutor/.guestlock");&lt;br /&gt;close LOCK;&lt;br /&gt;# Abrimos y leemos el antiguo libo de firmas&lt;br /&gt;# Nota: Crear una copia de seguridad no sería una mala idea ...&lt;br /&gt;open(GB,"&lt; / u s e r s / j p e r e z / w w w / t u t o r / g u e s t b o o k . h t m l " ) ;&lt;br /&gt;@lineas = &lt; G B &gt;;&lt;br /&gt;close GB;&lt;br /&gt;# Preparamos los comentarios para html&lt;br /&gt;$in{'comentarios'} =~ s/\n/&lt; B R &gt;\n/go;&lt;br /&gt;# Vaciamos el libro de firmas antiguo, y lo volvemos a imprimir, añadiendo la nueva entrada&lt;br /&gt;open(GB,"&gt;/users/jperez/www/tutor/guestbook.html");&lt;br /&gt;foreach $linea (@lineas) {&lt;br /&gt;$linea =~ s/&lt; ! - - INSERTAR AQUÍ - - &gt;/&lt; ! - - INSERTAR AQUÍ - - &gt;\n&lt; P &gt;Nombre: $in{'nombre'}($in{'email'})&lt; B R &gt;\nComentarios:&lt;br /&gt;\n$in{'comentarios'}&lt;\/P&gt;\n&lt; H R &gt;\n/o; print GB $linea; } close GB; # desbloquear el archivo unlink("/users/jperez/www/tutor/.guestlock"); # Devolver el nuevo libro de firmas, y poner $quitar = 1 print "Location: http://www.ctv.es/users/jperez/www/tutor/thanks.html\n\n"; $quitar = 1; } }&lt;br /&gt;&lt;br /&gt;Nota sobre el bloqueo de archivos:&lt;br /&gt;&lt;br /&gt;El mecanismo de bloqueo de archivos usado arriba, no es perfecto ya que requiere varios pasos para bloquear un archivo. Por ello es posible obtener un bloqueo o desbloqueo falso, aunque es altamanete improbable. Una implementación mejot usara el sistema de ficheros nativo bloqueando, vinculando, o algún otro método atómico. Desconozco si perl simula el bloqueo en sistemas que no implementan el bloqueo de forma nativa. Un método usando vínculos sin comentar sería:&lt;br /&gt;&lt;br /&gt;$quit = 0;&lt;br /&gt;while ($quit != 1) {&lt;br /&gt;/users/jperez/www/tutor/guestbook.html&lt;br /&gt;if (link(/users/jperez/www/tutor/guestbook.html,/users/jperez/www/tutor/.guestlock)) {&lt;br /&gt;# Archivo bloqueado, nos detenemos un momento&lt;br /&gt;sleep(1);&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;# Tenemos un bloqueo, hacemos lo que tengamos que hacer&lt;br /&gt;unlink("/users/jperez/www/tutor/.guestlock");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;SCRIPTS CGI QUE ENVÍAN CORREO&lt;br /&gt;&lt;br /&gt;En este apartado crearemos un script CGI que envíe correo, y devolvera una página que indique que el correo ha sido enviado. Sin embargo, los conceptos serán bastante geneales para permitir que el script pueda ser adaptado a cualquier proyecto donde sea necesario enviár un correo desde un script.&lt;br /&gt;&lt;br /&gt;También veremos brevemente como examinar las areas de texto línea por línea.&lt;br /&gt;&lt;br /&gt;Como siempre, cuando empezamos, necesitaremos un formulario.&lt;br /&gt;&lt;br /&gt;&lt; ! D O C T Y P E H T M L P U B L I C "-//IETF//DTD HTML//EN"&gt;&lt;br /&gt;&lt; h t m l &gt;&lt;br /&gt;&lt; h e a d &gt;&lt;br /&gt;&lt; l i n k r e v = m a d e href="mailto:jperez@ctv.es"&gt;&lt;br /&gt;&lt; t i t l e &gt;Enviar correo desde un script CGI&lt; / t i t l e &gt;&lt;br /&gt;&lt; / h e a d &gt;&lt;br /&gt;&lt; b o d y &gt;&lt;br /&gt;&lt; P &gt;Este formulario encía correo a la dirección de la persona mostrada.&lt; / P &gt;&lt;br /&gt;&lt; f o r m m e t h o d = " P O S T " a c t i o n = "http://www.ctv.es/USERS/cgi-bin/mail.pl"&gt;&lt;br /&gt;&lt; P &gt;Tu dirección: &lt; I N P U T N A M E=" D e " S I Z E=36&gt;&lt; / P &gt;&lt;br /&gt;&lt; P &gt;Tu URL: &lt; I N P U T N A M E="xurl" SIZE=36&gt;&lt; / P &gt;&lt;br /&gt;&lt; P &gt;Subject: &lt; I N P U T N A M E="subject" SIZE=40&gt;&lt; / P &gt;&lt;br /&gt;&lt; P &gt;Mensaje:&lt; / P &gt;&lt;br /&gt;&lt; P &gt;&lt; T E X T A R E A name="body" rows=10 cols=60&gt; &lt; / T E X T A R E A &gt; &lt; / P &gt;&lt;br /&gt;&lt; P &gt; &lt; i n p u t t y p e ="submit" value="Enviar mansaje"&gt;&lt;br /&gt;&lt; i n p u t t y p e="reset" value="Borrar todo"&gt;&lt; / P &gt;&lt;br /&gt;&lt; / F O R M &gt;&lt;br /&gt;&lt; / P &gt;&lt;br /&gt;&lt; / b o d y &gt;&lt;br /&gt;&lt; / h t m l &gt;&lt;br /&gt;&lt;br /&gt;Ahora pasaremos al script. Como siempre deberá empezar con una llamada al perl, algunos comentarios y una llamada a la rutina ReadParse, en la librería cgi-lib.pl. También haremos verificaciones de que el cuerpo del mensaje no está vacío, y de que la dirección contiene una arroba (@). Ya sabemos hacerlo, por que ya lo realizamos en el anterior apartado. Otra validación será para comprobar que de pasan argumentos, lo pondremos porque la gente tiene tendencia a llamar a los scripts de correo sin argumentos (eg: no desde un formulario), no entiendo por qué. Para comprobar que no hay argumentos, simplemente examinaremos si el vector %in que la librería cgi-lib.pl nos devuelve tiene alguna tecla. Recuerda, que ningún argumento, significa que no nos han pasado nada, sin embargo, alguien puede pasar los argumentos en blanco, de aquí las dos comprobaciones. La manera de comprobar los valores de las teclas del vector es usar la función keys(). Esta función espera un array asociativo como argumento. Simplemante comprobaremos que devuelve algo, imprimiendo un mensaje de error si no hay teclas. El código pude ser este:&lt;br /&gt;&lt;br /&gt;if (!keys(%in)) {&lt;br /&gt;# niguna tecla ha sido pasada, imprimir mensaje de error, y si es apropiado salir.&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Date cuenta de que el signo ‘!’ al principio de la llamada a keys(), significa ‘no’ o negación. Quiere decir que si keys() no devuelve nada (falso), sera negado para que sea cierto y el if se ejecute.&lt;br /&gt;&lt;br /&gt;Ahora que hemos validado las entradas, y se pueden realizar más comprobaciones, necesitaremos enviar la carta. Para ello necesitaremos un programa que acepte una carta del stdin. Luego usaremos sendmail en el ejemplo. Si no estás en un entorno Unix, necesitarás otro programa apropiado para hacerlo. Como no conozco otro tipo de sistemas, no puedo hacer ninguna recomendación.&lt;br /&gt;&lt;br /&gt;Usar este programa será similar a escribir en un fichero. Necesitamos abrir el programa para aceptar la entrada, escribir al FILEHANDLE. Abrir un programa que espera entradas por el stdin es bastante fácil em Perl. Además, es muy fácil pasar el argumento de la línea de comandos. En este ejemplo, abriremos sendmail, y diremos que busque en la carta la dirección de destino.&lt;br /&gt;&lt;br /&gt;open(MAIL,"|/usr/lib/sendmail -t");&lt;br /&gt;&lt;br /&gt;Como se puede observar, es igual que una llamada a fichero, pero los símbolos ‘&gt;’ o ‘&lt;’ han sido sustituidos por un ‘|’ (tubería). Esto indica que lo que hay detrás de la tubería es un ejecutable, y que lo que imprimamos en este FILEHANDLE se deberá pasar como entrada a el programa ejecutable.&lt;br /&gt;&lt;br /&gt;Nota: No he comprobado si la operación anterior terminó con éxito, pero deberíamos hacerlo. La manera más sencilla de hacerlo, es apoyarnos en que el comando open devuelve true cuando ha tenido éxito. Solo debemos hacer un OR entre el comando open y otro comando conociendo que ese comando será ejecutado si el open falla. El ejemplo de abajo realiza un OR con el comando die. Este comando imprime un mensaje de error y sale del programa.&lt;br /&gt;&lt;br /&gt;open(MAIL,"|/usr/lib/sendmail -t") || die "La llamada a sendmail ha fallado";&lt;br /&gt;&lt;br /&gt;El imprimir la carta funciona como experamos. Recuerda, sin embargo, que estamos imprimiendo un trozo de e-Mail, por lo que deberemos poner las cabeceras adecuadas, un línea en blanco y el cuerpo del mensage. Puedes echar un vistazo a un e-Mail que hayas recibido y comprobar las cabeceras. Decribiré abajo lo más importante. Los comentarios serán de ayuda.&lt;br /&gt;&lt;br /&gt;# Esta es la línea ‘para’. Si tenemos el nombre y la dirección, escribiremos&lt;br /&gt;# primero el nombre y lurgo la dirección entre &lt;&gt;&lt;br /&gt;print MAIL "To: $in{'De'}\n";&lt;br /&gt;# Esta es la linea ‘De’. Pondremos el mismo nombre en la línea ‘De’ y en la ‘para’&lt;br /&gt;# Recuerda que no hay seguridad comprobando el email, por ello estas líneas&lt;br /&gt;# pueden ser falsificadas. NO FALSIFIQUES EL EMAIL, no es divertido y en algunos lugares&lt;br /&gt;# es un delito.&lt;br /&gt;print MAIL "From: $in{De}\n";&lt;br /&gt;# Esta es la linea ‘contestar a’. Esta línea se incluye debido a que algunos programas&lt;br /&gt;# son bastante tonotos y no siempre responden a la línea ‘De’.&lt;br /&gt;# Al menos respetarán esta línea.&lt;br /&gt;print MAIL "Reply-To: $in{De}\n";&lt;br /&gt;# Lo siguiente son cabeceras X. Son creadas por el usuario y pueden contener&lt;br /&gt;# todo lo que desees. Incluyo una linea de descripción&lt;br /&gt;# tambien he escrito las líneas REMOTE_HOST, REMOTE_ADDR, y REMOTE_USER para&lt;br /&gt;# ayudar al seguimiento (traking) de la carta.&lt;br /&gt;# Solo escribo la línea X-URL si el usuario ha dado una url. Este tipo&lt;br /&gt;# de comprobación probablemente hecha también en el X-Remote-Host y X-Remote-User&lt;br /&gt;print MAIL "X-mailer: Mail.pl, a cgi-bin script at http://www.ctv.es/users/jperez/www/tutor/ /index.html\n";&lt;br /&gt;print MAIL "X-Remote-Host: $ENV{'REMOTE_HOST'} ($ENV{'REMOTE_ADDR'})\n";&lt;br /&gt;print MAIL "X-Remote-User: $ENV{'REMOTE_USER'}\n";&lt;br /&gt;print MAIL "X-disclaimer: La línea De: puede estar falsificada ";&lt;br /&gt;print MAIL "No confiar en un 100% sobre la integridad de este mail. ";&lt;br /&gt;print MAIL "No somos responsables de este correo de ninguna manera\n";&lt;br /&gt;if ($in{xurl} ne "") {&lt;br /&gt;print MAIL "X-URL: $in{xurl}\n";&lt;br /&gt;}&lt;br /&gt;# Finalmente escribimosly we print the famous subject line. I have appended a string&lt;br /&gt;# identifying this as WWW generated email, this is far from a requirement.&lt;br /&gt;# Notice the second new line. This is the blank line that will separate the&lt;br /&gt;# headers from the body. All mail must have this line.&lt;br /&gt;print MAIL "Subject: $in{subject} (WWW generated email)\n\n";&lt;br /&gt;# Now we are going to print the body. Because it was input into a TEXTAREA&lt;br /&gt;# field, it has new lines after each line. We can just print it like any other&lt;br /&gt;# field, knowing that the new lines will expand it properly.&lt;br /&gt;print MAIL $in{'body'};&lt;br /&gt;&lt;br /&gt;Solo quedan dos cosas. Primero debemos cerrar la conexión con sendmail. Segundo debemos imprimir una página enseñando al usuario la carta que envía.&lt;br /&gt;&lt;br /&gt;Para cerrar la conexión, usaremos el comando close, justo como en cualquier otro manejador:&lt;br /&gt;&lt;br /&gt;close(MAIL);&lt;br /&gt;&lt;br /&gt;Imprimir la respuesta no es diferente a las otras páginas generadas dinámicamente que ya hemos creado anteriormente. Deberemnos dividir el campo TEXTAREA en líneas colocando un&lt;br /&gt;al final de cada una. Esto se hace principalmente para demostrar como se divide un campo de texto. Recuerda sin embargo que html no respeta las nuevas líneas. Con ello se consigue el poder hacer los parrafos de manera más clara, pero el beneficio de hacerlo es cuestionable.&lt;br /&gt;&lt;br /&gt;El valor del campo body (cuerpo del mensaje), no es más que un conjunto de frases separadas con un retorno de carro. Podemos usar la función split() para separarlas. Esta función necesita dos parámetros: la cadena o carácter para separar y la variable a separar, y retorna un array con los elementos separados. Usaremos split en un bucle foreach:&lt;br /&gt;&lt;br /&gt;foreach $l (split('\n',$in{'body'})) {&lt;br /&gt;print "$l&lt; B R &gt;\n";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Como se puede ver separa la variable $in{'body'} en partes cada nueva línea, y la imprime seguida de un&lt;br /&gt;&lt;br /&gt;ESCRIBIENDO SCRIPTS CGI SEGUROS&lt;br /&gt;&lt;br /&gt;Siempre que un programa interactúa con un cliente por red, existe la posibilidad de que el cliente atcque al programa para conseguir un acceso.&lt;br /&gt;&lt;br /&gt;El script más inocente puede ser muy peligroso para la integridad de tu sistema.&lt;br /&gt;&lt;br /&gt;Teniendo eso en cuenta, me gustaría comentar unos pequeños consejos para conseguir que tu programa no sea atacado.&lt;br /&gt;&lt;br /&gt;Cuidado con la sentencia eval&lt;br /&gt;&lt;br /&gt;Lenguajes como el Perl y el Bourne shell tienen un comando eval que permiten construir una cadena y dejar al intérprete que la ejecute.&lt;br /&gt;&lt;br /&gt;Esto puede resultar peligroso. Observa la siguiente sentencia en Bourne shell:&lt;br /&gt;&lt;br /&gt;eval `echo $QUERY_STRING | awk 'BEGIN{RS="&amp;"} {printf "QS_%s\n",$1}' `&lt;br /&gt;&lt;br /&gt;Esta sentencia coge la cadena de entrada y la convierte en un conjunto de comandos de declaración de variables. Desafortunadamente este script puede ser atacado mandando una cadena de entrada que empiece por ‘;’.&lt;br /&gt;&lt;br /&gt;No confíes en que el cliente haga algo&lt;br /&gt;&lt;br /&gt;Un cliente correcto evitará todos los caracteres que tienen un significado especial para el Bourne Shell en una cadena de entrada, y que hega que tu script malinterprete los caracteres. Un cliente malintencionado usará esos caracteres para confundir a tu script y ganar acceso desautorizado.&lt;br /&gt;&lt;br /&gt;Cuidado con popen() y system()&lt;br /&gt;&lt;br /&gt;Si usas datos del cliente para construir una llamada a popen() o system(), aseguraté de poner un backslash delante de cada carácter que tenga un significado especial para el Bourne Shell antes de llamar a la función. Lo podrás hacer con una sencilla función en C.&lt;br /&gt;&lt;br /&gt;Si quieres más información sobre la seguridad en el WWW, consulta WWW Security FAQ en http://www-genome.wi.mit.edu/WWW/faqs/www-security-faq.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-8428633005820874283?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/tutorial-de-cgi.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-1085749927097458591</guid><pubDate>Tue, 02 Dec 2008 08:03:00 +0000</pubDate><atom:updated>2008-12-02T00:10:57.450-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webmaster</category><title>2 Libros de Java que no te pueden faltar!</title><description>PRIMER LIBRO&lt;br /&gt;&lt;br /&gt;LENGUAJE DE PROGRAMACION EN JAVA (MUY COMPLETO LO RECOMIENDO)&lt;br /&gt;&lt;br /&gt;Formato: PDF&lt;br /&gt;Paginas: 354&lt;br /&gt;Estado: Argentina&lt;br /&gt;&lt;br /&gt;INDICE:&lt;br /&gt;&lt;br /&gt;PREÁMBULO&lt;br /&gt;&lt;br /&gt;1.INTRODUCCIÓN.&lt;br /&gt;&lt;br /&gt;1.1 HISTORIA DEL LENGUAJE.&lt;br /&gt;&lt;br /&gt;1.2 ¿QUÉ ES JAVA™?&lt;br /&gt;&lt;br /&gt;1.3 ¿QUÉ LO HACE DISTINTO DE LOS DEMÁS LENGUAJES?&lt;br /&gt;&lt;br /&gt;1.3.1 ¿Qué se puede programar con Java? .&lt;br /&gt;&lt;br /&gt;1.3.2 ¿Es fácil de aprender?..&lt;br /&gt;&lt;br /&gt;1.3.3 Características del lenguaje.&lt;br /&gt;&lt;br /&gt;1.4 LA MÁQUINA VIRTUAL JAVA (JVM)&lt;br /&gt;&lt;br /&gt;1.5 JAVASCRIPT&lt;br /&gt;&lt;br /&gt;1.6 EL ENTORNO DE DESARROLLO JDK&lt;br /&gt;&lt;br /&gt;1.6.1 ¿Dónde conseguirlo?&lt;br /&gt;&lt;br /&gt;1.6.2 Estructura de directorios.&lt;br /&gt;&lt;br /&gt;1.6.3 Configuración.&lt;br /&gt;&lt;br /&gt;1.7 PROGRAMACIÓN ORIENTADA A OBJETOS.&lt;br /&gt;&lt;br /&gt;1.7.1 ¿Qué es un objeto?&lt;br /&gt;&lt;br /&gt;1.7.2 Clases y objetos&lt;br /&gt;&lt;br /&gt;1.7.3 Propiedades que debe cumplir un lenguaje para ser considerado&lt;br /&gt;&lt;br /&gt;Orientado a Objetos&lt;br /&gt;&lt;br /&gt;1.8 CUESTIONES&lt;br /&gt;&lt;br /&gt;2. VISIÓN GENERAL Y ELEMENTOS BÁSICOS DEL LENGUAJE&lt;br /&gt;&lt;br /&gt;2.1 HOLA, MUNDO&lt;br /&gt;&lt;br /&gt;2.2 COMENTARIOS33&lt;br /&gt;&lt;br /&gt;2.3 TIPOS DE DATOS.&lt;br /&gt;&lt;br /&gt;2.4 TIPOS DE DATOS SIMPLES.&lt;br /&gt;&lt;br /&gt;2.5 TIPOS DE DATOS REFERENCIALES.&lt;br /&gt;&lt;br /&gt;2.6 IDENTIFICADORES.&lt;br /&gt;&lt;br /&gt;2.7 DECLARACIÓN DE VARIABLES&lt;br /&gt;&lt;br /&gt;2.8 ÁMBITO DE UNA VARIABLE.&lt;br /&gt;&lt;br /&gt;2.8.1 Variables locales.&lt;br /&gt;&lt;br /&gt;2.8.2 Atributos.&lt;br /&gt;&lt;br /&gt;2.8.3 Parámetros de un método&lt;br /&gt;&lt;br /&gt;2.9 OPERADORES.&lt;br /&gt;&lt;br /&gt;2.9.1 Operadores aritméticos:.&lt;br /&gt;&lt;br /&gt;2.9.2 Operadores relacionales:&lt;br /&gt;&lt;br /&gt;2.9.3 Operadores lógicos:&lt;br /&gt;&lt;br /&gt;2.9.4 Operadores de bits:.&lt;br /&gt;&lt;br /&gt;2.9.5 Operadores de asignación:&lt;br /&gt;&lt;br /&gt;2.9.6 Precedencia de operadores en Java:&lt;br /&gt;&lt;br /&gt;2.10 CONSTANTES.&lt;br /&gt;&lt;br /&gt;2.11 VALORES LITERALES.&lt;br /&gt;&lt;br /&gt;2.12 ESTRUCTURAS DE CONTROL&lt;br /&gt;&lt;br /&gt;2.12.1 Estructuras alternativas.&lt;br /&gt;&lt;br /&gt;2.12.2 Bucles&lt;br /&gt;&lt;br /&gt;2.13 VECTORES.&lt;br /&gt;&lt;br /&gt;2.14 CUESTIONES&lt;br /&gt;&lt;br /&gt;3. LAS CLASES EN JAVA.&lt;br /&gt;&lt;br /&gt;3.1 DECLARACIÓN DE CLASE.&lt;br /&gt;&lt;br /&gt;3.1.1 Declaración de la superclase (herencia).&lt;br /&gt;&lt;br /&gt;3.1.2 Lista de interfaces.&lt;br /&gt;&lt;br /&gt;3.1.3 Modificadores de clase..&lt;br /&gt;&lt;br /&gt;3.2 EL CUERPO DE LA CLASE..&lt;br /&gt;&lt;br /&gt;3.3 DECLARACIÓN DE ATRIBUTOS.&lt;br /&gt;&lt;br /&gt;3.3.1 Atributos static&lt;br /&gt;&lt;br /&gt;3.3.2 Atributos final&lt;br /&gt;&lt;br /&gt;3.3.3 Atributos transient.&lt;br /&gt;&lt;br /&gt;3.3.4 Atributos volatile.&lt;br /&gt;&lt;br /&gt;3.3.5 Modificadores de ámbito de atributos.&lt;br /&gt;&lt;br /&gt;3.4 MÉTODOS&lt;br /&gt;&lt;br /&gt;3.4.1 Declaración de método&lt;br /&gt;&lt;br /&gt;3.4.2 Cuerpo del método.&lt;br /&gt;&lt;br /&gt;3.4.3 Constructores.&lt;br /&gt;&lt;br /&gt;3.4.4 Destructores.&lt;br /&gt;&lt;br /&gt;3.5 STRINGS.&lt;br /&gt;&lt;br /&gt;3.5.1 La clase String.&lt;br /&gt;&lt;br /&gt;3.5.2 La clase StringBuffer.&lt;br /&gt;&lt;br /&gt;3.6 LA LÍNEA DE COMANDOS.&lt;br /&gt;&lt;br /&gt;3.7 INTERFACES.&lt;br /&gt;&lt;br /&gt;3.7.1 Declaración de interface.&lt;br /&gt;&lt;br /&gt;3.7.2 Cuerpo del interface.&lt;br /&gt;&lt;br /&gt;3.8 LOS PAQUETES&lt;br /&gt;&lt;br /&gt;3.8.1 Declaración de paquetes.&lt;br /&gt;&lt;br /&gt;3.8.2 Cómo hacer uso de los paquetes existentes.&lt;br /&gt;&lt;br /&gt;3.8.3 Paquetes pertenecientes al Java.&lt;br /&gt;&lt;br /&gt;3.9 EJEMPLO COMPLETO&lt;br /&gt;&lt;br /&gt;3.9.1 Generar números aleatorios.&lt;br /&gt;&lt;br /&gt;3.9.2 Creación de un bombo&lt;br /&gt;&lt;br /&gt;3.9.3 La clase Resultado.&lt;br /&gt;&lt;br /&gt;3.9.4 El programa principal..&lt;br /&gt;&lt;br /&gt;3.9.5 Modificando la clase Resultado.&lt;br /&gt;&lt;br /&gt;3.10 CUESTIONES.&lt;br /&gt;&lt;br /&gt;4. TRATAMIENTO DE EXCEPCIONES.&lt;br /&gt;&lt;br /&gt;4.1 LANZAMIENTO DE EXCEPCIONES (THROW).&lt;br /&gt;&lt;br /&gt;4.2 TRATAMIENTO DE EXCEPCIONES.&lt;br /&gt;&lt;br /&gt;4.2.1 Manejador de excepciones&lt;br /&gt;&lt;br /&gt;4.3 JERARQUÍA DE EXCEPCIONES.&lt;br /&gt;&lt;br /&gt;4.4 VENTAJAS DEL TRATAMIENTO DE EXCEPCIONES.&lt;br /&gt;&lt;br /&gt;4.4.1 Separación del código “útil” del tratamiento de errores&lt;br /&gt;&lt;br /&gt;4.4.2 Propagación de errores a través de la pila de métodos.&lt;br /&gt;&lt;br /&gt;4.4.3 Agrupación y diferenciación de errores.&lt;br /&gt;&lt;br /&gt;4.4.4 Claridad del código y obligación del tratamiento de errores&lt;br /&gt;&lt;br /&gt;4.5 CUESTIONES&lt;br /&gt;&lt;br /&gt;5. LA ENTRADA/SALIDA EN JAVA&lt;br /&gt;&lt;br /&gt;5.1 STREAMS.&lt;br /&gt;&lt;br /&gt;5.2 JERARQUÍA DE CLASES EN EL PAQUETE JAVA.IO&lt;br /&gt;&lt;br /&gt;5.2.1 El paquete java.io en el JDK 1.02.&lt;br /&gt;&lt;br /&gt;5.2.2 El paquete java.io en el JDK 1.1.&lt;br /&gt;&lt;br /&gt;5.3 CLASES IMPORTANTES PARA LA ENTRADA/SALIDA ESTÁNDAR.&lt;br /&gt;&lt;br /&gt;5.3.1 La clase InputStream..&lt;br /&gt;&lt;br /&gt;5.3.2 La clase OutputStream.&lt;br /&gt;&lt;br /&gt;5.3.3 La clase PrintStream.&lt;br /&gt;&lt;br /&gt;5.4 ENTRADA/SALIDA ESTÁNDAR.&lt;br /&gt;&lt;br /&gt;5.5 STREAMS DE CARACTERES.&lt;br /&gt;&lt;br /&gt;5.5.1 La clase Reader.&lt;br /&gt;&lt;br /&gt;5.5.2 La clase Writer. .&lt;br /&gt;&lt;br /&gt;5.5.3 La clase BufferdReader.&lt;br /&gt;&lt;br /&gt;5.5.4 La clase PrintWriter..&lt;br /&gt;&lt;br /&gt;5.6 ENTRADA POR TECLADO Y SALIDA POR PANTALLA.&lt;br /&gt;&lt;br /&gt;5.7 FICHEROS.&lt;br /&gt;&lt;br /&gt;5.7.1 La clase File.&lt;br /&gt;&lt;br /&gt;5.7.2 La clase FileDescripor&lt;br /&gt;&lt;br /&gt;5.7.3 Acceso a ficheros secuenciales.&lt;br /&gt;&lt;br /&gt;5.7.4 La clase RandomAccessFile.&lt;br /&gt;&lt;br /&gt;5.7.5 Acceso a ficheros aleatorios.&lt;br /&gt;&lt;br /&gt;5.8 SERIALIZACIÓN DE OBJETOS.&lt;br /&gt;&lt;br /&gt;5.8.1 Esquema de funcionamiento de la serialización.&lt;br /&gt;&lt;br /&gt;5.8.2 Personalización en la serialización.&lt;br /&gt;&lt;br /&gt;5.9 CUESTIONES.&lt;br /&gt;&lt;br /&gt;6.THREADS&lt;br /&gt;&lt;br /&gt;6.1 ¿QUÉ SON LOS THREADS?&lt;br /&gt;&lt;br /&gt;6.1.1 Un ejemplo, mejor que mil palabras.&lt;br /&gt;&lt;br /&gt;6.1.2 Otro ejemplo.&lt;br /&gt;&lt;br /&gt;6.1.3 Y otro ejemplo más.&lt;br /&gt;&lt;br /&gt;6.2 ESTADO DE UN THREAD. .&lt;br /&gt;&lt;br /&gt;6.3 CREACIÓN DE THREADS.&lt;br /&gt;&lt;br /&gt;6.4 OPERACIONES SOBRE THREADS..&lt;br /&gt;&lt;br /&gt;6.4.1 currentThread(). .&lt;br /&gt;&lt;br /&gt;6.4.2 isAlive().&lt;br /&gt;&lt;br /&gt;6.4.3 sleep(). ..&lt;br /&gt;&lt;br /&gt;6.4.4 suspend()..&lt;br /&gt;&lt;br /&gt;6.4.5 wait()&lt;br /&gt;&lt;br /&gt;6.4.6 yield().&lt;br /&gt;&lt;br /&gt;5&lt;br /&gt;&lt;br /&gt;6.4.7 join(). .&lt;br /&gt;&lt;br /&gt;6.5 THREADS Y SINCRONISMO. .&lt;br /&gt;&lt;br /&gt;6.5.1 El paradigma productor/consumidor.&lt;br /&gt;&lt;br /&gt;6.5.2 Sección crítica&lt;br /&gt;&lt;br /&gt;6.5.3 Monitores217&lt;br /&gt;&lt;br /&gt;6.6 PRIORIDAD DE UN THREAD.&lt;br /&gt;&lt;br /&gt;6.7 THREADS DAEMON&lt;br /&gt;&lt;br /&gt;6.8 GRUPOS DE THREADS&lt;br /&gt;&lt;br /&gt;6.8.1 Creación de grupos de threads. .&lt;br /&gt;&lt;br /&gt;6.8.2 Operaciones sobre threads agrupados..&lt;br /&gt;&lt;br /&gt;6.9 CUESTIONES.&lt;br /&gt;&lt;br /&gt;7. COMUNICACIONES TCP/IP&lt;br /&gt;&lt;br /&gt;7.1 INTRODUCCIÓN...&lt;br /&gt;&lt;br /&gt;7.2 ARQUITECTURA CLIENTE / SERVIDOR.&lt;br /&gt;&lt;br /&gt;7.3 LA ABSTRACCIÓN SOCKET.&lt;br /&gt;&lt;br /&gt;7.4 SERVICIO SIN CONEXIÓN (DATAGRAM SOCKET)&lt;br /&gt;&lt;br /&gt;7.4.1 Creación de un DatagramSocket&lt;br /&gt;&lt;br /&gt;7.5 SERVICIO ORIENTADO A CONEXIÓN (STREAM SOCKET).&lt;br /&gt;&lt;br /&gt;7.5.1 Operaciones en el servidor..&lt;br /&gt;&lt;br /&gt;7.5.2 Espera de conexiones de clientes&lt;br /&gt;&lt;br /&gt;7.5.3 Operaciones en el cliente&lt;br /&gt;&lt;br /&gt;7.6 CUESTIONES.&lt;br /&gt;&lt;br /&gt;A. LAS HERRAMIENTAS jAVA.&lt;br /&gt;&lt;br /&gt;A.1 JAVAC (COMPILADOR). ..&lt;br /&gt;&lt;br /&gt;A.1.1 Opciones&lt;br /&gt;&lt;br /&gt;A.2 JAVA (INTÉRPRETE).&lt;br /&gt;&lt;br /&gt;A.2.1 Opciones..&lt;br /&gt;&lt;br /&gt;A.3 JAVAW (INTÉRPRETE).&lt;br /&gt;&lt;br /&gt;A.4 JDB (DEPURADOR)..&lt;br /&gt;&lt;br /&gt;A.4.1 Comandos básicos..&lt;br /&gt;&lt;br /&gt;A.5 JAVAH (GENERADOR DE CABECERAS C)&lt;br /&gt;&lt;br /&gt;A.6 JAVAP (DESENSAMBLADOR).&lt;br /&gt;&lt;br /&gt;A.6.1 Opciones.&lt;br /&gt;&lt;br /&gt;A.7 JAVADOC (GENERADOR DE DOCUMENTACIÓN). .&lt;br /&gt;&lt;br /&gt;A.7.1 Etiquetas de clase o interface.&lt;br /&gt;&lt;br /&gt;A.7.2 Etiquetas de atributo..&lt;br /&gt;&lt;br /&gt;A.7.3 Etiquetas de constructor o método..&lt;br /&gt;&lt;br /&gt;A.7.4 Opciones&lt;br /&gt;&lt;br /&gt;B. CONVERSIÓN DE TIPOS&lt;br /&gt;&lt;br /&gt;B.1 CONVERSIÓN POR AMPLIACIÓN DE TIPOS DE DATOS SIMPLES.&lt;br /&gt;&lt;br /&gt;B.2 CONVERSIÓN POR REDUCCIÓN DE TIPOS DE DATOS SIMPLES..&lt;br /&gt;&lt;br /&gt;B.3 CONVERSIÓN POR AMPLIACIÓN DE TIPOS DE DATOS REFERENCIALES..&lt;br /&gt;&lt;br /&gt;B.4 CONVERSIÓN POR REDUCCIÓN DE TIPOS DE DATOS REFERENCIALES.&lt;br /&gt;&lt;br /&gt;B.5 CONVERSIONES DE TIPOS NO PERMITIDAS.&lt;br /&gt;&lt;br /&gt;C. LAS CLASES STRING Y STRINGBUFFER&lt;br /&gt;&lt;br /&gt;C.1 LA CLASE STRING.&lt;br /&gt;&lt;br /&gt;C.1.1 Constructores de la clase String.&lt;br /&gt;&lt;br /&gt;C.1.2 Métodos de la clase String&lt;br /&gt;&lt;br /&gt;C.2 LA CLASE STRINGBUFFER&lt;br /&gt;&lt;br /&gt;C.2.1 Constructores de la clase StringBuffer.&lt;br /&gt;&lt;br /&gt;C.2.2 Métodos de la clase StringBuffer.&lt;br /&gt;&lt;br /&gt;D. CLASES ANIDADAS&lt;br /&gt;&lt;br /&gt;D.1 UTILIDAD DE LAS CLASES ANIDADAS&lt;br /&gt;&lt;br /&gt;D.2 CLASES ANIDADAS COMO MIEMBROS DE OTRAS CLASES.&lt;br /&gt;&lt;br /&gt;D.3 CLASES INTERIORES A UN BLOQUE O LOCALES A UN MÉTODO&lt;br /&gt;&lt;br /&gt;D.4 CLASES ANÓNIMAS.&lt;br /&gt;&lt;br /&gt;E. CLASES SOBRE STREAMS Y FICHEROS.&lt;br /&gt;&lt;br /&gt;E.1 LA CLASE INPUTSTREAM&lt;br /&gt;&lt;br /&gt;E.1.1 Constructor&lt;br /&gt;&lt;br /&gt;E.1.2 Métodos&lt;br /&gt;&lt;br /&gt;E.2 LA CLASE OUTPUTSTREAM&lt;br /&gt;&lt;br /&gt;E.2.1 Constructor&lt;br /&gt;&lt;br /&gt;E.2.2 Métodos&lt;br /&gt;&lt;br /&gt;E.3 LA CLASE PRINTSTREAM&lt;br /&gt;&lt;br /&gt;E.3.1 Constructores.&lt;br /&gt;&lt;br /&gt;E.3.2 Métodos&lt;br /&gt;&lt;br /&gt;E.4 LA CLASE READER&lt;br /&gt;&lt;br /&gt;E.4.1 Atributo&lt;br /&gt;&lt;br /&gt;E.4.2 Constructores.&lt;br /&gt;&lt;br /&gt;E.4.3 Métodos&lt;br /&gt;&lt;br /&gt;E.5 LA CLASE WRITER.&lt;br /&gt;&lt;br /&gt;E.5.1 Atributo&lt;br /&gt;&lt;br /&gt;E.5.2 Constructores.&lt;br /&gt;&lt;br /&gt;E.5.3 Métodos&lt;br /&gt;&lt;br /&gt;E.6 LA CLASE BUFFERDREADER.&lt;br /&gt;&lt;br /&gt;E.6.1 Constructores.&lt;br /&gt;&lt;br /&gt;E.6.2 Métodos&lt;br /&gt;&lt;br /&gt;E.6.3 La clase PrintWriter&lt;br /&gt;&lt;br /&gt;E.7 LA CLASE FILE&lt;br /&gt;&lt;br /&gt;E.8 LA CLASE RANDOMACCESSFILE.&lt;br /&gt;&lt;br /&gt;E.8.1 Constructores.&lt;br /&gt;&lt;br /&gt;E.8.2 Métodos&lt;br /&gt;&lt;br /&gt;F. EL FORMATO DE STRINGS UTF-8&lt;br /&gt;&lt;br /&gt;F.1 CARACTERES DE UN SOLO BYTE.&lt;br /&gt;&lt;br /&gt;F.2 CARACTERES DE DOS BYTES&lt;br /&gt;&lt;br /&gt;F.3 CARACTERES DE TRES BYTES.&lt;br /&gt;&lt;br /&gt;G.CLASES EN JAVA.NET&lt;br /&gt;&lt;br /&gt;G.1 CLASS SOCKET&lt;br /&gt;&lt;br /&gt;G.1.1 CONSTRUCTORES:&lt;br /&gt;&lt;br /&gt;G.1.2 MÉTODOS&lt;br /&gt;&lt;br /&gt;G.2 CLASS SERVERSOCKET&lt;br /&gt;&lt;br /&gt;G.2.1 CONSTRUCTORES:&lt;br /&gt;&lt;br /&gt;G.2.2 MÉTODOS&lt;br /&gt;&lt;br /&gt;G.3 CLASS DATAGRAMSOCKET&lt;br /&gt;&lt;br /&gt;G.3.1 CONSTRUCTORES&lt;br /&gt;&lt;br /&gt;G.3.2 MÉTODOS&lt;br /&gt;&lt;br /&gt;G.4 CLASS INETADDRESS&lt;br /&gt;&lt;br /&gt;G.4.1 MÉTODOS.&lt;br /&gt;&lt;br /&gt;G.5 CLASS DATAGRAMPACKET&lt;br /&gt;&lt;br /&gt;G.5.1 CONSTRUCTORES&lt;br /&gt;&lt;br /&gt;G.5.2 MÉTODOS&lt;br /&gt;&lt;br /&gt;&lt;img id="imagen" src="http://i37.tinypic.com/2889nr4.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/167923580/JavaCompleto_by_dios.zip%20%20" target="_blank"&gt;http://rapidshare.com/files/167923580/JavaCompleto_by_dios.zip  &lt;/a&gt;&lt;br /&gt;---------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 430px; height: 480px;" id="imagen" src="http://i35.tinypic.com/91gubo.jpg" border="0" /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;SEGUNDO LIBRO: CÓMO PROGRAMAR EN JAVA DE DEITEL &amp;amp; DEITEL QUINTA EDICION (EXELENTE)&lt;br /&gt;&lt;br /&gt;Formato: PDF escaneado por mi&lt;br /&gt;&lt;br /&gt;Paginas: como 600.&lt;br /&gt;&lt;br /&gt;Estado: bueno.&lt;br /&gt;&lt;br /&gt;Fecha: hoy&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;img id="imagen" src="http://i37.tinypic.com/2889nr4.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/167943264/JavaD_D_by_dios.zip%20" target="_blank"&gt;http://rapidshare.com/files/167943264/JavaD_D_by_dios.zip &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:18;"&gt;&lt;b&gt;PASS PARA LOS 2 ARCHIVOS:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/%20http://losmagios.foroslatinos.net/" target="_blank"&gt; http://losmagios.foroslatinos.net/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-1085749927097458591?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/2-libros-de-java-que-no-te-pueden.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i37.tinypic.com/2889nr4_th.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-8064845599687661344</guid><pubDate>Tue, 02 Dec 2008 08:01:00 +0000</pubDate><atom:updated>2008-12-02T00:02:10.048-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webmaster</category><title>Manual Tutorial de PHP</title><description>&lt;b&gt;¿QUE ES PHP?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas.&lt;br /&gt;&lt;br /&gt;*Algunos conceptos básicos del procesamiento de páginas PHP en el servidor. Nuestro primer programa en PHP. Sintaxis del lenguaje. Uso de variables de programación.&lt;br /&gt;&lt;br /&gt;*Operadores: Artiméticos, de comparación y lógicos.&lt;br /&gt;&lt;br /&gt;* Sentecias ejecutables: Condicionales, bucles, salida a pantalla y manejo de cadenas de texto.&lt;br /&gt;&lt;br /&gt;*Uso de funciones y librerías.&lt;br /&gt;&lt;br /&gt;*Bases de datos: Crear una base de datos, conexión al servidor de base de datos, consultas, inserción de registros, borrado de registros.&lt;br /&gt;&lt;br /&gt;*Procesado de formularios: Envío y recepción de datos entre páginas, diferencias entre en método GET y el POST, envío de emails.&lt;br /&gt;&lt;br /&gt;*Seguridad: Restringir el acceso a según qué páginas, distinguir entre usuarios autorizados.&lt;br /&gt;&lt;br /&gt;*Sesiones: ¿Qué son las sesiones? ¿Cómo se inicializan? Un ejemplo sencillo, el error más común en el uso de sesiones, un carrito de la compra.&lt;br /&gt;&lt;br /&gt;*Cookies: ¿Qué son las cookies? ¿Cómo se usan? Un ejemplo de uso.&lt;br /&gt;&lt;br /&gt;&lt;img id="imagen" src="http://www.ipodizados.com/img/Download.png" border="0" /&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/169052389/Manual_de_PHP_By_WarezEvolution.Ne.rar" target="_blank"&gt;http://rapidshare.com/files/169052389/Manual_de_PHP_By_WarezEvolution.Ne.rar&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-8064845599687661344?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/manual-tutorial-de-php.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-6058607762376405202</guid><pubDate>Tue, 02 Dec 2008 07:54:00 +0000</pubDate><atom:updated>2008-12-02T00:00:11.176-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webmaster</category><title>Creacion de Paginas Web</title><description>Que es una Pagina Web?&lt;br /&gt;&lt;br /&gt;Una página web es una fuente de información adaptada para la World Wide Web (WWW) y accesible mediante un navegador de Internet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;INTRODUCCION:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Un sitio Web es su negocio que le permite publicar en Internet los servicios y/o productos que ofrece a miles de clientes, proveedores socios y amigos. Es por ello que la imagen que su pagina pueda trasmitir a primera impresión es lo que cuenta. Trabajamos en ello para que esa experiencia sea excelente y entendida.&lt;br /&gt;&lt;br /&gt;Diseñamos paginas web profesionales de gran inpacto visual, diseño inteligente orientado al rubro de su empresa, aplicando estandares web.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="imagen" src="http://rs53.rapidshare.com/img2/download_file.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/169060700/Creacion_de_Pagina_Web_by_WarezEvolution.Net.rar" target="_blank"&gt;http://rapidshare.com/files/169060700/Creacion_de_Pagina_Web_by_WarezEvolution.Net.rar&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-6058607762376405202?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/creacion-de-paginas-web.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-7008296332494958846</guid><pubDate>Tue, 02 Dec 2008 07:46:00 +0000</pubDate><atom:updated>2008-12-02T01:16:41.060-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">photoshop</category><title>crea tu propio boton de descarga para tu post (photoshop)</title><description>Muchas veces me pregunte como se hace el boton que llaman plasma , visitando algunos sitios en ingles consegui hacer mi propio boton plasma que les dejo un ejemplo de como hacerlo claro que la imaginacion de cada uno despues volara para realizar cosas mas lindas,espero que sirva a modo de ejemplo ok.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 430px; height: 500px;" id="imagen" src="http://i34.tinypic.com/wsr314.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 430px; height: 500px;" id="imagen" src="http://i34.tinypic.com/358urfa.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 430px; height: 454px;" id="imagen" src="http://i33.tinypic.com/29w9ztd.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;                                                                        &lt;center&gt;Resultado Final:&lt;br /&gt;&lt;img id="imagen" src="http://i37.tinypic.com/mtp9ms.gif" border="0" /&gt;&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-7008296332494958846?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/crea-tu-propio-boton-de-descarga-para.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i34.tinypic.com/wsr314_th.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-1917589646179169807</guid><pubDate>Tue, 02 Dec 2008 04:40:00 +0000</pubDate><atom:updated>2008-12-01T20:44:44.453-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">photoshop</category><title>añadir movimiento a tus fotos con este efecto (photoshop)</title><description>Creo que este sencillo tutorial (sacado de un libro de Scott Kelby) puede resultar entretenido, sobre todo para aquellos a los que les guste darle un poco de efecto a los retoques.&lt;br /&gt;&lt;br /&gt;Lo primero es abrir la foto a la que queremos darle sensación de movimiento.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="width: 430px; height: 450px;" id="imagen" src="http://i38.tinypic.com/2gydmrr.jpg" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;La calidad de esta foto es bastante mala debido a que es un recorte de, aproximadamente, el 20% de la original, pero creo que para el ejemplo sirve&lt;br /&gt;&lt;br /&gt;La cámara era una Olympus C750 de 4 megas y la velocidad de la toma 1/800. Obviamente, el movimiento del ciclista quedó completamente congelado.&lt;br /&gt;&lt;br /&gt;Una vez abierta duplicamos la capa de fondo (Ctrl+J). A continuación, en esta capa duplicada, aplicaremos el Filtro de Desenfoque de movimiento.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="width: 400px; height: 320px;" id="imagen" src="http://i33.tinypic.com/rbbc7l.jpg" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;Como ven, se nos abre un cuadro donde podemos controlar la intensidad del efecto y el ángulo con el que vamos a aplicarlo. O sea, lo que hay que controlar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="width: 430px; height: 475px;" id="imagen" src="http://i38.tinypic.com/x4nhug.jpg" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;Cuando ya estamos satisfechos (o creemos estarlo) con el efecto creado, le añadimos a esta capa una Máscara de Capa. Se hace pulsando Alt y clickeando sobre la miniatura de Máscara de capa que hay en la parte inferior del cuadro de Capas (Cuadrado con círculo dentro)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i33.tinypic.com/727y2t.jpg" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;Lo que hemos hecho es ocultar por completo el efecto del Filtro bajo una Máscara negra. A continuación, comprobamos que la Máscara está seleccionada (si no hemos hecho nada más lo estará) y seleccionamos como color frontal el Blanco (Pulsando D y luego X nos aseguramos de que es el blanco puro)&lt;br /&gt;&lt;br /&gt;Ahora, con el pincel que queramos, pero recomiendo uno de punta blanda, vamos pintando de blanco en la Máscara de Capa, con lo que vamos descubriendo el efecto del Filtro. Si nos pasamos, no tenemos nada más que cambiar el color frontal al negro y reconstruir la Máscara.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="width: 430px; height: 532px;" id="imagen" src="http://i33.tinypic.com/1tsaj7.jpg" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Y ahora podemos jugar con el tamaño, la dureza y color del pincel, con lo que estaremos jugando con el efecto del filtro.&lt;br /&gt;&lt;br /&gt;les recomiendo que aprendan y practiquen con esta “Subtécnica” de la Máscara de capa y los pinceles blanco y negro, porque seguro que le encontraran muchas más aplicaciones.&lt;br /&gt;&lt;br /&gt;Ahora less pongo un ejemplo de cómo puede ser el resultado final. Como pueden comprobar es un resultado un poco ingenuo, pero de lo que se trata es de ilustrar el tutorial.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="width: 430px; height: 450px;" id="imagen" src="http://i36.tinypic.com/2d85caq.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Para terminar les pongo la original y la retocada.&lt;br /&gt;&lt;br /&gt;Espero que le sirva a alguien.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;img style="width: 430px; height: 300px;" id="imagen" src="http://i37.tinypic.com/34jc4ud.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-1917589646179169807?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/aadir-movimiento-tus-fotos-con-este.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i38.tinypic.com/2gydmrr_th.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-526494607043816365</guid><pubDate>Tue, 02 Dec 2008 04:21:00 +0000</pubDate><atom:updated>2008-12-01T20:30:02.028-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">photoshop</category><title>crea textos estilo piel(cuero) con photoshop</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i35.tinypic.com/2ilihi8.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 885px;" src="http://i35.tinypic.com/2ilihi8.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i35.tinypic.com/14j4tjm.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 786px;" src="http://i35.tinypic.com/14j4tjm.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i38.tinypic.com/2itotp3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 848px;" src="http://i38.tinypic.com/2itotp3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i35.tinypic.com/huh7oj.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 819px;" src="http://i35.tinypic.com/huh7oj.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i38.tinypic.com/2dl0nr9.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 1113px;" src="http://i38.tinypic.com/2dl0nr9.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i37.tinypic.com/2wgznyh.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 955px;" src="http://i37.tinypic.com/2wgznyh.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i36.tinypic.com/2cgj9g0.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 889px;" src="http://i36.tinypic.com/2cgj9g0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i38.tinypic.com/27y4f8l.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 452px;" src="http://i38.tinypic.com/27y4f8l.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i34.tinypic.com/263byua.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 581px;" src="http://i34.tinypic.com/263byua.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i36.tinypic.com/28kj47d.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 598px;" src="http://i36.tinypic.com/28kj47d.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-526494607043816365?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/crea-textos-estilo-pielcuero-con.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i35.tinypic.com/2ilihi8_th.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-1067839862610185452</guid><pubDate>Tue, 02 Dec 2008 04:19:00 +0000</pubDate><atom:updated>2008-12-01T20:20:04.030-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">photoshop</category><title>efecto de texto cromado con photoshop</title><description>&lt;b&gt;PASO 1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br&gt;Iniciaremos creando nuestro espacio de trabajo, el mio es de 450×270px con 300ppp, el tamaño del texto es muy importante, entre más grande mejor por motivos de espacio yo solo usaré la palabra Ok&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i34.tinypic.com/2cqibts.png" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;span style="color: red;"&gt;&lt;b&gt;PASO 2&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br&gt;Creamos el texto usando el color #7d7d7d es un gris oscuro, yo use la fuente Adobe Garamond Pro para este tipo de efecto es mejor que ocupes un tipo de letra Serif como Georgia, Garamond, Times New Roman o Trajan.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i34.tinypic.com/2nb4m5s.png" border="0"&gt;&lt;br /&gt;&lt;br&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;span style="color: red;"&gt;&lt;b&gt;PASO 3&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br&gt;Ahora vamos darle algo de relieve al texto, da clic derecho sobre la capa de texto y selecciona Opciones de Fusión, mira la imagen de abajo y pon los ajustes que ves en ella.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i34.tinypic.com/2dses29.png" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;span style="color: red;"&gt;&lt;b&gt;PASO 4&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br&gt;Necesitamos rasterizar el texto por lo que da clic derecho sobre la capa de texto y selecciona la opción Rasterizar Texto, luego crea una nueva capa presionando Ctrl+Shift+N y ubicala bajo la capa de texto que acabas de rasterizar, por ultimo vuelve a dar clic derecho sobre la capa de texto y selecciona la opción Combinar Hacia Abajo.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;span style="color: red;"&gt;&lt;b&gt;PASO 5&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br&gt;Es hora de usar la Herramienta Curvas, presiona Ctrl+M y haz un gráfico así en Zig-Zag como el de la imagen de abajo.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i36.tinypic.com/15hif5x.png" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;span style="color: red;"&gt;&lt;b&gt;PASO 6&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br&gt;Ve a Imagen | Ajustes | Variaciones.. en la ventana que aparecerá deberás ajustar los controles como en la imagen de abajo, luego da clic sobre los cuadros que dicen: Más Azul y Mas Verde, luego da clic en Ok.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i34.tinypic.com/f1mkxe.png" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;span style="color: red;"&gt;&lt;b&gt;PASO 7&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br&gt;Luego abre nuevamente Curvas y haz el siguiente ajuste.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i38.tinypic.com/6p6bes.png" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;span style="color: red;"&gt;&lt;b&gt;PASO 8&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br&gt;Abre de nuevo los Estilos de Capa y ajusta la Sombra Paralela y la Sombra Interior como aparece abajo.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i36.tinypic.com/ohu5mr.jpg" border="0"&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;img id="imagen" src="http://i37.tinypic.com/10rvo76.jpg" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;span style="color: red;"&gt;&lt;b&gt;RESULTADO:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i38.tinypic.com/345nfbq.png" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;Si lo deseas puedes dejarlo hasta aquí o puedes presionar Ctrl+Shift+U para desaturarla y obtendrás esto:&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i33.tinypic.com/i5uio2.jpg" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;O si lo queres con efecto dorado, simplemente desatura la imagen y presiona Ctrl+U para abrir el cuadro de dialogo Tono/Saturación, seleccionar la casilla colorear y ajustar el deslizador tono al color amarillo, y obtendrás esto:&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br&gt;&lt;img id="imagen" src="http://i38.tinypic.com/hvrwjd.png" border="0"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-1067839862610185452?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/efecto-de-texto-cromado-con-photoshop.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i34.tinypic.com/2cqibts_th.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-5785854226259251962</guid><pubDate>Tue, 02 Dec 2008 04:16:00 +0000</pubDate><atom:updated>2008-12-01T20:17:25.833-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">photoshop</category><title>efecto de luces con photoshop</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.host-image.com.ar/registrados/portus_1a6ea1a600.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 3281px;" src="http://www.host-image.com.ar/registrados/portus_1a6ea1a600.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-5785854226259251962?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/efecto-de-luces-con-photoshop.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-8178900492936004801</guid><pubDate>Tue, 02 Dec 2008 03:55:00 +0000</pubDate><atom:updated>2008-12-01T19:56:11.971-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">photoshop</category><title>personaliza tus post con photoshop crea tus propias Cajas de Software</title><description>Primero dibujamos dos rectángulos en blanco, uno junto al otro de la misma altura de esta manera:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i35.tinypic.com/2niz7rc.jpg" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora le aplicamos a cada uno desde “Opciones de Fusión” una gradiente:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="imagen" src="http://i33.tinypic.com/5vn3up.png" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Que quede de la siguiente manera:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i38.tinypic.com/2vab1xu.png" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora le ponemos los efectos y las imágenes que queramos, yo la voy a hacer sencilla porque el objetivo es la caja: (nótese que tengo las imágenes con su rectángulo respectivo ya acomodadas)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i37.tinypic.com/2vhue6p.png" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora agrupamos cada rectángulo con sus respectivas imágenes de modo que nos queden solo dos capas: esto se hace seleccionando las capas que queremos agrupar, por ejemplo el rectángulo grande con su imagen y damos clic derecho sobre alguna de estas luego escogemos la opción “Agrupar en objeto inteligente nuevo” y luego volvemos a hacer lo mismo pero esta vez escogemos la opción “Rasterizar capa”, para que nos quede así:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i38.tinypic.com/258qucg.png" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora duplicamos el rectángulo pequeño y en opciones de fusión vamos a “Superposición de colores” y le damos un tono negro, ahora le bajamos la transparencia a un 20 %.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i38.tinypic.com/5wdw10.png" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora agrupamos estas dos últimas capas (la del rectángulo pequeño y la copia en negro).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;De nuevo volvemos a tener solo dos capas, vamos a la del rectángulo grande y vamos a Archivoà TransformaciónàDistorsionar y alargamos las puntas derechas y encogemos el ancho desde el lado izquierdo para que nos quede algo así:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i38.tinypic.com/25ibqsw.png" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora vamos al rectángulo pequeño y lo juntamos con el grande y vamos de nuevo a Archivo TransformaciónàDistorsionar y alargamos las puntas izquierdas y encogemos el ancho desde el lado derecho para que nos quede algo así:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i38.tinypic.com/jhao38.png" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora solo agregamos una sombra suave y un fondo blanco para apreciar lo que hicimos y obtenemos algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i36.tinypic.com/fkrvgj.jpg" border="0" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-8178900492936004801?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/personaliza-tus-post-con-photoshop-crea.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i35.tinypic.com/2niz7rc_th.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-765878081031540587</guid><pubDate>Tue, 02 Dec 2008 03:37:00 +0000</pubDate><atom:updated>2008-12-01T19:38:26.042-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">photoshop</category><title>crear collages con photoshop</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.host-image.com.ar/registrados/portus_607be1a6af.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 3325px;" src="http://www.host-image.com.ar/registrados/portus_607be1a6af.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-765878081031540587?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/crear-collages-con-photoshop.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-5277790898011646703</guid><pubDate>Tue, 02 Dec 2008 03:36:00 +0000</pubDate><atom:updated>2008-12-01T19:43:22.544-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">photoshop</category><title>efecto photoshop para tus fotos</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i34.tinypic.com/31505kj.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 1067px;" src="http://i34.tinypic.com/31505kj.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i35.tinypic.com/34sknip.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 1067px;" src="http://i35.tinypic.com/34sknip.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i38.tinypic.com/21kf3ts.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 1067px;" src="http://i38.tinypic.com/21kf3ts.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i37.tinypic.com/2a7d3dy.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 1067px;" src="http://i37.tinypic.com/2a7d3dy.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i38.tinypic.com/fyjtc0.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 1067px;" src="http://i38.tinypic.com/fyjtc0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i37.tinypic.com/102matk.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 1067px;" src="http://i37.tinypic.com/102matk.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-5277790898011646703?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/efecto-photoshop-para-tus-fotos.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i34.tinypic.com/31505kj_th.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-4898687205792919280</guid><pubDate>Tue, 02 Dec 2008 03:34:00 +0000</pubDate><atom:updated>2008-12-01T19:36:32.977-08:00</atom:updated><title>como crear fractales con Photoshop</title><description>Es un truco muy simple, pero conocido por muy pocos, un "secreto" del Photoshop. En sí el Photoshop no calcula especificamente un fractal, sino que, usando una imagen cualkiera y modificandola se logra un efecto que parecería un fractal.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;1- En una nueva imágen creen o exporten un objecto que deseen "fractalizar". En este caso yo creé este dibujo en una capa aparte.&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://i36.tinypic.com/28v3mrt.jpg" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;NOTA: Apartir de ahora hay que saber las teclas de metodo abreviado de Transformación Libre (Free Transform):&lt;br /&gt;&lt;br&gt;-Free Transform Copy: Ctrl+Alt+T&lt;br /&gt;&lt;br&gt;-Transform Again Copy: Ctrl+Alt+Shift+T&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;2 - Free transform copy a la imagen original, achíquenla solo un poco manteniendo las teclas Alt+Shift para mantener la proporción y de la imágen.&lt;br /&gt;&lt;br&gt;Ahora muevan la cruz del centro (centro de transformación o "transform center"&lt;span style="position: relative;"&gt;&lt;img src="http://i.t.net.ar/images/big2v5.gif" style="position: absolute; top: -310px; clip: rect(308px, 16px, 324px, 0px);"&gt;&lt;img src="http://i.t.net.ar/images/space.gif" style="width: 16px; height: 12px;"&gt;&lt;/span&gt; hacia abajo a la izquierda.&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;img id="imagen" src="http://i37.tinypic.com/2m50bc9.jpg" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;3- Ahora roten la imagen e intentan alinearla con el centro de la original moviéndola a mano (nudge) y tecléen Enter.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br&gt;&lt;img id="imagen" src="http://i35.tinypic.com/bfl1r6.jpg" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;4- Mantengan presionado Ctrl+Alt+Shift y teccléen muchas veces la T bien rápido. mientras más rapido más divertido Xd.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br&gt;&lt;img id="imagen" src="http://i35.tinypic.com/2maewy.jpg" border="0"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;Explicación:&lt;br /&gt;&lt;br&gt;Por qué pasa esto? Cuando transformamos algo, Photoshop guarda el calculo usado para su transformación, entonces cuando transformamos de nuevo, se usa ese mismo calculo sobre la nueva transformacion, de esta manera la copia nueva se transforma en la misma proporcion que la anterior más su propia transofmacion creando un efecto que en este caso lo usé para simular un fractal.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;img id="imagen" src="http://i36.tinypic.com/k1vtif.jpg" border="0"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-4898687205792919280?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/como-crear-fractales-con-photoshop.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i36.tinypic.com/28v3mrt_th.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-4289198952646627925</guid><pubDate>Tue, 02 Dec 2008 03:33:00 +0000</pubDate><atom:updated>2008-12-01T19:34:29.464-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">photoshop</category><title>efecto cristal empañado con photoshop</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.host-image.com.ar/registrados/portus_892650d509.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 430px; height: 2167px;" src="http://www.host-image.com.ar/registrados/portus_892650d509.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-4289198952646627925?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/12/efecto-cristal-empaado-con-photoshop.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-3140988845561628408</guid><pubDate>Wed, 26 Nov 2008 09:33:00 +0000</pubDate><atom:updated>2008-11-26T01:37:17.775-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">blogger</category><title>Bloques animados en el elemento Etiquetas</title><description>Hace unos días mostraba la forma de utilizar la técnica de los &lt;a href="http://vagabundia.blogspot.com/2008/11/bloques-animados-en-el-elemento.html" target="_blank"&gt;bloques animados en el elemento Archivos de Blogger&lt;/a&gt; y preguntaban si era posible hacer lo mismo en elemento &lt;span style="font-weight: bold;"&gt;Etiquetas&lt;/span&gt; y la respuesta es sí.&lt;br /&gt;&lt;br /&gt;Otra vez, para quien no lo haya visto, estamos hablando de un &lt;span style="font-style: italic;"&gt;script&lt;/span&gt; descripto en esta entrada y que se llama &lt;a href="http://zvymaq.bay.livefilestore.com/y1pP_it-wZ_eQc9l624OUDGlSNkjXDVhH5DCWKZnAAFtx0aokVtv0jjFpWlHit72MIPgU4h8VmAfValseE0c4nmLw/animatedcollapse.js" target="_blank"&gt;animatedcollapse.js&lt;/a&gt;; archivo que hay que alojar en un servidor propio y luego, insertarlo en la plantilla de &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Blogger&lt;/span&gt;, justo antes de la etiqueta &lt;span style="font-weight: bold; color: rgb(51, 255, 51);"&gt;&amp;lt;/HEAD&amp;gt;&lt;/span&gt;:&lt;pre&gt;&amp;lt;script type="text/javascript" src="&lt;span style="color: rgb(255, 255, 0);"&gt;URL_animatedcollapse.js&lt;/span&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Expandimos los artilugios y buscamos el código de las etiquetas:&lt;/div&gt;&lt;pre class="long"&gt;&amp;lt;b:widget id='Label1' locked='false' title='Etiquetas' type='Label'&amp;gt;&lt;br /&gt;&amp;lt;b:includable id='main'&amp;gt;&lt;br /&gt;&amp;lt;b:if cond='data:title'&amp;gt;&lt;br /&gt; &amp;lt;h2&amp;gt;&amp;lt;data:title/&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;&amp;lt;/b:if&amp;gt;&lt;br /&gt;&amp;lt;div class='widget-content'&amp;gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(204, 204, 255);"&gt;&amp;lt;div style='text-align:center;'&amp;gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(204, 204, 255);"&gt;&amp;lt;a href='javascript:lasEtiquetas.slideit()'&amp;gt;EXPANDIR/CONTRAER&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(204, 204, 255);"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(204, 204, 255);"&gt;&amp;lt;div id='EtiquetasLista'&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;ul&amp;gt;&lt;br /&gt;   &amp;lt;b:loop values='data:labels' var='label'&amp;gt;&lt;br /&gt;     &amp;lt;li&amp;gt;&lt;br /&gt;       &amp;lt;b:if cond='data:blog.url == data:label.url'&amp;gt;&lt;br /&gt;         &amp;lt;span expr:dir='data:blog.languageDirection'&amp;gt;&lt;br /&gt;           &amp;lt;data:label.name/&amp;gt;&lt;br /&gt;         &amp;lt;/span&amp;gt;&lt;br /&gt;       &amp;lt;b:else/&amp;gt;&lt;br /&gt;         &amp;lt;a expr:dir='data:blog.languageDirection' expr:href='data:label.url'&amp;gt;&lt;br /&gt;           &amp;lt;data:label.name/&amp;gt;&lt;br /&gt;         &amp;lt;/a&amp;gt;&lt;br /&gt;       &amp;lt;/b:if&amp;gt;&lt;br /&gt;       &amp;lt;span dir='ltr'&amp;gt;(&amp;lt;data:label.count/&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;     &amp;lt;/li&amp;gt;&lt;br /&gt;   &amp;lt;/b:loop&amp;gt;&lt;br /&gt;   &amp;lt;/ul&amp;gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(204, 204, 255);"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(204, 204, 255);"&gt;&amp;lt;script type='text/javascript'&amp;gt;var lasEtiquetas=new animatedcollapse("EtiquetasLista", 500, false)&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;b:include name='quickedit'/&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/b:includable&amp;gt;&lt;br /&gt;&amp;lt;/b:widget&amp;gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Agregaremos entonces las líneas en color y  eso es todo.&lt;br /&gt;&lt;br /&gt;Aquí lo que hemos hecho es agregar un &lt;span style="color: rgb(51, 255, 51); font-weight: bold;"&gt;DIV&lt;/span&gt; para contener la lista de etiquetas y lo identificamos con un nombre único: &lt;span style="color: rgb(51, 255, 255); font-weight: bold;"&gt;id='EtiquetasLista'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El &lt;span style="font-style: italic;"&gt;script&lt;/span&gt;, lo podemos usar varias veces en diferentes elementos con la única condición de ejecutarlo usando nombres distintos (&lt;span style="font-weight: bold; color: rgb(51, 255, 255);"&gt;lasEtiquetas&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;El resultado puede verse en la &lt;span style="font-style: italic;"&gt;sidebar&lt;/span&gt; de mi &lt;a href="http://bloggersedesperto.blogspot.com/" target="_blank"&gt;blog de pruebas&lt;/a&gt; funcionando sobre una plantilla Mínima.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vagabundia.blogspot.com/2008/11/bloques-animados-en-el-elemento_21.html"&gt;Fuente&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-3140988845561628408?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/11/bloques-animados-en-el-elemento.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-5415626954533188388</guid><pubDate>Wed, 26 Nov 2008 08:38:00 +0000</pubDate><atom:updated>2008-12-27T13:26:51.365-08:00</atom:updated><title>Blog De Usuarios. Comunidad C.u.H</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_6ravLHKNpbg/SJVQXB5cDWI/AAAAAAAAAOg/8N-4Z0SxAMM/s1600-h/1-11.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_6ravLHKNpbg/SJVQXB5cDWI/AAAAAAAAAOg/8N-4Z0SxAMM/s320/1-11.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5230174898837261666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="center"&gt; Links De Webs Amigas " El-Hacker.com " &lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;br /&gt;1.- &lt;a href="http://atabasco.blogspot.com/2008/05/blogs-de-usuarios.html"&gt;A Tabasco&lt;/a&gt;&lt;br /&gt;2.- &lt;a href="http://www.ciencia-mx.com/blog/2008/07/03/links-de-paginas-amigas/"&gt;Ciencia Mx&lt;/a&gt;&lt;br /&gt;3.- &lt;a href="http://h4xxor.blogspot.com/2008/05/blog-de-usuarios.html"&gt;Haxxor&lt;/a&gt;&lt;br /&gt;4.- &lt;a href="http://unknown-code.blogspot.com/"&gt;Sector Geek &lt;/a&gt;&lt;br /&gt;5.- &lt;a href="http://thesmartgenius.wordpress.com/cuh-blogs/"&gt;Phreaking&lt;/a&gt;&lt;br /&gt;6.- &lt;a href="http://b4ckdoor.wordpress.com/cuh-blogs/"&gt;Back Door&lt;/a&gt;&lt;br /&gt;7.- &lt;a href="http://komkal.blogspot.com/2008/05/blogs-de-usuarios.html"&gt;Software Gratis&lt;/a&gt;&lt;br /&gt;8.- &lt;a href="http://furiouszona.wordpress.com/cuh-blogs/"&gt;Furious Zona&lt;/a&gt;&lt;br /&gt;9.- &lt;a href="http://www.clubbycooosmos.com/blog/archivepage/"&gt;Clubbycooosmos&lt;/a&gt;&lt;br /&gt;10.- &lt;a href="http://oaxaka.net/oaxaca/2008/06/blogs-elhackercom/"&gt;Oaxaka&lt;/a&gt;&lt;br /&gt;11.- &lt;a href="http://rey122.wordpress.com/blogs-cuh/"&gt;Rey!&lt;/a&gt;&lt;br /&gt;12.- &lt;a href="http://sswteam.wordpress.com/cuh-blogs/"&gt;SSW Team&lt;/a&gt;&lt;br /&gt;13.- &lt;a href="http://www-zona-k64.blogspot.com/2008/08/blog-de-usuarios-comunidad-cuh.html"&gt;Zona-k64&lt;/a&gt;&lt;br /&gt;14.- &lt;a href="http://leteoeunoe.blogspot.com/"&gt;Leteo &amp; Eunoe&lt;/a&gt;&lt;br /&gt;15.- &lt;a href="http://apuromafo.wordpress.com/2008/11/07/cuh-blogs/"&gt;Apuromafo&lt;/a&gt;&lt;br /&gt;16.- &lt;a href="http://www.alevsk-zone.co.cc/?page_id=2"&gt;Alevsk  - Zone&lt;/a&gt;&lt;br /&gt;17.- &lt;a href="http://yourillusion.com.ar/blog/?p=77"&gt;Your illusion&lt;/a&gt;&lt;br /&gt;18.- &lt;a href="http://blacktrue.com/blog/2008/11/lista-de-blog/"&gt;Black True&lt;/a&gt;&lt;br /&gt;19.- &lt;a href="http://zona-movies-on-line.blogspot.com/2008/11/blog-de-usuarios-comunidad-cuh.html"&gt;Movies Online&lt;/a&gt;&lt;br /&gt;20.- &lt;a href="http://ayuda-bloggind.blogspot.com/2008/11/blog-de-usuarios-comunidad-cuh.html"&gt;Ayuda Bloggind&lt;/a&gt;&lt;br /&gt;21.- &lt;a href="http://www.el-hacker.com/blogs-de-usuarios.html"&gt;Lista de Blogs &lt;/a&gt;&lt;br /&gt;22.- &lt;a href="http://www.terminalhacker.es/cuhbl0gs.php"&gt;TerminalHacker&lt;/a&gt;&lt;br /&gt;23.- &lt;a href="http://veinterublos.blogspot.com/2008/12/blogs-de-usuarios-el-hackercom.html"&gt;Nada Y Todo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Si ustedes lectores quieren participar en este enlazamientos de blogs podras inscribirte por aca. &lt;a href="http://foro.el-hacker.com/index.php/topic,130849.msg492901.html#msg492901"&gt;Info. El-Hacker.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Y Seguimos Actualizando . . .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-5415626954533188388?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/11/blog-de-usuarios-comunidad-cuh.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp3.blogger.com/_6ravLHKNpbg/SJVQXB5cDWI/AAAAAAAAAOg/8N-4Z0SxAMM/s72-c/1-11.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-8628281279714303176</guid><pubDate>Tue, 18 Nov 2008 20:19:00 +0000</pubDate><atom:updated>2008-11-18T12:44:49.469-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">blogger</category><title>Formulario de Contacto</title><description>Ahora que Webformdesigner no parece aceptar más cuentas y que FormLogiMix se ha transformado en casi imposible de usar en &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Blogger&lt;/span&gt;, agregar un formulario de contacto es una tarea complicada y otro de los vacíos conceptuales del servicio ¡Son los dueños de &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;GMail&lt;/span&gt; por Diós!&lt;br&gt;&lt;br&gt;En fín. Gracias a &lt;a href="http://lorena-argentina.blogspot.com/" target="_blank"&gt;Lorena&lt;/a&gt; hay una nueva posibilidad así que hay que agradecerle calurosamente que me haya enviado esta información.&lt;br&gt;&lt;br&gt;Se trata de &lt;a href="http://www.emailmeform.com/" target="_blank"&gt;EmailMeForm.com&lt;/a&gt; un sitio nos permite crear un formulario y nos provee el código &lt;span style="color: rgb(51, 255, 51);"&gt;HTML&lt;/span&gt; para poderlo insertar en nuestro &lt;span style="font-style: italic;"&gt;blog&lt;/span&gt;.&lt;br&gt;&lt;br&gt;Una vez que nos registramos y confirman nuestra identidad, ya estamos listos para usarlo. Ingresamos en un panel con las opciones para nuestra cuenta y allí lo crearemos siguiendo los pasos que nos indican (&lt;span style="font-style: italic;"&gt;Form Wizard&lt;/span&gt;) o bien lo editaremos tantas veces como queramos (&lt;span style="font-style: italic;"&gt;Forms List&lt;/span&gt;).&lt;br&gt;&lt;br&gt;Lamentablemente, la página está en inglés pero, hay que tener paciencia.&lt;br&gt;&lt;br&gt;El &lt;span style="font-weight: bold; color: rgb(51, 255, 255);"&gt;primer paso&lt;/span&gt; es establecer una serie de datos: Nombre del formulario (porque podemos tener varios), dirección de correo donde recibiremos los envios, dirección a donde nos enviarán los que se consideren &lt;span style="font-style: italic;"&gt;spam&lt;/span&gt;, dirección de una página a la que se redirigirán los visitantes al terminar (una página de agradecimiento, de información o la página principal el &lt;span style="font-style: italic;"&gt;blog&lt;/span&gt;), etc.&lt;br&gt;&lt;br&gt;Aquí es donde también decidimos la cantidad de campos a usar (si no se está seguro, dejar el valor por defecto que es cuatro).&lt;br&gt;&lt;br&gt;La siguiente pantalla nos lleva al &lt;span style="font-weight: bold; color: rgb(51, 255, 255);"&gt;segundo paso&lt;/span&gt; donde colocaremos los nombres de esos campos y sus características.&lt;br&gt;&lt;br&gt;Los campos por defecto son: &lt;span style="color: rgb(51, 255, 51);"&gt;Nombre&lt;/span&gt;, &lt;span style="color: rgb(51, 255, 51);"&gt;Dirección de EMail&lt;/span&gt;, &lt;span style="color: rgb(51, 255, 51);"&gt;Asunto&lt;/span&gt; y &lt;span style="color: rgb(51, 255, 51);"&gt;Mensaje&lt;/span&gt;. Los tres primeros los dejamos marcados como &lt;span style="font-style: italic;"&gt;Short Text&lt;/span&gt;, es decir, tendrán una línea; y el último como &lt;span style="font-style: italic;"&gt;Large Text&lt;/span&gt;, será un espacio más amplio donde se escribirán los mensajes. Si queremos que todos sean obligatorios, seguimos adelante, si no, marcamos las opciones que nos interesen.&lt;br&gt;&lt;br&gt;En el &lt;span style="font-weight: bold;"&gt;tercer  paso&lt;/span&gt;, definiremos los tamaños de esos campos. A menos que ya tengamos claro qué es lo que que queremos hacer, los dejamos como están, luego, después de probarlo, podemos editar el formulario desde esta página o bien desde el mismo &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Blogger&lt;/span&gt;. Lo mismo podemos decir del &lt;span style="color: rgb(51, 255, 255); font-weight: bold;"&gt;cuarto paso&lt;/span&gt; que es el que nos permite establecer las características de las fuentes y los colores; los botones de envío o otros detalles.&lt;br&gt;&lt;br&gt;Al final de esta ventana es donde veremos una de las características más interesantes: los filtros &lt;span style="font-style: italic;"&gt;antispam&lt;/span&gt;. Ahí podemos elegir mostrar una imagen con letras y números (&lt;span style="font-style: italic;"&gt;captcha&lt;/span&gt;), limitar los envíos para cada &lt;span style="color: rgb(51, 255, 51);"&gt;IP&lt;/span&gt;, etc.&lt;br&gt;&lt;br&gt;El último punto de esta ventana es definir el modo en que usaremos el formulario (&lt;span style="font-style: italic;"&gt;Display Mode&lt;/span&gt;) que dejaremos marcada como: &lt;span style="font-style: italic;"&gt;Web Form will be inside the web page, visitor never leaves the site&lt;/span&gt; ya que lo insertaremos en nuestro &lt;span style="font-style: italic;"&gt;blog&lt;/span&gt;, como un &lt;span style="font-style: italic;"&gt;post&lt;/span&gt; más.&lt;br&gt;&lt;br&gt;¿Terminamos? No. El &lt;span style="font-weight: bold; color: rgb(51, 255, 255);"&gt;quinto paso&lt;/span&gt; son opciones avanzadas y podemos dejarlas como están. &lt;span style="font-style: italic;"&gt;Click&lt;/span&gt; en &lt;span style="font-style: italic;"&gt;Next&lt;/span&gt; y ahí veremos una previsualización del formulario. Si nos parece aceptable, &lt;span style="font-style: italic;"&gt;click&lt;/span&gt; en &lt;span style="font-style: italic;"&gt;Finish&lt;/span&gt;.&lt;br&gt;&lt;br&gt;Ahora, el formulario ya está activo y listo para ser usado pero, para eso, necesitamos el código &lt;span style="color: rgb(51, 255, 51);"&gt;HTML&lt;/span&gt; (&lt;span style="font-style: italic;"&gt;Get the HTML code&lt;/span&gt;) que será bastante largo. Lo copiamos y sugiero que lo peguemos en el &lt;span style="font-style: italic;"&gt;block&lt;/span&gt; de notas para darle los últimos retoques ya que si lo pegamos directamente en un &lt;span style="font-style: italic;"&gt;post&lt;/span&gt; de &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Blogger&lt;/span&gt;, no se verá muy bien.&lt;br&gt;&lt;br&gt;Como es una tabla, deberemos eliminar los saltos de línea, es decir, copiar todo en una sola línea. El &lt;span style="font-style: italic;"&gt;block&lt;/span&gt; de notas nos ayuda a esto si desmarcamos &lt;span style="color: rgb(51, 255, 51);"&gt;Ajuste de línea&lt;/span&gt; dentro el menú &lt;span style="color: rgb(51, 255, 51);"&gt;Formato&lt;/span&gt;. Además, si tienen algún tipo de conocimiento, verán que las instrucciones son sencillas y que podemos personalizar las cosas aún más siempre y cuando tengamos cuidado con las etiquetas &lt;span style="color: rgb(51, 255, 51); font-weight: bold;"&gt;INPUT&lt;/span&gt; y con los nombres de los diferentes campos.&lt;br&gt;&lt;br&gt;Hecho esto, creamos un &lt;span style="font-style: italic;"&gt;pos&lt;/span&gt;t, pegamos el código y lo publicamos.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Nombre&lt;br /&gt;&lt;input name="FieldData0" value="" maxlength="100" size="30" type="text"&gt;&lt;br /&gt;Email&lt;br /&gt;&lt;input name="FieldData1" value="" maxlength="100" size="30" type="text"&gt;&lt;br /&gt;Asunto&lt;br /&gt;&lt;input name="FieldData2" value="" maxlength="100" size="30" type="text"&gt;&lt;br /&gt;Mensaje&lt;br /&gt;&lt;/div&gt;&lt;textarea name="FieldData3" cols="50" rows="10"&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;table style="background-color: rgb(119, 119, 119);" width="100%" cellpadding="5" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr bgcolor="#ff9933"&gt;&lt;td colspan="2"&gt;&lt;b style="color: rgb(255, 255, 255);"&gt;¿Es usted un ser humano?&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding: 2px;" width="10"&gt;&lt;img src="http://www.emailmeform.com/turing.php" id="captcha" /&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Ingrese el texto de la imagen&lt;/span&gt;&lt;br /&gt;&lt;input name="Turing" value="" maxlength="100" size="10" type="text"&gt; [&lt;a href="javascript:void(0);" onclick=" document.getElementById('captcha').src = document.getElementById('captcha').src + '?' + (new Date()).getMilliseconds()"&gt;Otra&lt;/a&gt;] [&lt;a href="http://www.emailmeform.com/?v=turing&amp;amp;pt=popup" onclick="window.open('http://www.emailmeform.com/?v=turing&amp;amp;pt=popup','_blank','width=400, height=300, left=' + (screen.width-450) + ', top=100');return false;"&gt;?&lt;/a&gt;]&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;input name="hida2" value="" maxlength="100" size="3" style="display: none;" type="text"&gt;&lt;input class="btn" value="Enviar" name="Submit" type="submit"&gt;   &lt;input class="btn" value="  Borrar  " name="Clear" type="reset"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vagabundia.blogspot.com/2008/03/emailmeform-nuevo-formulario-de.html"&gt;Fuente&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-8628281279714303176?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/11/tu-nombre-tu-e-mail-asunto-mensaje-form_18.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-6143047088834317052</guid><pubDate>Tue, 18 Nov 2008 17:10:00 +0000</pubDate><atom:updated>2008-11-18T09:25:33.001-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">blogger</category><title>Google Sitemaps En Blogger</title><description>Una forma de ayudar en la indexación de nuestro web o blog en Google es diciéndole que páginas tenemos, cuando las modificamos y cuando tenemos artículos nuevos. Esto se puede hacer con una herramienta creada específicamente para ello: &lt;a href="http://www.google.com/webmasters/sitemaps/?hl=es"&gt;Google Sitemap&lt;/a&gt;. Además de ayudarnos en la indexación, esta herramienta nos brinda estadísticas de nuestro web y un reporte de posibles errores.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;Gracias al sistema que maneja Blogger y otros sistemas de gestión de contenido, usar esta herramienta es relativamente fácil y a continuación te la mostramos.&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Ve a la página principal de &lt;a href="http://www.google.com/webmasters/sitemaps/?hl=es"&gt;Google sitemap&lt;/a&gt; y entra con tu cuenta Google (Blogger, Gmail, etc).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Encontraras un campo de texto, ahí escribe la dirección de tu blog: “http://tublog.blogspot.com”.&lt;/li&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://bp1.blogger.com/_Zuzii37VUO4/RlU88JyazxI/AAAAAAAABeo/_K-Xy-Erd-c/s1600-h/google-sitemap-agregar-siti.gif"&gt;&lt;img src="http://bp1.blogger.com/_Zuzii37VUO4/RlU88JyazxI/AAAAAAAABeo/_K-Xy-Erd-c/s320/google-sitemap-agregar-siti.gif" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;Entraras a un panel con una advertencia, diciéndote que el paso siguiente es verificar que el sitio te pertenece. Entra a ese enlace.&lt;a href="http://bp0.blogger.com/_Zuzii37VUO4/RlU875yazwI/AAAAAAAABeg/NnPB1Y54iEI/s1600-h/sitemap-verificar.gif"&gt;&lt;img src="http://bp0.blogger.com/_Zuzii37VUO4/RlU875yazwI/AAAAAAAABeg/NnPB1Y54iEI/s320/sitemap-verificar.gif" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ahora te mostrará un cortina con dos opciones para verificar tu sitio, selecciona “Añadi una etiqueta META” (La otra no es posible con Blogger, pero si para cualquier otro sistema).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Después haber hecho click, en la misma página te muestra el código de la etiqueta META, copia este código (No cierres la página aun). En tu blog, entra a Plantilla (”Diseño” desde el escritorio) y de ahí a “Edición HTML”. Ahí busca el siguiente código:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;&lt;/pre&gt;Y justo abajo, pega el código que copiaste para verificar.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;En la página de Google sitemaps da click en el botón “Verificar”. Sí hiciste todo bien te dirá que tu sitio a sido verficado.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ahora, en la parte superior da click en la pestaña “Sitemaps” y dentro de esta, al enlace para “Añadir un Sitemap”, ahora te pedirá seleccionar el tipo de sitemap, selecciona “Añadir un Sitemap web general”. Al hacer esto te muestra un campo de texto para añadir la dirección url de tu sitemap, para blogger es:http://TUBLOG.blogspot.com/atom.xml&lt;br /&gt;&lt;p&gt;Sustituye “TUBLOG” por esa parte de la dirección de tu blog y da click en el botón “Añadir un sitemap web”&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Con esto queda activado el servicio y basta esperar algunas horas para que Google empiece a recolectar información de tu sitio.&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;El hecho de no tener que crear el sitemap a mano es una gran ventaja, para sitios web sin un sistema de publicación crearlo puede llevar un buen tiempo, como he tenido que hacer con algunos sitios. Pero vale la pena y es útil por la indexación y las estadísticas desde el punto de vista de un buscador como Google.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogandweb.com/blogger/usar-google-sitemap-en-blogger/"&gt;Fuente&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-6143047088834317052?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/11/google-sitemaps-en-blogger.html</link><author>noreply@blogger.com (Razock)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp1.blogger.com/_Zuzii37VUO4/RlU88JyazxI/AAAAAAAABeo/_K-Xy-Erd-c/s72-c/google-sitemap-agregar-siti.gif" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2643060250244696769.post-8958478134540349559</guid><pubDate>Sat, 01 Nov 2008 02:45:00 +0000</pubDate><atom:updated>2008-10-31T19:49:56.840-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">wordpress</category><title>20 plugins para aumentar el trafico de tu blog</title><description>&lt;p&gt;Getting traffic to your blog is perhaps the most important aspect for any blogger so with this in mind I went searching for Wordpress plugins that will help to do just that. And here they are:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;1. &lt;a href="http://lesterchan.net/wordpress/readme/wp-email.html" target="_blank"&gt;Tell a Friend – WP-Email&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This plugin allows visitors to recommend your blog post or page to a friend via email.&lt;/p&gt;&lt;strong&gt;2. &lt;a href="http://txfx.net/code/wordpress/subscribe-to-comments/" target="_blank"&gt;Subscribe to Comments&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Your visitors simply check a box under the comments field which allows them to receive an email notification whenever further comments have been added to the post.&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;3. &lt;a href="http://rmarsh.com/plugins/random-posts/" target="_blank"&gt;Random Posts Plugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Displays a list of random posts from your blog at the end of a blog post encouraging readers to stay on your site.&lt;/p&gt;&lt;strong&gt;4. &lt;a href="http://rmarsh.com/plugins/similar-posts/" target="_blank"&gt;Similar Posts&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Displays a list of related posts from your blog at the end of each post. This encourages readers to stay on your site.&lt;/p&gt;&lt;strong&gt;5. &lt;a href="http://rmarsh.com/plugins/recent-posts/" target="_blank"&gt;Recent Posts&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Displays the most recent posts from your blog.&lt;/p&gt;&lt;strong&gt;6. &lt;a href="http://www.aviransplace.com/digg-this-wordpress-plugin/" target="_blank"&gt;Digg Plugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Allows you to add a Digg style icon button to each blog post encouraging readers to Digg your post.&lt;/p&gt;&lt;strong&gt;7. &lt;a href="http://sharethis.com/wordpress" target="_blank"&gt;Share This Pugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Allows your visitors to add your blog post to social bookmarking and networking sites. You can see how this works by clicking the Share This link at the bottom of this post…and while you’re there why not submit this post to one of your favorite sites…hint, hint!!&lt;/p&gt;8.&lt;strong&gt; &lt;a href="http://yoast.com/wordpress/sociable/" target="_blank"&gt;Sociable Plugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Works in a similar way to the ‘Share This’ plugin  by allowing visitors to submit your posts to their favorite bookmarking sites.&lt;/p&gt;&lt;strong&gt;9. &lt;a href="http://semperfiwebdesign.com/portfolio/wordpress/wordpress-plugins/all-in-one-seo-pack/" target="_blank"&gt;All in One SEO Pack&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Optimizes your blog for the search engines making your blog posts and pages easier to find and rank.&lt;/p&gt;&lt;strong&gt;10. &lt;a href="http://semperfiwebdesign.com/custom-applications/sms-text-message/" target="_blank"&gt;SMS Text Message Plugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Your visitors can enter their mobile number in a sidebar widget and be sent updates via SMS when your blog has been updated.&lt;/p&gt;&lt;strong&gt;11. &lt;a href="http://www.preblogging.com/increase-sociability/" target="_blank"&gt;Increase Sociability Plugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;This plugin recognizes when a visitor has arrived via Stumbleupon or Digg and provides them with a nice reminder to encourage them to vote for your post.&lt;/p&gt;&lt;strong&gt;12. &lt;a href="http://www.trevorfitzgerald.com/2007/03/subscribe-remind/" target="_blank"&gt;Subscribe Remind&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Places some text at the end of each blog post reminding visitors to subscribe to your RSS feed.&lt;/p&gt;&lt;strong&gt;13. &lt;a href="http://www.richardkmiller.com/blog/wordpress-plugin-what-would-seth-godin-do" target="_blank"&gt;What Would Seth Godin Do Plugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Works in a similar way to the ‘Subscribe Remind’ plugin but has some added functionality in that it uses cookies to distinguish between first time visitors and regular visitors. You can create messages to add to the top or bottom of blog posts and first time visitors can see one message whereas regular visitors can see something entirely different.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;14. &lt;a href="http://www.pfadvice.com/wordpress-plugins/show-top-commentators/" target="_blank"&gt;Top Commenters Plugin&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;This is a great plugin for encouraging repeat visitors. Readers that leave the most comments get their link displayed in the sidebar of your blog. As the nofollow tag is removed the reader gets full credit for their link.&lt;/p&gt;&lt;strong&gt;15. &lt;a href="http://www.justinshattuck.com/comment-relish/" target="_blank"&gt;Comment Relish&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;This plugin sends out an automatic email to any new readers to your blog thanking them for leaving a comment. This is a great way to get return visitors. You can customize the email any way you like.&lt;/p&gt;&lt;strong&gt;16. &lt;a href="http://www.semiologic.com/software/wp-tweaks/dofollow/" target="_blank"&gt;Dofollow Plugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Creating a &lt;a href="http://www.affiliateblogonline.com/2008/08/03/what-is-dofollow-and-nofollow/" target="_self"&gt;dofollow blog&lt;/a&gt; can often bring in traffic. This plugin strips the nofollow tag from blog comments.&lt;/p&gt;&lt;strong&gt;17. &lt;a href="http://money.bigbucksblogger.com/lucias-linky-love-a-dofollow-plugin-to-foil-human-comment-spammers/" target="_blank"&gt;Lucia’s Linky Love Dofollow Plugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Another dofollow plugin but this one is slightly different in that it allows you to remove the nofollow tag after a certain number of comments have been left by a reader. You can set this to anywhere between 3 and 10 posts.&lt;/p&gt;&lt;strong&gt;18. &lt;a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/" target="_blank"&gt;Google Sitemap Generator&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;This will generate a sitemap for your blog which will help Google find and index your blog.&lt;/p&gt;&lt;strong&gt;19. &lt;a href="http://wordpress.org/extend/plugins/add-to-any-subscribe/" target="_blank"&gt;Add to Any Subscribe Button Plugin&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Allows your readers to subscribe to just about any type of RSS feed.&lt;/p&gt;&lt;strong&gt;20. &lt;a href="http://www.neato.co.nz/ultimate-tag-warrior/" target="_blank"&gt;Ultimate Tag Warrior&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Allows you to tag your posts which are picked up by blog search engines thereby helping to increase traffic.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;And a couple more as suggested by &lt;a href="http://new-wordpress-themes.net/" target="_blank"&gt;Susan&lt;/a&gt;:&lt;/p&gt;21. &lt;a href="http://www.fiddyp.co.uk/commentluv-wordpress-plugin/" target="_blank"&gt;&lt;strong&gt;CommentLuv&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;This plugin finds the last post by the person who left the comment and displays a link to that post under their comment. Usually used in conjunction with a dofollow type plugin.&lt;/p&gt;22. &lt;a href="http://www.scratch99.com/wordpress-plugin-keywordluv/" target="_blank"&gt;&lt;strong&gt;KeywordLuv&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;When someone leaves a comment on your blog they can also get the benefit of a keyword link in the title. The site uses examples which explains it better than I ever could.&lt;/p&gt;&lt;p&gt;So now you can see why we think Wordpress is the best platform for bloggers. There are just many great plugins that allow you get maximum use from your blog.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.affiliateblogonline.com/2008/08/26/20-wordpress-plugins-to-increase-blog-traffic/"&gt;Fuente&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2643060250244696769-8958478134540349559?l=ayuda-bloggind.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ayuda-bloggind.blogspot.com/2008/10/20-plugins-para-aumentar-el-trafico-de.html</link><author>noreply@blogger.com (Razock)</author><thr:total>0</thr:total></item></channel></rss>

