Artículos

  • Javascript 0

    Programación a nivel de tipos en TypeScript: aritmética, parsing de strings y tipos recursivos avanzados

    Aprende a usar TypeScript como un lenguaje de tipos Turing-completo: aritmética con tuplas, parsing de strings con Template Literal Types, tipos recursivos como DeepPartial y DeepReadonly, y el truco de UnionToTuple con funciones sobrecargadas.

  • Generales 0

    WebSockets en Go: servidor y cliente con gorilla/websocket y nhooyr.io/websocket

    Aprende a montar servidores y clientes WebSocket en Go con gorilla/websocket y nhooyr.io/websocket. Incluye hub para broadcast a múltiples clientes, reconexión con backoff exponencial, keepalive con ping/pong y el antipatrón más frecuente en escrituras concurrentes.

  • Javascript 0

    Temporal API en JavaScript: fechas, horas y zonas horarias sin los problemas de Date

    La Temporal API de JavaScript llega al Stage 3 de TC39 para reemplazar el problemático objeto Date. Tipos inmutables, soporte real de zonas horarias, aritmética de fechas sin milisegundos y sin ambigüedades con el horario de verano. Instálala hoy con el polyfill oficial.

  • Generales 0

    Cargo workspaces y features en Rust: monorepos y compilación condicional

    Aprende a organizar proyectos Rust grandes con Cargo workspaces: un Cargo.toml raíz que unifica dependencias de varios crates. Y a usar features para compilar código condicionalmente y gestionar dependencias opcionales como serde sin coste para quien no las necesita.

  • Generales 0

    Actores en Swift: actor, @MainActor, Sendable y seguridad ante data races

    Aprende a usar actores en Swift para evitar data races: declara actor y accede con await desde fuera, usa @MainActor para el hilo principal, Sendable para tipos seguros entre tareas y crea actores globales propios con GlobalActor.

  • Python 0

    SQLAlchemy 2.0 en Python: engine, Session, modelos ORM y queries con select()

    SQLAlchemy 2.0 es el ORM más completo para Python. Aprende a conectar con create_engine, definir modelos con DeclarativeBase y Mapped, hacer CRUD con Session, cargar relaciones con selectinload y usar AsyncSession para código asíncrono con FastAPI.

  • C 0

    Debugging en C: gdb, AddressSanitizer y técnicas para encontrar bugs difíciles

    Guía práctica de debugging en C: comandos esenciales de gdb, core dumps, watchpoints, AddressSanitizer para memoria y UBSan para comportamiento indefinido con ejemplos reales.

  • PHP 0

    Fibers en PHP 8.1: concurrencia cooperativa sin async/await

    Las Fibers de PHP 8.1 permiten pausar y reanudar funciones para implementar concurrencia cooperativa sin hilos del sistema operativo. Aprende a usar Fiber::suspend() y resume() con ejemplos reales, y descubre cómo librerías como Revolt o Amp se apoyan en ellas.

  • Scala 0

    Enums y pattern matching en Scala 3: ADTs, sealed traits y exhaustividad en la práctica

    Scala 3 introduce enums propios del lenguaje y mejora el pattern matching con verificación de exhaustividad. ADTs con sealed trait, guards, @-binding, match expressions y modelado de errores como valores.

  • Javascript 0

    Prisma con TypeScript: tipos generados automáticamente, queries tipadas y Prisma Client

    Prisma ORM genera tipos TypeScript directamente desde schema.prisma, sin mantener interfaces a mano. Aprende queries tipadas con PrismaClient, Prisma.UsuarioGetPayload para include y select, UsuarioCreateInput, middleware para soft delete, transacciones interactivas y manejo de PrismaClientKnownR...