<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8407761222568904177</id><updated>2024-08-30T09:53:34.202+02:00</updated><category term="optimización"/><category term="java"/><category term="web"/><category term="google"/><category term="maven"/><category term="repository"/><category term="ant"/><category term="linux"/><category term="php"/><category term="test"/><category term="debug"/><category term="eclipse"/><category term="javascript"/><category term="apache"/><category term="css"/><category term="jQuery"/><category term="jboss"/><category term="online"/><category term="seguridad"/><category term="windows"/><category term="El Roto"/><category term="Jalopy"/><category term="PMD"/><category term="Selenium"/><category term="adsense"/><category term="amazon"/><category term="apple"/><category term="autenticación"/><category term="blog"/><category term="casos de uso"/><category term="chrome"/><category term="comercio electrónico"/><category term="error"/><category term="firebug"/><category term="flash"/><category term="hacker"/><category term="html"/><category term="html5"/><category term="internet"/><category term="mac"/><category term="mantis"/><category term="microsoft"/><category term="mozilla"/><category term="openID"/><category term="opencart"/><category term="permisos"/><category term="recess"/><category term="rss"/><category term="samba"/><category term="server"/><category term="server2go"/><category term="svn"/><category term="symfony"/><category term="twain"/><category term="uml"/><category term="viñetas"/><title type='text'>Desarrollo TIC</title><subtitle type='html'>Tecnologías, viñetas y otras historias...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-1879468894158205160</id><published>2013-05-07T17:20:00.000+02:00</published><updated>2013-05-07T17:23:44.651+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="seguridad"/><title type='text'>Conéctate a tus equipos a través del escritorio remoto de Chrome</title><content type='html'>Después de un largo tiempo desconectado del blog, vuelvo a la carga con nuevos contenidos.&lt;br /&gt;
&lt;br /&gt;
Hoy quiero recomendaros el nuevo escritorio remoto que ofrece Google a través de Chrome. Permite acceder a otros ordenadores o que otro usuario acceda a tu ordenador de forma segura a través de Internet.&lt;br /&gt;
&lt;br /&gt;
Ya está disponible en el &lt;a href=&quot;https://chrome.google.com/webstore/detail/chrome-remote-desktop/gbchcmhmhahfdphkhkmpfmihenigjmpp?hl=es&quot;&gt;Chrome Web Store&lt;/a&gt;. </content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/1879468894158205160/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2013/05/conectate-tus-equipos-traves-del.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/1879468894158205160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/1879468894158205160'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2013/05/conectate-tus-equipos-traves-del.html' title='Conéctate a tus equipos a través del escritorio remoto de Chrome'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-2329743164332237710</id><published>2011-12-12T12:28:00.002+01:00</published><updated>2011-12-12T12:28:39.244+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Optimiza las imágenes para reducir el tráfico de tu portal</title><content type='html'>A través de esta utilidad podrás reducir el tamaño de las imágenes que publiques en tu portal y así minimizar el tráfico que produce. Viene con una limitación de 300kb pero funciona bastante bien.&lt;br /&gt;
&lt;br /&gt;
Entra en esta web y &lt;a href=&quot;http://tools.dynamicdrive.com/imageoptimizer/&quot; target=&quot;_blank&quot;&gt;compruébalo&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/2329743164332237710/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/12/optimiza-las-imagenes-para-reducir-el.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/2329743164332237710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/2329743164332237710'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/12/optimiza-las-imagenes-para-reducir-el.html' title='Optimiza las imágenes para reducir el tráfico de tu portal'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-5120742589276970696</id><published>2011-11-07T12:12:00.002+01:00</published><updated>2011-11-07T12:16:34.563+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blog"/><category scheme="http://www.blogger.com/atom/ns#" term="El Roto"/><title type='text'>Retomando las entradas...</title><content type='html'>Buenas de nuevo. Vuelvo a retomar el blog después de unos meses de ocio y trabajo sin parar. Espero poder sacarle un poco más de tiempo en adelante...&lt;br /&gt;
&lt;br /&gt;
Para empezar el día con un poco de ironía, una viñeta de &lt;b&gt;&lt;i&gt;El roto&lt;/i&gt;&lt;/b&gt; muy relacionada con el debate de esta noche...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.elpais.com/recorte/20111106elpepivin_3/XLCO/Ges/20111106elpepivin_3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;390&quot; src=&quot;http://www.elpais.com/recorte/20111106elpepivin_3/XLCO/Ges/20111106elpepivin_3.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;i&gt;&amp;nbsp; &lt;/i&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/5120742589276970696/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/11/retomando-las-entradas.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5120742589276970696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5120742589276970696'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/11/retomando-las-entradas.html' title='Retomando las entradas...'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-781003524126372756</id><published>2011-08-10T10:24:00.002+02:00</published><updated>2015-05-28T10:18:47.328+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hacker"/><category scheme="http://www.blogger.com/atom/ns#" term="internet"/><category scheme="http://www.blogger.com/atom/ns#" term="seguridad"/><title type='text'>Los mejores &quot;hackers&quot; de la historia</title><content type='html'>Después de la &lt;i&gt;&lt;a href=&quot;http://www.elmundo.es/elmundo/2011/08/08/navegante/1312815721.html&quot; target=&quot;_blank&quot;&gt;noticia&lt;/a&gt;&lt;/i&gt; de la última semana de la &quot;&lt;i&gt;hacker&lt;/i&gt;&quot; de 10 años que modificó la velocidad de un juego de Ipad, me he acordado de la lista de los mejores hacker que leí hace tiempo y que dejan guiones para buenas películas.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Los elegidos son los siguientes:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Kevin Mitnick&lt;/b&gt;&amp;nbsp; - Mitnick es quizás sinónimo de Hacker.  El Departamento de Justicia todavía se refiere a él como &quot;el criminal informático más buscado en la historia de los Estados.&quot;  Sus logros fueron inmortalizados en dos películas de Hollywood: &lt;i&gt;Takedown &lt;/i&gt;y &lt;i&gt;Freedoom downtown&lt;/i&gt;. Mitnick se inició hackeando los sistemas de tarjetas perforadas.  A continuación, al igual que &lt;i&gt;Steve Wozniak&lt;/i&gt; de Apple, Mitnick lo intentó con el &lt;i&gt;phone phreaking&lt;/i&gt;. Fue condenado por primera vez de piratería informática y de robo de software. Mitnick se embarcó durante dos años y medio a hackear todo lo que encontraba a su paso. Él ha declarado que hackeó ordenadores, redes de telefonía, robó secretos empresariales y cortó el sistema de alerta de la defensa nacional americana.  Su última detención se produjo cuando intentó hackear el ordenador personal del experto en informática y hacker &lt;i&gt;Tsutomu Shimomura&lt;/i&gt; (hijo del noble de químicas &lt;i&gt;Osamu Shinomura&lt;/i&gt;). Mitnick es ahora un miembro productivo de la sociedad. 
 Después de servir cinco años y 8 meses en confinamiento solitario, 
ahora es consultor de seguridad informática y conferenciante.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Adrian Lamo&lt;/b&gt; - Famosos por conseguir entrar en los servidores de megacorporaciones 
como America on Line, Yahoo, Microsoft o The New York Times y comunicar 
los fallos de seguridad a sus responsables.&lt;b&gt; &lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Kimble - &lt;/b&gt;Condenado a dos años por colarse en un montón de servidores corporativos y abusar de servicios telefónicos internacionales.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;John Draper&lt;/b&gt; - También conocido como Captain Crunch, es probablemente el phreaker 
más famosos de todos los tiempos. Fue inventor de las blue boxes. Estuvo
 encarcelado varias veces por fraude a compañías telefónicas&lt;b&gt;.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Eric Gordon Corley&lt;/b&gt; - A.K.A Emmanuel Goldstein, es todo un ícono para la comunidad hacker 
debido a sus acciones (documentales, magazines, cracks a sistemas de 
protección de DVDs) combatiendo el control que los gobiernos y grandes 
corporaciones ejercen sobre la sociedad. Detenido varias veces por 
desorden público.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;DVD Jon&lt;/b&gt; - Su nombre real es Jon Lech Johansen. Famoso cracker noruego 
especializado en realizar ingeniería inversa sobre toda clase de 
protecciones en archivos multimedia. Fue juzgado y declarado inocente 
dos veces por reventar la protección de los DVDs.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Solo&lt;/b&gt; - Su verdadero nombre es Gary McKinnon. Sus acciones fueron calificadas
 como la mayor intrusión a ordenadores militares de todos los tiempos. 
