Artículos

  • Generales 0

    Canales avanzados en Go: done channel, tee, merge con cierre correcto y timeouts

    Patrones avanzados con canales en Go: done channel para cancelar varias goroutines con una sola señal, cierre correcto con solo el productor cerrando, tee y nil channels para duplicar streams, merge con sync.WaitGroup, timeout con time.After, or-done y rate limiting con time.Tick.

  • Javascript 0

    Nuevos métodos de Array en JavaScript: toSorted, toReversed, with, findLast, findLastIndex y groupBy

    Guía práctica de los nuevos métodos de array en ES2023 y ES2024: toSorted, toReversed, toSpliced, with, findLast, findLastIndex, at(-1), Object.groupBy y Array.fromAsync. Aprende a trabajar con arrays sin mutar el original, agrupar colecciones y buscar desde el final.

  • Generales 0

    SQLx en Rust: queries SQL async tipadas en compilación, pool y migraciones

    SQLx es un cliente SQL async para Rust que verifica tus queries contra la base de datos en tiempo de compilación. Aprende a usar PgPool, query_as!, transacciones y migraciones con sqlx-cli en PostgreSQL, MySQL y SQLite.

  • Generales 0

    Swift 6: strict concurrency, complete checking y migración desde Swift 5

    Swift 6 convierte en errores los data races que Swift 5 solo avisaba. Aprende a activar complete concurrency checking, adaptar tus clases a Sendable, usar @preconcurrency con APIs antiguas, migrar con SWIFT_STRICT_CONCURRENCY por fases y especificar el tipo de error con typed throws.

  • Python 0

    Metaclases en Python: type, __init_subclass__, __class_getitem__ y registro de clases

    Guía práctica sobre metaclases en Python: crea clases con type, escribe metaclases propias con __new__, usa __init_subclass__ para casos más simples y __class_getitem__ para habilitar MiClase[tipo]. Incluye un sistema real de registro automático de plugins.

  • Otros lenguajes 0

    Tidyverse en R: dplyr para manipular datos y ggplot2 para visualizarlos

    El tidyverse es la colección de paquetes R más usada en análisis de datos. Aprende a manipular tablas con dplyr usando filter, mutate, group_by y summarise, y a crear visualizaciones con la gramática de gráficos de ggplot2.

  • PHP 0

    filter_var() y filter_input() en PHP: validar y sanitizar datos de entrada

    Aprende a usar filter_var() y filter_input() en PHP para validar emails, URLs, enteros con rango e IPs, y a sanitizar datos de formularios. Con ejemplos reales de formularios, el antipatrón de FILTER_SANITIZE_STRING y cuándo estas funciones no bastan.

  • Otros lenguajes 0

    Tipos y multiple dispatch en Julia: el sistema que hace que el código genérico sea rápido

    El multiple dispatch de Julia elige qué función ejecutar según los tipos de todos los argumentos, no solo del primero. Esto permite código genérico con rendimiento de código especializado: cómo funciona y por qué importa.

  • Javascript 0

    Turborepo con TypeScript: monorepo, paquetes compartidos tipados y pipeline de build

    Aprende a estructurar un monorepo TypeScript con Turborepo y pnpm workspaces. Paquetes compartidos tipados (@mi-org/ui, @mi-org/utils), tsconfig base reutilizable, pipeline de builds con dependencias automáticas y remote caching en Vercel.

  • Lua 0

    Tablas en Lua: la única estructura de datos que lo hace todo

    La tabla es la única estructura de datos de Lua y sirve como array, diccionario, objeto y módulo. Este artículo explica cómo funciona internamente, cómo iterar con ipairs y pairs, y los patrones más habituales para modelar datos complejos.