<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>In the seek of knowledge we code</title>
	<atom:link href="http://ebcomm.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ebcomm.wordpress.com</link>
	<description>The new EBCOMM tech talk</description>
	<lastBuildDate>Mon, 16 Jun 2008 18:26:10 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='ebcomm.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/385daf132b8db4d5ab955e571e238fe6?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>In the seek of knowledge we code</title>
		<link>http://ebcomm.wordpress.com</link>
	</image>
			<item>
		<title>Configuración para un mejor performance en apache</title>
		<link>http://ebcomm.wordpress.com/2008/02/21/configuracion-para-un-mejor-performance-en-apache/</link>
		<comments>http://ebcomm.wordpress.com/2008/02/21/configuracion-para-un-mejor-performance-en-apache/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 20:24:04 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[Desarrollo Web General]]></category>
		<category><![CDATA[WAS]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2008/02/21/configuracion-para-un-mejor-performance-en-apache/</guid>
		<description><![CDATA[
Que tal a todos se preguntara porque hay tan poco tiempo entre los post que he publicado, esto porque ya tengo preparada la información, por lo general redacto el articulo y después lo publico, bueno en fin en este post les dejare una de las posibles configuración para mejorar el rendimiento de una aplicación web [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=17&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">Que tal a todos se preguntara porque hay tan poco tiempo entre los post que he publicado, esto porque ya tengo preparada la información, por lo general redacto el articulo y después lo publico, bueno en fin en este post les dejare una de las posibles configuración para mejorar el rendimiento de una aplicación web atraves del Apache, espero encuentren este mini artículo de utilidad.</font></font></p>
<p style="margin-bottom:0;"> </p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">Para<br />obtener un mayor rendimiento de nuestras aplicaciones he llegado<br />através de la información que proporciona yahoo con el<br />yslow para firefox a la siguiente configuración del apache<br />para producción, esta configuración es muy útil<br />si estás construyendo una aplicación con AJAX, o en si<br />para cualquier tipo de aplicación.</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">	Estas<br />lineas de configuración montan el cache en apache, agregan<br />compresión a los responses del servidor por medio del deflate,<br />y agrega la cabecera expires para guardar cierto tipo de archivos del<br />lado del cliente.</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">Para<br />modificar la configuración del apache tenemos que modificar el<br />archivo httpd.conf </font></font></p>
<p>
<p style="margin-bottom:0;">
</p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">#montar<br />modulo de cache para el apache</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">LoadModule<br />cache_module modules/mod_cache.so</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">&lt;IfModule<br />mod_cache.c&gt;</font></font></p>
<p>
<p style="margin-bottom:0;">    <font face="Arial, sans-serif"><font size="2">&lt;IfModule<br />mod_disk_cache.c&gt;</font></font></p>
<p>
<p style="margin-bottom:0;">        <font face="Arial, sans-serif"><font size="2">CacheRoot<br />&#8220;C:/Archivos de programa/Apache Software<br />Foundation/Apache2.2/cache&#8221;</font></font></p>
<p>
<p style="margin-bottom:0;">        <font face="Arial, sans-serif"><font size="2">CacheSize<br />1000000</font></font></p>
<p>
<p style="margin-bottom:0;">        <font face="Arial, sans-serif"><font size="2">CacheEnable<br />disk /ebcomm2</font></font></p>
<p>
<p style="margin-bottom:0;">        <font face="Arial, sans-serif"><font size="2">CacheDirLevels<br />5</font></font></p>
<p>
<p style="margin-bottom:0;">        <font face="Arial, sans-serif"><font size="2">CacheDirLength<br />3</font></font></p>
<p>
<p style="margin-bottom:0;">        <font face="Arial, sans-serif"><font size="2">CacheDefaultExpire<br />3600</font></font></p>
<p>
<p style="margin-bottom:0;">        <font face="Arial, sans-serif"><font size="2">CacheIgnoreCacheControl<br />On</font></font></p>
<p>
<p style="margin-bottom:0;">        <font face="Arial, sans-serif"><font size="2">CacheMaxExpire<br />31536000</font></font></p>
<p>
<p style="margin-bottom:0;">     <font face="Arial, sans-serif"><font size="2">&lt;/IfModule&gt;<br /></font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">&lt;/IfModule&gt;<br /></font></font></p>
<p>
<p style="margin-bottom:0;">
</p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">#<br />Configuracion del modo deflate y gzip para compresion de datos</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">SetOutputFilter<br />DEFLATE #filtro por el que saldran los responses</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">SetInputFilter<br />DEFLATE #filtro con el que se tomaran los request</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">BrowserMatch<br />^Mozilla/4 gzip-only-text/html #tipo de compresion de acuerdo al<br />navegador</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">BrowserMatch<br />^Mozilla/4\.0[678] no-gzip</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">BrowserMatch<br />\bMSI[E] !no-gzip !gzip-only-text/html</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">SetEnvIfNoCase<br />Request_URI \</font></font></p>
<p>
<p style="margin-bottom:0;">
</p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">#Cargar<br />modulos para agregar header expires a los archivos</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">LoadModule<br />expires_module modules/mod_expires.so</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">ExpiresActive<br />On #Activa el expires header</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">ExpiresByType<br />application/x-javascript &#8220;now plus 1 years 1 minutes&#8221; <br />#guarda en cache los archivos tipo application/x-javascript</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">ExpiresByType<br />image/gif &#8220;now plus 1 years 1 minutes&#8221;  </font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">ExpiresByType<br />image/jpeg &#8220;now plus 1 years 1 minutes&#8221;</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">ExpiresByType<br />text/css &#8220;now plus 1 years 1 minutes&#8221;</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">ExpiresByType<br />image/png &#8220;now plus 1 years 1 minutes&#8221;</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">ExpiresByType<br />text/js &#8220;now plus 1 years 1 minutes&#8221;</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">ExpiresByType<br />text/javascript &#8220;now plus 1 years 1 minutes&#8221;</font></font></p>
<p>
<p style="margin-bottom:0;">
</p>
<p></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=17&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2008/02/21/configuracion-para-un-mejor-performance-en-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Best Practices</title>
		<link>http://ebcomm.wordpress.com/2008/02/21/sql-best-practices/</link>
		<comments>http://ebcomm.wordpress.com/2008/02/21/sql-best-practices/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 20:22:04 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[otros]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2008/02/21/sql-best-practices/</guid>
		<description><![CDATA[
 Que tal Buen día a todos, hoy me dí a la tarea de escribir un poco sobre la utilización de SQL en general quizá no abunde mucho en el tema pero espero que los comentarios les sean de utilidad al planear sus querys.
Altrabajar con SQL ya sea SQL Server, Oracle, o MySQL tenemos que teneren [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=16&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>
<p style="margin-bottom:0;"> <span class="Apple-style-span" style="font-family:Arial;font-size:13px;">Que tal Buen día a todos, hoy me dí a la tarea de escribir un poco sobre la utilización de SQL en general quizá no abunde mucho en el tema pero espero que los comentarios les sean de utilidad al planear sus querys.</span></p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">Al<br />trabajar con SQL ya sea SQL Server, Oracle, o MySQL tenemos que tener<br />en cuenta ciertos puntos considerados como mejores prácticas<br />sin importar sobre que servidor estemos trabajando, esto nos ayudara<br />a optimizar nuestros tiempos en la base de datos y generar código<br />mas legible y mantenible, los puntos considerados como best practice<br />son los que a continuación les menciono.</font></font></p>
<p>
<p style="margin-bottom:0;">
</p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">	1.-<br />Siempre utiliza joins explicitos, es decir si queremos hacer un INNER<br />JOIN tecleamos o nos aseguramos de ponerlo así, INNER JOIN y<br />no con un simple JOIN, tampoco se debe de usar los coma JOIN, si se<br />quiere utilizar se debe de utilizar un CROSS JOIN así ya se ha<br />hecho consientemente esa decisión, además las<br />condiciones de un JOIN deben de ir en un ON o en un USING, las<br />condiciones de un JOIN no deben de ir en el WHERE.</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">	2.-<br />Siempre utiliza parantésis para separar tus consultas así<br />sera más fácil distinguirlas por ejemplo </font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">	WHERE<br />(X=1) AND (Y=2) </font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">	WHERE<br />X=1 AND Y=2</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">	3.-<br />Siempre hay que definir los nombres de los campos, no hay que<br />utilizar SELECT *, o el INSERT INTO tabla VALUES. </font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">	4.-Siempre<br />utiliza el timestamp del servidor, los servidores web pueden tener<br />fechas distintas o pueden ocasionar problemas con las fechas.</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">	5.-<br />Los reportes por lo general tienen el mayor cuello de botella en el<br />tráfico de red, si se va a recibir información es mejor<br />recibirla en partes, </font></font></p>
<p>
<p style="margin-bottom:0;"><a name="page"></a><font face="Arial, sans-serif"><font size="2">	6.-<br />Limitar el uso de subconsultas correlacionadas, a menudo pueden ser<br />sustituidos con un JOIN.</font></font></p>
<p>
<p style="margin-bottom:0;"><a name="page1"></a><font face="Arial, sans-serif"><font size="2">	7.-<br />Los JOIN no son necesariamente recursos intensos si se cuenta con<br />buena indexación,  la mayor parte del tiempo un esquema<br />desnormalizado sin JOIN termina siendo peor que un esquema<br />normalizado con JOINs.</font></font></p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">	8.-<br />Trata de siempre escribir las instrucciones con mayusculas para poder<br />hacer una distinción en nuestros querys.</font></font></p>
<p>
<p style="margin-bottom:0;">
</p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">Espero<br />que esta información les sea de utilidad.</font></font></p>
<p>
<p style="margin-bottom:0;">
</p>
<p>
<p style="margin-bottom:0;"><font face="Arial, sans-serif"><font size="2">Saludos.</font></font></p>
<p></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=16&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2008/02/21/sql-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>
	</item>
		<item>
		<title>HTML 5</title>
		<link>http://ebcomm.wordpress.com/2008/01/25/html-5/</link>
		<comments>http://ebcomm.wordpress.com/2008/01/25/html-5/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 20:31:54 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2008/01/25/html-5/</guid>
		<description><![CDATA[Que tal buen día a todos en el transcurso de estos días por medio de algunos blogs como ajaxian me entere que la W3C ha liberado las especificaciones técnicas del HTML 5, y al estarlas revisando me he encontrado con algunos tags bastante interesantes y netamente pensados o altamente utilizables para las redes sociales y [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=15&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Que tal buen día a todos en el transcurso de estos días por medio de algunos blogs como ajaxian me entere que la W3C ha liberado las especificaciones técnicas del HTML 5, y al estarlas revisando me he encontrado con algunos tags bastante interesantes y netamente pensados o altamente utilizables para las redes sociales y en si para toda la web 2.0.</p>
<p> </p>
<p>Algunos de los elementos que podemos encontrar dentro de este draft de la documentacion de HTML 5 son por ejemplo: </p>
<ul>
<li>
<p>article</p>
<p></li>
<li>
<p>dialog </p>
</li>
<li>
<p>figure </p>
</li>
</ul>
<ul>
<li>
<p>audio y video </p>
<p></li>
<li>
<p>embed </p>
</li>
<li>
<p>time </p>
</li>
<li>
<p>canvas</p>
<p></li>
<li>
<p>command </p>
<p></li>
<li>
<p>datagrid</p>
</li>
<li>
<p>event-source</p>
</li>
<li>
<p>progress</p>
</li>
</ul>
<p>
<p>Y una modificacion especial para los elementos &lt;input&gt; ahora puedes asignarle como atributo lo siguiente: </p>
<ul>
<li>datetime </li>
<li>datetime-local </li>
<li>date </li>
<li>month </li>
<li>week </li>
<li>time </li>
<li>number </li>
<li>range </li>
<li>email </li>
<li>url</li>
</ul>
<p>
<p>En fin estas son algunas de las modificaciones que se vienen con html 5, para los que tengan tiempo denle un vistazo a este draft de las especificaciones del html</p>
<p><a title="HTML 5" href="http://www.w3.org/TR/html5">working draft HTML 5</a> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=15&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2008/01/25/html-5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>
	</item>
		<item>
		<title>14 reglas para el alto performance de un sitio web</title>
		<link>http://ebcomm.wordpress.com/2008/01/16/14-reglas-para-el-alto-performance-de-un-sitio-web/</link>
		<comments>http://ebcomm.wordpress.com/2008/01/16/14-reglas-para-el-alto-performance-de-un-sitio-web/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 20:29:35 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[Desarrollo Web General]]></category>
		<category><![CDATA[WAS]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2008/01/16/14-reglas-para-el-alto-performance-de-un-sitio-web/</guid>
		<description><![CDATA[En unos de mis tantos paseos por internet me encontre con una herramienta para firefox 1 y 2 que se llama yslow, esta herramienta realiza un chequeo de 14 puntos que la gente de la sección de performance de yahoo determino como mejores prácticas al momento de estar desarrollando sitios web. Después de haber probado [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=14&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>En unos de mis tantos paseos por internet me encontre con una herramienta para firefox 1 y 2 que se llama <a target="_blank" href="http://developer.yahoo.com/yslow/" title="yslow">yslow,</a> esta herramienta realiza un chequeo de 14 puntos que la gente de la sección de performance de yahoo determino como mejores prácticas al momento de estar desarrollando sitios web. Después de haber probado por algunos días esta herramienta la recomiendo ampliamente ya te da una idea muy clara de que es lo que tienes que hacer con tu sitio si es que aun no lo has hecho, o bien si en este momento no desarrollas en web, creo que sería importante que tomáras estos puntos en cuenta para tu próxima aplicación. A continuación les dejo los 14 puntos y un enlace donde pueden obtener mayor información.</p>
<p><span style="white-space:pre;" class="Apple-tab-span"></span></p>
<ol class="topspace">
<li><a href="http://developer.yahoo.com/performance/rules.html#num_http">Realizar un menor número de HTTP Requests</a><a href="http://developer.yahoo.com/performance/rules.html#cdn"></a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#cdn">Utilizar un Content Delivery Network</a> Se refiere a utilizar un CDN para seleccionar la ubicación más cercana al usuario para entregarle el contenido del sitio.</li>
<li><a href="http://developer.yahoo.com/performance/rules.html#expires">Agregar Expires Header</a> Este tipo de cabeceras se agregan en el servidor web (por ejemplo en apache web server)</li>
<li><a href="http://developer.yahoo.com/performance/rules.html#gzip">Comprimir los componentes en Gzip</a> </li>
<li><a href="http://developer.yahoo.com/performance/rules.html#css_top">Insertar las CSS al inicio de la página</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#js_bottom">Mover los Scripts al final</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#css_expressions">Evitar las expresiones en CSS</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#external">Hacer los JavaScript y CSS externos</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#dns_lookups">Reducir las busquedas de DNS</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#minify">Minificar JavaScript</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#redirects">Evitar los redireccionamientos</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#js_dupes">Remover los scripts duplicados</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#etags">Configurar ETags</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html#cacheajax">Hacer que Ajax sea cacheable(que se guarde en cache)</a></li>
</ol>
<p>Saludos, espero que tengan un buen día.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=14&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2008/01/16/14-reglas-para-el-alto-performance-de-un-sitio-web/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>
	</item>
		<item>
		<title>Javascript log</title>
		<link>http://ebcomm.wordpress.com/2008/01/09/javascript-log/</link>
		<comments>http://ebcomm.wordpress.com/2008/01/09/javascript-log/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 16:03:45 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2008/01/09/javascript-log/</guid>
		<description><![CDATA[Buen día a todos, desde hace tiempo que tenía este código para generar un logger para javascript, este logger imprime  mensajes en una pantalla popup. Creo que esta pequeña funcion que vemos a continuación les sera de utilidad a muchos de los que tenemos que programar  en javascript ya que no siempre se [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=13&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Buen día a todos, desde hace tiempo que tenía este código para generar un logger para javascript, este logger imprime  mensajes en una pantalla popup. Creo que esta pequeña funcion que vemos a continuación les sera de utilidad a muchos de los que tenemos que programar  en javascript ya que no siempre se puede contar con un log de donde estan ocurriendo los errores, más sin embargo aun  sigo recomendado que lo mejor es utilizar firebug ya que cuenta con un mayor número de herramientas.   function log(message) {     if (!log.window_ || log.window_.closed) {<br />
        var win = window.open(&#8220;&#8221;, null, &#8220;width=400,height=200,&#8221; +<br />
                              &#8220;scrollbars=yes,resizable=yes,status=no,&#8221; +<br />
                              &#8220;location=no,menubar=no,toolbar=no&#8221;);<br />
        if (!win) return;<br />
        var doc = win.document;<br />
        doc.write(&#8220;&lt;html&gt;&lt;head&gt;&lt;title&gt;Debug Log&lt;/title&gt;&lt;/head&gt;&#8221; +<br />
                  &#8220;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;&#8221;);<br />
        doc.close();<br />
        log.window_ = win;<br />
    }<br />
    var logLine = log.window_.document.createElement(&#8220;div&#8221;);<br />
    logLine.appendChild(log.window_.document.createTextNode(message));<br />
    log.window_.document.body.appendChild(logLine);<br />
}<br />
Para imprimir los mensajes en el log lo único que tenermo que hacer es llamar a la función log() dentro de tu código.<br />
for (var i = 0; i &lt; 10; i++) {<br />
    log(&#8220;This is log message #&#8221; + i);<br />
}   Bueno pues espero que les sea de utilidad, no olviden estar poniendose en contacto con nosotros por medio del correo  electrónico para tratar de postear sobre temas más diversos y que sean de interes para todos ustedes.  </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=13&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2008/01/09/javascript-log/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>
	</item>
		<item>
		<title>explicando GWT</title>
		<link>http://ebcomm.wordpress.com/2008/01/04/explicando-gwt/</link>
		<comments>http://ebcomm.wordpress.com/2008/01/04/explicando-gwt/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 16:19:47 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[Frameworks integration]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2008/01/04/explicando-gwt/</guid>
		<description><![CDATA[Vía ajax hispano me encontre con este artículo que les dejo a continuación para que lo chequen a mi me parecío muy bueno por eso se los pongo a su disposición.
Saludos y empezamos nuevo año con ganas renovadas.
Me hago eco de uno de los
mejores artículos que he leído sobre el tema de google toolkit, he [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=12&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Vía ajax hispano me encontre con este artículo que les dejo a continuación para que lo chequen a mi me parecío muy bueno por eso se los pongo a su disposición.</p>
<p>Saludos y empezamos nuevo año con ganas renovadas.</p>
<p><img src="http://code.google.com/images/code_sm.png" alt="google tool kit frame work ajax creacion sitios web java español" style="float:left;margin-bottom:10px;width:153px;margin-right:20px;height:55px;" />Me hago eco de uno de los<br />
mejores artículos que he leído sobre el tema de google toolkit, he visto<br />
conveniente citarlo aquí antes de hacer algo que seguramente no dejaría tan<br />
claro. Un especial agradecimiento a <a href="http://www.blogatronica.com/gadmonks/autores/">Edgardo Balduccio</a> de <a href="http://www.blogatronica.com/gadmonks/">gadmonks</a> por este fantástico<br />
artículo.</p>
<p>Google lanzó su <a target="_blank" href="http://code.google.com/webtoolkit/" id="arc90_link28" class="arc90_linkpicLNK">Google Web Toolkit</a><br />
(ver los <em>Destaques del día</em>) y eso me produjo dos sensaciones opuestas:</p>
<p><strong>1. Alegría</strong>. Que el creador de Gmail ponga a disposición un<br />
framework completo (quizá el propio) para desarrollar aplicaciones en AJAX en su<br />
estilo -único- es muy gratificante para aquellos desarrolladores que apreciamos<br />
la manera en que Google hace las cosas.</p>
<p><strong>2. Cierta decepción</strong>. Cuando <a target="_blank" href="http://code.google.com/webtoolkit/download.html" id="arc90_link29" class="arc90_linkpicLNK">bajé el framework</a>, lo &#8220;instalé&#8221; (está entre comillas porque la<br />
instalación se remite a ser copiado al disco duro en una carpeta cualquiera) y<br />
ejecuté su aplicación de prueba (pueden verla funcionando <a target="_blank" href="http://www.blogatronica.com/gadmonks/apps/ggfrmw_demo/KitchenSink.html" id="arc90_link30" class="arc90_linkpicLNK">aquí mismo</a>) percibí que está íntegramente orientado al<br />
lenguaje JAVA. Lo primero que pensé es en mis clientes (podría ser de mucha<br />
utilidad), pero lamenté el hecho de que ese entorno resulta impopular a la hora<br />
de ser integrado en weblogs y aplicaciones simples en PHP.</p>
<p>Aún así, para aquellos que estén interesados en la mecánica de este nuevo<br />
regalo de google, me permitiré explicar algunos detalles de su<br />
funcionamiento.</p>
<p><a id="more-46" class="arc90_linkpicLNK"></a></p>
<p><strong>Requisitos</strong></p>
<ul>
<li><strong>Java:</strong> Sun Java 2 Runtime Environment 1.4.2+ <a target="_blank" href="http://java.sun.com/j2se/1.4.2/download.html" id="arc90_link32" class="arc90_linkpicLNK">[Download]</a></li>
<li><strong>Sistema operativo:</strong> Windows XP, Windows 2000, o Linux w/<br />
GTK+ 2.2.1+</li>
<li><strong>Hardware:</strong> ~100MB de espacio en el disco, 512MB RAM</li>
</ul>
<p><strong>Cómo funciona</strong></p>
<p>El GWT funciona de dos maneras:</p>
<p><strong>1. Hosted mode</strong></p>
<p>Este modo de ejecución es a través de un <a target="_blank" href="http://es.wikipedia.org/wiki/Tomcat" id="arc90_link33" class="arc90_linkpicLNK">Apache<br />
Tomcat</a> que viene incorporado y sirve para <em>debuggear</em> la aplicación<br />
en ciernes. Para ver cómo funciona este modo de ejecución, escojeremos el mismo<br />
ejemplo que mostramos aquí (Kitchen Sink); deberemos entrar en la carpeta<br />
<em>samples</em>, luego en <em>KitchenSink </em>y ejecutar el archivo<br />
<strong>KitchenSink-shell.cmd</strong>. Este comando iniciará el servidor de<br />
aplicaciones Tomcat y abrirá un navegador (¿vieron? Google ya tiene su<br />
navegador, aunque sea para probar sus aplicaciones) que apuntará a nuestro<br />
<em>localhost </em>en el puerto 8888 (para no interferir con otros servicios<br />
http que podamos tener activos) con la aplicación en ejecución (si quieren ver<br />
la aplicación -de nuevo- <a target="_blank" href="http://www.blogatronica.com/gadmonks/apps/ggfrmw_demo/KitchenSink.html" id="arc90_link34" class="arc90_linkpicLNK">está aquí publicada en Gadmonks</a>).</p>
<p><strong>2. Web mode (compilado)</strong></p>
<p>Fíjense que existe otro archivo &#8220;cmd&#8221;:<br />
<strong>KitchenSink-compile.cmd</strong>. Ejecuten este comando y verán cómo el<br />
framework compila la aplicación y la guarda dentro de una carpeta llamada<br />
<strong>www</strong> en la que encontraremos otra con el nombre completo del<br />
package java (en este caso www\com.google.gwt.sample.kitchensink.KitchenSink).<br />
Dentro de esta última carpeta veremos algunos archivos HTML y XML que conforman<br />
a la aplicación que podrá ser ejecutada desde cualquier navegador sin necesitar<br />
del TOMCAT, pues -aunque resulte difícil entenderlo-, traduce todo el código<br />
puro JAVA a javascript.</p>
<p><strong>Estructura</strong></p>
<p>El GWT genera archivos para <a target="_blank" href="http://es.wikipedia.org/wiki/Eclipse_%28computaci%C3%B3n%29" id="arc90_link35" class="arc90_linkpicLNK">Eclipse</a>, aún así la programación puede ser efectuada a través<br />
de cualquier IDE Java (yo me acostumbré a usar el <strong>JDeveloper </strong>de<br />
<strong>Oracle</strong>, es gratuito y puede bajarse directamente desde la web).<br />
Estas herramientas nos permitirán realizar el debug de la aplicación, es decir,<br />
verificar el recorrido del código en ejecución para detectar errores<br />
eventuales.</p>
<p>Para crear una nueva aplicación, usaremos el comando applicationCreator.cmd<br />
(es necesario tener una ventana de línea de comandos abierta pues requiere de<br />
argumentos y en ella se nos informa dónde están guardados los archivos que<br />
fueron generados). El argumento de este comando es el nombre que le daremos al<br />
package, por ejemplo:</p>
<div class="syntax_hilite"><span class="langName">CODE:</span></p>
<div>
<div class="code">
<ol>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">applicationCreator<br />
com.<span>blogatronica</span>.<span>client</span>.<span>Prueba</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>El <strong>client </strong>es necesario, si no, nuestro proyecto no será<br />
creado y dará un mensaje de error.</p>
<p>El comando generará una serie de carpetas, de acuerdo con el nombre de<br />
nuestro package (en java siempre es así) dentro de la carpeta <em>src</em> en el<br />
path del framework. En nuestro caso, el path será:<br />
<strong>src\com\blogatronica\client</strong> y<br />
<strong>src\com\blogatronica\public</strong>.</p>
<p>Dentro de <strong>public </strong>encontraremos el archivo Prueba.html y<br />
dentro de <strong>client</strong> el código fuente en java, un archivo llamado<br />
<strong>Prueba.java</strong>.</p>
<p>En <strong>Public.html</strong> está la llamada al javascript que será<br />
generado en la ejecución (gwt.js), tanto en Host mode como en Web mode. Este<br />
javascript será el que gerenciará todo el código generado.</p>
<p>La aplicación generada de prueba es el típico <em>Hello world!</em> que<br />
aparecerá luego de que apretemos un botón. Para ejecutarla, pueden ver que el<br />
framework generó en su path tanto el archivo de ejecución como el de<br />
compilación, en este caso <strong>Prueba-shell.cmd</strong> y<br />
<strong>Prueba-compile.cmd</strong>.</p>
<p>El archivo <strong>Prueba.java</strong> funda la clase de esta manera:</p>
<div class="syntax_hilite"><span class="langName">JAVA:</span></p>
<div>
<div class="java">
<ol>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;"><span style="font-weight:bold;color:#000000;">public</span> <span style="font-weight:bold;color:#000000;">class</span> Prueba <span style="font-weight:bold;color:#000000;">implements</span> EntryPoint <span style="color:#66cc66;">{</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;"></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
<span style="color:#808080;font-style:italic;">/**</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;"><span style="color:#808080;font-style:italic;">   * This is the entry point<br />
method.</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;"><span style="color:#808080;font-style:italic;">   */</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
<span style="font-weight:bold;color:#000000;">public</span> <span style="color:#993333;">void</span> onModuleLoad<span style="color:#66cc66;">(</span><span style="color:#66cc66;">)</span> <span style="color:#66cc66;">{</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  <span style="font-weight:bold;color:#000000;">final</span> <a href="http://www.google.com/search?q=allinurl%3AButton+java.sun.com&amp;bntl=1" id="arc90_link38" class="arc90_linkpicLNK"><span style="font-weight:bold;color:#aaaadd;">Button</span></a> button =<br />
<span style="font-weight:bold;color:#000000;">new</span> <a href="http://www.google.com/search?q=allinurl%3AButton+java.sun.com&amp;bntl=1" id="arc90_link39" class="arc90_linkpicLNK"><span style="font-weight:bold;color:#aaaadd;">Button</span></a><span style="color:#66cc66;">(</span><span style="color:#ff0000;">&#8220;Click<br />
me&#8221;</span><span style="color:#66cc66;">)</span>;</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  <span style="font-weight:bold;color:#000000;">final</span> <a href="http://www.google.com/search?q=allinurl%3ALabel+java.sun.com&amp;bntl=1" id="arc90_link40" class="arc90_linkpicLNK"><span style="font-weight:bold;color:#aaaadd;">Label</span></a> label =<br />
<span style="font-weight:bold;color:#000000;">new</span> <a href="http://www.google.com/search?q=allinurl%3ALabel+java.sun.com&amp;bntl=1" id="arc90_link41" class="arc90_linkpicLNK"><span style="font-weight:bold;color:#aaaadd;">Label</span></a><span style="color:#66cc66;">(</span><span style="color:#66cc66;">)</span>;</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;"></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  button.<span style="color:#006600;">addClickListener</span><span style="color:#66cc66;">(</span><span style="font-weight:bold;color:#000000;">new</span> ClickListener<span style="color:#66cc66;">(</span><span style="color:#66cc66;">)</span> <span style="color:#66cc66;">{</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
    <span style="font-weight:bold;color:#000000;">public</span> <span style="color:#993333;">void</span> onClick<span style="color:#66cc66;">(</span>Widget sender<span style="color:#66cc66;">)</span> <span style="color:#66cc66;">{</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
      <span style="color:#b1b100;">if</span> <span style="color:#66cc66;">(</span>label.<span style="color:#006600;">getText</span><span style="color:#66cc66;">(</span><span style="color:#66cc66;">)</span>.<span style="color:#006600;">equals</span><span style="color:#66cc66;">(</span><span style="color:#ff0000;">&#8220;&#8221;</span><span style="color:#66cc66;">)</span><span style="color:#66cc66;">)</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
        label.<span style="color:#006600;">setText</span><span style="color:#66cc66;">(</span><span style="color:#ff0000;">&#8220;Hello<br />
World!&#8221;</span><span style="color:#66cc66;">)</span>;</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
      <span style="color:#b1b100;">else</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
        label.<span style="color:#006600;">setText</span><span style="color:#66cc66;">(</span><span style="color:#ff0000;">&#8220;&#8221;</span><span style="color:#66cc66;">)</span>;</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
    <span style="color:#66cc66;">}</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  <span style="color:#66cc66;">}</span><span style="color:#66cc66;">)</span>;</div>
</li>
</ol>
</div>
</div>
</div>
<p>El código es muy simple, si cuando apretamos el botón el <em>label</em> está<br />
vacío, escribirá &#8220;Hello world!&#8221; si no, sacará lo que está escrito y lo dejará<br />
vacío. Pueden ver el <a target="_blank" href="http://www.blogatronica.com/gadmonks/apps/ggfrmw_demo2/Prueba.html" id="arc90_link42" class="arc90_linkpicLNK">ejemplo publicado aquí también</a>.</p>
<p>Cuando el código es compilado, genera un archivo de javascript para cada<br />
navegador, y describe a los navegadores de la siguiente manera (en el archivo<br />
*nocache.html):</p>
<div class="syntax_hilite"><span class="langName">JavaScript:</span></p>
<div>
<div class="javascript">
<ol>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">window<span style="color:#66cc66;">[</span><span style="color:#3366cc;">"prop$user.agent"</span><span style="color:#66cc66;">]</span> = <span style="font-weight:bold;color:#003366;">function</span><span style="color:#66cc66;">(</span><span style="color:#66cc66;">)</span> <span style="color:#66cc66;">{</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
<span style="font-weight:bold;color:#003366;">var</span> v = window<span style="color:#66cc66;">[</span><span style="color:#3366cc;">"provider$user.agent"</span><span style="color:#66cc66;">]</span><span style="color:#66cc66;">(</span><span style="color:#66cc66;">)</span>;</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
<span style="font-weight:bold;color:#000066;">switch</span> <span style="color:#66cc66;">(</span>v<span style="color:#66cc66;">)</span> <span style="color:#66cc66;">{</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  <span style="font-weight:bold;color:#000066;">case</span> <span style="color:#3366cc;">&#8220;ie6&#8243;</span>:</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  <span style="font-weight:bold;color:#000066;">case</span> <span style="color:#3366cc;">&#8220;moz&#8221;</span>:</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  <span style="font-weight:bold;color:#000066;">case</span> <span style="color:#3366cc;">&#8220;oldmoz&#8221;</span>:</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  <span style="font-weight:bold;color:#000066;">case</span> <span style="color:#3366cc;">&#8220;opera&#8221;</span>:</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  <span style="font-weight:bold;color:#000066;">case</span> <span style="color:#3366cc;">&#8220;safari&#8221;</span>:</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
    <span style="font-weight:bold;color:#000066;">return</span> v;</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
  <span style="font-weight:bold;color:#003366;">default</span>:</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
    parent.__gwt_onBadProperty<span style="color:#66cc66;">(</span><span style="color:#3366cc;">&#8220;com.blogatronica.Prueba&#8221;</span>, <span style="color:#3366cc;">&#8220;user.agent&#8221;</span>, <span style="color:#66cc66;">[</span><span style="color:#3366cc;">'"ie6"'</span>, <span style="color:#3366cc;">'"moz"'</span>, <span style="color:#3366cc;">'"oldmoz"'</span>, <span style="color:#3366cc;">'"opera"'</span>, <span style="color:#3366cc;">'"safari"'</span><span style="color:#66cc66;">]</span>, v<span style="color:#66cc66;">)</span>;</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
    <span style="font-weight:bold;color:#000066;">throw</span> <span style="font-weight:bold;color:#003366;">null</span>;</div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;">
<span style="color:#66cc66;">}</span></div>
</li>
<li>
<div style="font-weight:normal;font-family:'Courier New',Courier,monospace;"><span style="color:#66cc66;">}</span>;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Podemos ver que los navegadores soportados son el Explorer, Mozilla, Netscape<br />
(oldmoz), Opera y Safari.</p>
<p><strong>Conclusión</strong></p>
<p>Estas descripciones no esperan ser un detalle exhaustivo del funcionamiento<br />
del GWT, sí acercar a los desarrolladores interesados -por querer usarlo o por<br />
curiosidad- el mecanismo primario de un framework que podría facilitarle la vida<br />
a más de uno a la hora de desarrollar alguna aplicación que nuestro trabajo nos<br />
traiga a las manos. La versión es beta y en el sitio indica que esperan el<br />
feedback de la gente para ajustarlo. A mí me pareció, en las pocas pruebas que<br />
hice, muy estable, en ningún momento dio ningún error. Para los que prefieran<br />
alguna cosa más fácil, les recomiendo el <a target="_blank" href="http://pages.google.com/" id="arc90_link44" class="arc90_linkpicLNK">Google Page<br />
Creatorv</a>. </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=12&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2008/01/04/explicando-gwt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>

		<media:content url="http://code.google.com/images/code_sm.png" medium="image">
			<media:title type="html">google tool kit frame work ajax creacion sitios web java español</media:title>
		</media:content>
	</item>
		<item>
		<title>Instalando Tomcat 5.5.x en Linux</title>
		<link>http://ebcomm.wordpress.com/2007/12/21/instalando-tomcat-55x-en-linux/</link>
		<comments>http://ebcomm.wordpress.com/2007/12/21/instalando-tomcat-55x-en-linux/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 19:04:53 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2007/12/21/instalando-tomcat-55x-en-linux/</guid>
		<description><![CDATA[ 



En esta seccion descargaremos e instalaremos el Apache Tomcat 5.5.15, para esta descarga no es necesario construir el paquete desde el codigo ya que descargaremos la versión binaria.
1.- Descargamos la versión binaria de nuestra preferencia del siguiente link http://tomcat.apache.org/download-55.cgi. Escogemos el archivo con extensión tar.gz de la sección core section para 5.5.15.
2.- Ahora nos movemos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=11&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> </p>
<table border="1" width="665" rules="cols" cellPadding="2" cellSpacing="0">
<tr>
<td colSpan="2" width="661">
<p style="margin-bottom:0.5cm;"><font face="Arial, sans-serif"><font size="3">En esta seccion descargaremos e instalaremos el Apache Tomcat 5.5.15, para esta descarga no es necesario construir el paquete desde el codigo ya que descargaremos la versión binaria.</font></font></p>
<p style="margin-bottom:0.5cm;"><font size="3"><font face="Arial, sans-serif">1.- Descargamos la versión binaria de nuestra preferencia del siguiente link </font></font><a href="http://tomcat.apache.org/download-55.cgi"><font size="3"><font face="Arial, sans-serif">http://tomcat.apache.org/download-55.cgi</font></font></a><font size="3"><font face="Arial, sans-serif">. Escogemos el archivo con extensión <i>tar.gz</i> de la sección <i>core</i> section para 5.5.15.</font></font></p>
<p><font face="Arial, sans-serif"><font size="3">2.- Ahora nos movemos hacia el directorio donde descargamos el tomcat y extraemos los archivos usando el siguiente comando</font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="margin-bottom:0.5cm;border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">cd /mydownloads <i>(Asegurate de cambiar al directorio donde descargaste el tomcat)</i></font></font></p>
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">tar xvzf apache-tomcat-5.5.15.tar.gz</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661"><font face="Arial, sans-serif"><font size="3">3.- Ahora deberíamos de tener un nuevo directorio llamado apache-tomcat-5.5.15, movemos este directorio a la dirección donde debería de estar instalado, una vez más escogemos el directorio <i>/usr/lib/.</i> Este directorio sera identificado como <i>CATALINA_HOME</i> en la documentacion del Tomcat.</font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">mv apache-tomcat-5.5.15 /usr/lib</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661"><font face="Arial, sans-serif"><font size="3">4.- A continuación nos movemos al directorio <i>/usr/lib/</i>.</font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">cd /usr/lib</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661"><font face="Arial, sans-serif"><font size="3">5.- Creamos un link simbolico llamado apache-tomcat que apunte a <i>CATALINA_HOME </i>con el siguiente comando. </font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">ln -s apache-tomcat-5.5.15 apache-tomcat</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661">
<p style="margin-bottom:0.5cm;"><font face="Arial, sans-serif"><font size="3">Esto nos ahorrara el tener que hacer cambios en los scripts de startup y shutdown del tomcat cada vez que se actualize, y si así se quiere nos permite tener varias versiones del tomcat e ir intercambiandolas entre si.</font></font></p>
<p><font face="Arial, sans-serif"><font size="3">6.- Ahora deberíamos de poder iniciar y detener Tomcat desde el directorio <i>CATALINA_HOME/bin</i>. Si estas utilizando otro shell que no sea el bash, necesitaras de agregar el <i>sh</i> al inicio del comando. </font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="margin-bottom:0.5cm;border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">cd /usr/lib/apache-tomcat/bin</font></font></p>
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">sh startup.sh</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661">
<p style="margin-bottom:0.5cm;"><font face="Courier New, monospace"><font size="1"><font size="3"><font face="Arial, sans-serif">Ahora en este paso deberíamos de poder probar si Tomcat está instalado y corriendo, esto lo haremos abriendo un browser y tecleando la siguiente dirección </font></font><a href="http://localhost:8080/"><font size="3"><font face="Arial, sans-serif">http://localhost:8080</font></font></a><font size="3"><font face="Arial, sans-serif">.</font></font></font></font></p>
<p><font face="Arial, sans-serif"><font size="3">7.- Para apagar el servidor se ejecuta la siguiente linea de comando.</font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">sh shutdown.sh</font></font></p>
</td>
<td width="107" vAlign="top">
 </td>
</tr>
</table>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=11&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2007/12/21/instalando-tomcat-55x-en-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>
	</item>
		<item>
		<title>Instalando el jdk 5.0 en linux</title>
		<link>http://ebcomm.wordpress.com/2007/12/21/instalando-el-jdk-50-en-linux/</link>
		<comments>http://ebcomm.wordpress.com/2007/12/21/instalando-el-jdk-50-en-linux/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 18:38:50 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2007/12/21/instalando-el-jdk-50-en-linux/</guid>
		<description><![CDATA[




Instalando el JDK (Java Development Kit)
Para poder correr tomcat debemos de tener instalado el JDK y establecer la variable de entorno JAVA_HOME para identificar la ubicación del entorno del JDK en nuestro sistema, para fines de la demostración se ha elegido el JDK 5.0, para su instalación debemos de proceder con los siguientes pasos:
1.- Puedes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=10&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div class="snap_preview">
<table border="1" width="665" rules="cols" cellPadding="2" cellSpacing="0">
<tr>
<td colSpan="2" width="661">
<div dir="ltr">
<p style="margin-bottom:0.5cm;"><font face="Arial, sans-serif"><font size="3"><u>Instalando el <a href="http://www.answers.com/topic/jdk?nafid=22" class="answerlink">JDK</a> (Java Development Kit)</u></font></font></p>
<p style="margin-bottom:0.5cm;"><font face="Arial, sans-serif"><font size="3">Para poder correr tomcat debemos de tener instalado el JDK y establecer la variable de entorno JAVA_HOME para identificar la ubicación del entorno del JDK en nuestro sistema, para fines de la demostración se ha elegido el JDK 5.0, para su instalación debemos de proceder con los siguientes pasos:</font></font></p>
<p style="margin-bottom:0.5cm;"><font size="3"><font face="Arial, sans-serif">1.- Puedes descargar el JDK 5.0 del siguiente link </font></font><a href="http://java.sun.com/j2se/1.5.0/download.jsp"><font size="3"><font face="Arial, sans-serif">http://java.sun.com/j2se/1.5.0/download.jsp</font></font></a><font size="3"><font face="Arial, sans-serif">. </font></font></p>
<p style="margin-bottom:0.5cm;"><font face="Arial, sans-serif"><font size="3">2.- Da click en aceptar para aceptar la licencia</font></font></p>
<p style="margin-bottom:0.5cm;"><font face="Arial, sans-serif"><font size="3">3.- A continuación elegimios el archivo linux self-extracting, de la lista de archivos de descarga.</font></font></p>
<p><font face="Arial, sans-serif"><font size="3">4.- Se descarga a cualquier directorio que nosotros definamos y lo convertimos en un archivo ejecutable por medio del siguiente comando:</font></font></div>
</td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">chmod +x jdk-1_5_0_06-linux-i586.bin </font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661"><font face="Arial, sans-serif"><font size="3">5.- Ahora ejecutamos el archivo:</font></font></td>
</tr>
<tr>
<td height="18" bgColor="#e0e0e0" width="550">
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">./jdk-1_5_0_06-linux-i586.bin</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661"><font face="Arial, sans-serif"><font size="3">6.- Ahora deberiamos de tener un directorio nuevo llamado j2sdk1.5-sun. Ahora cambiamos el directorio de lugar a donde debería de correr. Por ejemplo /usr/lib/</font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">mv j2sdk1.5-sun /usr/lib</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661"><font face="Arial, sans-serif"><font size="3">7.- Ahora creamos un link simbolico llamado jdk para JAVA_HOME con el siguiente comando, esto permite que podamos cambiar facilmente entre diferentes jvms que alguna vez necesitemos</font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="margin-bottom:0.5cm;border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">cd /usr/lib</font></font></p>
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">ln -s j2sdk1.5-sun jdk</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661"><font face="Arial, sans-serif"><font size="3">8.- Ahora necesitamos establecer la variable de entorno JAVA_HOME. Agregamos lo siguiente al final del archivo <i>/etc/profile </i>justo despues de “export PATH”</font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="margin-bottom:0.5cm;border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">JAVA_HOME=”/usr/lib/jdk”</font></font></p>
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">export JAVA_HOME</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661">
<p style="margin-bottom:0.5cm;"><font face="Arial, sans-serif"><font size="3">/etc/profile es ejecutado al iniciar y caundo un usuario se loggea en el sistema. Para poder actualizar el entorno se requiere de un logout y un login para que tome los cambios.</font></font></p>
<p><font face="Arial, sans-serif"><font size="3">9.- Tenemos que verificar que JAVA_HOME este definido correctamente a traves del siguiente comando que nos debería de arrojar un resultado como el siguiente <i>/usr/lib/jdk</i>. </font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">echo $JAVA_HOME</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
<tr>
<td colSpan="2" width="661"><font face="Arial, sans-serif"><font size="3">10.- Ahora probamos <a href="http://www.answers.com/topic/java-programming-language?nafid=22" class="answerlink">Java</a> con el siguiente comando, este comando nos debería de regresar lo siguiente <i>/usr/bin/java</i>. Si es así hemos instalado correctamente el jdk</font></font></td>
</tr>
<tr>
<td bgColor="#e0e0e0" width="550">
<p style="border:#000000 1pt solid;padding:0.05cm 0.19cm;"><font face="Arial, sans-serif"><font size="3">which java</font></font></p>
</td>
<td width="107" vAlign="top"></td>
</tr>
</table>
</div>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=10&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2007/12/21/instalando-el-jdk-50-en-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>
	</item>
		<item>
		<title>Compartiendo carpetas de Linux con Windows</title>
		<link>http://ebcomm.wordpress.com/2007/12/21/compartiendo-carpetas-de-linux-con-windows/</link>
		<comments>http://ebcomm.wordpress.com/2007/12/21/compartiendo-carpetas-de-linux-con-windows/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 17:05:14 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2007/12/21/compartiendo-carpetas-de-linux-con-windows/</guid>
		<description><![CDATA[Que tal a todos después de unos días sin algún post me tope ayer con alguien que me pregunto como podiamos compartir una carpeta de una maquina linux con una maquina windows entonces después de darle una idea de como solucionarlo me propuse escribir esto en el blog y pues aquí vamos.
Si suponemos que tenemos dos servidores, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=9&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Que tal a todos después de unos días sin algún post me tope ayer con alguien que me pregunto como podiamos compartir una carpeta de una maquina linux con una maquina windows entonces después de darle una idea de como solucionarlo me propuse escribir esto en el blog y pues aquí vamos.</p>
<p>Si suponemos que tenemos dos servidores, uno windows y otro en linux, y queremos que alguna carpeta del servidor de linux pueda ser vista y utilizada por el servidor de windows debemos de ejecutar los siguientes pasos.</p>
<p>Ubuntu -&gt; 10.9.111.1 (Máquina Linux)<br />
Windows -&gt; 10.9.111.2 (Máquina Windows)<br />
Primero que nada tenemos que dar de alta al usuario que es que se estaria comunicando con el servidor linux, en este ejemplo lo haremos de la siguiente manera.<br />
           <strong>sudo useradd -s /sbin/nologin winuser sudo smbpasswd -a winusuer<br />
</strong>Ya que creamos el usuario debemos de añadir en la lista de host los nombres asociados de la siguiente forma. Editamos el archivo lmhost:<br />
           <strong>sudo gedit /etc/samba/lmhosts<br />
</strong>y encontramos:<br />
           <strong>127.0.0.1       localhost<br />
</strong>Se deben añadir los nombres asociados a la dirección IP que se tenga dentro de la red local, separados con un espacio de tabulador, quedando así:<br />
<strong>      127.0.0.1      localhost<br />
      10.9.111.1    Ubuntu<br />
      10.9.111.2    Windows<br />
</strong>Ahora debemos de configurar el archivo de configuración de samba /etc/samba/smb.conf<br />
    <strong>sudo gedit /etc/samba/smb.conf<br />
</strong></p>
<p>El archivo de configuración contiene y nos permite modificar las siguientes directivas, como lo son las siguientes:</p>
<p>workgroup permite asignar el grupo de trabajo deseado:<br />
<strong>workgroup = winlinux</strong><br />
server string para hace un comentario breve del servidor.<br />
<strong>server string = Servidor Samba %v en %L</strong><br />
hosts allow permite determinar la lista de control de acceso que definirá que máquinas o redes podrán acceder hacia el servidor:<br />
<strong>hosts allow = 10.9.111. 127.<br />
</strong>interfaces permite establecer desde que interfaces de red del sistema se escucharán peticiones. Samba no responderá a peticiones provenientes desde cualquier interfaz no especificada. Esto es útil cuando Samba se ejecuta en un servidor que sirve también de puerta de enlace para la red local, impidiendo se establezcan conexiones desde fuera de la red local.<br />
<strong>interfaces = 10.140.111.254/24</strong><br />
Este es un ejemplo que funciona en general:<br />
Nombre del recurso a compartir [comun] </p>
<p>Comentario acerca del recurso                </p>
<p>comment = Directorio compartido </p>
<p>Ruta completa del recurso        </p>
<p><strong>path = /home/comun</strong><br />
Permitir o no el acceso como usuario invitado. El valor puede ser Yes o No.<br />
<strong>guest ok = Yes</strong><br />
Otra forma de permitir el acceso como usuario invitado. El valor puede ser Yes o No.<br />
<strong>public = Yes</strong> <br />
Permitir mostrar el recurso en las listas de recursos compartidos. El valor puede ser Yes o No.<br />
<strong>browseable = Yes</strong><br />
Permitir la escritura, es opuesto a read only. El valor puede ser Yes o No.</p>
<p>«writable = Yes» es lo mismo que «read only = No».<br />
<strong>writable = No</strong><br />
usuarios o grupos que pueden acceder al recurso compartido. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @.<br />
<strong>valid users = winuser,@winusers</strong> <br />
Usuarios o grupos que pueden acceder con permiso de escritura. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @.<br />
<strong>write list = winuser</strong><br />
Usuarios o grupos que pueden acceder con permisos administrativos para el recurso. Es decir, podrán acceder hacia el recurso realizando todas las operaciones como super-usuarios. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @.<br />
<strong>admin users = winuser</strong><br />
Al igual que directory mode, define que permiso en el sistema tendrán los subdirectorios creados dentro del recurso.<br />
<strong>directory mask  = 0755</strong><br />
Define que permiso en el sistema tendrán los nuevos archivos creados dentro del recurso.<br />
<strong>create mask = 0644</strong>  <br />
Se permite en el ejemplo el acceso a cualquiera como recurso de solo lectura salvo para el usuario winuser. Todo directorio nuevo que sea creado en su interior tendrá permiso 755 y todo archivo que sea puesto en su interior tendrá permiso 644.<br />
Ocultar y denegar acceso a archivos.<br />
Se utiliza hide dot files para mantener ocultos los archivos de sistema que comienzan con un punto:<br />
<strong>hide dot files = Yes</strong> <br />
Se utiliza veto files para especificar la lista, separada por diagonales, de aquellas cadenas de texto que denegarán el acceso a los archivos cuyos nombres contengan estas cadenas. Por ejemplo, denegar el acceso a los archivos cuyos nombres incluyan la palabra «Security» y a los que tengan extensión «.tmp»:<br />
<strong>veto files = /*Security*/*.tmp/  Montar unidades de red.</strong><br />
Para poder visualizar desde Linux las máquinas Windows e interactuar con los directorios compartidos por estás, es necesario<br />
Desde el entorno de GNOME.<br />
Este incluye un módulo para Nautilus que permite acceder hacia los recursos compartidos a través de Samba sin necesidad de modificar cosa alguna en el sistema. Solo hay que hacer clic en Servidores de red en el menú de GNOME.<br />
Iniciar Samba<br />
Por primera vez es necesario ejecutar:<br />
<strong>sudo  /etc/rc.d/init.d/smb  start</strong><br />
Para reiniciar el servicio es necesario ejecutar:<br />
<strong>sudo   /etc/rc.d/init.d/smb  restart</strong> <br />
Para que se inicie automáticamente en nuestro equipo ejecutar:<br />
<strong>sudo   /sbin/chkconfig  &#8211;add  smb </strong></p>
<p>Espero que este artículo les sea de utilidad, por lo pronto seguire respondiendo a sus preguntas y exponiendo mis comentarios a través de este medio. Un saludo a todos.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=9&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2007/12/21/compartiendo-carpetas-de-linux-con-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>
	</item>
		<item>
		<title>Struts Framework UML Diagram</title>
		<link>http://ebcomm.wordpress.com/2007/12/18/struts-framework-uml-diagram/</link>
		<comments>http://ebcomm.wordpress.com/2007/12/18/struts-framework-uml-diagram/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 00:53:01 +0000</pubDate>
		<dc:creator>Fernando</dc:creator>
				<category><![CDATA[Frameworks integration]]></category>

		<guid isPermaLink="false">http://ebcomm.wordpress.com/2007/12/18/struts-framework-uml-diagram/</guid>
		<description><![CDATA[Después de algunos post que he presentado aquí en el blog les presento la estructura del framework de struts para que se pueda ver como efectuar una interacción con este framework, particularmente tengo la creencia que si vamos a utilizar algún tipo de MVC utilicemos algo que nos sirva y de ahi la importancía de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=6&subd=ebcomm&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div class="snap_preview">Después de algunos post que he presentado aquí en el blog les presento la estructura del framework de struts para que se pueda ver como efectuar una interacción con este framework, particularmente tengo la creencia que si vamos a utilizar algún tipo de MVC utilicemos algo que nos sirva y de ahi la importancía de evaluar los frameworks antes de realizar el analisis de cualquier aplicación, para que nos sirve struts:El Framework nos ayuda a desarrollar aplicaciones web basadas en el modelo <strong><a href="http://es.wikipedia.org/wiki/Modelo_Vista_Controlador"> MVC</a></a></strong>, para hacerlo nos dota de tres componentes claves en el desarrollo de dichas aplicaciones que son, un request handler que provee el desarrollador que es mapeado a una <strong>URI</strong> e<a href="http://ebcomm.files.wordpress.com/2007/12/classstruts.gif" title="Struts uml"></a>stándar, un response handler que transfiere el control a otro recurso que complete el response y por último una libreria de tags que ayuda al desarrollador a crear formas interactivas con server pages (JPS).Struts trabaja bien con aplicaciones <strong>REST </strong>convencionales así como con nuevas tecnologías como <strong>SOAP</strong> y <strong>AJAX</strong>.La página del proyecto de  apache es<a href="http://struts.apache.org/">http://struts.apache.org/</a> Y aquí esta la documentación completa del framework. Mientras tanto les dejo el diagrama de <a href="http://www.answers.com/topic/unified-modeling-language?nafid=22" class="answerlink">UML</a> de como esta formado struts y como se debería de interactuar con el.<a href="http://ebcomm.files.wordpress.com/2007/12/classstruts.gif" title="Struts uml"><img src="http://ebcomm.files.wordpress.com/2007/12/classstruts.thumbnail.gif" alt="Struts uml" /></a> imagen de. <a href="http://rollerjm.free.fr/pro/Struts11.html">http://rollerjm.free.fr/pro/Struts11.html</a>En este diagrama las clases de azul representan las clases creadas por el usuario, en este caso el desarrollador mientras que las demás clases son las clases que nos provee el framework.Este post estuvo algo corto pero espero les haya sido de utilidad.</div>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ebcomm.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ebcomm.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ebcomm.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ebcomm.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ebcomm.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ebcomm.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ebcomm.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ebcomm.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ebcomm.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ebcomm.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ebcomm.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ebcomm.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ebcomm.wordpress.com&blog=2259568&post=6&subd=ebcomm&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ebcomm.wordpress.com/2007/12/18/struts-framework-uml-diagram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/80269d37d8212d5963d8da1acc9b88ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fernando</media:title>
		</media:content>

		<media:content url="http://ebcomm.files.wordpress.com/2007/12/classstruts.thumbnail.gif" medium="image">
			<media:title type="html">Struts uml</media:title>
		</media:content>
	</item>
	</channel>
</rss>