Artículos

  • Python 0

    ABCs en Python: ABC, abstractmethod, register y clases base abstractas del módulo collections.abc

    Aprende a definir clases base abstractas en Python con ABC y @abstractmethod, a combinarlos con @property y @classmethod, a registrar implementaciones con register() y a sacar partido a los ABCs de collections.abc como Sequence, Mapping o Iterable en tu propio código.

  • PHP 0

    PDO en PHP y prepared statements: prevenir SQL injection de forma correcta

    Aprende a usar PDO en PHP para acceder a bases de datos con seguridad. Guía práctica con prepared statements, parámetros posicionales y nombrados, modos de fetch ASSOC/OBJ/CLASS, transacciones con beginTransaction y rollBack, y por qué la concatenación de SQL es un error grave.

  • Javascript 0

    TypeScript con Bun: ejecutar sin compilar, Bun.build, test runner y APIs nativas

    Aprende a usar Bun como runtime nativo para TypeScript: ejecuta archivos .ts sin compilar, empaqueta con Bun.build, corre tests con bun test y trabaja con las APIs nativas tipadas Bun.file, Bun.serve y Bun.env.

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