Artículos

  • Generales 0

    GraphQL en Go con gqlgen: schema-first, resolvers, mutations y dataloaders

    Aprende a construir una API GraphQL en Go con gqlgen de forma schema-first: define el schema en schema.graphqls, genera los resolvers, implementa queries y mutations, resuelve el problema N+1 con dataloaders y añade subscriptions en tiempo real.

  • Javascript 0

    Streams en Node.js: Readable, Writable, Transform y pipeline para I/O eficiente

    Aprende a usar streams en Node.js para procesar ficheros y datos sin cargar todo en memoria: Readable, Writable y Transform streams, stream.pipeline() de stream/promises con async/await, y Web Streams API global disponible desde Node.js 18.

  • Generales 0

    Módulos y visibilidad en Rust: mod, pub, use, paths y cómo organizar el código

    Aprende a organizar el código en Rust con el sistema de módulos: módulos inline y en ficheros, visibilidad con pub, pub(crate) y pub(super), paths absolutos y relativos con crate:: y super::, re-exportaciones con pub use y la separación entre lib.rs y main.rs con ejemplos reales.

  • Generales 0

    TaskGroup, AsyncSequence y AsyncStream en Swift: concurrencia avanzada y streams async

    Aprende a usar TaskGroup para ejecutar tareas en paralelo con for await, y a construir flujos de datos asíncronos con AsyncSequence y AsyncStream en Swift. Incluye ejemplos de descargas con progreso, conexiones WebSocket, lectura de logs y AsyncThrowingStream para flujos que pueden fallar.

  • Python 0

    Poetry en Python: gestión de dependencias, pyproject.toml y entornos virtuales

    Aprende a gestionar proyectos Python con Poetry: declara dependencias en pyproject.toml, fija versiones exactas con poetry.lock, ejecuta scripts con poetry run y publica en PyPI con un solo comando. Alternativa moderna a pip, venv y setup.py.

  • PHP 0

    Named arguments y union types en PHP 8: código más expresivo y tipado

    Named arguments y union types son dos de las mejoras más prácticas de PHP 8. Con los primeros puedes llamar a funciones por el nombre del parámetro en vez de su posición, y con los segundos declaras que un valor puede ser de varios tipos con tipado real verificado en ejecución.

  • 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.