A continuación se presenta el esquema para el programa de backend con duración de 7 semanas impartido en la Hacker School Monterrey.
Antes de continuar leyendo es recomendable revisar el 'prework', ya que contiene información sobre los temas a conocer previo a comenzar el programa. Lo puedes revisar aqui.
- Introducción a git & Github
- Comandos básicos(commit, push, pull, rebase)
- Flujo de trabajo con git
- Creación de cuenta en Github
- Sincronización de un repositorio local con uno remoto
- Introducción a la línea de comandos (bash & zsh)
- Creación de directorios
- Cambio entre directorios
- Remover archivos y/o directorios
- Ruby 101
- Tipos de dato: Strings, FixNum, Boolean, Nil
- Variables y comentarios
- Estructuras de datos: Arrays & Hashes
- Condicionales (if, else, unless, conditional assignment)
- Ciclos e iteradores
- Métodos (class & instances, optional arguments, named arguments, hash arguments, *splat)
- Clases (instance variables, method override, self, method visibility, inheritance)
- Excepciones
- Modulos (include, extend, self.included)
- Bloques (yield, pass arguments)
- RubyGems
- Construyendo un servidor web con rack
- Peticiones HTTP
- Arquitectura cliente/servidor
- Ruby avanzado
- Procs
- Lambdas
- Symbol to proc & symbol to block
- Mising method
- Introducción a Test Driven Development
- Red, green, refactor
- ¿Por que TDD?
- Introducción a RSpec
- Describe blocks
- Context block
- Expectations
- Matchers
- Filosofía en Rails
- MVC
- Arquitectura tipo RESTful
- Introducción a:
- Comandos básicos(server, console, migrations)
- Estructura de una aplicación de Rails
- Modelos & ActiveRecord (finders, scopes, associations)
- Controladores (Strong parameters, action hooks)
- Vistas
- Helpers mas utilizados
- Parciales
- Layouts
- Enrutamiento básico
- Recursos
- Miembros
- Colecciones
- Rutas definidas
- Recursos
- Manejo de usuarios
- Sesiones
- Registro
- Recuperación de contraseña
- Agregar complejidad a una contraseña
- Debugging
- PRY
- Autorización
- Asociaciones polimórficas
- Asociaciones recursivas
- Trabajos en cola con ActiveJob
- DelayedJob
- Sidekiq
- RSpec & Rails
- Guard
- Factories
- FFaker
- Unit testing
- Tecnicas de optimización
- Eager loading
- Counter cache
- Paginación
- Manejo y creación de backoffice
- Enrutamiento avanzado (namespaces, nested resources)
- i18n
- Calidad de codigo, principios y buenas practicas
- Manejo de excepciones
- Manejo, uso y nombre de variables
- Manejo, uso y nombre de funciones
- Single Responsibility Principle
- Duck Typing
- Inheritance
- Antipatrones de diseño en Rails
- God objects
- Code duplication
- Monolithic controllers
- Code Retreat & Hack on projects