Interfaces mínimas para diseño testeable en Go
Aprende a usar interfaces pequeñas e inyección de dependencias para desacoplar la lógica de negocio de efectos secundarios como el I/O.
Aprende a usar interfaces pequeñas e inyección de dependencias para desacoplar la lógica de negocio de efectos secundarios como el I/O.
Aprende a mejorar la legibilidad de errores, gestionar el ciclo de vida de recursos y ejecutar tests en paralelo de forma segura.
Domina la medición de rendimiento con benchmarks, documentación con ejemplos y búsqueda de errores con fuzzing nativo.
Aprende a usar subtests y tablas de datos para escribir tests paramétricos, escalables y paralelos en Go.
Entiende el ciclo de vida de los archivos _test.go, la diferencia entre t.Error y t.Fatal, y por qué Go prefiere la biblioteca estándar a frameworks externos.
Aprende a evitar data races mediante el uso de confinement, inmutabilidad y un diseño de concurrencia orientado a la propiedad de los datos.
Entiende qué es una data race, por qué causa comportamiento indefinido y cómo usar el race detector de Go de forma profesional.
Guía técnica sobre las garantías de visibilidad de memoria y la importancia de la relación happens-before para evitar data races.
Cómo usar errgroup para ejecutar tareas concurrentes con propagación de errores y límites de concurrencia.
Aprende a usar operaciones atómicas y CAS para optimizar el rendimiento en rutas críticas de lectura y escritura sin usar Mutex.