Artículos

  • Generales 0

    go:embed en Go: incluir ficheros estáticos en el binario y go generate

    Aprende a usar //go:embed en Go 1.16 para incluir ficheros, plantillas HTML y assets dentro del binario sin dependencias externas. Ejemplos reales de servidor web self-contained, templates embebidos y configuración. También cubre go:generate para automatizar la generación de código con string...

  • Generales 0

    Go modules avanzado: workspaces, replace, retract y módulos privados

    Más allá de go get y go.mod básico: workspaces con go work para múltiples módulos locales sin hacks de replace, cómo parchear dependencias de terceros, retirar versiones publicadas con retract y configurar módulos privados con GOPRIVATE y un proxy Athens.

  • Generales 0

    Build tags, cross-compilation y ldflags en Go: compilar para cualquier plataforma

    Go compila para cualquier plataforma desde tu propia máquina. Aprende a usar GOOS y GOARCH para cross-compilar, build tags para controlar qué código entra en cada build, -ldflags para inyectar la versión y CGO_ENABLED=0 para generar binarios estáticos sin dependencias C.

  • Generales 0

    Cobra y Viper en Go: construir CLIs con subcomandos y gestión de configuración

    Aprende a construir CLIs en Go con Cobra y Viper: subcomandos con AddCommand(), flags persistentes, configuración desde fichero YAML y variables de entorno con AutomaticEnv(). Incluye el antipatrón de MarkFlagRequired con Viper y cómo evitarlo usando RunE.

  • Generales 0

    Zap en Go: logging estructurado de alto rendimiento con campos tipados

    Aprende a usar go.uber.org/zap para logging estructurado de alto rendimiento en Go. Cubre zap.Logger y SugaredLogger, campos tipados, logger.With() para añadir contexto fijo, zapcore para salida múltiple y el antipatrón de fmt.Sprintf que destroza el rendimiento.

  • Generales 0

    Profiling en Go: pprof, benchmarks, escape analysis y optimización de memoria

    Aprende a usar pprof, benchmarks y escape analysis en Go para encontrar cuellos de botella, reducir allocations y aliviar la presión del GC. Ejemplos con sync.Pool, strings.Builder, runtime/pprof y análisis de qué escapa al heap.

  • Javascript 0

    Tipos condicionales en TypeScript: T extends U, infer y distribución automática

    Aprende a usar los tipos condicionales en TypeScript: la sintaxis T extends U ? X : Y, la palabra clave infer para extraer tipos, distribución automática sobre uniones y el truco de [T] extends [U] para evitarla. Ejemplos reales de ReturnType, Parameters, Awaited y NonNullable.

  • Javascript 0

    Mapped types en TypeScript: keyof, in, as y remapping de propiedades

    Los mapped types de TypeScript permiten generar tipos nuevos transformando las propiedades de uno existente. Aprende a usar keyof, in, as y los modificadores readonly y optional para crear Partial, Required, Readonly y Record desde cero.

  • Javascript 0

    Template literal types en TypeScript: concatenar tipos, patrones y utilidades de string

    Los template literal types de TypeScript 4.1+ permiten construir tipos a partir de patrones de cadena. Aprende a combinar uniones, usar Uppercase y Capitalize, tipar eventos del DOM, rutas de API y getters automáticos, con ejemplos reales y el error más habitual explicado.

  • Javascript 0

    Utility types de TypeScript: Omit, Pick, Extract, Exclude, ReturnType, Parameters y más

    Guía práctica de todos los utility types de TypeScript: Partial, Required, Readonly, Pick, Omit, Record, Extract, Exclude, NonNullable, ReturnType, Parameters, InstanceType, Awaited, NoInfer y cómo combinarlos con ejemplos reales de código.