Artículos

  • Python 0

    Descriptores en Python: __get__, __set__, __delete__ y el protocolo que hay detrás de property

    Los descriptores en Python son el mecanismo detrás de property, classmethod y staticmethod. Aprende a implementar property desde cero, crear campos con validación automática y entender la diferencia entre data descriptors y non-data descriptors con ejemplos reales.

  • Python 0

    Descriptores en Python: __get__, __set__, __delete__ y el protocolo que hay detrás de property

    Los descriptores en Python son el mecanismo detrás de property, classmethod y staticmethod. Aprende a implementar property desde cero, crear campos con validación automática y entender la diferencia entre data descriptors y non-data descriptors con ejemplos reales.

  • PHP 0

    password_hash() y password_verify() en PHP: almacenar contraseñas de forma segura

    Aprende a almacenar contraseñas en PHP de forma segura con password_hash() y password_verify(). Diferencias entre PASSWORD_BCRYPT y PASSWORD_ARGON2ID, cómo migrar hashes obsoletos con password_needs_rehash() y generar tokens seguros con random_bytes(). Con ejemplos de registro, login y recupera...

  • Javascript 0

    tsup para TypeScript: compilar librerías con ESM+CJS+d.ts en una sola herramienta

    tsup es un empaquetador basado en esbuild para compilar librerías TypeScript. Con un solo comando genera ESM, CommonJS y ficheros .d.ts. Aprende a configurar entry points múltiples, sourcemaps, minificación, el campo exports de package.json y cuándo elegir tsup frente a tsc, esbuild o Rollup.

  • Generales 0

    Templates en Go: text/template, html/template, FuncMap, pipelines y templates anidados

    Aprende el sistema de templates de Go: text/template para texto genérico y html/template para HTML con escaping anti-XSS automático. Sintaxis básica, pipelines, FuncMap para añadir funciones propias y templates anidados con define y ParseGlob.

  • Javascript 0

    Symbols en JavaScript: Symbol.iterator, Symbol.toPrimitive, Symbol.hasInstance y metaprogramación

    Los Symbols en JavaScript son valores primitivos únicos que nunca colisionan entre sí. Aprende a usarlos como claves ocultas en objetos y a implementar Symbol.iterator, Symbol.toPrimitive, Symbol.hasInstance y otros well-known symbols para controlar el comportamiento de tus clases.

  • Generales 0

    Axum en Rust: routing, handlers y extractors para APIs web async

    Aprende a construir APIs REST async en Rust con Axum: define rutas con get(), post() y delete(), usa extractors como Path, Query, Json y State, comparte estado con Arc y RwLock, y maneja errores tipados con Result. Tutorial con ejemplos de una API de usuarios.

  • Generales 0

    Layout avanzado en SwiftUI: Layout protocol, AlignmentGuide, GeometryReader y ViewThatFits

    Aprende a crear layouts personalizados en SwiftUI con el protocolo Layout (iOS 16), AlignmentGuide, ViewThatFits, AnyLayout y LazyVGrid. Con ejemplos reales: layout waterfall de dos columnas, grids adaptativas y cómo evitar el abuso de GeometryReader.

  • Python 0

    Pandas en Python: DataFrame, Series, read_csv, filtrado, groupby y merge

    Aprende a usar Pandas en Python: carga CSV con read_csv(), selecciona con loc e iloc, filtra con condiciones booleanas, agrupa con groupby().agg(), combina DataFrames con merge() y exporta resultados. Ejemplos reales con dataset de ventas.

  • Otros lenguajes 0

    R 4.5 en 2026: el lenguaje de referencia para estadística y ciencia de datos

    R lleva más de treinta años siendo la primera elección de estadísticos e investigadores. Repasamos la evolución desde R 4.0 hasta R 4.5, sus tipos base, el ecosistema CRAN con más de 22.000 paquetes y por qué sigue siendo insustituible para estadística seria.