Llegó a controlar cientos de ordenadores del ejército de EEUU dejando 
sin conexión a miles de militares. Fue extraditado a EEUU en 2001 y no 
logro averiguar a ciencia cierta que fue de él.&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt; &lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/781003524126372756/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/08/los-mejores-hackers-de-la-historia.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/781003524126372756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/781003524126372756'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/08/los-mejores-hackers-de-la-historia.html' title='Los mejores &quot;hackers&quot; de la historia'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-3779527221889165368</id><published>2011-08-10T09:23:00.001+02:00</published><updated>2011-08-10T09:24:22.112+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="jQuery"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Un Uploader para tu Web de JQuery</title><content type='html'>&lt;a href=&quot;http://jquery.com/&quot;&gt;&lt;i&gt;JQuery&lt;/i&gt;&lt;/a&gt; nos trae un pequeño plugin que permite hacer de manera rápida y muy sencilla uploaders con la funcionalidad &lt;i&gt;drag&amp;amp;drop &lt;/i&gt;(como el de &lt;i&gt;Gmail &lt;/i&gt;que se muestra en la imagen)&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-2xs585pU1LA/TkIxDb_SOxI/AAAAAAAAARs/GmfK36me4AU/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-2xs585pU1LA/TkIxDb_SOxI/AAAAAAAAARs/GmfK36me4AU/s1600/1.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Arrastramos el fichero...&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-bQOj9zCQLAs/TkIxG8JvLgI/AAAAAAAAARw/pQAfGlm4RvE/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-bQOj9zCQLAs/TkIxG8JvLgI/AAAAAAAAARw/pQAfGlm4RvE/s1600/2.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Y comienza el &lt;i&gt;upload&lt;/i&gt;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&amp;nbsp;Podéis ver una demo y cómo montarlo en tu web en la siguiente &lt;a href=&quot;http://www.igloolab.com/jquery-html5-uploader/&quot;&gt;&lt;i&gt;página&lt;/i&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/3779527221889165368/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/08/un-uploader-para-tu-web-de-jquery.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/3779527221889165368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/3779527221889165368'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/08/un-uploader-para-tu-web-de-jquery.html' title='Un Uploader para tu Web de JQuery'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-2xs585pU1LA/TkIxDb_SOxI/AAAAAAAAARs/GmfK36me4AU/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-6229777904088783261</id><published>2011-08-04T13:21:00.003+02:00</published><updated>2011-08-04T13:27:07.867+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="comercio electrónico"/><category scheme="http://www.blogger.com/atom/ns#" term="opencart"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>OpenCart, monta tu tienda online en 5 minutos...</title><content type='html'>&lt;i&gt;&lt;a href=&quot;http://www.opencart.com/&quot;&gt;OpenCart&lt;/a&gt;&amp;nbsp;&lt;/i&gt;es una plataforma&amp;nbsp;de comercio electrónico open-source. Está basado en PHP y tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Gestión de multiples tiendas.&lt;/li&gt;
&lt;li&gt;Gestión de categorías.&lt;/li&gt;
&lt;li&gt;Gestión de productos.&lt;/li&gt;
&lt;li&gt;Gestión de fabricantes.&lt;/li&gt;
&lt;li&gt;Internacionalización.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-u0mRi8RqwH4/TjqBuS0_3gI/AAAAAAAAARg/OPSMmALsnrM/s1600/interna.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-u0mRi8RqwH4/TjqBuS0_3gI/AAAAAAAAARg/OPSMmALsnrM/s1600/interna.png&quot; /&gt;&lt;/a&gt;&lt;/ul&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;div&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Pasarelas de pago.&lt;/li&gt;
&lt;li&gt;Gestión de envíos.&lt;/li&gt;
&lt;li&gt;Productos relacionados...&lt;/li&gt;
&lt;li&gt;Comentarios&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Su instalación es muy sencilla. En la última versión únicamente es necesario tener instalado un servidor Apache con PHP y la configuración de algunos módulos de éste..&lt;br /&gt;
&lt;br /&gt;
Además podrás añadirle múltiples &lt;a href=&quot;http://www.opencart.com/index.php?route=extension/extension&quot;&gt;&lt;i&gt;extensiones&lt;/i&gt;&lt;/a&gt;. Ya está disponible la última versión estable 1.5.1 de OpenCart. Ahora sólo tenéis que pensar qué vender a través de la red.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-d7mpgv1Tejc/TjqAjunioeI/AAAAAAAAARc/YQx-4raaYdk/s1600/op.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-d7mpgv1Tejc/TjqAjunioeI/AAAAAAAAARc/YQx-4raaYdk/s1600/op.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Podéis encontrar más información en su página &lt;i&gt;&lt;a href=&quot;http://www.opencart.com/&quot;&gt;web&lt;/a&gt;&amp;nbsp;&lt;/i&gt;y ver su funcionamiento en la &lt;i&gt;&lt;a href=&quot;http://demo.opencart.com/&quot;&gt;demo&lt;/a&gt;&lt;/i&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/6229777904088783261/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/08/opencart-monta-tu-tienda-online-en-5.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/6229777904088783261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/6229777904088783261'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/08/opencart-monta-tu-tienda-online-en-5.html' title='OpenCart, monta tu tienda online en 5 minutos...'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-u0mRi8RqwH4/TjqBuS0_3gI/AAAAAAAAARg/OPSMmALsnrM/s72-c/interna.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-5993006091868095966</id><published>2011-08-03T12:23:00.005+02:00</published><updated>2011-08-03T12:25:51.358+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mac"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="server"/><category scheme="http://www.blogger.com/atom/ns#" term="server2go"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Server2Go, un servidor web portátil</title><content type='html'>&lt;i&gt;&lt;a href=&quot;http://www.server2go-web.de/index.html&quot;&gt;Server2Go&lt;/a&gt;&lt;/i&gt; es un servidor web portable que puede ser ejecutado desde un &lt;i&gt;USB&lt;/i&gt;, un &lt;i&gt;CD/DVD-Rom &lt;/i&gt;o cualquier carpeta del disco duro sin necesidad de instalación.
&lt;br /&gt;
Además, gracias a este servidor portátil, no tendremos que molestarnos en configurar un administrador &lt;i&gt;PHP&lt;/i&gt;, &lt;i&gt;Apache &lt;/i&gt;o &lt;i&gt;MySQL&lt;/i&gt;.&lt;br /&gt;
Este fascinante servidor se instala a partir de un fichero 
ejecutable, que al ser descomprimido, crea una carpeta donde quedan 
instaladas las aplicaciones que habíamos seleccionado en la 
configuración.&lt;br /&gt;
Además de su facilidad de instalación, &lt;i&gt;Server2Go&lt;/i&gt;, soporta &lt;i&gt;PHP 5&lt;/i&gt;, &lt;i&gt;MySQL 5&lt;/i&gt;, &lt;i&gt;SQLite &lt;/i&gt;y &lt;i&gt;Pearl 5.8&lt;/i&gt;. Su sistema está basado en Apache y está disponible para &lt;i&gt;Windows &lt;/i&gt;(98, &lt;i&gt;XP&lt;/i&gt;, &lt;i&gt;Vista &lt;/i&gt;y 7), &lt;i&gt;Mac OS X&lt;/i&gt; y &lt;i&gt;GNU&lt;/i&gt;/&lt;i&gt;Linux&lt;/i&gt;.&lt;br /&gt;
Las características principales de &lt;i&gt;Server2Go &lt;/i&gt;son las siguientes:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Es un servidor web basado en &lt;i&gt;Apache&lt;/i&gt;, y esto da bastante confianza, ya que Apache nunca defrauda.&lt;/li&gt;
&lt;li&gt;Soporta las versiones posteriores de &lt;i&gt;Internet Explorer 6&lt;/i&gt;, &lt;i&gt;Firefox&lt;/i&gt;, &lt;i&gt;Safari&lt;/i&gt;, &lt;i&gt;Camino &lt;/i&gt;y algunos otros navegadores.&lt;/li&gt;
&lt;li&gt;Soporta la base de datos &lt;i&gt;SQLite&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Detecta automáticamente el nombre del &lt;i&gt;host &lt;/i&gt;y el puerto cuando iniciamos el navegador.&lt;/li&gt;
&lt;li&gt;Se apaga automáticamente cuando se cierra el navegador.&lt;/li&gt;
&lt;li&gt;Soporta &lt;i&gt;PHP 5 &lt;/i&gt;con multiples extensiones instaladas.&lt;/li&gt;
&lt;li&gt;Soporta &lt;i&gt;Windows &lt;/i&gt;98 y versiones posteriores de éste, &lt;i&gt;Mac OS X&lt;/i&gt; y &lt;i&gt;GNU&lt;/i&gt;/&lt;i&gt;Linux&lt;/i&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-aTW-zshsuuQ/Tjkh_QfYZEI/AAAAAAAAARM/VRBJAsBNeFw/s1600/server2go.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-aTW-zshsuuQ/Tjkh_QfYZEI/AAAAAAAAARM/VRBJAsBNeFw/s1600/server2go.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;/ul&gt;
Puedes descargar este completo servidor web portable desde la &lt;a href=&quot;http://www.server2go-web.de/index.html&quot;&gt;página del creador&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/5993006091868095966/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/08/server2go.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5993006091868095966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5993006091868095966'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/08/server2go.html' title='Server2Go, un servidor web portátil'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-aTW-zshsuuQ/Tjkh_QfYZEI/AAAAAAAAARM/VRBJAsBNeFw/s72-c/server2go.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-5418926514213364199</id><published>2011-08-02T08:55:00.001+02:00</published><updated>2011-08-02T08:55:44.857+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="symfony"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Ya está aquí Symfony 2.0 !!!</title><content type='html'>Ya ha salido la nueva versión de &lt;a href=&quot;http://symfony.com/&quot;&gt;&lt;i&gt;Symfony&lt;/i&gt;&lt;/a&gt;, una nueva reinvención del framework de &lt;i&gt;&lt;a href=&quot;http://www.php.net/&quot;&gt;php&lt;/a&gt;&lt;/i&gt; más popular. Esta vez, tras más de 18 meses en el que han participado y contribuido más de 250 desarrolladores, se ha lanzado la versión final de este framework que cada vez viene con más novedades más importantes.&lt;br /&gt;
&lt;br /&gt;
La principal novedad es que viene implementado el patrón de &lt;a href=&quot;http://es.wikipedia.org/wiki/Inyecci%C3%B3n_de_dependencias&quot;&gt;&lt;i&gt;inyección de dependencias&lt;/i&gt;&lt;/a&gt;, ha mejorado mucho su sistema de debug y los mecanismos de seguridad. &lt;br /&gt;
&lt;br /&gt;
Podemos empezar en cinco minutos con la siguiente &lt;i&gt;&lt;a href=&quot;http://symfony.com/symfony-in-five-minutes&quot;&gt;guía&lt;/a&gt;&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/5418926514213364199/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/08/ya-esta-aqui-symfony-20.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5418926514213364199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5418926514213364199'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/08/ya-esta-aqui-symfony-20.html' title='Ya está aquí Symfony 2.0 !!!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-7719774414062816051</id><published>2011-07-29T11:20:00.000+02:00</published><updated>2011-07-29T11:20:47.629+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><title type='text'>Google Page Speed Service, incrementa la velocidad de carga</title><content type='html'>&lt;a href=&quot;http://www.google.es/&quot;&gt;&lt;em&gt;Google&lt;/em&gt;&lt;/a&gt; ha lanzado en fase &lt;em&gt;beta &lt;/em&gt;un servicio online para mejorar la velocidad de carga de nuestras páginas web de forma automática. &lt;br /&gt;
&lt;br /&gt;
Su funcionamiento lo que hace básicamente es recuperar el contenido de nuestros servidores y reescribir las salidas HTML aplicándole mejoras de eficiencia de código que&amp;nbsp;finalmente se redistribuyen a través de los servidores de google. &lt;br /&gt;
&lt;br /&gt;
Podéis encontrar más información en &lt;a href=&quot;http://code.google.com/intl/es/speed/pss/docs/tryit.html&quot;&gt;&lt;em&gt;http://code.google.com/intl/es/speed/pss/docs/tryit.html&lt;/em&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/7719774414062816051/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/google-page-speed-service-incrementa-la.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/7719774414062816051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/7719774414062816051'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/google-page-speed-service-incrementa-la.html' title='Google Page Speed Service, incrementa la velocidad de carga'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-904273458109652453</id><published>2011-07-27T09:02:00.001+02:00</published><updated>2011-07-27T09:04:14.531+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>blekko, slash the web (barra web)</title><content type='html'>&lt;i&gt;&lt;a href=&quot;http://blekko.com/&quot;&gt;blekko&lt;/a&gt;&lt;/i&gt; es un buscador en la red que nos permite recuperar información de los sitios que hacen referencia al contenido de nuestras páginas.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-od5bduE61gg/Ti-1pzdeLHI/AAAAAAAAAQ8/0iO6as9dhw8/s1600/bkk.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;123&quot; src=&quot;http://3.bp.blogspot.com/-od5bduE61gg/Ti-1pzdeLHI/AAAAAAAAAQ8/0iO6as9dhw8/s400/bkk.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Con este buscador vamos a poder ver estadísticas de las localizaciones que hacen referencia a nuestra página. Por ejemplo, si buscamos referencias de &lt;a href=&quot;http://www.java.com/&quot;&gt;&lt;i&gt;www.java.com&lt;/i&gt;&lt;/a&gt; tenemos estos resultados:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/--7zw7salhPA/Ti-3J_bu6cI/AAAAAAAAARA/JcR89U3DuXc/s1600/bkk1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;http://4.bp.blogspot.com/--7zw7salhPA/Ti-3J_bu6cI/AAAAAAAAARA/JcR89U3DuXc/s400/bkk1.jpg&quot; width=&quot;341&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Podéis encontrar más de &lt;a href=&quot;http://blekko.com/&quot;&gt;&lt;i&gt;blekko&lt;/i&gt;&lt;/a&gt; en su página web o en este &lt;a href=&quot;http://blekko.com/ws/+/press-videos&quot;&gt;&lt;i&gt;vídeo&lt;/i&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/904273458109652453/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/blekko-un-buscador-de-contenido.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/904273458109652453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/904273458109652453'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/blekko-un-buscador-de-contenido.html' title='blekko, slash the web (barra web)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-od5bduE61gg/Ti-1pzdeLHI/AAAAAAAAAQ8/0iO6as9dhw8/s72-c/bkk.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-6100860144030542197</id><published>2011-07-22T11:18:00.001+02:00</published><updated>2011-07-22T12:10:30.764+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><title type='text'>El Laboratorio de Google</title><content type='html'>Ahora que parece que &lt;i&gt;Google&lt;/i&gt; va a dejar de lado su conocido laboratorio &lt;i&gt;Google Labs&lt;/i&gt; (ver &lt;i&gt;&lt;a href=&quot;http://googleblog.blogspot.com/2011/07/more-wood-behind-fewer-arrows.html&quot;&gt;post&lt;/a&gt;&lt;/i&gt;), vamos a ver algunos de los últimos proyectos que han sacado y que pueden sernos de ayuda...&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://pagespeed.googlelabs.com/&quot;&gt;&lt;i&gt;PageSpeed Online&lt;/i&gt;&lt;/a&gt; analiza el contenido de una página web y, a continuación, genera 
sugerencias para aumentar la velocidad de esa página. Disminuir los 
tiempos de carga de páginas puede reducir el número de abandonos de 
páginas y aumentar las tasas de conversión.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/--M5Oo_IxZxk/Tik9OExReiI/AAAAAAAAAQs/WVkGfouEXzs/s1600/pso.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;182&quot; src=&quot;http://3.bp.blogspot.com/--M5Oo_IxZxk/Tik9OExReiI/AAAAAAAAAQs/WVkGfouEXzs/s400/pso.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a href=&quot;http://swiffy.googlelabs.com/&quot;&gt;&lt;i&gt;Google Swiffy&lt;/i&gt;&lt;/a&gt; del que ya hemos hablado en otro &lt;a href=&quot;http://workingtics.blogspot.com/2011/06/swiffy-convierte-tus-flash-html5.html&quot;&gt;&lt;i&gt;post&lt;/i&gt;&lt;/a&gt;, nos permite convertir vídeos &lt;a href=&quot;http://www.adobe.com/products/flash.html&quot;&gt;&lt;i&gt;Flash&lt;/i&gt;&lt;/a&gt; en formato &lt;a href=&quot;http://es.wikipedia.org/wiki/HTML_5&quot;&gt;&lt;i&gt;HTML5&lt;/i&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-tAlfW-Mk_lQ/Tik97j8AHlI/AAAAAAAAAQw/KoEu5mDHGnI/s1600/swi.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-tAlfW-Mk_lQ/Tik97j8AHlI/AAAAAAAAAQw/KoEu5mDHGnI/s1600/swi.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href=&quot;http://vark.com/&quot;&gt;&lt;i&gt;Aardvark&lt;/i&gt;&lt;/a&gt; o lo que es lo mismo &lt;i&gt;Cerdo hormiguero&lt;/i&gt;, se montó con gran éxito hace tiempo y nos permite realizar preguntas o responder a ellas sobre cualquier temática que queramos. El objetivo consiste en recibir una respuesta en menos de media hora. No siempre es así...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-rv1Byc4AhSQ/Tik_-G9302I/AAAAAAAAAQ4/M6V9vwLigZk/s1600/aard.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-rv1Byc4AhSQ/Tik_-G9302I/AAAAAAAAAQ4/M6V9vwLigZk/s1600/aard.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/6100860144030542197/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/el-laboratorio-de-google.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/6100860144030542197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/6100860144030542197'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/el-laboratorio-de-google.html' title='El Laboratorio de Google'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/--M5Oo_IxZxk/Tik9OExReiI/AAAAAAAAAQs/WVkGfouEXzs/s72-c/pso.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-1952987370016933382</id><published>2011-07-21T09:19:00.004+02:00</published><updated>2011-07-21T09:23:42.882+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="firebug"/><category scheme="http://www.blogger.com/atom/ns#" term="html"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><title type='text'>Firebug a fondo</title><content type='html'>&lt;i&gt;&lt;a href=&quot;http://www.getfirebug.com/&quot;&gt;Firebug&lt;/a&gt; &lt;/i&gt;es una impresionante extensión de &lt;a href=&quot;http://www.mozilla-europe.org/es/%20&quot;&gt;&lt;i&gt;Mozilla Firefox&lt;/i&gt;&lt;/a&gt; para el desarrollo de páginas web y que una vez que lo has usado se convierte en indispensable. Con la aparición de &lt;i&gt;&lt;a href=&quot;http://www.google.com/chrome/&quot;&gt;Chrome&lt;/a&gt;, &lt;/i&gt;que trae incluida una herramienta parecida, su uso (por lo menos en mi caso) ha empezado a ser menor principalmente por la velocidad del navegador de &lt;a href=&quot;http://www.google.es/&quot;&gt;&lt;i&gt;Google&lt;/i&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Hablando de &lt;i&gt;&lt;a href=&quot;http://www.getfirebug.com/&quot;&gt;Firebug&lt;/a&gt;&lt;/i&gt;, vamos a poder editar y depurar código además de monitorizar el sitio en el que trabajamos. Las principales funcionalidades son:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Edición de HTML en caliente (en tiempo real)&lt;/li&gt;
&lt;li&gt;Edición de hojas de estilos (en tiempo real)&lt;/li&gt;
&lt;li&gt;Monitorización de la carga de las páginas&lt;/li&gt;
&lt;li&gt;Depuración del Javascript de nuestras páginas&lt;/li&gt;
&lt;li&gt;Gestión de errores Javascript, CSS y XML&lt;/li&gt;
&lt;li&gt;Explorador de DOM&lt;/li&gt;
&lt;/ul&gt;
La extensión &lt;i&gt;&lt;a href=&quot;http://www.getfirebug.com/&quot;&gt;Firebug&lt;/a&gt; &lt;/i&gt;tiene varias opciones en su menú principal: &lt;i&gt;Consola, HTML, CSS, Script, DOM y Red. A su vez s&lt;/i&gt;e pueden instalar extensiones como un gestor de cookies.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;La Consola&lt;/span&gt; &lt;br /&gt;
La &lt;b&gt;consola es uno de sus puntos fuertes&lt;/b&gt;, muestra las &lt;b&gt;peticiones AJAX&lt;/b&gt; (GET o POST) que realiza la página, &lt;b&gt;headers&lt;/b&gt;, &lt;b&gt;variables&lt;/b&gt; enviadas y la respuesta del &lt;b&gt;servidor&lt;/b&gt;. También nos &lt;b&gt;muestra los errores&lt;/b&gt; &lt;a href=&quot;http://www.w3schools.com/js/default.asp&quot;&gt;&lt;i&gt;Javascript&lt;/i&gt;&lt;/a&gt; que se producen en la página junto a un enlace dónde podemos ver la &lt;b&gt;línea de código errónea&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Por último disponemos de una &lt;i&gt;API &lt;/i&gt;muy interesante, &lt;i&gt;&lt;a href=&quot;http://www.getfirebug.com/&quot;&gt;Firebug&lt;/a&gt;&lt;/i&gt; añade una vaiable global llamada “console” a todas las webs cargadas en Firefox, este objeto contiene muchos &lt;b&gt;métodos que nos permiten mostrar información en la consola&lt;/b&gt; de un modo transparente y sin necesidad de recurrir a los molestos “&lt;i&gt;alert()&lt;/i&gt;”. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-WgwBTPNta7w/TifRKfULh7I/AAAAAAAAAP8/GMpFtxNZaIU/s1600/f1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;153&quot; src=&quot;http://2.bp.blogspot.com/-WgwBTPNta7w/TifRKfULh7I/AAAAAAAAAP8/GMpFtxNZaIU/s400/f1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;HTML&lt;/span&gt;&lt;br /&gt;
Mediante esta funcionalidad &lt;i&gt;&lt;a href=&quot;http://www.getfirebug.com/&quot;&gt;Firebug&lt;/a&gt;&lt;/i&gt; nos editar el html en tiempo real y encima nos da muchas facilidades para ello, especialmente interesante es el “&lt;b&gt;Inspector de HTML&lt;/b&gt;”
 que nos permite&lt;br /&gt;
