Stanmx

Buscando la accesibilidad

Ruby en Español

Publicado en ruby-on-rails el 31/05/12 a las 12:56 am
Ruby en Español

Ruby en Español es un podcast sobre Ruby y tecnologías Web realizado por Mario Chávez en compañía de Emmanuel.

Lanzaron su episodio 1 y esta muy interesante, recomendado.

62 comentarios

Fin de semana de Rails

Publicado en ruby-on-rails el 11/01/11 a las 03:30 pm
Rails guys

El fin de semana asistí a un curso de Rails impartido por Mario Chavez. El cupo fue limitado así que fuimos pocos los afortunados asistentes.

El objetivo del curso fue realizar una aplicación en Rails comenzando desde la capa de las pruebas hasta la llegar a las vistas. En los 3 días que duro el curso tuve oportunidad de aprender nuevas cosas, como lo es el comportamiento de rspec y como ir escalando el desarrollo de una aplicación cuando comienzas por la capa de pruebas.

Por otro lado lo visto me ha dado un panorama distinto a la hora de desarrollar una aplicación Rails.

Aunque el curso duro 3 días, siento que falto un día adicional para poder ver la aplicación completa corriendo en Heroku, como era el plan original.

Espero podamos organizarnos, para extender un día mas el curso y poder finalizar la parte de implementación de development a production.

6 comentarios

Tablas zebra en rails3

Publicado en ruby-on-rails el 02/09/10 a las 09:07 am

Dentro de los mockups de una app en la que estoy trabajando, utilizo tablas con estilo zebra, el detalle es que en rails3 no sabia si utilizar javascript o si habia otra forma de resolverlo.

Asi llegue a un metodo llamado cycle el cual me permite hacer este trabajo.

Ejemplo:

<table>
   <!-- aqui va thead -->
   <tbody>
      <% @hotels.each do |hotel| %>
      <tr class="<%= cycle("first", "second") %>">
	     <td><%= hotel.name %></td>
         <td><%= hotel.location %></td>
      </tr>
      <% end %>
   </tbody>
</table>

Y dentro de nuestro CSS.

.second {
   background-color: #eee;
}

y listo!

6 comentarios

Espacios entre parrafos en Rails3

Publicado en ruby-on-rails el 02/09/10 a las 09:02 am

Tengo unos párrafos que capturo a través de un textarea en Rails3, el detalle esta, que al mostrarlos en la vista show, aparecen estos sin los espacios que hice dentro del textarea.

En Rails2 estaba actualizando anteriormente:

<%=h @hotel.description.gsub(/\n/, '<br />') %>

Lo que me inserta un <br /> en los espacios dentro de la descripción al momento de mostrarlo.

Sin embargo este método ya no funciona en Rails3, por lo cual googleando un poco encontré la siguiente solución:

<%= h(@hotel.description).gsub(/\n/, '<br />') %>

No sé si es lo más óptimo, pero por el momento me resuelve.

El hecho que no funcionara más la primera línea, tiene que ver con la protección XSS que incluye Rails3.

4 comentarios

Renombrando columnas en Rails

Publicado en ruby-on-rails el 02/09/10 a las 08:42 am

Me encuentro trabajando en un proyecto con Rails 3 y cometí la tontería de no respetar una de las convenciones, al escribir id_state a una de las columnas de mi tabla de base de datos.

La pregunta era ¿Como la renombro? sin afectar la info que ya tengo capturada.

La solución fue la siguiente:

1.- creamos una migración nueva:

$ rails g migration rename_column_id_state

2.- luego en nuestro archivo generado en db/migrate/ dentro de def self.up escribimos:

rename_column :cities, :id_state, :state_id

La sintaxis es la siguiente: rename_column (nombre_de_tabla, nombre_de_columna, nuevo_nombre_de_columna)

3.- Corremos la migración:

$ rake db:migrate

Y listo, tenemos nuestra columna renombrada. Sería bueno solo revisar no estar utilizando en ninguna vista el nombre anterior, para no crear conflictos.

Lo más curioso al final fue que gracias a este cambio, logre hacer funcionar otra línea de convención que no resolvía.

2 comentarios

Rails 3.0 esta listo!

Publicado en ruby-on-rails el 29/08/10 a las 09:30 pm
Ruby on Rails

La versión final de Rails 3.0 ha visto la luz el día de hoy, con interesantes cambios.

Si no han utilizado Ruby on Rails, pero están interesados es un buen momento para iniciar, existen interesantes fuentes de información para esto, entre mis favoritas se encuentran:

Entre las fuentes oficiales se encuentran:

Si te gusta leer desde papel, te recomiendo los siguientes libros:

