Artículos

  • Javascript 0

    Canvas 2D en JavaScript: dibujar, transformar, animaciones con requestAnimationFrame

    La API Canvas 2D de JavaScript permite dibujar, transformar y animar gráficos en el navegador sin dependencias. Este artículo cubre fillRect, arc, drawImage, save/restore, requestAnimationFrame con game loop, sprite animation y OffscreenCanvas con Web Workers.

  • Generales 0

    Macros declarativas en Rust: macro_rules!, patrones y repetición

    Aprende a escribir macros declarativas en Rust con macro_rules!. Cubre patrones como $x:expr e $i:ident, repetición con $(...)* y ejemplos reales: assert personalizado, constructor de structs, mapa! y un DSL de rutas. Incluye errores típicos y cómo depurar con cargo expand.

  • Python 0

    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 0

    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 0

    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.

  • Javascript 0

    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 0

    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 0

    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 0

    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 0

    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.