detectar los elementos deseados únicamente pasando el 
ratón por encima, una vez tenemos localizado el elemento lo podremos &lt;b&gt;editar en tiempo real&lt;/b&gt;. &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Ver código fuente generado&lt;/li&gt;
&lt;li&gt;Resaltar cambios&lt;/li&gt;
&lt;li&gt;Editar HTML en tiempo real&lt;/li&gt;
&lt;li&gt;Encontrar elementos con el ratón&lt;/li&gt;
&lt;li&gt;Inspeccionar un elemento y recargarlo sin perderlo&lt;/li&gt;
&lt;li&gt;Copiar el HTML&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-4Yk9BbTNdD8/TifRbwdWWnI/AAAAAAAAAQA/ciMrWTHrVUk/s1600/f2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;153&quot; src=&quot;http://2.bp.blogspot.com/-4Yk9BbTNdD8/TifRbwdWWnI/AAAAAAAAAQA/ciMrWTHrVUk/s400/f2.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;CSS &lt;/span&gt;&lt;br /&gt;
En esta pestaña podrás acceder fácilmente a la edición de estilos de 
la página, es muy intuitivo y tremendamente útil ya que todos los 
cambios se realizan en &lt;b&gt;tiempo real&lt;/b&gt;.
&lt;br /&gt;
A menudo los pequeños &lt;b&gt;retoques de hojas de estilo se convierten en una tarea nada agradable para el desarrollador&lt;/b&gt;
 ya que su comportamiento en cada navegador es en numerosas ocasiones 
diferente, esta herramienta es ideal para principiantes que necesitan de
 muchas pruebas para encontrar los errores en su hoja de estilos, el 
famoso método de “&lt;b&gt;Try &amp;amp; Error&lt;/b&gt;“.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Previsualizar colores e imágenes&lt;/li&gt;
&lt;li&gt;Inspeccionar la hoja de estilos&lt;/li&gt;
&lt;li&gt;Editar estilos y ver los cambios en tiempo real&lt;/li&gt;
&lt;li&gt;Ayuda en línea y corrector de errores tipográficos&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-b9Xl_OUUvhs/TifRqI24k2I/AAAAAAAAAQE/TAUpLgX00ig/s1600/f3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;153&quot; src=&quot;http://4.bp.blogspot.com/-b9Xl_OUUvhs/TifRqI24k2I/AAAAAAAAAQE/TAUpLgX00ig/s400/f3.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Script&amp;nbsp;&lt;/span&gt; &lt;br /&gt;
Como anteriormente hemos resaltado posee un potente debugger de Javascript que nos permite &lt;b&gt;manejar a nuestro antojo la ejecución de los códigos javascript&lt;/b&gt;, con un poquito de paciencia se puede llegar a conseguir un buen aumento del rendimiento de nuestro código.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Encuentra cualquier Script fácilmente&lt;/li&gt;
&lt;li&gt;Ejecución paso a paso&lt;/li&gt;
&lt;li&gt;Detección de errores y puntos de ruptura&lt;/li&gt;
&lt;li&gt;Ver el valor de las variables en tiempo real&lt;/li&gt;
&lt;li&gt;Saltos fáciles a cualquier línea del código&lt;/li&gt;
&lt;li&gt;Modo “Profile” que muestra un completo análisis de los tiempo de carga y ejecución que ha provocado tu navegación por la página.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-rVorjujIiiU/TifR1T_YksI/AAAAAAAAAQI/yNPUXlAM4j4/s1600/f4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;153&quot; src=&quot;http://3.bp.blogspot.com/-rVorjujIiiU/TifR1T_YksI/AAAAAAAAAQI/yNPUXlAM4j4/s400/f4.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;DOM&lt;/span&gt;&lt;br /&gt;
Como no &lt;i&gt;&lt;a href=&quot;http://www.getfirebug.com/&quot;&gt;Firebug&lt;/a&gt;&lt;/i&gt; también nos ayuda a encontrar los objetos &lt;b&gt;DOM&lt;/b&gt;
 de una manera relativamente sencilla y editarlos al vuelo, para 
