(in)visibles

Category: proyectos

Ruby no es fácil

En los últimos meses, parte de mi trabajo en lextrend ha sido enseñar y asesorar a la gente que estaba empezando a trabajar en proyectos con Ruby on Rails. Y he visto que parte de la dificultad para aprender ruby depende del entorno donde hayas trabajado antes. Por ejemplo, si has trabajado antes con python o con perl, te va a ser mucho más fácil que si has trabajado con .NET.

Además de la facilidad de haber trabajado con un lenguaje de programación similar, hay algunas habilidades que condicionan la facilidad con la que vas a aprender ruby:

Unix / Linux: Si no te sabes manejar un poco por la linea de comandos, vas a tener problemas. Aunque uses un gran IDE como RubyMine o Netbeans, hay muchas cosas que están orientadas a la línea de comandos. En cambio, cuanto mas acostumbrado estés  usarla y mas sepas de unix, serás mucho mas productivo (y te divertirás más). Creo que esta es una de las mayores dificultades que se va a encontrar alguien que venga de .net.
Poca documentación: Esta es una de las criticas que mas he escuchado. Y es cierto, aunque es algo que está cambiando poco a poco, en la mayoría de las librerías la documentación suele ser escasa o inexistente. Pero el contrapunto, está en la comunidad. La comunidad de ruby es muy activa, con mucha gente muy apasionada por lo que hace y con muchas ganas de compartir conocimiento y experiencias. Si no participas en la comunidad, te va a resultar mucho más difícil (y dudo que lo disfrutes).
Rails no es ruby: Una de las cosas que me pasó cuando empecé con rails, y que también le ha pasado a varios colegas, es que aprendí rails, pero no ruby. Como rails te da DSLs para hacer determinadas cosas (por ejemplo ActiveRecord o
las rutas), si no haces otras cosas fuera de rails tardarás mucho más en aprender ruby. Un consejo: haz alguna cosa para jugar solo en ruby. Si quieres hacer algo web, prueba sinatra

Ruby es muy potente y muy flexible:¡ Permite hacer una cosa de muchas formas distintas. Por eso es muy importante seguir unas buenas practicas y conocer determinadas convenciones. Dos libros muy recomendables en este aspecto: Ruby Best Practices y Eloquent Ruby

Resumiendo, creo que para disfrutar con ruby, es necesaria una cierta actitud hacker.

Trainido

Ahora que ya es público, por fin puedo hablar del proyecto en el que he estado trabajando estos últimos meses :):

Se trata de un entrenador personal on-line, pero real. Cuando te registras en la aplicación, y te suscribes tienes un entrenador de carne y hueso, que te hará un entrenamiento a tu medida según tus objetivos. Según tus resultados, te irá adaptando el entrenamiento. En mi caso, que tengo al lado un gimnasio municipal, muy barato pero sin entrenadores ni nada parecido me parece una gran solución.

Al principio, cuando empezamos con el proyecto, una de las cosas que mas me costaba era meterme en un mundo que no conocía de nada, (lo que se llama conocer el dominio de la aplicación), me he aprendido nombres de músculos de los que no había oido hablar en mi vida, he confundido los abductores con los adductores, y he visto como se prepara un entrenamiento.

A nivel técnico, hemos usado rails 3, devise, rspec2 y steak (cada vez me gusta mas) con mysql y redis. Me ha gustado mucho usar redis para guardar todos los parametros de un entrenamiento (series, peso, pausas, etc), aunque podria haberlo hecho con mysql, me resulta mucho mas claro y sencillo poder trabajar con hashes y listas directamente.

Copyright © 2017 (in)visibles

Theme by Anders NorenUp ↑