Programa de Estudios (Syllabus)
Programa de Estudios Oficial
Un programa de formación completo diseñado para llevarte desde los fundamentos absolutos de la computación, la terminal y la web, hasta el desarrollo y despliegue profesional de aplicaciones Full Stack (web, escritorio y móvil) con Go.
El curso está estructurado en 20 módulos progresivos distribuidos en 5 fases.
Fase -1 & 0: Fundamentos, terminal y mentalidad Go
Módulo -01 Fundamentos de la Terminal & Entorno CLI
- ¿Qué es una interfaz de comandos y cómo interactúa con el sistema operativo?
- Navegación de directorios, creación, edición y gestión de archivos desde la terminal.
- Permisos, variables de entorno y control de versiones con Git y GitHub desde cero.
Módulo -00 Fundamentos de la Web & Protocolo HTTP
- ¿Cómo funciona internet? Clientes, servidores, IPs y dominios.
- Anatomía del protocolo HTTP: Métodos (GET, POST, PUT, DELETE), cabeceras y códigos de estado.
- El ciclo de vida de una petición web y la filosofía de la hipermedia.
Módulo 00 Entorno de Desarrollo, Toolchain & Mentalidad Go
- Instalación y configuración del toolchain oficial de Go.
- Gestión de dependencias con Go Modules (
go.mod,go.sum). - Análisis estático con
golangci-lint, formateo automático congofmt. - El cambio de paradigma: pensamiento explícito frente a la magia de otros lenguajes.
Módulo 01 Fundamentos del Lenguaje, Punteros & Memoria
- Sintaxis básica, control de flujo, funciones y retornos múltiples.
- Estructuras de datos nativas: arrays y slices ([]T) y su gestión en memoria (backing array, len, cap).
- Mapas (map[K]V) y el uso explícito de punteros para eficiencia y mutabilidad.
Módulo 02 Composición, Interfaces Implícitas & Manejo de Errores
- El fin de la herencia clásica: diseño mediante structs y métodos.
- Interfaces implícitas (duck typing estático) y aserción de tipos.
- Manejo idiomático de errores como valores (
if err != nil). - Composición de errores con
fmt.Errorf,errors.Isyerrors.As.
Fase 1: Arquitectura, configuración y web hipermedia
Módulo 03 Configuración Tipada & Arquitectura de Proyectos
- Carga de variables de entorno tipadas y seguras con
envconfig/cleanenv(validación en arranque). - Estructuración de paquetes en Go (Clean Architecture / Domain-Driven pragmático).
- Desacoplamiento mediante el Patrón Repository.
Módulo 04 Servidores Web Nativos & Filosofía Hipermedia
- El paquete nativo
net/httpy el enrutador avanzado de Go (métodos, comodines y patrones). - Creación de middlewares personalizados implementando
http.Handler. - Renderizado de plantillas HTML en el servidor usando
html/template.
Módulo 05 Interfaz Interactiva sin JavaScript (HTMX & View Transitions)
- Integración de HTMX en el ecosistema Go: peticiones AJAX desde HTML y fragmentos (partials).
- Componentes nativos de HTML5 (diálogos, acordeones).
- Transiciones de página fluidas con la API View Transitions sin escribir JavaScript complejo.
Fase 2: Bases de datos, estado y concurrencia
Módulo 06 Persistencia Relacional & SQL Tipado con sqlc
- Conexión a PostgreSQL mediante
database/sqly el driver de alto rendimientopgx. - Gestión y ejecución de migraciones con
golang-migrate. - Generación automática de código Go fuertemente tipado a partir de SQL puro con
sqlc.
Módulo 07 Formularios Dinámicos, OOB Swaps & Estado de Interfaz
- Validación de formularios en el servidor con respuestas estructuradas y errores en línea.
- Actualizaciones parciales de múltiples zonas de la pantalla con Out-of-Band (OOB) Swaps de HTMX.
- Tablas interactivas con filtrado y paginación del lado del servidor.
Módulo 08 El Superpoder de Go: Concurrencia Nativa (CSP)
- Modelo de concurrencia CSP (Communicating Sequential Processes).
- Lanzamiento y gestión de Goroutines.
- Comunicación segura mediante Channels (buffered / unbuffered) y patrón
select. - Prevención de condiciones de carrera (Race Detector), sincronización con
sync.WaitGroupysync.Mutex. - Cancelación y control de tiempos con
context.Context.
Fase 3: Seguridad, APIs y tiempo real
Módulo 09 Autenticación, Sesiones & Seguridad Web
- Gestión segura de sesiones mediante cookies HTTP (HttpOnly, Secure, SameSite).
- Emisión y verificación de tokens JWT para autenticación de APIs.
- Control de acceso basado en roles (RBAC).
- Hashing seguro de credenciales con Argon2id y mitigación de vulnerabilidades (CSRF, XSS, SQLi).
Módulo 10 Especialización de APIs: OpenAPI & Generación de Código (oapi-codegen)
- Diseño de APIs REST JSON bajo el enfoque “API-First” usando OpenAPI 3.0 (YAML).
- Generación automática del servidor y tipados en Go con
oapi-codegen. - Empaquetado e integración de interfaces visuales interactivas (Swagger UI) dentro del binario con
go:embed.
Módulo 11 Comunicación en Tiempo Real & Tareas en Segundo Plano
- WebSockets nativos en Go integrados con la extensión de WebSocket de HTMX (
hx-ws/ws). - Procesamiento asíncrono de colas de tareas background con
Asynqrespaldado por Redis.
Fase 4: Rendimiento, observabilidad, escritorio y producción
Módulo 12 Rendimiento, Caché & Optimización
- Estrategias de caché en memoria y con Redis.
- Compresión HTTP y carga diferida (lazy loading) con HTMX.
- Optimización de memoria en Go y prevención del problema N+1 en consultas SQL.
Módulo 13 Observabilidad en Producción: Logging Estructurado & Métricas
- Uso del paquete nativo
log/slogpara registros estructurados en JSON con contexto. - Instrumentación de métricas de salud y rendimiento con Prometheus y OpenTelemetry.
Módulo 14 Testing, Calidad de Software & Benchmarks
- Pruebas unitarias e integración con el paquete nativo
testing. - Simulación de servidores HTTP con
net/http/httptest. - Pruebas de rendimiento con benchmarks (
go test -bench) y Fuzz Testing nativo.
Módulo 15 Desarrollo de Apps de Escritorio con Go y Wails
- Empaquetado del backend de Go junto con interfaces web modernas (HTML/CSS/JS) en ejecutables nativos (
.exe,.app,.deb) usando Wails. - Reutilización de la lógica de negocio multiplataforma.
Módulo 16 Interfaces Nativas & Multiplataforma con Fyne
- Construcción de interfaces gráficas nativas y ligeras en Go con Fyne.
- Generación de paquetes de instalación para dispositivos móviles (
.apkpara Android).
Módulo 17 Despliegue, Contenedores & Producción
- Compilación de binarios estáticos ultraligeros sin dependencias (
CGO_ENABLED=0). - Creación de imágenes Docker multi-stage optimizadas y orquestación con Docker Compose.
- Despliegue protegido y automatizado con servidor web/proxy inverso Caddy (HTTPS automático).