aquellos que anden un poco despistados con la traducción de DOM 
pordríamos decir que es algo así como el &lt;i&gt;“Modelo en Objetos para la representación de Documentos”&lt;/i&gt; y por lo tanto se trata de la interfaz a través de la cual los programas y scripts pueden acceder y &lt;b&gt;modificar dinámicamente el contenido&lt;/b&gt;, estructura y estilo de los documentos HTML.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Resumen de objetos&lt;/li&gt;
&lt;li&gt;Muestra el árbol DOM de la página&lt;/li&gt;
&lt;li&gt;Edición en tiempo real&lt;/li&gt;
&lt;li&gt;Navegación por el código Javascript&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-LDtryDSWI7E/TifSKQ3PFII/AAAAAAAAAQM/Q4W-amcC33s/s1600/f5.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;153&quot; src=&quot;http://1.bp.blogspot.com/-LDtryDSWI7E/TifSKQ3PFII/AAAAAAAAAQM/Q4W-amcC33s/s400/f5.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Red&lt;/span&gt;&lt;br /&gt;
¿Tu web va algo lenta?, la solución la puedes encontrar con esta útil 
herramienta puedes comprobar dónde se pierde el tiempo de la carga de tu
 web gracias a su genial &lt;b&gt;línea de tiempo&lt;/b&gt;, entre sus características más destacadas está la diferenciación entre la &lt;b&gt;carga de caché del servidor&lt;/b&gt; y la que no se encuentra cacheada. &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Línea de tiempo&lt;/li&gt;
