Mario Alberto Chávez Cárdenas

Blog personal de fotografía y desarrollo de software

desarrollo

Curso de Ruby on Rails 7.0

Curso de Ruby on Rails 7.0

Ayer publiqué en Twitter una pregunta sobre si existe interés en que realice un curso en video para desarrollar Web con Ruby on Rails. La respuesta fue mucho más alta de lo que me hubiera imaginado, motivo por el cual he decidido llevarlo a cabo.

Tweet

El Curso

El curso va a ser totalmente grabado en video, con información y links de apoyo que puedan ser útiles. Cada video va a tener una duración de entre 15 a 30 minutos máximo con la intención de que no sean cansados y que se puedan revistar para tener información de temas puntuales.

En el curso me basaré en la experiencia personal de como escribir aplicaciones con Ruby on Rails, por lo que no solamente mostraré código o como hacer alguna tarea, también recomendaré herramientas que uso de forma diaria y que me ayudan a mí y a mi equipo a tratar de hacer mejores aplicaciones.

Dado que la intención del curso es que sea lo más real posible, es importante que se base en escribir una aplicación real. Por tal motivo, la aplicación será enfocada en administrar las finanzas personales. Los puntos que se cubrirán, algunos pueden cambiar, serán los siguientes.

  • Iniciar una aplicación de Rails y configuraciones básicas de herramientas. Linters, verificaciones de seguridad y CVEs.
  • Configurar acceso de seguridad desde cero, sin la ayuda de Devise o alguna otra herramienta como esas.
  • Modelos para registrar ingresos y egresos, relaciones y búsquedas. Recomendaciones para migraciones y toma de ventaja de funcionalidad de la base de datos Postgresql.
  • Manejo de controladores, rutas y vistas. Uso de controladores de Stimulus y aprovechamiento de Turbo y Frames (Hotwire) para tener UIs más modernas. Utilización de TailwindCSS como herramienta de CSS.
  • Integración con I18n para el manejo de texto para aplicaciones multi lenguaje.
  • Envío de correos, platillas y recomendaciones.
  • Manejo de archivos vía ActiveStorage para comprobantes de gastos.
  • Implementación de Background Jobs mediante ActiveJob.
  • Recepción de correos vía ActionMailbox para enviar correos con gastos y se registren automáticamente (Aún pensando si es buena idea incluirlo).
  • Desarrollo de pruebas automáticas de unidad y de sistema.
  • Deployment a plataformas como Heroku, Render y Hatchbox para tener diferentes opciones de servicios. Manejo de errores en producción.

De manera general son los temas que el curso cubriria. Todo el desarrollo será basado en la version 7 de Rails y en la versión más reciente de todas las herramientas que se necesiten. En caso de que la versión 7.1 sea liberada durante el desarrollo del curso, se incluiría información de como realizar la migración.

La motivación

La idea del curso tiene dos intenciones, una personal y otra más general. En lo personal, tengo ya desde el 2009 (aproximadamente) trabajando con Rails en proyectos pequeños y en proyectos muy grandes. Me ha tocado ejecutar migraciones desde las versiones 2.2 hasta la más reciente. Siempre he tenido un interés en que Ruby y Ruby on Rails siga siendo utilizado por tal motivo escribo en el blog, he dado charlas y cursos.

En lo más general, tengo ya varios años escuchando que no hay programadoras y programadores de Ruby o de Rails. A través de michelada.io y hoy en Creditar.io he tenido la oportunidad de platicar con CEOs y CTOs de Estados Unidos, México y algunas partes de América Latina y siempre me dicen lo mismo, no hay. Esta idea los lleva a que sus proyectos se desarrollen en otras tecnologías porque no se quieren a arriesgar a no encontrar personal.

La realidad es que la demanda es mayor a la oferta. Hay más empleos para desarrollar en Ruby on Rails que personas que trabajen y conozcan la tecnología.

¿Cómo funcionaría?

A partir de este momento comenzaría a grabar los primeros videos, debido a mis otras actividades creo poder generar ese contenido de entre dos a tres videos por semana. El tiempo que me llevará completar el curso con los puntos que mencioné anteriormente en este momento no lo conozco, pero seguramente será algunos meses.

Debido al esfuerzo que se necesita el curso no será gratuito. Tendrá un costo de $ 75 USD. Para quienes les interese, pero no tengan como pagarlo puedo considerar que por cada 10 cursos comprados donar 1 a quien así lo necesite. Igualmente, a alguna persona le interesa donar 1 o más cursos es posible, cada patrocinador puede elegir las condiciones y/o a quién regalarle el curso. Si es una empresa la interesada en patrocinar cursos también es posible, pero sería la empresa la que decide como y a quién regalar el curso.

El último detalle que queda por confirmar es si hay interés adquirir el curso conforme se vaya generando el contenido o si espero hasta el final para ofrecerlo.

Si tienes comentarios o sugerencias sobre este tema, me puedes encontrar en Twitter como @mario_chavez.