Artículos
-
Python
Python 3.12 y 3.13: f-strings mejoradas, type aliases, @override y novedades clave
Python 3.12 resuelve las limitaciones históricas de las f-strings, añade sintaxis nativa para type aliases, el decorador @override para herencia segura y generics sin TypeVar. Python 3.13 suma un REPL mejorado, un JIT experimental y los primeros pasos hacia un modo sin GIL.
-
PHP
Constructor promotion y readonly en PHP 8: menos código para lo mismo
PHP 8 reduce el boilerplate en clases con constructor promotion, que convierte parámetros del constructor en propiedades automáticamente, y las propiedades readonly, que solo se pueden asignar una vez. Además, PHP 8.2 permite marcar clases enteras como readonly. Cuatro ejemplos prácticos con ...
-
Javascript
TypeScript con Vue 3: Composition API tipada, defineProps, defineEmits y ref
Aprende a usar TypeScript con Vue 3 en profundidad: defineProps y defineEmits con sintaxis de tipo puro, ref tipado, reactive, useTemplateRef, defineExpose e InjectionKey. Ejemplos reales con componentes completos y los errores más habituales.
-
Python
uv simplifica Python, y ahora se une a OpenAI: qué cambia para desarrolladores y CI
uv, el gestor de paquetes y proyectos de Python escrito en Rust por Astral, unifica pip, pyenv, Poetry, pipx y virtualenv en una sola herramienta. OpenAI anunció en marzo de 2026 la compra de Astral para integrar uv, Ruff y ty en Codex. Qué cambia de verdad para desarrolladores, CI y Docker.
-
Generales
18 comandos de Git que todo desarrollador y sysadmin debería dominar
Git no es solo add, commit y push. Repasamos 18 comandos (status, diff, bisect, reflog, worktree, rerere y más) que ayudan a desarrolladores y sysadmins a inspeccionar, depurar y recuperar el historial de un repositorio sin sustos.
-
Javascript
Performance API en JavaScript: performance.now, PerformanceObserver, Long Tasks y memoria
Aprende a usar la Performance API del navegador: performance.now para timestamps precisos, performance.mark y measure para rangos de código, PerformanceObserver para detectar Long Tasks, LCP, CLS, y calcular Web Vitals con JavaScript puro sin librerías externas.
-
Generales
reqwest en Rust: cliente HTTP asíncrono, GET/POST, headers, JSON y manejo de errores
Aprende a usar reqwest, el cliente HTTP asíncrono más usado en Rust. GET simple con reqwest::get(), Client con pool de conexiones y timeout, deserialización JSON con serde, POST con autenticación Bearer, descarga de ficheros y el error típico del feature json sin activar.
-
Python
match en Python 3.10: pattern matching estructural con case, guards y clases
Aprende a usar el match statement de Python 3.10 para pattern matching estructural: literales, secuencias, mappings, clases, guards con if y OR con |. Con cuatro ejemplos reales que cubren parseo de CLI, respuestas JSON y manejo de eventos.
-
C
C para sistemas embebidos: bare metal en microcontroladores ARM Cortex-M en 2026
Programación bare metal en C para ARM Cortex-M: startup code, linker scripts, volatile para registros hardware, CMSIS y flags de compilación para M4 con FPU.
-
PHP
Static en PHP: métodos y propiedades estáticas, self:: vs static::
Aprende a usar propiedades y métodos estáticos en PHP, la diferencia entre self:: y static:: con Late Static Binding, el patrón Singleton, fábricas estáticas con named constructors y cuándo evitar static para no complicar el testing.









