Artículos

  • Javascript 0

    Tagged template literals en JavaScript: etiquetas, String.raw y casos de uso reales

    Los template literals etiquetados permiten que una función procese las partes literales e interpoladas de un template antes de devolver el resultado. Aprende a sanitizar HTML, construir queries SQL seguras, usar String.raw y entender cómo los usan styled-components y Apollo GraphQL.

  • Generales 0

    Axum avanzado: middleware, manejo de errores tipado y capas con Tower

    Aprende a estructurar aplicaciones Axum robustas con middleware Tower: logging con TraceLayer, CORS configurable, autenticación transparente con FromRequestParts, errores tipados con thiserror e IntoResponse, y routers anidados con estado diferente.

  • Generales 0

    Macros en Swift 5.9: @Expression, @Member, @Peer, @Extension y cómo crear las tuyas

    Las macros de Swift 5.9 son plugins del compilador que generan código antes de compilar. Aprende la diferencia entre freestanding y attached, crea una macro propia con SwiftSyntax que valida URLs en compilación y entiende cuándo usar property wrappers en su lugar. Cuatro ejemplos progresivos.

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