Ruby es un lenguaje de programación dinámico y orientado a objetos, diseñado para ser simple y fácil de leer y escribir. Fue creado por Yukihiro "Matz" Matsumoto en Japón en 1995 con la idea de que la programación debe ser divertida para los desarrolladores.
Ruby on Rails, o simplemente Rails, es un framework de desarrollo web escrito en Ruby. Promueve el uso de patrones de diseño como MVC (Model-View-Controller), y se destaca por su enfoque en la convención sobre la configuración y el principio de no repetirse (DRY).
Mi aventura con Ruby comenzó por serendipia. Un día apareció un desafío en el trabajo en el que no se conseguía interconectar una API con el Endpoint de un ERP, me topé con Ruby y me llevó a rascar un poco más en profundidad. La elegancia y la simplicidad del lenguaje capturaron mi interés rápidamente, de hecho me recuerda a mis andanzas con Python.
No me gustaría llamarlo directamente un Curso sobre Ruby. Este recurso nació inicialmente con mi manera de tomar notas cada vez que me enfrento a un desafío nuevo, adopto esta costumbre, normalmente con Markdown-Notion y mientras estaba en ello pensé que sería un formato útil para compartir a cualquiera que tenga curiosidad por este lenguaje. Aquí está el esquema:
- Historia de Ruby #Historia
- Características de Ruby #Características
- Instalación de Ruby #Instalación
- En Windows
- En macOS
- En Linux
- Configuración del entorno de desarrollo #Entorno
- Editores de texto y IDEs recomendados
- Uso de la terminal o línea de comandos
- Instalación de gemas (librerías)
- Sintaxis básica #Sintaxis
- Comentarios
- Palabras reservadas
- Tipos de datos #TiposDeDatos
- Números
- Cadenas de texto (strings)
- Símbolos
- Booleanos
- Rangos
- Arreglos
- Hashes
- Variables y asignación #Variables
- Variables locales
- Variables globales
- Constantes
- Operadores #Operadores
- Aritméticos
- Comparación
- Lógicos
- Asignación
- Condicionales #Condicionales
- if, else, elsif
- unless
- case
- Bucles #Bucles
- while
- until
- for
- .each
- .times
- Definición de métodos #Métodos
- Argumentos
- Valores de retorno
- Bloques, Procs y Lambdas #Bloques
- yield
- Proc
- Lambda
- Conceptos básicos de OOP #OOP
- Clases
- Objetos
- Métodos de instancia y de clase
- Atributos y Accesores #Atributos
- attr_reader
- attr_writer
- attr_accessor
- Herencia #Herencia
- Superclase y subclase
- Método super
- Módulos y Mixins #Módulos
- Namespacing
- Mixins
- Enumerables y Enumerable methods #Enumerables
- Expresiones Regulares #Regex
- File I/O #Archivos
- Lectura
- Escritura
- Introducción al testing #Testing
- Test Unit #TestUnit
- RSpec #RSpec
- Introducción a Ruby on Rails #Rails
- MVC en Rails #MVC
- Creación de un proyecto #ProyectoRails
- Bases de datos en Rails #BasesDeDatos
- Migraciones #Migraciones
- Modelos #Modelos
- Vistas #Vistas
- Controladores #Controladores
- Rutas #Rutas
- Planificación del proyecto #Planificación
- Desarrollo iterativo #DesarrolloIterativo
- Pruebas y depuración #Pruebas
- Despliegue #Despliegue
- Comunidad y soporte #Comunidad
- Documentación y tutoriales #Documentación
- Herramientas y gemas útiles #Herramientas
Recuerda que cada sección puede expandirse con más contenido específico 🏄
Si estás interesado en contribuir al curso o tienes alguna sugerencia, no dudes en abrir un issue o enviar un pull request. ¡Toda contribución es bienvenida!
Este curso está licenciado bajo [MIT License](LICENSE).
¡Espero que disfrutes aprendiendo y explorando Ruby on Rails tanto como yo disfruté creando mis notas!