Ruby on Rails es un Framework de desarrollo increíble.

2 comentarios

Como subir una app de Rails en Site5

Publicado en ruby-on-rails site5 el 20/08/10 a las 09:17 am

Meses atrás, mientras escribía mis primeras líneas en Ruby on Rails salto la duda sobre en donde hospedaría mis futuros proyectos, investigando posteriormente llegue a la conclusión de probar el hosting de Site5.

Lo siguiente en resolver era como rayos iba a correr mi aplicación en el hosting una vez que estuviera terminada, por lo que me di a la tarea de investigar y comparto con ustedes la siguiente receta.

Los siguientes pasos son para correr una app de Rails 2.3.5 en Site5. (Hace unos dias corrimos una en Rails 3.0.0.beta4, pero el procedimiento es ligeramente distinto debido a la participación de Bundler)

1.- Tenemos nuestro proyecto local llamado miapp

2.- Revisamos localmente que gemas tenemos instaladas en nuestro proyecto:

   $ cd miapp
   $ rake gems

Esto nos mostrara las gemas y sus dependencias

3.- Desempaquetamos las gemas necesarias dentro del folder vendor de nuestra aplicación:

   $ rake gems:unpack:dependencies	

4.- En nuestro CPANEL de Site5 creamos una base de datos y un usuario con todos los permisos sobre ella.

5.- Modificamos la conexión de nuestro config/database.yml a MySQL:

   production:
      adapter: mysql
      encoding: utf8
      reconnect: false
      database: mibasededatos #nombre de nuestra base de datos
      pool: 5
      username: miusuario #nuestro usuario de base de datos
      password: mipassword #nuestro password de usuario
      host: localhost	

6.- En config/enviroment.rb agregamos el ambiente de producción:

   ENV['RAILS_ENV'] = "production"
   RAILS_ENV = ENV['RAILS_ENV']

7.- Nos conectamos via SSH a nuestro hosting en Site5:

   $ ssh user@domain.com

En este paso es el usuario del hosting arroba el dominio, y el password, será el mismo que el del hosting.

8.- Una vez que accesamos al hosting via SSH, creamos en la raíz un folder llamado apps, que es donde estará nuestra aplicación e ingresamos a el.

    $ sudo mkdir apps
    $ cd apps

9.- Dentro de apps subimos completo nuestro proyecto local miapp via FTP.

10.- En la terminal vía SSH removemos el folder public_html y redireccionamos el public de nuestro miapp virtualmente:

   $ rm public_html
   $ ls
   $ ln -s /home/username/apps/miapp/public public_html
   $ ls -l

Donde username es el usuario que utilizamos en nuestro acceso a SSH.

11.- ingresamos a miapp, al folder public para remover el index.html (paso opcional, se puede hacer localmente o vía FTP)

   $ cd apps/miapp
   $ ls
   $ cd public
   $ ls
   $ rm index.html
   $ cd ..

