Artículos
-
Javascript
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
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
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
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
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
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
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
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
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
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.









