imagesEste el estándar de facto para aprender Ruby on Rails. . Me bajé una versión vieja y me pareció bastante copado, así que le pedí a mi esposa la última versión para nuestro primer aniversario.

La idea es hacer un clon de Twitter usando Ruby y Rails. La versión final tiene un sistema de autenticación casero que permite subir fotos, seguir usuarios y tiene un feed con la info de tus usuarios.

Hartl hace bastante énfasis en que todo lo que enseña es “industrial strenght”, así que funciona y está en la web: https://morning-ridge-1269.herokuapp.com/ (Ahora no se pueden subir imágenes para evitar que me cobren en AWS…).

Es un tutorial (paso a paso) muy disfrutable, así que en principio no es complicado (lo único que hay que hacer es seguir los pasos). Habiendo aclarado esto, recomendaría aprender Ruby antes de esto, e idealmente algo de Rails (yo aprendí con el curso de Lynda). Esta base va a hacer mucho más llevaderos los videos (algunos llegan hasta 3 horas).

Creo que la mejora forma de usar los videos es mirar una hora o dos y luego lanzarse a programar lo que viste. Si no te acordás de algo volvés a mirar el video o el pdf del libro.

1) Configuración del entorno.

Como siempre que uno se mete en algo nuevo es el setup del environment. La versión 2 que empecé es vieja, y hace todo local en una Mac. Así que instalé todo y empecé. Entonces todo se fue cayendo a pedazos lentamente. Eso fue lo que me decidió a comprarme la versión actualizada.

La versión 3 usa una Cloud IDE (cloud9), que viene preconfigurada (solo hay que agregar unos pequeños extras opcionales). Me hice una cuenta gratis, pero no le da la memoria (512 MB) para correr los tests automáticos. Así que me compré la básica que sale 9 dólares. Ahora la uso para otras cosas y me parece muy útil (aunque es un poquito lenta).

2) Cosas nuevas:

Estoy escribiendo esto un dos meses después de haberlo hecho así que mi memoria puede fallar un poco. Lo más complicado es aprender el Framework y que va en donde. Por ejemplo, cuando creamos el sistema de autenticación, hay que usar un montón de helpers que van todos en archivos distintos, no termino de entender que va en donde no que está en scope cuando.

Además están los helpers de los tests, que complican todo, porque siguen unas reglas diferentes… Toda la parte de autenticación me resultó un poco confusa. Espero poder volver a escribir la aplicación de 0 y que quede más claro cuando vuelva a tener tiempo para Ruby on Rails.

3) Sobre aprender un craft.

Está muy copado ver a un tipo experimentado trabajar (Hartl es programador web pero tiene un Phd en Física de Harvard así que es bastante listo). Ya escribí de esto en otros lados, me parece una forma mucho más efectiva de aprender que el formato “lecture”.

Esto se aplica a la mayoría de los cursos online que he hecho, debería escribir algo sobre esto.

4) Conclusión

Creo que esto es un recurso imprescindible para alguien que le interesa el desarrollo Web  (es excelente incluso si tenés la duda de si te interesa y estás dispuesto a probar).

 

Anuncios