<rss version="2.0" 
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/" 
>
<channel>
<title>Dummy On Rails</title>
<link>http://www.lacoctelera.com/dummyonrails</link>
<description>O lo que es lo mismo un DOR escribiendo para aprender...</description>
<language>es-es</language>
<dc:subject>Tecnología</dc:subject>

<category domain="http://www.lacoctelera.com/dummyonrails">rubyonrails</category>
<category domain="http://www.lacoctelera.com/dummyonrails">web</category>
<category domain="http://www.lacoctelera.com/dummyonrails">rails</category>

<image>
	<url>http://1.lcassets.com/myfiles/dummyonrails/avatar65x65.png</url>
	<title>Dummy On Rails</title>
	<link>http://www.lacoctelera.com/dummyonrails</link>
</image>
<generator>the-shaker v0.1. More on http://www.the-shaker.com</generator>
<item>
<title>Qué hacer cuando &quot;gem install&quot; se cuelga</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2008/06/09/que-hacer-cuando-gem-install-se-cuelga</link>
<pubDate>2008-06-09T23:43:01+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Problemas típicos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Instalación</category>
<content:encoded><![CDATA[<p>El repositorio de <a href="http://www.rubygems.org/" title="http://www.rubygems.org/" id=link_1>Rubygems</a> no va precisamente fino últimamente:se come por completo la memoria de tu servidor. Tras el fin de semana intentando instalar Rails en Slicehost, esto es todo lo que he conseguido junto a varias alertas de <strong>Swap Usage</strong>:</p>
<pre> Bulk updating Gem source index for: http://gems.rubyforge.org/ </pre>
<p>La "amable" respuesta del equipo de soporte de <a href="http://www.slicehost.com" title="http://www.slicehost.com" id=link_0>slicehost</a>: "mira en el foro", algo que había hecho a conciencia sin que ninguna de las propuestas funcionara. (Borrar source_cache, matar procesos zombies... etc.).</p>
<p><a href="http://www.mamuso.net/">Manuel</a> me recomendó que para situaciones hiciera la instalación local descargando las gemas directamente en el servidor.</p>
<p>Y estas son las que necesité para Rails 2.0:</p>
<ol>
<li><a href="http://rubyforge.org/projects/activesupport/">Activesupport</a></li>
<li><a href="http://rubyforge.org/projects/actionpack/">Actionpack</a></li>
<li><a href="http://rubyforge.org/projects/actionmailer">Actionmailer</a></li>
<li><a href="http://rubyforge.org/projects/activerecord/">Activerecord</a></li>
<li><a href="http://rubyforge.org/projects/aws/">Actionwebservice</a></li>
<li><a href="http://rubyforge.org/projects/activeresource/">Activeresource</a></li>
<li><a href="http://rubyforge.org/projects/rake">Rake</a></li>
<li><a href="http://rubyforge.org/projects/rails/">Rails</a></li>
</ol>
<p>Créate una carpeta "sources", y dentro de ella descarga con <strong>wget</strong> cada una de las gemas por el orden que aparece en la lista. La descarga directa es mucho más rápida. Por ejemplo:</p>
<pre> wget http://rubyforge.org/frs/download.php/37753/activesupport-2.1.0.gem </pre>
<p>Una vez las tengas todas, ejecuta el comando gem <nombre_de_la_gema> con el parámetro -l, que quiere decir que se instalará sin acudir al repositorio de gemas.</p>
<pre> gem install <nombre_de_la_gema> -l </pre>
<p>Una vez instalado Rails, aparentemente las gemas causantes de este cuelgue, pude instalar las gemas de <strong>mongrel</strong> y <strong>mongrel_cluster</strong> y probar <strong>gem update</strong> con toda normalidad.</p>
<p>Qué paciencia...
</p>
</nombre_de_la_gema></nombre_de_la_gema>]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2008/06/09/que-hacer-cuando-gem-install-se-cuelga#comentarios
</comments>
</item>
<item>
<title>Errores al arrancar mongrel -- openssl (RuntimeError)</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2008/06/09/errores-al-arrancar-mongrel-openssl-runtimeerror</link>
<pubDate>2008-06-09T19:38:18+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Empezando</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Problemas típicos</category>
<content:encoded><![CDATA[<p>Si una vez instalado Rails al arrancar el servidor te muestra un error <em>openssl (RuntimeError)</em> como en el ejemplo:</p>
<pre> => Booting Mongrel (use 'script/server webrick' to force WEBrick)  => Rails 2.1.0 application starting on http://0.0.0.0:3000  => Call with -d to detach  => Ctrl-C to shutdown server  ** Starting Mongrel listening at 0.0.0.0:3000  ** Starting Rails with development environment...  Exiting  /usr/local/lib/ruby/gems/1.8/gems/rails-2.1.0/lib/initializer.rb:225:in  `require_frameworks': no such file to load -- openssl (RuntimeError)  </pre>
<p>Una de las soluciones posibles es instalar (o reinstalar) libopenssl-ruby con el comando siguiente.</p>
<pre> sudo apt-get install libopenssl-ruby  </pre>
<p>A mí me ha funcionado!
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2008/06/09/errores-al-arrancar-mongrel-openssl-runtimeerror#comentarios
</comments>
</item>
<item>
<title>Rails 2.0. Creando una aplicación con MySQL</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2008/05/20/rails-2-0-creando-aplicacion-con-mysql</link>
<pubDate>2008-05-20T21:40:52+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Empezando</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Controladores</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Proceso</category>
<category domain="http://www.lacoctelera.com/dummyonrails">MySQL</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Problemas típicos</category>
<content:encoded><![CDATA[<p>Al crear una aplicación con Rails 2.0.2, te encontrarás que, por defecto, la base de datos es SQLite3. ¿Razón? Sencillez, según el equipo responsable de Rails. </p>
<p>Si estás acostumbrado a trabajar con MySQL, mediante el parámetro "-d mysql", puedes saltarte la versión por defecto tomar como base de datos MySQL.</p>
<pre> rails mi-aplicacion -d mysql </pre>
<p>Fuente: <a href="http://weblog.rubyonrails.org/2007/12/17/rails-2-0-2-some-new-defaults-and-a-few-fixes" title="http://weblog.rubyonrails.org/2007/12/17/rails-2-0-2-some-new-defaults-and-a-few-fixes" id=link_0>Rails 2.0.2: Some new defaults and a few fixes</a>
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2008/05/20/rails-2-0-creando-aplicacion-con-mysql#comentarios
</comments>
</item>
<item>
<title>Qué hacer cuando la ubicación de Ruby es diferente en los entornos de desarrollo y producción</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2008/05/20/que-hacer-cuando-ubicacion-ruby-es-diferente-los</link>
<pubDate>2008-05-20T21:21:15+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Empezando</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Proceso</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Problemas típicos</category>
<content:encoded><![CDATA[<p>Es un problema típico: en tu máquina tienes en acceso a Ruby en una ubicación, por ejemplo en "/usr/local/bin/ruby" y en tu entorno de desarrollo en "/usr/local/bin/ruby". </p>
<p>Esta información es necesaria en la primera línea de los scripts o <a href="http://en.wikipedia.org/wiki/Shebang_(Unix)" title="http://en.wikipedia.org/wiki/Shebang_(Unix)" id=link_0>shebang</a>, que es aquella que llamará a los ejecutables de Ruby.</p>
<p>¿Qué significa esto? Que para ejecutar scripts en Ruby deberías cambiar la primera línea de tus scripts para acomodarlo al entorno en el que vaya a funcionar la aplicación.</p>
<h3>Solución</h3>
<p>Mediante el parámetro "--ruby /ruta/a/ruby" puedes generar las aplicaciones con el shebang que introduzcas en el parámetro. En este caso, tras averiguar la ruta hacia Ruby el servidor de producción:</p>
<p>puedes predeterminar el shebang de una aplicación para que cuadre con la ruta en producción, mediante el parámetro --ruby</p>
<p>El shebang resultante sería:</p>
<p>Si el enlace a tu máquina de desarrollo no tiene acceso a Ruby en esa ubicación, puedes, mediante un enlace simbólico (symlink) crear un vínculo entre las rutas de tu entorno de desarrollo y la que has definido para producción en el paso anterior. De esta manera, la aplicación funcionaría en ambos entornos sin tener que tocar el shebang.</p>
<pre> # Enlazar la ubicación de Ruby en desarrollo con un symlink local$ sudo ln -s /opt/local/bin/ruby /usr/local/bin/ruby  local$ sudo ln -s /opt/local/bin/ruby /usr/bin/ruby  </pre>
<p>Fuente: Deploying Rails Applications. A step by step guide. Ezra Zygmuntowicz</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2008/05/20/que-hacer-cuando-ubicacion-ruby-es-diferente-los#comentarios
</comments>
</item>
<item>
<title>Capgemini Dinamarca incluye oficialmente Ruby On Rails en su offering</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2008/04/25/capgemini-dinamarca-incluye-oficialmente-ruby-on-rails-su-2</link>
<pubDate>2008-04-25T12:31:28+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Proceso</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Testing</category>
<category domain="http://www.lacoctelera.com/dummyonrails">charlas</category>
<content:encoded><![CDATA[<p>El equipo de Jesper Rønn-Jensen, lleva trabajando con Rails como herramienta de prototipado desde hace tiempo para grandes clientes de Capgemini Dinamarca. Jesper es un participante activo en la Comunidad Rails internacional, desarrollando plugins, asistiendo a Conferencias. Ha hecho varias presentaciones explicando los beneficios de Rails para prototipar , como en <a href="http://justaddwater.dk/2006/06/01/my-talk-at-reboot8-prototyping/" title="http://justaddwater.dk/2006/06/01/my-talk-at-reboot8-prototyping/" id=link_0>reboot8</a>.</p>
<p>El caso es que ya es oficial:<br />
<href="http://justaddwater.dk/2008/04/24/capgemini-website-article-prototyping-and-ruby-on-rails/>Capgemini Dinamarca usa Ruby On Rails</a> como herramienta de prototipado y en algunos casos en producción.</p>
<p>Razones: mayor productividad, menor coste y mejoras notables en la calidad del producto final. Tal y como lo cuentan parece ser la piedra filosofal del software.</p>
<blockquote><p>We have had working prototypes up and running in a matter of hours. A specific example was a project we decided to implement in Ruby on Rails. Originally the project was estimated at 400 hours in Microsoft .Net. With Ruby on Rails we could deliver it in 110 hours.<br />
-- Jesper Rønn-Jensen
</p></blockquote>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2008/04/25/capgemini-dinamarca-incluye-oficialmente-ruby-on-rails-su-2#comentarios
</comments>
</item>
<item>
<title>Charla de DHH en la Startup School</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2008/04/25/charla-dhh-la-startup-school</link>
<pubDate>2008-04-25T11:35:11+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Tutoriales</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Video</category>
<category domain="http://www.lacoctelera.com/dummyonrails">charlas</category>
<content:encoded><![CDATA[<p>Como hicieran ya Jeff Bezos o Marc Andreessen pioneros de la web que conocemos hoy en día, David Heinemeier Hanson ha dado su charla en la Startup School. Aquí el video.</p>
<object type="application/x-shockwave-flash" height="263" width="320" id="jtv_player_flash" data="http://www.justin.tv/widgets/jtv_tip_embed.swf" bgcolor="#000000">
<param name="movie" value="http://www.justin.tv/widgets/jtv_tip_embed.swf" />
<param name="allowFullScreen" value="true" />
<param name="flashvars" value="auto_play=false&start_volume=25&title=DHH Talk - Startup School 2008&start_time=1208631951000&end_time=1208633866000&channel=hackertv&tip_id=97862" /></object>
<p><a href="http://www.justin.tv/hackertv" style="padding:2px 0px 4px; display:block; width:320px; font-weight:normal; font-size:10px; text-decoration:underline; text-align:center;">Watch live video from HackerTV on Justin.tv</a>
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2008/04/25/charla-dhh-la-startup-school#comentarios
</comments>
</item>
<item>
<title>Errores con rake db:migrate</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2008/02/02/errores-con-rake-db-migrate</link>
<pubDate>2008-02-02T10:26:14+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Proceso</category>
<category domain="http://www.lacoctelera.com/dummyonrails">MySQL</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Problemas típicos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Tutoriales</category>
<content:encoded><![CDATA[<p>Estamos en entorno de desarrollo (Mac Os X)...</p>
<ul>
<li>Has creado tu aplicación mediante el comando Rails (rails miapp --database=mysql). Es importante que especifiques el tipo de base de datos que quieres emplear, ya que en caso contrario, por defecto puede tomar SQLite.</li>
<li>Has creado la base de datos de desarrollo: con el comando <em>mysqladmin -u root miapp_development</em>.</li>
<li>Has configurado el archivo config/database.yml para conectar con la base de datos de desarrollo.</li>
</ul>
<p>Para comprobar que todo funciona correctamente, acude al shell e introduce el comando:</p>
<blockquote><p>rake db:migrate</p></blockquote>
<p>Si el sistema muestra el siguiente mensaje de error:</p>
<blockquote><p>/usr/local/bin/rake:17: undefined method `require_gem' for main:Object (NoMethodError)</p></blockquote>
<p>Es porque la versión de rake en nuestro sistema está desactualizada. Para actualizarla, y desde el shell, debemos introducir el siguiente comando.</p>
<blockquote><p>sudo gem install --remote rake</p></blockquote>
<p>Vuelve a introducir rake db:migrate y el mensaje de error habrá desaparecido.
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2008/02/02/errores-con-rake-db-migrate#comentarios
</comments>
</item>
<item>
<title>Videocasts sobre Ruby y Ruby On Rails</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2008/01/14/videocasts-sobre-ruby-y-ruby-on-rails</link>
<pubDate>2008-01-14T21:11:34+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Empezando</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Herramientas</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Tutoriales</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Video</category>
<content:encoded><![CDATA[<p>Si quieres comenzar o continuar con tu proceso de autoaprendizaje sobre programación con Ruby On Rails estás de suerte: la Comunidad Rails genera los mejores contenidos didacticos para aprender a programar. 
<div><br class="webkit-block-placeholder"></div>
<div>Imprescindibles:
<div><br class="webkit-block-placeholder"></div>
<div><a href="http://www.peepcode.com/" title="http://www.peepcode.com/" id="link_0">Peepcode</a>: es de pago. Por el precio de una comida -9$-, tienes un videocast con su documentación y código. Peepcode es imprescindible para aprender sobre tópicos avanzados.</div>
<div><br class="webkit-block-placeholder"></div>
<div><a href="http://railscasts.com/" title="http://railscasts.com/" id="link_1">Railscasts</a>: Más de 80 videocasts introductorios sobre todos los temas que puedes necesitar para programar una aplicación con Ruby On Rails.</div>
<div><br class="webkit-block-placeholder"></div>
<div><a href="http://www.rubyplus.org/" title="http://www.rubyplus.org/" id="link_2">RubyPlus</a>: de reciente lanzamiento y también gratuito. Su diferencia: no sólo se dedica a Rails, sino que comienza con videocasts de Ruby, algo que ayuda a comprender mejor cómo funciona todo este tinglado.
</div>
<div><br class="webkit-block-placeholder"></div>
<div>A disfrutar...</div>
</div>
</br></br></br></br></br></p>]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2008/01/14/videocasts-sobre-ruby-y-ruby-on-rails#comentarios
</comments>
</item>
<item>
<title>Sobre Plugins</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/13/sobre-plugins</link>
<pubDate>2007-06-13T09:08:01+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<content:encoded><![CDATA[<p>Los Plugins son librerías independientes hechas especialmente para Rails. Son una buena manera de reutilizar el código de otras personas o empaquetar tu propio código para ser reutilizado posteriormente. (<a href="http://www.nubyonrails.com/" title="http://www.nubyonrails.com/" id=link_4>Geoffrey Grosenbach</a> )</p>
<p><a href="http://nubyonrails.com/articles/2006/05/04/the-complete-guide-to-rails-plugins-part-i" title="http://nubyonrails.com/articles/2006/05/04/the-complete-guide-to-rails-plugins-part-i" id=link_0>The Complete Guide to Rails Plugins: Part I</a> </p>
<p><a href="http://nubyonrails.com/articles/2006/05/09/the-complete-guide-to-rails-plugins-part-ii" title="http://nubyonrails.com/articles/2006/05/09/the-complete-guide-to-rails-plugins-part-ii" id=link_2>The Complete Guide to Rails Plugins: Part II</a> </p>
<p><a href="http://wiki.rubyonrails.com/rails/pages/HowTosPlugins" title="http://wiki.rubyonrails.com/rails/pages/HowTosPlugins" id=link_1>Plugins Howto</a> </p>
<p><a href="http://railscasts.com/episodes/33" title="http://railscasts.com/episodes/33" id=link_3>Making a Plugin</a> (video)
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/13/sobre-plugins#comentarios
</comments>
</item>
<item>
<title>Rake: algunos comandos útiles</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/13/rake-algunos-comandos-utiles</link>
<pubDate>2007-06-13T08:35:04+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Proceso</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Testing</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Herramientas</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Tutoriales</category>
<content:encoded><![CDATA[<p>Rake es el equivalente a make para Ruby. Sirve para crear y automatizar tareas de mantenimiento. Estos son algunos de los comandos más útiles:</p>
<p><strong>rake</strong>: sin parámetros reconstruye la base de datos de testing utilizando las migraciones y ejecuta todos los tests en el directorio test.</p>
<p><strong>rake db:migrate:</strong> actualiza la base de datos. Con el parámetro <strong>VERSION=X</strong>, después del comando, la actualiza a la versión especificada, por ejemplo, <strong>rake db:migrate VERSION=3</strong>.</p>
<p><strong>rake db:test:clone</strong>: copia la base de datos de desarrollo en la de testing para ejecutar los tests.</p>
<p><strong>rake stats</strong>: muestra las estadísticas de nuestra aplicación.</p>
<pre> +----------------------+-------+-------+---------+---------+-----+-------+ | Name                 | Lines |   LOC | Classes | Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers          |     7 |     3 |       1 |       0 |   0 |     0 | | Helpers              |     3 |     2 |       0 |       0 |   0 |     0 | | Models               |    44 |    27 |       4 |       1 |   0 |    25 | | Libraries            |     0 |     0 |       0 |       0 |   0 |     0 | | Components           |     0 |     0 |       0 |       0 |   0 |     0 | | Integration tests    |     0 |     0 |       0 |       0 |   0 |     0 | | Functional tests     |     0 |     0 |       0 |       0 |   0 |     0 | | Unit tests           |    82 |    63 |       4 |       6 |   1 |     8 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total                |   136 |    95 |       9 |       7 |   0 |    11 | +----------------------+-------+-------+---------+---------+-----+-------+   Code LOC: 32     Test LOC: 63     Code to Test Ratio: 1:2.0 </pre>
<p><strong>rake doc:app</strong>: genera la documentación del proyecto basándose en RDoc (Lectura recomendada: <a href="http://toolmantim.com/article/2007/4/19/introduction_to_rdoc" title="http://toolmantim.com/article/2007/4/19/introduction_to_rdoc" id=link_1>Introducing RDoc</a> ).</p>
<p><strong>rake db:sessions:create</strong>: crea una tabla para almacenar sesiones de usuario mediate cookies. Útil para sistemas con autenticación.</p>
<p><strong>rake db:sessions:clear</strong>: Cada sesión de usuario crea una nueva fila en la tabla de sesiones, por lo que es importante realizar limpiezas periódicas. Este comando vacía la tabla de sesiones.</p>
<p><strong>rake log:clear</strong>: limpia los archivos de log de la aplicación. Conviene ejecutarlo periódicamente para evitar que los archivos ocupen demasiado espacio.</p>
<p><strong>rake rails:freeze:gems</strong>: importante si queremos mantener nuestra aplicación "congelada", es decir, utilizar la versión de Rails que tenemos instalada actualmente en el sistema de manera que una actualización inesperada incompatible no rompa nuestro trabajo. </p>
<p><strong>rake rails:unfreeze</strong>: descongela la aplicación abriéndola a actualizaciones.</p>
<p><strong>rake rails:freeze:edge</strong>: para valientes. Copia el último código disponible del repositorio subversion de Rails -posiblemente inestable- y lo almacena en el directorio vendor/rails de la aplicación.</p>
<p>Fuentes: Ruby On Rails, Beginning Ruby On Rails for eCommerce Appress, 2006, <a href="http://www.martinfowler.com/articles/rake.html" title="http://www.martinfowler.com/articles/rake.html" id=link_0>Martin Fowler</a>
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/13/rake-algunos-comandos-utiles#comentarios
</comments>
</item>
<item>
<title>Sobre TDD</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/13/sobre-tdd</link>
<pubDate>2007-06-13T07:59:35+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Testing</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Video</category>
<content:encoded><![CDATA[<p><a href="http://blog.daveastels.com/articles/2005/07/05/a-new-look-at-test-driven-development" title="http://blog.daveastels.com/articles/2005/07/05/a-new-look-at-test-driven-development" id=link_0>Dave Astels</a> , es uno de los mayores expertos en Agile Development, Xtreme Programming. En esta presentación habla sobre TDD y BDD.</p>
<embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=8135690990081075324&hl=es" flashvars=""> </embed>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/13/sobre-tdd#comentarios
</comments>
</item>
<item>
<title>Zentest y Autotest</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/10/zentest-y-autotest</link>
<pubDate>2007-06-10T20:11:19+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Proceso</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Testing</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Herramientas</category>
<content:encoded><![CDATA[<p>Sigo dándole vueltas al TDD. Probando y cacharreando con herramientas que me permitan incorporar de manera más natural esta sana rutina. </p>
<p>Ahora me toca con ZenTest y Autotest, como he leido en este antiguo <a href="http://nubyonrails.com/articles/2006/04/19/autotest-rails" title="http://nubyonrails.com/articles/2006/04/19/autotest-rails" id=link_0>post de Geoffrey Grosenbach</a>.</p>
<p>La idea es que el proceso de testing se acelera, si al menos es por dejar de mirar al navegador, ya estamos ganando algo. :-)</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/10/zentest-y-autotest#comentarios
</comments>
</item>
<item>
<title>¿De verdad crees en las planificaciones?</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/09/ade-verdad-crees-las-planificaciones-</link>
<pubDate>2007-06-09T16:53:15+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Empezando</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Proceso</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Tutoriales</category>
<content:encoded><![CDATA[<p>Un proyecto que empieza bajo unos requerimientos y alcance suele evolucionar: las cabezas piensan, las necesidades cambian y el mercado exige agilidad y adaptación. El desarrollo en cascada está bien... si eres vidente. Sino, más te vale o ser un férreo controlador de proyectos o tener capacidad de adaptación a requerimientos cambiantes.</p>
<p>Si no tienes videntes en tu equipo, échale un vistazo a este video de 28 minutos en el que <a href="http://www.railsenvy.com/2007/3/22/ruby-on-rails-video-presentation" title="http://www.railsenvy.com/2007/3/22/ruby-on-rails-video-presentation" id=link_0>Gregg Pollack te dejará claro</a>  porqué Rails es ideal para proyectos web.</p>
<embed src="http://vid.adbrite.com/video/abplayer.swf" flashVars="vid=35028" quality="best" bgcolor="#ffffff" width="468" height="400" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
<p>Fuente <a href="http://www.railsenvy.com/" title="http://www.railsenvy.com/" id=link_1>Rails Envy</a>
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/09/ade-verdad-crees-las-planificaciones-#comentarios
</comments>
</item>
<item>
<title>Tutorial de caching en Rails</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/09/tutorial-caching-rails</link>
<pubDate>2007-06-09T16:43:56+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Tutoriales</category>
<content:encoded><![CDATA[<p>Este blog me sirve como soporte y anotaciones al desarrollo de un miniproyecto personal en Rails. Cero pretensiones.</p>
<p>De momento, son sólo unas líneas de código en mi máquina, pero cuando salga al éter y se haga famosa, habra un par de cosas que agradeceré: el haber hecho tests y saber cosas del arte del cacheo.</p>
<p>Este es un tutorial imprescindible sobre cacheo en Rails: <a href="http://www.railsenvy.com/2007/2/28/rails-caching-tutorial" title="http://www.railsenvy.com/2007/2/28/rails-caching-tutorial" id=link_0>Ruby On Rails Caching Tutorial</a>.
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/09/tutorial-caching-rails#comentarios
</comments>
</item>
<item>
<title>Hi, I'm Java. Hi, I'm Rails</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/09/hi-i-m-java-hi-i-m-rails</link>
<pubDate>2007-06-09T16:37:55+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Humor</category>
<content:encoded><![CDATA[<p>La campaña de publicidad de <a href="http://www.apple.com/getamac/" title="http://www.apple.com/getamac/" id=link_1>Mac vs PC</a>  ha creado escuela. Aquí un ejemplo aplicado a Rails vs. Java.</p>
<object width="425" height="350">
<param name="movie" value="http://www.youtube.com/v/PQbuyKUaKFo"></param>
<param name="wmode" value="transparent"></param>
<embed src="http://www.youtube.com/v/PQbuyKUaKFo" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed>
</object>
<p>Visto en <a href="http://ambermac.typepad.com/ambermac/2007/05/ruby_on_rails_v.html" title="http://ambermac.typepad.com/ambermac/2007/05/ruby_on_rails_v.html" id=link_0>Amber Mac</a>.
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/09/hi-i-m-java-hi-i-m-rails#comentarios
</comments>
</item>
<item>
<title>Microformatos con Rails</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/09/microformatos-con-rails</link>
<pubDate>2007-06-09T12:47:46+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Herramientas</category>
<content:encoded><![CDATA[<p>"Parsear". Bonita palabra. Úsala con soltura y serás aceptado en la comunidad de desarrolladores web. :-)</p>
<p><a href="http://mofo.rubyforge.org/" title="http://mofo.rubyforge.org/" id=link_8><img src='http://www.lacoctelera.com/myfiles/dummyonrails/mofo-logo.png' id='img_0' height='95' width='384' align='middle'/></a> </p>
<p>Si le pegas al asunto de los <a href="http://www.microformats.org/" title="http://www.microformats.org/" id=link_0>microformatos</a> , seguro que te vendrá bien <a href="http://mofo.rubyforge.org/" title="http://mofo.rubyforge.org/" id=link_3>mofo</a>, un plugin para Rails de "parseo" de microformatos basada en <a href="http://code.whytheluckystiff.net/hpricot/" title="http://code.whytheluckystiff.net/hpricot/" id=link_1>Hpricot</a> , el parseador de HTML desarrollado en Ruby por ese enigmático personaje: <a href="http://whytheluckystiff.net/" title="http://whytheluckystiff.net/" id=link_2>Why The Lucky Stiff</a>.</p>
<p><strong>Más sobre mofo y microformatos</strong> </p>
<ul>
<li><a href="http://www.inwebwetrust.net/inwebwetrust/post/2007/02/23/microformatos-rails-y-coctelera" title="http://www.inwebwetrust.net/inwebwetrust/post/2007/02/23/microformatos-rails-y-coctelera" id=link_7>microformatos Rails y La Coctelera</a> (Fernando Blat).</li>
</li>
<p><a href="http://errtheblog.com/post/37" title="http://errtheblog.com/post/37" id=link_4>Me and uformats</a></li>
<li><a href="http://snippets.dzone.com/posts/show/3750" title="http://snippets.dzone.com/posts/show/3750" id=link_5>Mofo - Parse Microformats with Ruby (Snippet)</a></li>
<li><a href="http://jystewart.net/process/2007/02/intercepting-microformats-in-rails-input/" title="http://jystewart.net/process/2007/02/intercepting-microformats-in-rails-input/" id=link_6>Intercepting microformats in Rails</a></li>
</ul>
</p>]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/09/microformatos-con-rails#comentarios
</comments>
</item>
<item>
<title>PASS, FAIL, ERROR. Testing Rails en color</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/09/pass-fail-error-testing-rails-color</link>
<pubDate>2007-06-09T12:04:39+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Proceso</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Testing</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Herramientas</category>
<content:encoded><![CDATA[<p>Va de herramientas.</p>
<p>Acabo de descubrir <a href="http://monkeytest.rubyforge.org/" title="http://monkeytest.rubyforge.org/" id=link_0>Monkey Test</a>. </p>
<p>Es una gema que puedes instalar en tu máquina y sirve para mostrar el output de tus baterías de tests de forma más ordenada y en color (el clásico rojo/verde).</p>
<p>Para instalar la gema de Monkey Test, si estás en Mac OS X o en Linux, desde tu consola debes teclear: <em>sudo gem install monkeytest</em>. Selecciona el número de tipo de instalación y ya lo tienes.</p>
<p>Si ya has escrito tus primeros tests puedes probarla. Para ejecutarla, desde el directorio raíz de tu aplicación y teclea <em>monkeytest</em>. Obtendrás una resultado similar a esta captura: una tabla y el resultado de cada test (PASS, FAIL, ERROR) en color.</p>
<p><img src='http://www.lacoctelera.com/myfiles/dummyonrails/monkey_test.png' id='img_0' height='510' width='546' align='middle'/></p>
<p>Más visual y atractivo. ¿No?</p>
<p><a href="http://monkeytest.rubyforge.org/" title="http://monkeytest.rubyforge.org/" id=link_1>Monkey Test</a>
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/09/pass-fail-error-testing-rails-color#comentarios
</comments>
</item>
<item>
<title>Rails 2.0. Convenciones y cambios</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/09/rails-2-0-convenciones-y-cambios</link>
<pubDate>2007-06-09T11:40:40+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Problemas típicos</category>
<content:encoded><![CDATA[<p><strong>Convenciones</strong></p>
<p>Tengo una teoría: todo profesional del código -sea frontend, backend-, con la suficiente dosis de presión, ñapeará su código, independientemente del punto de partida rompiendo las convenciones.</p>
<p>De <a href="http://www.rubyonrails.org/" title="http://www.rubyonrails.org/" id=link_0>Rails</a>  me resulta fascinante la idea de que, en un framework con cierta complejidad, se hayan creado convenciones coherentes. Si ya hay problemas, desacuerdos y cierto caos cuando estás creando una plantilla sencilla de HTML o una CSS, imagínate la tendencia al caos que puede tener desarrollar un framework por "muy bello" que pueda resultar <a href="http://www.ruby-lang.org/" title="http://www.ruby-lang.org/" id=link_1>Ruby</a> .</p>
<p>De hecho... así son las cosas: tienes un <em>framework</em> limpito y ordenado como punto de partida sobre el que vas desarrollando, y poco a poco te das cuenta de que pierdes el criterio a la hora de nombrar métodos, componentes, etc.</p>
<p>Ese es el poder de las convenciones: tener las cosas claras y empezar en pequeñito, o sino, échale un vistazo a los <a href="http://www.microformats.org/" title="http://www.microformats.org/" id=link_2>microformatos</a>. (Si te suenan pero no sabes lo que son lee aquí: <a href="http://www.grancomo.com/2006/10/12/microformatos-la-web-semantica-para-torpes/" title="http://www.grancomo.com/2006/10/12/microformatos-la-web-semantica-para-torpes/" id=link_3>Microformatos. La Web Semántica para Torpes</a> )</p>
<p><strong>Cambios en Rails 2.0</strong></p>
<p>Nada dura para siempre, y la versión de Rails 2.0 va a eliminar antiguas maneras de trabajar para crear convenciones más coherentes con lo desarrollado hasta ahora.</p>
<p>Así, trabajando en la consola van apareciendo los famosos "DEPRECATION WARNING", o avisos de código que no será soportado en el futuro como es el caso de la etiqueta del helper end_form_tag: <em>DEPRECATION WARNING: end_form_tag is deprecated and will be removed from Rails 2.0  See http://www.rubyonrails.org/deprecation for details.</em></p>
<p>No es el único cambio. Hazles caso y échale un vistazo a <a href="http://www.rubyonrails.org/deprecation" title="http://www.rubyonrails.org/deprecation" id=link_4>Rails 2.0 Deprecation</a>.
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/09/rails-2-0-convenciones-y-cambios#comentarios
</comments>
</item>
<item>
<title>No puedo ver mis bases de datos en MySQL</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/09/mostrar-tablas-mysql</link>
<pubDate>2007-06-09T09:36:09+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Empezando</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">MySQL</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Problemas típicos</category>
<content:encoded><![CDATA[<p>Uno de los problemas típicos cuando se ejecuta MySQL desde la consola es la imposibilidad de ver en el entorno local las bases de datos con las que queremos trabajar. Si ejecutamos el comando:</p>
<p><em>maquina:~ maquina$ mysql</em></p>
<p>Esto es lo que vemos:</p>
<pre> mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema |  | test |  +--------------------+ 2 rows in set (0.00 sec) </pre>
<p>¿Dónde están nuestras bases de datos? ¿Porqué no aparecen? La respuesta es que posiblemente hayas accedido como un usuario anónimo y este perfil tiene el acceso limitado.</p>
<p>Compruébalo tecleando: </p>
<pre> mysql> SELECT user(), current_user(); +---------------------+----------------+ | user()              | current_user() | +---------------------+----------------+ | yo@localhost | @localhost     |  +---------------------+----------------+ 1 row in set (0.26 sec)</pre>
<p>Sal de MySQL y vuelve a entrar poniendo el parámetro <em>-uroot</em></p>
<p><em>maquina:~ maquina$ mysql -uroot</em></p>
<p>Ahora el comando <em>mysql> show databases;</em> debería mostrarte las bases de datos que estabas buscando. Vaya susto, ¿eh?
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/09/mostrar-tablas-mysql#comentarios
</comments>
</item>
<item>
<title>Qué es scaffold en Ruby On Rails</title>
<link>http://www.lacoctelera.com/dummyonrails/post/2007/06/08/que-es-scaffold-ruby-on-rails</link>
<pubDate>2007-06-08T19:22:36+00:00</pubDate>
<category domain="http://www.lacoctelera.com/dummyonrails">Conceptos</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Vistas</category>
<category domain="http://www.lacoctelera.com/dummyonrails">Proceso</category>
<content:encoded><![CDATA[<p>Scaffold significa andamio en inglés. Ésta es una de las características que más enganchan en Rails ya que permite tener las funcionalidades básicas de administración de datos de un modelo en un controlador. Estas funcionalidades son las ya mencionadas, CRUD (Create, Retrieve, Update, Delete), típicas de cualquier sistema transaccional.</p>
<p>A éste método, se le denomina "scaffolding" y sirve para implantar de manera inmediata un entorno de administración temporal sobre el que trabajar. El scaffold o andamio generalmente es removido de la aplicación y sustituido por métodos propios en el controlador.</p>
<p><strong>Tipos de scaffolding</strong></p>
<p>Con Rails se pueden crear dos tipos de andamiajes:</p>
<p><strong>Dinámico:</strong> se generan en la memoria de la máquina y no permiten la "customización" de la apariencia. Toman directamente los datos de la tabla y los presentana través de un interfaz básico.</p>
<p>Se crea introduciendo el siguiente código en el controlador.</p>
<p><strong>Código:</strong> <em>scaffold :nombre_modelo</em></p>
<p><strong>Estáticos:</strong> mediante este "scaffolding" se generan todas las vistas necesarias para la administración del sistema. Es decir, se crean los archivos rhtml necesarios para la presentación de las vistas en la carpeta <em>app>views</em></p>
<p><strong>Comando:</strong> <em>ruby/script generate scaffold product admin</em> </p>
<p>Mediante este comando se generarán los directorios y archivos necesarios correspondientes a los métodos de CRUD alrededor del modelo <em>Product</em> en el controlador <em>admin</em>.</p>
<p>Uno de los asuntos que "preocupan" del <em>scaffolding</em> es la apariencia,por lo que se han desarrollado versiones más sofistcadas que hagan interfaces más <a href="http://weblog.rubyonrails.com/2006/8/16/streamlined-taking-admins-beyond-scaffolding" title="http://weblog.rubyonrails.com/2006/8/16/streamlined-taking-admins-beyond-scaffolding" id=link_1>atractivos y avanzados</a>, incluso <a href="http://www.height1percent.com/articles/2006/03/04/ajaxscaffold-2-2-0-released-with-graceful-js-degredation" title="http://www.height1percent.com/articles/2006/03/04/ajaxscaffold-2-2-0-released-with-graceful-js-degredation" id=link_2>con AJAX de serie</a> !</p>
<p>Más sobre el "andamiaje" de aplicaciones:</p>
<p><a href="http://wiki.rubyonrails.org/rails/pages/TutorialScaffolding" title="http://wiki.rubyonrails.org/rails/pages/TutorialScaffolding" id=link_0>Tutorial sobre Scaffolding</a>
</p>
]]></content:encoded>
<comments>
http://www.lacoctelera.com/dummyonrails/post/2007/06/08/que-es-scaffold-ruby-on-rails#comentarios
</comments>
</item>
 
</channel>
</rss>