&lt;li&gt;Filtros por tipos de archivos&lt;/li&gt;
&lt;li&gt;Ver que datos se sirven en caché&lt;/li&gt;
&lt;li&gt;Examina las cabeceras&lt;/li&gt;
&lt;li&gt;Monitoriza el XMLHttpRequest&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-i4GZvTetPug/TifSdn-r-uI/AAAAAAAAAQQ/Ova51tuYwuQ/s1600/f6.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;http://4.bp.blogspot.com/-i4GZvTetPug/TifSdn-r-uI/AAAAAAAAAQQ/Ova51tuYwuQ/s400/f6.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
En próximos posts veremos complementos de Firebug que nos van a extender las funcionalidades originales... &lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/1952987370016933382/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/firebug-fondo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/1952987370016933382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/1952987370016933382'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/firebug-fondo.html' title='Firebug a fondo'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-WgwBTPNta7w/TifRKfULh7I/AAAAAAAAAP8/GMpFtxNZaIU/s72-c/f1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-4338204046391088876</id><published>2011-07-20T12:11:00.003+02:00</published><updated>2011-07-21T13:05:53.211+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="autenticación"/><category scheme="http://www.blogger.com/atom/ns#" term="mozilla"/><category scheme="http://www.blogger.com/atom/ns#" term="openID"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>BrowserID, la solución de Mozilla para la autenticación web</title><content type='html'>&lt;i&gt;&lt;a href=&quot;http://www.mozilla.org/&quot;&gt;Mozilla&lt;/a&gt; &lt;/i&gt;presenta una solución para poder recordar las múltiples contraseñas de los sitios web en que estamos registrados o tenemos una cuenta. Esta propuesta no es únicamente para el navegador &lt;a href=&quot;http://www.mozilla.com/es-ES/firefox/&quot;&gt;&lt;i&gt;Firefox&lt;/i&gt;&lt;/a&gt; sino que funciona para todos los existentes (&lt;i&gt;&lt;a href=&quot;http://www.google.es/chrome&quot;&gt;Chrome&lt;/a&gt;, &lt;/i&gt;&lt;i&gt;&lt;a href=&quot;http://www.opera.com/&quot;&gt;Opera&lt;/a&gt;, &lt;/i&gt;&lt;i&gt;&lt;a href=&quot;http://windows.microsoft.com/es-ES/internet-explorer/products/ie/home&quot;&gt;Internet Explorer&lt;/a&gt;...&lt;/i&gt;).&lt;br /&gt;
&lt;br /&gt;
La idea que ofrece &lt;i&gt;&lt;a href=&quot;https://browserid.org/&quot;&gt;BrowserID&lt;/a&gt; &lt;/i&gt;es utilizar el correo electrónico del usuario como clave de acceso para todos aquellos sitios que requieren autenticación evitando tener que recordar el usuario y contraseña.&lt;br /&gt;
&lt;br /&gt;
Cuando se accede por primera vez a &lt;a href=&quot;https://browserid.org/&quot;&gt;&lt;i&gt;BrowserID&lt;/i&gt;&lt;/a&gt; se solicita una contraseña y una dirección de correo electrónico (en este caso sí que vamos a necesitar recordar la contraseña). Con esta información y a través de la tecnología &lt;a href=&quot;https://wiki.mozilla.org/Labs/Identity/VerifiedEmailProtocol&quot;&gt;&lt;i&gt;Verified Email Protocol&lt;/i&gt;&lt;/a&gt; se comprobará la validez de ésta.&lt;br /&gt;
&lt;br /&gt;
Una vez realizado este paso dispondremos de una identificación única para cualquier registro online basada en &lt;i&gt;criptografía asimétrica&lt;/i&gt; (&lt;i&gt;&lt;a href=&quot;http://es.wikipedia.org/wiki/Infraestructura_de_clave_p%C3%BAblica&quot;&gt;PKI&lt;/a&gt;&lt;/i&gt;) con una clave pública disponible para los proveedores de contenidos y una privada que se almacenará en nuestro navegador. La verificación de las claves se realizará en los servidores de &lt;a href=&quot;https://browserid.org/&quot;&gt;&lt;i&gt;BrowserID&lt;/i&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
La principal diferencia respecto a &lt;i&gt;&lt;a href=&quot;http://openid.net/&quot;&gt;OpenID&lt;/a&gt; &lt;/i&gt;es que esta autenticación está integrada en el navegador. El problema es que si alguien entra en nuestro equipo podrá acceder a cualquiera de los sitios en los que estemos registrados.&lt;br /&gt;
&lt;br /&gt;
Aquí tenéis un &lt;i&gt;&lt;a href=&quot;http://www.youtube.com/embed/l0t9yDLAmFo&quot;&gt;vídeo&lt;/a&gt;&lt;/i&gt; de cómo funciona que aparece publicado en su web oficial.&lt;br /&gt;
&lt;br /&gt;
Veremos más adelante cómo funciona esta idea...</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/4338204046391088876/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/browserid-la-solucion-de-mozilla-para.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/4338204046391088876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/4338204046391088876'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/browserid-la-solucion-de-mozilla-para.html' title='BrowserID, la solución de Mozilla para la autenticación web'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-4219315328739966821</id><published>2011-07-20T10:36:00.005+02:00</published><updated>2011-07-21T13:06:48.432+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="repository"/><category scheme="http://www.blogger.com/atom/ns#" term="rss"/><category scheme="http://www.blogger.com/atom/ns#" term="svn"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>WebSVN, explora tu repositorio de código</title><content type='html'>&lt;i&gt;&lt;a href=&quot;http://www.websvn.info/&quot;&gt;WebSVN&lt;/a&gt;&lt;/i&gt; es un explorador web online de tu repositorio de código. Su instalación y configuración es muy simple. Únicamente necesitarás tener montado un Apache y editar el fichero de configuración de la aplicación. Soporta múltiples repositorios, tanto locales como remotos, &lt;i&gt;&lt;a href=&quot;http://es.wikipedia.org/wiki/RSS&quot;&gt;RSS&lt;/a&gt;&lt;/i&gt;. Podrás descargar ficheros y directorios, comparar versiones. Por cierto, viene preparado para multilenguaje. &lt;br /&gt;
&lt;br /&gt;
Aquí tenéis una captura de la pantalla de inicio...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-nBn30Xld4sA/TiaSIq6iaQI/AAAAAAAAAPk/_g1r5ZNKths/s1600/repo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;204&quot; src=&quot;http://1.bp.blogspot.com/-nBn30Xld4sA/TiaSIq6iaQI/AAAAAAAAAPk/_g1r5ZNKths/s400/repo.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Dede esta pantalla podremos seleccionar el proyecto &lt;i&gt;&lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;SubVersion&lt;/a&gt;&lt;/i&gt; que queremos explorar, el tema de visualización de la página Web (en este caso está seleccionado el estilo &lt;i&gt;Elegant&lt;/i&gt;) y el idioma de ésta. Más abajo modificado con el tema &lt;i&gt;calm&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-Blz8VFUjuJs/TiaTudxrxuI/AAAAAAAAAPo/lCTpQC3O0dI/s1600/repo1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;176&quot; src=&quot;http://4.bp.blogspot.com/-Blz8VFUjuJs/TiaTudxrxuI/AAAAAAAAAPo/lCTpQC3O0dI/s400/repo1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Una buena herramienta para poder acceder online a nuestro repositorio de código...&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/4219315328739966821/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/websvn-explora-tu-repositorio-de-codigo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/4219315328739966821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/4219315328739966821'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/websvn-explora-tu-repositorio-de-codigo.html' title='WebSVN, explora tu repositorio de código'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-nBn30Xld4sA/TiaSIq6iaQI/AAAAAAAAAPk/_g1r5ZNKths/s72-c/repo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-2259838258563824134</id><published>2011-07-18T13:15:00.008+02:00</published><updated>2011-07-19T10:04:01.390+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="samba"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Mapear unidad de red de Windows en Linux</title><content type='html'>Ante la necesidad de acceder desde Linux a unidades compartidas en otros servidores Windows se hace imprescindible de forma permanente el montaje de estas unidades en nuestro sistema Linux.&lt;br /&gt;
Aquí se expone de forma sucinta y sin profudizar el mecanismo básico para el montaje de dichas unidades.
&lt;br /&gt;
En rimer lugar debemos comprobar que el servicio &lt;i&gt;nfs&lt;/i&gt; se encuentra ejecutando en nuestro sistema. Esta comprobación será llevada a cabo a través del siguiente comando.&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;service nfs status&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
La salida devuelta por el comando será similar a la que sigue.&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;[root@server-JB ~]# service nfs status
Se está ejecutando rpc.mountd (pid 1784)...
Se está ejecutando nfsd (pid 1781 1780 1779 1778)...
Se está ejecutando rpc.rquotad (pid 1751)...&lt;/pre&gt;
&lt;/blockquote&gt;
A continuación se debe comprobar la existencia y puesta en marcha de los
 paquetes y servicios Samba. Las diferentes distribuciones de Linux 
ofrecen una forma de comprobación diferente, por lo que a continuación 
se muestra una de ellas, la correspondiente a Red Hat.&amp;nbsp;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;rpm -qa samba&lt;/pre&gt;
&lt;/blockquote&gt;
Este comando ofrece una salida similar a la siguiente, donde se muestra el nombre del paquete y la versión instalados.&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;[root@server-JB ~]# rpm -qa samba
samba-3.2.0-1.pre3.9.fc9.i386&lt;/pre&gt;
&lt;/blockquote&gt;
El servicio Linux que arranca la aplicación Samba recibe el nombre &lt;i&gt;smb&lt;/i&gt;. Para comprobar su estado se usará el siguiente comando.&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;service smb status&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;El sistema devuelve una respuesta similar a la que sigue&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;[root@server-JB ~]# service smb status
Se está ejecutando smbd (pid 1834 1817)...&lt;/pre&gt;
&lt;/blockquote&gt;
En caso de que el servicio se encuentre parado deberá ser arrancado con el siguiente comando.&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;[root@server-JB ~]# service smb start
Iniciando servicios SMB:                   [  &lt;span style=&quot;color: #38761d;&quot;&gt;OK&lt;/span&gt;  ]&lt;/pre&gt;
&lt;/blockquote&gt;
Hecho esto deberemos generar una línea nueva en el fichero &lt;i&gt;/etc/fstab
 &lt;/i&gt;para cada una de las unidades compartidas Windows a las que deseemos 
acceder.
&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo en el que se monta la carpeta compartida 
&lt;i&gt;F:/reports&lt;/i&gt; de Windows del equipo &lt;i&gt;192.168.1.21 &lt;/i&gt;sobre el directorio &lt;i&gt;/mnt/reports&lt;/i&gt; de
 nuestro sistema Linux. El directorio &lt;i&gt;/mnt/reports&lt;/i&gt; deberá estar creado 
con aterioridad a este proceso.&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&amp;nbsp;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt; //192.168.1.21/F/reports    /mnt/reports    cifs    user=NombreUsuarioWindows%ContraseñaUsuarioWindows 0 0&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
El parámetro user deberá contener un &lt;i&gt;nombre de usuario&lt;/i&gt; y &lt;i&gt;contraseña 
&lt;/i&gt;válidos para Windows, así como los permisos de acceso correspondientes.
&lt;br /&gt;
Con esto, cada vez que se inicie Linux el sistema montará la unidad correspondiente.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/2259838258563824134/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/mapear-unidad-de-red-windows-en-linux.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/2259838258563824134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/2259838258563824134'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/mapear-unidad-de-red-windows-en-linux.html' title='Mapear unidad de red de Windows en Linux'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-372376915858502909</id><published>2011-07-18T12:55:00.009+02:00</published><updated>2011-07-19T10:04:16.093+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debug"/><category scheme="http://www.blogger.com/atom/ns#" term="error"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>PerGem (Permanent Generation Space)</title><content type='html'>Muchas veces nos encontramos con este error:&lt;br /&gt;
&lt;blockquote&gt;
&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;Java.lang.OutOfMemoryError: PermGen space&lt;/span&gt;&lt;/blockquote&gt;
Pero, ¿sabemos de que se trata?&lt;br /&gt;
&lt;br /&gt;
Este error ocurre cuando la JVM se queda sin espacio en el 
&#39;montículo permanente de generación&#39;, es decir, en el trocito de memoria
 asignada a la JVM para que compile las clases, los jsp, etc.&lt;br /&gt;
&lt;br /&gt;
La solución es incrementar la opción -XX:MaxPermSize a un valor razonable y soportado por el hardware. Por ejemplo:&lt;br /&gt;
&lt;blockquote style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;pre&gt;&lt;span style=&quot;font-size: small;&quot;&gt;JAVA_OPTS = &quot;$JAVA_OPTS -XX:MaxPermSize=512M&quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
Aumentaría el tamaño de generación a 512 mb.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/372376915858502909/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/pergem-permanent-generation-space.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/372376915858502909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/372376915858502909'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/pergem-permanent-generation-space.html' title='PerGem (Permanent Generation Space)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-5971717827825295907</id><published>2011-07-18T12:46:00.009+02:00</published><updated>2011-07-21T13:08:43.630+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debug"/><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="jboss"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><title type='text'>Activar modo DEBUG en JBoss AS</title><content type='html'>Hoy vamos a ver cómo poner en modo debug el servidor de aplicaciones &lt;i&gt;&lt;a href=&quot;http://www.jboss.org/jbossas/&quot;&gt;JBoss&lt;/a&gt; &lt;/i&gt;en el que tenemos montadas nuestros aplicativos...&lt;br /&gt;
Lo primero que debemos hacer es parar el servidor jboss. Para ello, habitualmente según la instalación que hayamos realizado podremos parar el servidor a través de un servicio.&lt;br /&gt;
&lt;blockquote&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;service jbossas stop&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
Si no tenemos un servicio ejecutaremos el &lt;b&gt;shutdown.sh &lt;/b&gt;que se encuentra en el directorio &lt;b&gt;bin &lt;/b&gt;del servidor JBoss. Para comprobar que está parado haremos&lt;br /&gt;
&lt;blockquote&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ps ax | grep java&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
Si no aparece ningún proceso relativo al servidor éste estará parado.&lt;br /&gt;
&lt;br /&gt;
A continuación deberemos cambiar la configuración de arranque del &lt;i&gt;&lt;a href=&quot;http://www.jboss.org/jbossas/&quot;&gt;JBoss&lt;/a&gt;&lt;/i&gt;. Para ello deberemos editar el fichero de configuración &lt;b&gt;run.conf &lt;/b&gt;que se encuentra en el directorio &lt;b&gt;bin &lt;/b&gt;donde tengamos instalado el servidor de aplicaciones.&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: 28.9pt;&quot;&gt;
&lt;br /&gt;
Para activar/desactivar el modo &lt;i&gt;debug &lt;/i&gt;mediante &lt;i&gt;socket&lt;/i&gt;, sólamente tendremos que descomentar/comentar la siguiente línea del fichero:&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Courier; font-size: 8pt;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: 28.9pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: 28.9pt;&quot;&gt;
&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: Courier; font-size: 8pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;#JAVA_OPTS=&quot;$JAVA_OPTS
–Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: 28.9pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
A continuación deberemos guardar los cambios.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Una vez editado este fichero deberemos configurar el servidor remoto en nuestro IDE (en este caso será &lt;a href=&quot;http://www.eclipse.org/&quot;&gt;&lt;i&gt;Eclipse&lt;/i&gt;&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Para ello iremos al panel &lt;i&gt;Run &amp;gt; Debug... &lt;/i&gt;y añadir una nueva &lt;i&gt;Remote Java Application&lt;/i&gt; con los datos del servidor al que nos conectaremos para hacer &lt;i&gt;debug&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Por último arrancaremos el servidor de aplicaciones a través del servicio&lt;br /&gt;
&lt;blockquote&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;service jbossas start&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
o con un &lt;i&gt;run.sh&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Aunque no se muestren mensajes en la consola, &lt;i&gt;&lt;a href=&quot;http://www.jboss.org/jbossas/&quot;&gt;JBoss&lt;/a&gt; &lt;/i&gt;estará escuchando en el puerto &lt;i&gt;8787&lt;/i&gt; alguna petición para arrancar en modo &lt;i&gt;debug&lt;/i&gt;. Para que &lt;i&gt;&lt;a href=&quot;http://www.jboss.org/jbossas/&quot;&gt;JBoss&lt;/a&gt; &lt;/i&gt;arranque definitivamente deberemos&amp;nbsp; lanzar también el modo de depuración (antes configurado) en &lt;a href=&quot;http://www.eclipse.org/&quot;&gt;&lt;i&gt;Eclipse&lt;/i&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/5971717827825295907/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/activar-modo-debug-en-jbossas.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5971717827825295907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5971717827825295907'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/activar-modo-debug-en-jbossas.html' title='Activar modo DEBUG en JBoss AS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-3879897238468789220</id><published>2011-07-15T13:51:00.004+02:00</published><updated>2011-07-21T13:09:15.404+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="recess"/><title type='text'>Recess Framework, php al alcance de todos</title><content type='html'>Estos días he estado echando un vistazo a un framework php que permite crear aplicaciones con gran sencillez. Podéis encontrar más información en &lt;i&gt;&lt;a href=&quot;http://www.recessframework.org/&quot;&gt;http://www.recessframework.org/&lt;/a&gt;&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Vamos a ver un poco cómo está montado. Su instalación es muy sencilla. Únicamente necesitaremos tener instalado un apache y php (al menos la versión 5.2.4). Se sugiere instalar el módulo &lt;i&gt;mod_rewrite&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Una vez instalado y configurada la base de datos que vamos a utilizar podemos acceder al framework en &lt;i&gt;http://localhost/recess.&lt;/i&gt; Haciendo clic en el menú &lt;i&gt;apps&lt;/i&gt; veremos la siguiente pantalla donde podremos empezar a crear nuestra primera aplicación (&lt;i&gt;Start a New Application&lt;/i&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-3gpMdt0wqxk/TiAl22XSJ1I/AAAAAAAAAOQ/moQBBhkNFxc/s1600/rth.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-3gpMdt0wqxk/TiAl22XSJ1I/AAAAAAAAAOQ/moQBBhkNFxc/s1600/rth.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Una vez creada nos informará que debemos configurar la aplicación en el fichero &lt;i&gt;recess-conf.php&lt;/i&gt; y ya podremos entrar en nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-vbnrch4asPw/TiAm-2jFhlI/AAAAAAAAAOU/Uki6HBpUxCY/s1600/rca.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;128&quot; src=&quot;http://1.bp.blogspot.com/-vbnrch4asPw/TiAm-2jFhlI/AAAAAAAAAOU/Uki6HBpUxCY/s400/rca.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Ahora podemos acceder a la web de configuración de la aplicación. Desde esta podremos crear nuestro modelo de clases de forma muy simple.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-e-eq6t2cUJM/TiAn6CZBoYI/AAAAAAAAAOY/Y4HivCci3KM/s1600/rcapp.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;219&quot; src=&quot;http://4.bp.blogspot.com/-e-eq6t2cUJM/TiAn6CZBoYI/AAAAAAAAAOY/Y4HivCci3KM/s320/rcapp.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Haciendo clic en &lt;i&gt;Models (new) &lt;/i&gt;nos muestra la siguiente pantalla en la que crearemos nuestro modelo de clases.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-SJCT3YbS0Bk/TiAoyKHFBmI/AAAAAAAAAOc/SfVatchaJS0/s1600/am.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-SJCT3YbS0Bk/TiAoyKHFBmI/AAAAAAAAAOc/SfVatchaJS0/s1600/am.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Cuando finalicemos la creación de la clase podremos generar un scaffolding y &lt;i&gt;Recess Framework &lt;/i&gt;te crea automáticamente un &lt;i&gt;CRUD &lt;/i&gt;para esta nueva entidad.&lt;br /&gt;
&lt;br /&gt;
Aquí os enseño una imágen de lo que nos crea...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-wbWNSu_lj8Y/TiApfQCQdVI/AAAAAAAAAOg/o12ZqW6yW7A/s1600/sca.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-wbWNSu_lj8Y/TiApfQCQdVI/AAAAAAAAAOg/o12ZqW6yW7A/s1600/sca.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
En siguientes posts vamos a ver algo más de este framework...&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/3879897238468789220/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/recess-un-framework-php.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/3879897238468789220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/3879897238468789220'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/recess-un-framework-php.html' title='Recess Framework, php al alcance de todos'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-3gpMdt0wqxk/TiAl22XSJ1I/AAAAAAAAAOQ/moQBBhkNFxc/s72-c/rth.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-6604337510514187521</id><published>2011-07-14T08:24:00.008+02:00</published><updated>2012-05-17T10:06:55.459+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ant"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><category scheme="http://www.blogger.com/atom/ns#" term="repository"/><title type='text'>Comenzando a usar Maven (V)</title><content type='html'>Seguimos con el tema Maven...&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Integración con Eclipse&lt;/span&gt;&lt;br /&gt;
Bueno, todo esto está muy bien, pero si yo trabajo con un IDE como eclipse, ¿cómo encuentro ahora los jar en un sitio tan escondido?. Fácil. &lt;i&gt;&lt;a href=&quot;http://maven.apache.org/&quot;&gt;Maven&lt;/a&gt;&lt;/i&gt; es capaz de generar un proyecto de Eclipse. &lt;br /&gt;
Primero debemos definir dentro de Eclipse la variable &lt;b&gt;M2_REPO&lt;/b&gt; apuntando a nuestro repositorio local de &lt;i&gt;&lt;a href=&quot;http://maven.apache.org/&quot;&gt;Maven&lt;/a&gt;&lt;/i&gt;.  Esto puede hacerse desde una línea de comandos maven:&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;mvn -Declipse.workspace=&lt;path_al_workspace_de_eclipse&gt; eclipse:add-maven-repo&lt;/path_al_workspace_de_eclipse&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
o bien desde dentro de &lt;i&gt;&lt;a href=&quot;http://www.eclipse.org/&quot;&gt;Eclipse&lt;/a&gt;&lt;/i&gt;. En el menú seleccionamos &lt;i&gt;Window &lt;/i&gt;&amp;gt; &lt;i&gt;Preferences&lt;/i&gt;. Luego &lt;i&gt;Java &lt;/i&gt;&amp;gt; &lt;i&gt;Build Path&lt;/i&gt; &amp;gt; &lt;i&gt;Classpath Variables&lt;/i&gt; y ahi definimos &lt;b&gt;M2_REPO&lt;/b&gt; apuntando a &lt;i&gt;C:\Documents and Settings\usuario\.m2 &lt;/i&gt;&lt;br /&gt;
Una vez que tenemos creado un proyecto &lt;b&gt;maven&lt;/b&gt;, generamos los ficheros necesarios para eclipse con&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;mvn eclipse:eclipse&lt;/pre&gt;
&lt;/blockquote&gt;
Esto generará dos ficheros &lt;i&gt;.project &lt;/i&gt;y &lt;i&gt;.classpath&lt;/i&gt; en el directorio. Ahora desde &lt;i&gt;&lt;a href=&quot;http://www.eclipse.org/&quot;&gt;Eclipse&lt;/a&gt;&lt;/i&gt; &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; En el menú &quot;&lt;i&gt;File&lt;/i&gt;&quot;, &quot;&lt;i&gt;Import&lt;/i&gt;&quot;. &lt;/li&gt;
&lt;li&gt; En la ventana que sale, elegimos &quot;&lt;i&gt;Existing projects into workspace&lt;/i&gt;&quot; y &quot;&lt;i&gt;Next&lt;/i&gt;&quot;. &lt;/li&gt;
&lt;li&gt; Elegimos &quot;&lt;i&gt;Select root directory&lt;/i&gt;&quot; y le damos a &quot;&lt;i&gt;Browse&lt;/i&gt;&quot;.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Elegimos el directorio de maven donde está nuestro proyecto. Con esto debería compilarse el proyecto, cogiendo los jar necesarios del repositorio local y todo lo demás. &lt;/li&gt;
&lt;/ul&gt;
También hay plugins en nuestros IDE&#39;s que hacen más fácil el trabajo con maven, de forma que desde nuestro IDE podamos ejecutar las tareas maven. &lt;br /&gt;
En &lt;i&gt;&lt;a href=&quot;http://mevenide.codehaus.org/&quot;&gt;codehaus&lt;/a&gt;&lt;/i&gt; tienes los plugins para los cuatro IDEs más conocidos: &lt;a href=&quot;http://eclipse.org/&quot;&gt;&lt;i&gt;Eclipse&lt;/i&gt;&lt;/a&gt;, &lt;a href=&quot;http://netbeans.org/&quot;&gt;&lt;i&gt;NetBeans&lt;/i&gt;&lt;/a&gt;, &lt;i&gt;&lt;a href=&quot;http://www.jetbrains.com/idea/&quot;&gt;IntelliJ&lt;/a&gt; &lt;/i&gt;y &lt;a href=&quot;http://www.embarcadero.com/products/jbuilder&quot;&gt;&lt;i&gt;JBuilder&lt;/i&gt;&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Llevar nuestro jar a los repositorios maven&lt;/span&gt;&lt;br /&gt;
Si queremos meter nuestro jar en el repositorio &lt;b&gt;maven&lt;/b&gt; de jars local, es así de sencill:&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;mvn install&lt;/pre&gt;
&lt;/blockquote&gt;
Esto compilará si es necesario nuestros fuentes, les pasará los test, generará el jar y lo copiará en nuestro repositorio local de jars, en nuestro pc. Esta operación hace que ese jar esté disponible para otros proyectos &lt;b&gt;maven&lt;/b&gt; que tengamos en nuestro ordenador. Es útil, por tanto, para proyectos &lt;b&gt;maven&lt;/b&gt; que sean librerías nuestras que queramos usar en varios proyectos. &lt;br /&gt;
Si hemos configurardo un repositorio en red común a varios programadores en varios ordenadores, el comando es igual de simple&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;mvn deploy&lt;/pre&gt;
&lt;/blockquote&gt;
Esto hace todo lo que hace &lt;b&gt;install&lt;/b&gt;, incluido el install y luego pone nuestro jar en ese repositorio común en red. Esto lo pone a disposición de todos los programadores del equipo.&lt;br /&gt;
Lo de &lt;b&gt;-SNAPSHOT&lt;/b&gt; en la versión tiene aquí su gracia. Si dependemos de un jar que tenga &lt;b&gt;-SNAPSHOT&lt;/b&gt;, cada vez que compilemos, aunque ese jar esté en nuestro repositorio local, &lt;b&gt;maven&lt;/b&gt; ira a buscarlos a los repositorios comunes o de internet, para ver si hay una versión de fecha más moderna. Si la hay, se la bajará. Por tanto, suele ser útil en un equipo de trabajo mantener la &quot;coletilla&quot; &lt;b&gt;-SNAPSHOT&lt;/b&gt; en los jar que todavía están en desarrollo y sufren cambios frecuentes. &lt;br /&gt;
Si no ponemos &lt;b&gt;-SNAPSHOT&lt;/b&gt;, una vez bajado el jar a nuestro repositorio local, &lt;b&gt;maven&lt;/b&gt; NO se preocupará de buscar si hay versiones más modernas en los repositorios remotos.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Generar documentación&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Generar el javadoc es fácil. Lo primero es que debemos editar el fichero pom.xml para indicarle que queremos este tipo de documentación. Puede quedar así&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-Nvb7-h6xxL0/Th6Kx7o9JYI/AAAAAAAAAOM/xs4703A9vnY/s1600/Dibujo.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-Nvb7-h6xxL0/Th6Kx7o9JYI/AAAAAAAAAOM/xs4703A9vnY/s1600/Dibujo.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Luego ya es sencillo. Basta ejecutar&lt;br /&gt;
&lt;blockquote&gt;
&lt;br /&gt;
&lt;pre&gt;mvn javadoc:javadoc&lt;/pre&gt;
&lt;/blockquote&gt;
y &lt;b&gt;maven&lt;/b&gt; nos generará en target un directorio &lt;b&gt;target\site\apidocs&lt;/b&gt; y dentro de él metera el javadoc. Si ejecutamos&lt;br /&gt;
&lt;blockquote&gt;
&lt;pre&gt;mvn site:site&lt;/pre&gt;
&lt;/blockquote&gt;
generará en &lt;b&gt;target\site&lt;/b&gt; una documentación web por defecto, incluido el &lt;b&gt;javadoc&lt;/b&gt;. Por supuesto, en el &lt;b&gt;pom.xml&lt;/b&gt; y en algunos ficheros adicionales de configuración se podría personalizar. El aspecto de esa documentación por defecto puedes verlo en la página de maven, ya que por supuesto, la web de &lt;b&gt;maven&lt;/b&gt; ha sido generada con &lt;b&gt;maven&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podéis ver todos los posts relacionados en los siguientes enlaces:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://workingtics.blogspot.com.es/2011/07/empezando-usar-maven-i.html&quot;&gt;Comenzando a usar Maven (I)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://workingtics.blogspot.com.es/2011/07/empezando-usar-maven-ii.html&quot;&gt;Comenzando a usar Maven (II)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://workingtics.blogspot.com.es/2011/07/empezando-usar-maven-iii.html&quot;&gt;Comenzando a usar Maven (III)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://workingtics.blogspot.com.es/2011/07/empezando-usar-maven-iv.html&quot;&gt;Comenzando a usar Maven (IV)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/6604337510514187521/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/comenzando-usar-maven-v.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/6604337510514187521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/6604337510514187521'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/comenzando-usar-maven-v.html' title='Comenzando a usar Maven (V)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-Nvb7-h6xxL0/Th6Kx7o9JYI/AAAAAAAAAOM/xs4703A9vnY/s72-c/Dibujo.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-9212740235193743979</id><published>2011-07-13T11:26:00.005+02:00</published><updated>2011-07-19T10:05:09.836+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="permisos"/><category scheme="http://www.blogger.com/atom/ns#" term="viñetas"/><title type='text'>Un tema de permisos...</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-5IbVM6TuWyk/Th1krmsJc6I/AAAAAAAAAOI/17Sh6Dd1MD8/s1600/Dibujo.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;333&quot; src=&quot;http://3.bp.blogspot.com/-5IbVM6TuWyk/Th1krmsJc6I/AAAAAAAAAOI/17Sh6Dd1MD8/s400/Dibujo.JPG&quot; width=&quot;400&quot; /&gt; &lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
- Hazme un sandwich&lt;br /&gt;
- &lt;i&gt;¿Qué? Háztelo tú.&lt;/i&gt;&lt;br /&gt;
- Que me hagas un sandwich.&lt;br /&gt;
- &lt;i&gt;Ok.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/9212740235193743979/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/un-tema-de-permisos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/9212740235193743979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/9212740235193743979'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/un-tema-de-permisos.html' title='Un tema de permisos...'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-5IbVM6TuWyk/Th1krmsJc6I/AAAAAAAAAOI/17Sh6Dd1MD8/s72-c/Dibujo.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-274247867315438976</id><published>2011-07-13T08:32:00.005+02:00</published><updated>2012-05-17T10:03:17.582+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ant"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><category scheme="http://www.blogger.com/atom/ns#" term="repository"/><title type='text'>Comenzando a usar Maven (IV)</title><content type='html'>En este nuevo capítulo continuamos con los repositorios...&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Repositorios Maven&lt;/span&gt;&lt;br /&gt;
Una de las grandes ventajas de &lt;b&gt;maven&lt;/b&gt; son los repositorios (almacenes) de ficheros jar que se crea. &lt;br /&gt;
En el siguiente &lt;a href=&quot;http://www.ibiblio.org/maven2/&quot;&gt;enlace&lt;/a&gt; tienes el repositorio oficial de jars de maven. Ahí están los &lt;b&gt;groupId&lt;/b&gt; de casi todos los jar de libre distribución que puedas encontrar en internet. Tienes el &lt;i&gt;log4j&lt;/i&gt;, &lt;i&gt;commons-logging&lt;/i&gt;, &lt;i&gt;JFreeChart&lt;/i&gt;, &lt;i&gt;mysql-connector,&lt;/i&gt; etc, etc. &lt;a href=&quot;http://www.google.es/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCQQFjAA&amp;amp;url=http%3A%2F%2Fmaven.apache.org%2F&amp;amp;rct=j&amp;amp;q=maven&amp;amp;ei=4DcdTvzwCoT2sgaF_fCyDQ&amp;amp;usg=AFQjCNEOM94DrY-KbHD2ionSrXoOiwwnDg&amp;amp;sig2=TMB-CzPezeaYzjKlQeW21w&amp;amp;cad=rja&quot;&gt;&lt;b&gt;Maven&lt;/b&gt;&lt;/a&gt;&lt;span id=&quot;goog_1908067781&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1908067782&quot;&gt;&lt;/span&gt; es capaz de bajarse cualquiera de estos jar si tu proyecto lo necesita. &lt;br /&gt;
Todo lo que se baje &lt;b&gt;maven&lt;/b&gt; de internet lo mete en un repositorio (almacen) local en tu pc, de forma que si lo necesita una segunda vez, no necesita descargárselo nuevamente de internet. Este directorio, habitualmente está en &lt;br /&gt;
&lt;ul&gt;&lt;li&gt; &lt;b&gt;$HOME/.m2&lt;/b&gt; en unix/linux &lt;/li&gt;
&lt;li&gt; &lt;b&gt;C:\Documents and Settings\usuario\.m2&lt;/b&gt; en windows &lt;/li&gt;
&lt;/ul&gt;Adicionalmente podemos configurar &lt;b&gt;maven&lt;/b&gt; para que use más repositorios, tanto de internet como otros que montemos internamente en nuestra red local si la tenemos. Por ejemplo, en internet tienes &lt;a href=&quot;http://java.freehep.org/maven2/&quot;&gt;otro&lt;/a&gt; repositorio con jars independiente de maven.&lt;a class=&quot;external autonumber&quot; href=&quot;http://java.freehep.org/maven2/-http://java.freehep.org/maven2/&quot; rel=&quot;nofollow&quot; title=&quot;http://java.freehep.org/maven2/-http://java.freehep.org/maven2/&quot;&gt;&lt;/a&gt; &lt;br /&gt;
El repositorio interno en la red local es particularmente útil si trabajamos en una empresa y hacemos proyectos que son dependientes unos de otros o tenemos nuestras propias librerías de jars. Poniendo jars en ese repositorio de empresa, todos los programadores podrán acceder o subir jars a ese repositorio y compartirlos.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Dependencias de nuestro proyecto&lt;/span&gt; &lt;br /&gt;
Una vez que sabemos que hay un montón de jars por el mundo a nuestra disposición, sólo tenemos que saber cómo hacer que &lt;b&gt;maven&lt;/b&gt; se los baje cuando nosotros queramos. &lt;br /&gt;
Para decir que necesitamos un jar de los que se encuentra a nuestra disposición, tenemos que editar el fichero &lt;b&gt;pom.xml&lt;/b&gt; que tiene por defecto esta pinta:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-QIjjLmo9tM0/Th0--Seo6hI/AAAAAAAAAN8/QxgI6NHY8As/s1600/Dibujo.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-QIjjLmo9tM0/Th0--Seo6hI/AAAAAAAAAN8/QxgI6NHY8As/s1600/Dibujo.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;color: black;&quot;&gt;Vemos que hay un apartado &lt;b&gt;dependencies&lt;/b&gt; y que dentro tiene un &lt;b&gt;dependency&lt;/b&gt; de &lt;i&gt;junit&lt;/i&gt;. Esto es la opción por defecto. Para esta dependencia de &lt;i&gt;Junit &lt;/i&gt;hay que dar el &lt;b&gt;groupId&lt;/b&gt; (&lt;i&gt;junit&lt;/i&gt;), el &lt;b&gt;artifactId&lt;/b&gt; (&lt;i&gt;junit &lt;/i&gt;otra vez), la &lt;b&gt;versión&lt;/b&gt; que deseamos (&lt;i&gt;3.8.1&lt;/i&gt;) y cuándo la necesitamos (en los &lt;i&gt;test&lt;/i&gt;). &lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;Imaginemos que queremos el &lt;b&gt;log4j&lt;/b&gt;, pero para nuestro programa, no para el test. &lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;Vamos al repositorio oficial de &lt;a href=&quot;http://www.ibiblio.org/maven2/&quot;&gt;maven&lt;/a&gt; y navegamos hasta llegar el fichero &lt;b&gt;.pom&lt;/b&gt; del log4j en la versión que queremos, es decir, vamos &quot;pinchando&quot; en: log4j, log4j, 1.2.13 y finalmente [log4j-1.2.13.pom-&lt;a class=&quot;external free&quot; href=&quot;http://www.ibiblio.org/maven2/log4j/log4j/1.2.13/log4j-1.2.13.pom&quot; rel=&quot;nofollow&quot; title=&quot;http://www.ibiblio.org/maven2/log4j/log4j/1.2.13/log4j-1.2.13.pom&quot;&gt;http://www.ibiblio.org/maven2/log4j/log4j/1.2.13/log4j-1.2.13.pom&lt;/a&gt;]. Ahí vemos el &lt;b&gt;groupId&lt;/b&gt;, &lt;b&gt;artifactId&lt;/b&gt; y &lt;b&gt;versión&lt;/b&gt; del log4j que queremos. Ahora editamos nuestro &lt;b&gt;pom.xml&lt;/b&gt; y le añadimos la dependencia:&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-XbIhL-nOGP0/Th0_QoQl0mI/AAAAAAAAAOA/IdrBYM_WdDk/s1600/Dibujo.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-XbIhL-nOGP0/Th0_QoQl0mI/AAAAAAAAAOA/IdrBYM_WdDk/s1600/Dibujo.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;Esta vez hemos puesto &quot;&lt;i&gt;compile&lt;/i&gt;&quot; en vez de &quot;&lt;i&gt;test&lt;/i&gt;&quot; para indicar que lo necesitamos al compilar nuestro proyecto y no al hacerle el test. Con esto está todo listo. Ya podemos usar en nuestros fuentes el &lt;i&gt;log4j&lt;/i&gt;. Cuando compilemos la primera vez, &lt;b&gt;maven&lt;/b&gt; mirará si ya tenemos &lt;i&gt;log4j &lt;/i&gt;en nuestro repositorio local y si no lo tenemos, se irá a buscarlo a internet y lo bajará. El &lt;i&gt;log4j&lt;/i&gt; quedará en nuestro repositorio local.&lt;br /&gt;
&lt;br /&gt;
El próximo día vamos a ver cómo integrar maven en eclipse. ( &lt;a href=&quot;http://workingtics.blogspot.com.es/2011/07/comenzando-usar-maven-v.html&quot;&gt;Comenzando a usar Maven (V)&lt;/a&gt; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/274247867315438976/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/empezando-usar-maven-iv.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/274247867315438976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/274247867315438976'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/empezando-usar-maven-iv.html' title='Comenzando a usar Maven (IV)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-QIjjLmo9tM0/Th0--Seo6hI/AAAAAAAAAN8/QxgI6NHY8As/s72-c/Dibujo.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-5367485270389569707</id><published>2011-07-12T09:09:00.006+02:00</published><updated>2012-05-17T10:01:35.924+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ant"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><category scheme="http://www.blogger.com/atom/ns#" term="repository"/><category scheme="http://www.blogger.com/atom/ns#" term="test"/><title type='text'>Comenzando a usar Maven (III)</title><content type='html'>Ahora llega el momento duro. Debemos empezar a escribir el código, tanto de nuestro proyecto como de las clases de test de JUnit, si es que seguimos al pie de la letra las costumbres de buena programación. Desgraciadamente, todavía no hay herramientas que hagan este trabajo por nosotros, así que a ello.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Compilar &lt;/span&gt;&lt;br /&gt;
Una vez que tenemos todo, podemos compilar de forma sencilla. Basta ponerse en el directorio donde está el fichero &lt;b&gt;pom.xml&lt;/b&gt; y escribir&lt;br /&gt;
&lt;blockquote&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;pre&gt;mvn compile&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;Esto creará un directorio &lt;b&gt;target&lt;/b&gt; justo debajo de &lt;b&gt;EjemploMaven&lt;/b&gt; y ahí un subdirectorio &lt;b&gt;classes&lt;/b&gt; donde meterá todos los .class de nuestro compilado:&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;pre&gt;EjemploMaven
+---src
¦   +---main
¦   ¦   +---java
¦   ¦       +---
¦   ¦           +---ejemplos
¦   +---test
¦       +---java
¦           +---
¦               +---ejemplos
+---target
   +---classes
       +---
           +---ejemplos   //Aquí los .class&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Crear el jar&lt;/span&gt;&lt;br /&gt;
Para generar el jar, es igual de sencillo&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;pre&gt;mvn package&lt;/pre&gt;&lt;/blockquote&gt;Esto primero compilará si es necesario, pasará las clases de test de JUnit y si no hay fallos, meterá en el directorio &lt;b&gt;target&lt;/b&gt; nuestro jar, que por defecto tendrá un nombre tan feo como este&lt;br /&gt;
&lt;blockquote&gt;&lt;pre&gt;EjemploMaven-1.0-SNAPSHOT.jar&lt;/pre&gt;&lt;/blockquote&gt;Bien, &lt;b&gt;EjemploMaven&lt;/b&gt; es como queremos que se llame según indicamos en el &lt;b&gt;artifactId&lt;/b&gt;. &lt;b&gt;Maven&lt;/b&gt; añade un 1.0 para indicar que es la versión 1.0 de nuestro proyecto. Este número aparece y podemos cambiarlo en el fichero &lt;b&gt;pom.xml&lt;/b&gt;. Lo de &lt;b&gt;-SNAPSHOT&lt;/b&gt; es para indicar que esta versión está en construcción, que no es definitiva. &lt;b&gt;Maven&lt;/b&gt; irá guardando todas las versiones del jar que generemos e irá sustituyendo &lt;b&gt;-SNAPSHOT&lt;/b&gt; por la fecha y hora de la construcción. &lt;b&gt;-SNAPSHOT&lt;/b&gt; también aparece en el &lt;b&gt;pom.xml&lt;/b&gt; y podemos quitarlo cuando creamos que tenemos la versión definitiva. &lt;br /&gt;
Dentro de jar se meterán automáticamente todos los ficheros que tengamos debajo del directorio &lt;b&gt;resources&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
En el próximo post hablaremos de los repositorios maven... &lt;a href=&quot;http://workingtics.blogspot.com.es/2011/07/empezando-usar-maven-iv.html&quot;&gt;Comenzando a usar Maven (IV)&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/5367485270389569707/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/empezando-usar-maven-iii.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5367485270389569707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5367485270389569707'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/empezando-usar-maven-iii.html' title='Comenzando a usar Maven (III)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-5096362297741079154</id><published>2011-07-11T14:55:00.013+02:00</published><updated>2012-05-17T09:59:55.113+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ant"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><category scheme="http://www.blogger.com/atom/ns#" term="repository"/><category scheme="http://www.blogger.com/atom/ns#" term="test"/><title type='text'>Comenzando a usar Maven (II)</title><content type='html'>Siguiendo con el hilo que dejamos el otro día vamos a empezar por cómo crear un proyecto Maven.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Crear un proyecto&lt;/span&gt;&lt;br /&gt;
El primer paso con maven es crear un proyecto desde cero. El comando de maven que tenemos que ejecutar es&lt;br /&gt;
&lt;blockquote&gt;
&lt;div style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;mvn archetype:create -DgroupId=ejemplos -DartifactId=EjemploMaven&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
Veamos los parámetros:
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;archetype:create&lt;/b&gt; es el comando de maven para crear un proyecto. Por defecto crea un proyecto de java normalito (mirar los arquetipos definidos en metodología) &lt;/li&gt;
&lt;li&gt; &lt;b&gt;-DgroupId=&lt;/b&gt;&lt;i&gt;ejemplos&lt;/i&gt; es el conjunto de proyectos al que pertenece nuestro proyecto. Por ejemplo, yo puedo meter todos mis programas de ejemplo en un grupo que llamaré &quot;&lt;i&gt;ejemplos&lt;/i&gt;&quot;. Este nombre que pongamos aquí va a servir de paquete inicial para todas las clases del proyecto. Todos los proyectos &lt;b&gt;maven&lt;/b&gt; deben pertenecer a un grupo, aunque sea único para él, que se denominará &lt;b&gt;groupId&lt;/b&gt;.&amp;nbsp; &lt;/li&gt;
&lt;li&gt; &lt;b&gt;-DartifactId=&lt;/b&gt;&lt;i&gt;EjemploMaven&lt;/i&gt; es el nombre que queramos dar al proyecto. &lt;b&gt;Maven&lt;/b&gt; creará un directorio con este nombre y el jar que genere para el proyecto tendrá también este nombre. Todos los proyectos &lt;b&gt;maven&lt;/b&gt; tienen un nombre para identificarlos, que se denomirá &lt;b&gt;artifactId&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Una vez ejecutado este comando, &lt;b&gt;Maven&lt;/b&gt; empezará a bajarse cosas de
 internet cuando lo ejecutemos por primera vez (en los próximos 
proyectos ya no necesita bajarse nada) y creará una esctructura de 
directorios y ficheros como la siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-zos4isNSQpw/ThryXo_uXqI/AAAAAAAAAN4/pHf_edgIw6s/s1600/Dibujo.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-zos4isNSQpw/ThryXo_uXqI/AAAAAAAAAN4/pHf_edgIw6s/s1600/Dibujo.JPG&quot; /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Crea un directorio &lt;b&gt;EjemploMaven&lt;/b&gt; para nuestro proyecto.&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;pom.xml&lt;/b&gt; es un fichero que contiene datos de configuración de
nuestro proyecto, como dependencias con otros jar, tipos de informes
que queremos en la página web de nuestro proyecto, etc.. Inicialmente
contiene una serie de parámetros defecto que podremos cambiar si lo
deseamos.
&lt;br /&gt;
Crea dos subdirectorios, uno &lt;b&gt;src&lt;/b&gt; y otro &lt;b&gt;test&lt;/b&gt;. Dentro de
&lt;b&gt;src&lt;/b&gt; debemos meter todo lo que sean fuentes y ficheros de
configuración o datos propios del proyecto. En la parte de &lt;b&gt;test&lt;/b&gt;
debemos meter todos nuestros fuentes de prueba, clases de test de
JUnit, ficheros de datos o de configuración de pruebas, etc. Es decir,
en &lt;b&gt;src&lt;/b&gt; va lo que es del proyecto y en &lt;b&gt;test&lt;/b&gt; lo que nos
ayude a probar el proyecto, pero no sea propio del proyecto.
&lt;br /&gt;
En ambos casos, crea un directorio &lt;b&gt;java&lt;/b&gt;. Ahí debajo es donde van
los fuentes java. En paralelo a estos directorios &lt;b&gt;java&lt;/b&gt; y si lo
necesitamos, debemos crear nosotros a mano otros directorios. El
nombre de estos nuevos directorios es standard en &lt;b&gt;maven&lt;/b&gt;. Para un
proyecto normalito los más útiles puede ser:
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; &lt;b&gt;config&lt;/b&gt; para ficheros de configuración, iconos, etc
&lt;/li&gt;
&lt;li&gt; &lt;b&gt;resources&lt;/b&gt; para ficheros que queramos que se metan dentro del jar. &lt;b&gt;Maven&lt;/b&gt; meterá automáticamente todo lo que haya en este subdirectorio dentro del jar
&lt;/li&gt;
&lt;li&gt; &lt;b&gt;assembly&lt;/b&gt; para la configuración que queramos en nuestro zip de distribución.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Maven&lt;/b&gt; mete directamente el paquete inicial &lt;i&gt;ejemplos&lt;/i&gt;, según
indicamos en el &lt;b&gt;groupId&lt;/b&gt; y en él mete un par de ficheros java de
muestra, &lt;b&gt;App.java&lt;/b&gt; y &lt;b&gt;AppTest.java&lt;/b&gt;. Normalmente estos
ficheros los borraremos, salvo que queramos aprovechar el nombre.&lt;br /&gt;
&lt;br /&gt;
Continúa con la información en &lt;a href=&quot;http://workingtics.blogspot.com.es/2011/07/empezando-usar-maven-iii.html&quot;&gt;Comenzando a usar Maven (III).&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/5096362297741079154/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/empezando-usar-maven-ii.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5096362297741079154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/5096362297741079154'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/empezando-usar-maven-ii.html' title='Comenzando a usar Maven (II)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-zos4isNSQpw/ThryXo_uXqI/AAAAAAAAAN4/pHf_edgIw6s/s72-c/Dibujo.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-7972659042318571107</id><published>2011-07-07T09:49:00.010+02:00</published><updated>2012-05-17T10:01:04.701+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ant"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="optimización"/><category scheme="http://www.blogger.com/atom/ns#" term="repository"/><category scheme="http://www.blogger.com/atom/ns#" term="test"/><title type='text'>Comenzando a usar Maven (I)</title><content type='html'>El software de hoy ya no son creaciones monolíticas de un único equipo trabajando localmente en el proyecto. El cada vez mayor número de componentes de código abierto robusto de nivel empresarial hace que los proyectos de software modernos necesiten de una colaboración más dinámica entre los equipos de los proyectos y a menudo esto depende de una mezcla de componentes creados globalmente y otros creados localmente. Mientras que otras herramientas de construcción como Ant da un conjunto de herramientas para construir los bloques del proyecto, Maven cubre muchas de las necesidades normalmente inexistente en estas herramientas y que son requeridas en todos los proyectos.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;El camino seguido por Maven es el siguiente: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Configura tu ’build’ en vez de codificarla en un script.&lt;/li&gt;
&lt;li&gt;Reusa la lógica de creación.&lt;/li&gt;
&lt;li&gt;Una organización de dependencias coherente.&lt;/li&gt;
&lt;/ul&gt;
El ’core’ de Maven usa un fichero XML llamado ’POM’ que define todos los datos de configuración necesarios para describir cómo debe construirse el proyecto. Para simplificar esta tarea, Maven trae un ’SuperPOM’ con todas las buenas prácticas y convenciones a nivel de estructura de proyecto, etc.., para minimizar los cambios necesarios a nivel de configuración que deben ser aplicados al proyecto en su puesta en marcha. Los proyectos Maven tienen el concepto de ciclo de construcción (ver abajo), con una serie de fases donde cada una de ellas puede realizar una o más acciones o en terminología maven ’goals’. El ciclo de vida para un proyecto específico puede estar compuesto de todas o un subconjunto de las &#39;fases&#39; dependiendo de las necesidades del proyecto.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-AbRzJ3y1Uqo/ThVjJIlGy9I/AAAAAAAAANs/m27yxFKaE7Y/s1600/a__.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;304&quot; src=&quot;http://2.bp.blogspot.com/-AbRzJ3y1Uqo/ThVjJIlGy9I/AAAAAAAAANs/m27yxFKaE7Y/s320/a__.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Maven también incluye una manera consistente definir dependencias en el proyecto con otras librerías, ya sean externas o bien internas fruto de desarrollos locales. Automáticamente se bajan las dependencias desde los repositorios remotos o locales, según el tipo que sean las librerías. Maven es extensible vía plugins fácilmente desarrollables. La disponibilidad de plugins para Maven is muy alta cubriendo diferentes áreas: packaging, reporting, IDEs, etc...&lt;br /&gt;
Con Maven como la herramienta base de la gestión de los proyectos y construcción podemos crear una serie de funcionalidades e integraciones para automatizar, simplificar e incrementar la calidad del proyecto y la documentación así como acelerar el desarrollo de los proyectos java. Una visión general de las funcionalidades que podemos proveer usando maven se describen en el siguiente gráfico:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-uhqB0yrUFig/ThVjl601S-I/AAAAAAAAAN0/2bH1XTWqMR8/s1600/a__.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;59&quot; src=&quot;http://4.bp.blogspot.com/-uhqB0yrUFig/ThVjl601S-I/AAAAAAAAAN0/2bH1XTWqMR8/s320/a__.jpg&quot; width=&quot;440&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Project Build (Construcción del proyecto):&lt;/b&gt; Permite la construcción mediante un único comando los paquetes de proyecto requeridos (JAR, EAR, WAR, etc...). Además, la construcción de proyectos complejos como composición de múltiples subproyectos es muy simple usando las dependencias (ejemplo: un EAR con múltiples JARs y WARs).  &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Test Environment (Pruebas):&lt;/b&gt; Integrado en el ciclo de construcción tenemos la ejecución de las pruebas definidas, incluyendo unit tests, functional tests and integration tests.  &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Automated Deployment (despliegue automático):&lt;/b&gt; Usando \\’Profiles\\’ (explicado más abajo) e integrando con Ant, el despliegue automático de la aplicación sobre cualquier servidor de aplicaciones o como stand-alone se simplifica de gran manera.  &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Metricas de la Calidad e Informes (Quality Metrics and Reports):&lt;/b&gt; Usando los plugins de Maven y sobre la ejecución de las pruebas del proyecto, es posible generar una gran variedad de métricas de la calidad e informes del software, generándose automáticamente como parte del proceso de construcción.  &lt;/li&gt;
&lt;li&gt;&lt;b&gt;IDE integration (Integración con un IDE):&lt;/b&gt; Maven puede ser integrado completamente con los IDEs existentes, como Eclipse, Netbeans e IntelliJ IDEA.  &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Arquetipos (Archetypes):&lt;/b&gt; Los arquetipos maven son plantillas de proyectos que pueden ser usadas como referencia para los desarrollos siguiendo una aproximación determinada (ejemplo: struts, appfuse-modular-spring, etc...). Los arquetipos personalizados se pueden definir basándose en los proyectos más típicos desarrollados por el cliente, incluyendo las buenas prácticas del cliente, su estructura de proyectos o estándares de código.  &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Perfiles (Profiles):&lt;/b&gt; Maven soporta la definición de diferentes configuraciones específicas para adaptarse a diferentes entornos. Permite substitución de las variables con los valores específicos de cada entorno (ejemplo: URLs, database string connections, etc..). Es posible también añadir dependencias adicionales o la ejecución de plugins específicos (como despliegue automático).  &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Integración Continua (Continuous Integration):&lt;/b&gt; Se puede integrar Maven con un entorno de Integración Continua, como se explica en esta propuesta.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
Para más información puedes seguir el siguiente post: &lt;a href=&quot;http://workingtics.blogspot.com/2011/07/empezando-usar-maven-ii.html&quot;&gt;Comenzando a usar Maven (II)&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/7972659042318571107/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/empezando-usar-maven-i.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/7972659042318571107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/7972659042318571107'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/empezando-usar-maven-i.html' title='Comenzando a usar Maven (I)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-AbRzJ3y1Uqo/ThVjJIlGy9I/AAAAAAAAANs/m27yxFKaE7Y/s72-c/a__.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8407761222568904177.post-1830050235558141387</id><published>2011-07-06T12:11:00.013+02:00</published><updated>2011-07-19T10:06:08.178+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debug"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="Selenium"/><category scheme="http://www.blogger.com/atom/ns#" term="test"/><title type='text'>Selenium IDE - testeando aplicaciones web</title><content type='html'>Selenium IDE es un entorno de desarrollo integrado. Está implementado como una extensión de Firefox, y le permite grabar, editar y depurar las pruebas. No es sólo una herramienta de grabación.&lt;br /&gt;
Aquí tienes sus principales características: registrar y reproducir los tests, depurar y establecer puntos de interrupción, guardar las pruebas como &lt;span style=&quot;font-style: italic;&quot;&gt;HTML&lt;/span&gt;, scripts &lt;span style=&quot;font-style: italic;&quot;&gt;Ruby&lt;/span&gt;, o cualquier otro formato, etc... &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-9i_ZLWtEU78/ThQ326FjzvI/AAAAAAAAANk/3U2yw9http://www.blogger.com/img/blank.gifMoy4Q/s1600/a__.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;391&quot; id=&quot;BLOGGER_PHOTO_ID_5626183250937630450&quot; src=&quot;http://1.bp.blogspot.com/-9i_ZLWtEU78/ThQ326FjzvI/AAAAAAAAANk/3U2yw9Moy4Q/s400/a__.jpg&quot; style=&quot;display: block; margin: 0px auto 10px; text-align: center;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Aquí tienes un &lt;a href=&quot;http://seleniumhq.org/movies/intro.mov&quot;&gt;vídeo&lt;/a&gt; de su funcionamiento. Para más información entra en &lt;a href=&quot;http://seleniumhq.org/projects/ide/plugins.html&quot;&gt;Selenium IDE plugins&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://workingtics.blogspot.com/feeds/1830050235558141387/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://workingtics.blogspot.com/2011/07/selenium-ide-testeando-aplicaciones-web.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/1830050235558141387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8407761222568904177/posts/default/1830050235558141387'/><link rel='alternate' type='text/html' href='http://workingtics.blogspot.com/2011/07/selenium-ide-testeando-aplicaciones-web.html' title='Selenium IDE - testeando aplicaciones web'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-9i_ZLWtEU78/ThQ326FjzvI/AAAAAAAAANk/3U2yw9Moy4Q/s72-c/a__.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>