12.- nos posicionamos dentro del folder apps donde se encuentra miapp y asignamos permisos:

   $ chmod -R 755 miapp/*

13.- Creamos un .htaccess para nuestra aplicación dentro de public (en mi caso utilice el editor nano):

   $ nano miapp/public/.htaccess

Dentro del nuevo archivo escribiremos las siguientes líneas y posteriormente lo salvamos:

   RailsEnv production
   PassengerEnabled on
   PassengerAppRoot /home/username/apps/miapp

Lo que hicimos en este fue declarar nuevamente el ambiente de production, habilitar passenger y fijar la ruta de la app, donde username es el usuario que mencione en el paso 10.

14.- En la terminal realizamos dentro de nuestra app un rake para el esquema de la base de datos.

   $ cd app
   $ rake db:schema:load

15.- hacemos refresh en nuestro browser para ver nuestra app funcionando online.

16.- Cada que se realice un cambio en el código, es necesario reiniciar passenger, para esta tarea con la terminal hacemos lo siguiente:

   $ cd apps/miapp
   $ touch tmp/restart.txt

si hacemos un $ cd tmp y un ls para mostrar los archivos, debe aparecernos un restart.txt dentro. Este paso es necesario cada vez que se modifique algo dentro de nuestra aplicación.

No es una receta definitiva, existen algunas variantes en los pasos, sin embargo lo comparto porque es la forma como me ha funcionado.

3 comentarios

Post it de media noche

Publicado en ruby-on-rails radiantcms el 09/04/10 a las 12:34 am

Instalación

Instalo gema de Radiant CMS como super administrador:

 >> sudo gem install radiant	

Me solicita mi password de administrador, la ingreso y unos segundos despues queda instalada la gema.

Crear una aplicación

 >> radiant myapp --database sqlite3
 >> cd myapp
 >> rake development db:bootstrap

Me hara una pregunta a la cual doy yes con una simple: y unos instantes despues me solicita el nombre de administrador que le quiero dar a mi aplicación, posteriormente el username y password.

Por ultimo me pide que seleccione un template para la base de datos, para la cual selecciono 1 de Empty.

Una vez concluidos estos pasos, pongo a correr mi servidor.

 >> ruby script/server

Una vez corriendo ingreso a http://localhost:3000/ y listo, tengo Radiant CMS corriendo, listo para comenzarlo a manipular.

1 comentario

Productivo curso de Rails

Publicado en ruby-on-rails el 22/03/10 a las 11:47 pm
Curso de Ruby on Rails en Tijuana

Antes de comenzar este post, quiero agradecer infinitamente a todos y cada uno de los participantes del Curso de Ruby on Rails en Tijuana, GRACIAS por atender la convocatoria.

Pues bien, después de platicas y dos semanas de movilización, el sábado se impartió el curso de Ruby on Rails en las instalaciones de CESUN Campus Morelos en Tijuana.

La respuesta a la convocatoria fue mejor de lo esperado al tener a 18 participantes. Fue emocionante encontrarme con caras conocidas y nuevas interesadas en lo mismo que yo, Ruby on Rails.

Mario Chavez hizo un muy buen trabajo al iniciar el curso platicando brevemente los Secret Origins de Ruby on Rails, su filosofía, después continuo con una introducción al lenguaje Ruby y varios ejemplos del mismo en consola.

Cuando leí sobre Ruby on Rails a finales de 2006, recuerdo que se me hizo el lenguaje del terror al saber que tendría que utilizar la consola, ya que me hizo revivir mis épocas con MS-DOS en preparatoria, así que lo deje por la paz.

4 años después que retomo el tema, puedo decir que utilizar Ruby on Rails desde la consola es una experiencia grata y sobre todo muy productiva.

Pero regresando a mi review sobre el curso de Ruby on Rails en Tijuana, después de teclear varios ejemplos de Ruby siguió el paso a crear algo con Ruby on Rails. Se sometió a votación y se comenzó a trabajar en un proyecto de Facturación.

Creí que en ese momento vendría el chiste de Mario de decir, En consola tecleen:

 >> rails myapp
 >> cd myapp
 >> ruby script/generate scaffold user name:string password:string
 >> rake db:migrate 
 >> ruby script/server

Y abran su browser en: http://localhost:3000/users/ y listo, ahí tienen su primera aplicación (Que bueno que no te fuiste por este camino Mario, ja!)

Pero si, el comienzo fue algo parecido. Para detalles del ejemplo de Facturación en Ruby on Rails les recomiendo visitar el blog de Octavio, donde da seguimiento al ejemplo.

Fue en esta parte del curso donde falto mas tiempo, para poder concluir el ejemplo (aunque ya estoy presionando a algunos de los asistentes para ver si escribimos un minitutorial de los pasos a seguir para desarrollarlo).

Como lo dice el titulo de este post, fue un Productivo Curso de Ruby on Rails y debo confesar que hace falta otra edición mas. Tal vez una reunión informal en un Starbucks un fin de semana, donde llevemos las dudas y saquemos conclusiones, no lo se, pero podría salir algo bueno de todo esto, como una Comunidad de Ruby on Rails en Tijuana.

Por lo pronto en lo personal me ha servido mucho este curso, ya que me ha ayudado a comprender un poco mejor el libro de Agile Web Development with Rails, pues debo confesar que me obsesiona un poco el tratar de entender cada línea de código que se ejecuta, sin embargo ya me lo decía un buen amigo hace rato:

“Construye cosas que funcionen lo mas rápido posible, olvídate de los detalles, una vez que funcione, entonces si, analiza como es que funciona y pon atención a los detalles.”

Por ultimo no olvidemos que por ahí salio un ganon de unos video tutoriales de Rails, en cuanto haya noticias las estaré publicando por acá.

3 comentarios

Curso de Ruby on Rails en Tijuana

Publicado en ruby-on-rails el 01/03/10 a las 06:08 pm
Ruby on Rails

Actualización [10/03/10] El curso se realizará el día Sábado 20 de Marzo en las instalaciones de CESUN Universidad, Campus Morelos, de 9:00AM a 6:00PM.

Los interesados favor de registrarse en los comentarios del blog, recuerden que los 250 pesos son para comida y bebida de los mismos asistentes, por lo que es importante cubrirlos a la brevedad, para ir cubriendo este punto con anticipación.

La noche de hoy estare enviando a los ya registrados la información del procedimiento de pago. Los que tengan pensado llevar equipos de escritorio y necesiten extensiones avisen para ir viendo como resolver eso.

Recuerden que es importante tener previamente instalado Ruby on Rails en sus equipos, por los que tienen problemas no duden en hacerlo saber para apoyarlo a resolverlo antes del dia del curso.

A traves de el blog de Mario me entero que habra para uno de los asistentes, un regalo especial.


Esta es una convocatoria para los interesados (como un servidor) en un curso de Ruby on Rails en Tijuana.

El curso será un día sábado, de 9:00am a 5:00pm (tentativamente) y tendrá un costo de 250 pesos. Dinero que se utilizara para comida y bebidas de los asistentes al mismo.

El único requisito técnico será traer su equipo con Ruby on Rails instalado.

El curso será impartido por Mario Chávez, un experimentado programador, organizador de los SHDH y participante activo de la comunidad .Net en Tijuana.

Si te interesa o sabes de alguien que esté interesado, favor de anotarse en los comentarios del blog, para darle seguimiento con la instalación de Ruby on Rails, temario y lugar del evento.

Actualización [08/03/10] Aun no es oficial, pero todo parece indicar que el curso sera dado el dia Sabado 20 de Marzo, en las instalaciones del CESUN, Campus Morelos. En cuanto este esto confirmado se hara llegar un correo a los interesados con la informacion para el pago, horarios y alguna otra duda que pueda haber surgido.

Actualización [03/03/10] Mario ha publicado el temario y otros detalles importantes para los asistentes al curso.

42 comentarios

Desinstalar MySQL de Mac OS X

Publicado en ruby-on-rails el 05/12/09 a las 12:53 pm

Semanas atrás preguntaba sobre como instalar la gema de MySQL en Mac OS X para utilizarla con Ruby on Rails. En esos días hice decenas de intentos, entre ellos, instale dos versiones de MySQL en Mac OS X, la de 32bits y la de 64bits.

Buscando hacer una instalación desde cero me vi en la necesidad de desinstalar MySQL de Mac OS X, la pregunta era ¿Cómo?

En español no encontré información y en ingles encontré varias soluciones, sin embargo la más practica y que funciono correctamente es la siguiente:

Primero ingresamos a nuestra Terminal y escribimos:

cd /usr/local/

Presionamos Enter. Esto nos posicionara en el folder donde se encuentra instalado nuestro MySQL, posteriormente escribimos:

ls

Presionamos Enter para que nos muestre la lista de lo que contiene el folder. Ahí nos aparecerán dos archivos: mysql y mysql-5.1.37-osx10.5-x86_64 (u otro parecido si tienes la versión de 32bits)

Para remover estos dos archivos tenemos que escribir lo siguiente:

sudo rm mysql

Presionamos Enter, después escribimos:

sudo rm –rf mysql-5.1.37-osx10.5-x86-64

También presionamos Enter y listo. Algunos de estos pasos te pedirán el password de tu usuario, para realizarlos.

Si hacemos un ls de nuevo, veremos que ya no se encuentran los archivos, ahora nos cambiaremos de folders con:

cd /library/startupitems/

Presionamos Enter y posteriormente hacemos un ls para que nos enliste su contenido, en donde aparecerá un archivo llamado MySQLCOM. Para borrarlo escribimos en la terminal:

sudo rm –rf MySQLCOM

Te pedirá el password de tu usuario de Mac OS X, lo ingresas, presionas Enter y listo.

Por último basta entrar a nuestro System Preferences y hacer Click derecho (Ctrl + Click) en el icono de MySQL para remover MySQL de nuestro Panel.

De esta manera, habrás concluido la desinstalación de MySQL en tu Mac OS X.

Son pasos sencillos, sin embargo nunca está de más dejarlos documentados por si se ofrece en un futuro realizar la desinstalación.

3 comentarios

Como instalar la gema de MySQL

Publicado en ruby-on-rails el 21/11/09 a las 02:08 pm

Tengo una semana experimentando en el mundo Ruby on Rails y ya me di el primer banquetazo.

Instale el dmg de MySQL 5.1.41 para Mac OS X 10.5 (x86) corrí el servidor de MySQL desde mi System Preferences y posteriormente me fui a la Terminal a intentar hacer un:

sudo gem install mysql

Me lanzo error, estuve googleando un rato e intente varias opciones sin éxito. Parece que tiene que ver con los paths pero despues de varios intentos creo que ya debo tener un buen licuado.

Sugerencias, links, soluciones, todas son bienvenidas ¡Gracias, buen fin de semana!

19 comentarios