Ruby on rails

Benchmark de Aplicaciones Rails 2.3.8 Vs Rails 3.0 rc2 – Erb y Haml

Por carakan

Recientemente trabajando con la actualización de algunas aplicaciones Ruby on Rails desde la versión 2.3.x a rails 3.0 rc2, he tenido la curiosidad de ver que tanto rendimiento existe en las mismas, como siempre estos “Benchmarks” son mas referenciales, les paso los datos del ambiente de test:

  • Core2duo 2.0 MHz
  • Memoria 3Gb
  • Ubuntu 10.4
  • Servidor Webrick (default en instalaciones Ruby)

La aplicación es simple es el listado de 150 registros dentro de una base de datos Mysql, cabe recalcar que para rails 3 estoy utilizando el adaptador mysql2, además al mostrar estos 150 registros añadí funciones helper para probar la velocidad de procesamiento.

Resultados:

image

Resultados completos aqui.

Sorprende el resultado de rails 2.3.8 + Haml, publicare mas adelante el codigo fuente.

CoffeeScript, dulce sintaxis para JavaScript

Por Boris Barroso

Seguro de que la sintaxis de JavaScript a muchos les parece arida y muchas veces un poco arcaica, esta fue influenciada por lenguajes como Java o C++ en su época, pero actualmente hay una solución que hara que el escribir JavaScript sea mucho mas agradable y simple CoffeeScript.

Leer el resto del articulo »

Lanzado la versión de Haml y Sass 3

Por carakan

Hoy tenemos el placer de informar el lanzamiento de la versión 3 de estos componentes de desarrollo mas elegante, dentro de las vistas estamos hablando de haml que para esta versión tiene como gran mejora la de poder hacer uso de multilineas dentro de la sintaxis por ejemplo:

antes:

= link_to_remote "Add to cart", :url => { :action => "add", :id => product.id }, :update => { :success => "cart", :failure => "error" } 

ahora:

= link_to_remote "Add to cart", 
       :url => { :action => "add", :id => product.id }, 
       :update => { :success => "cart", :failure => "error" } 
 

Además otras pequeñas mejoras que se explican detalladamente aquí.

Como funciona Haml.

Como usar devise con rails 3

Por Boris Barroso

Bueno como les había mostrado en mi anterior post les mostraría en un futuro post como usar devise, devise es una gema para realizar la auntenticación que tiene similitudes con clearance, como dicen es un full stack authentication system, esto quiere decir que no solo permite la autenticación de los usuarios sino que tambien se encarga de permitir cambiar la contrseña en caso de que se hayan olvidado y además de realizar la activación de la cuenta mediante email. Disponer de toda esta funcionalidad sin tener que programarla y testearla es algo muy positivo ya que casí la mayoría de los proyectos necesitan algún tipo de autenticación, activación y recuperación de cuentas. Comencemos creando un proyecto con rails 3 beta.

Leer el resto del articulo »

Tips para rails 3

Por Boris Barroso

Recientemente salio el artículo en este y muchos otros blogs acerca de rails 3 beta, es realmente emocionante poder usar esta versión de este Framework pero un gran problema es no poder usar las gemas que estamos acostumbrados, por ejemplo para hacer tests yo uso rspec, támbien he estado usando mongo_mapper que por suerte funciona con rails 3 aunque no he solucionado el problema de generar scaffolds, bueno aqui les doy algunos tips para que puedan usar rails3 y tal ves no extrañar algunas gemas. Antes de que intenten este tutor asegurense de que actualizar sus gemas.

Leer el resto del articulo »

motoEx, Importación simple de datos desde Excel

Por Boris Barroso

Recientemente termine un proyecto llamando motoEx, esta herramienta permite la importación de datos desde Excel u Openoffice de forma muy simple.

Si desean saber mas sobre el proyecto pueden visitar http://boriscy.github.com/motoEx/, y si desean descargarlo y usarlo visiten http://github.com/boriscy/motoEx es un proyecto de Software Libre

Rails 3.0 (beta) Lanzado oficialmente

Por carakan

Después de un largo tiempo de espera, un año y mes desde el anuncio oficial, se ha lanzado la beta publica de la versión de Rails 3, pueden ver el anuncio oficial aqui.

Comentarles que esta versión del framework rails, corre bajo ruby 1.8.7 y preferentemente 1.9.X, ya que la velocidad de ejecución de código es mas alta que en las versiones de ruby 1.8.x.

Para probar las nuevas características de rails 3.0 solo escriban en la consola:

gem install tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
gem install rails --pre

Informacion detallada de los cambios

Video tutorial para realizar la migración de una aplicación existente a rails 3

Ahora no hay excusas de aprender rails :D

Multiples versiones de Ruby “rvm”

Por Boris Barroso

No se ustedes pero manejar multiples versiones de Ruby se vuelve una confusión y algo complejo cuando tienes varias versiones, afortunadamente existe rvm, una excelente gema que permite mantener multiples versiones de Ruby de forma sencilla.

Leer el resto del articulo »

Curso de Ruby on Rails en la UPEA el Alto

Por Boris Barroso

Saludos a todos quisiera invitarlos al primer curso de Ruby on Rails que se realizara en la Universidad Pública de El Alto los días 9, 16, 23 y 30 de Enero de 2010 de 9:00 a 13:00 los días sábados. Más detalles en el afiche

Curso de Ruby on Rails

jQuery transform Rails date datetime

Por Boris Barroso

Si estan usando el datepicker de jquery-ui se puede hacer que los campos date_select o datetime_select de rails puedan ser reemplazados con el siguiente javascript que hice. En caso de que esten usando formtastic pueden usar este snipet http://snipt.net/boriscy/formtastic-datetime/,

  1. lo guardan como lib/custom_form_builder.rb
  2. En el config/environment.rb al final escriben include ‘custom_form_builder’
  3. Aumenten al final del archivo config/initializers/formtastic.rb Formtastic::SemanticFormHelper.builder = MyCustomFormBuilder
$(document).ready(function() {
    // Define the dateFormat for the datepicker
    $.datepicker._defaults.dateFormat = 'dd M yy';

    /**
     * Sets the date for each select with the date selected with datepicker
     */
    $('input.ui-date-text').live("change", function() {
        var sels = $(this).siblings("select:lt(3)");
        var d = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $(this).val() );

        $(sels[0]).val(d.getFullYear());
        $(sels[1]).val(d.getMonth() + 1);
        $(sels[2]).val(d.getDate());
    });

    /**
     * Replaces the date or datetime field with jquey-ui datepicker
     */
    $(’.date, .datetime’).each(function(i, el) {
        var input = document.createElement(’input’);
        $(input).attr({’type’: ‘text’, ‘class’: ‘ui-date-text’});
        // Insert the input:text before the first select
        $(el).find(”select:first”).before(input);
        $(el).find(”select:lt(3)”).hide();
        // Set the input with the value of the selects
        var values = [];
        $(input).siblings(”select:lt(3)”).each(function(i, el) {
            var val = $(el).val();
            if(val != ”)
                values.push(val);
        });
        if( values.length > 1) {
            d = new Date(values[0], parseInt(values[1]) - 1, values[2]);
            $(input).val( $.datepicker.formatDate($.datepicker._defaults.dateFormat, d) );
        }

        $(input).datepicker();
    });
});

Aunque hay un problema con el Internet Explorer (solo probe con IE7), cuando uno cambia la fecha sin usar el datepicker sino escribiendola esta no es guardada correctamente, haber si lo resulven y lo testean con varios browsers.