Artículos

  • Otros lenguajes 0

    ¿Se está convirtiendo Swift en el Rust de Apple?

    Tipos no copiables, borrowing y consuming, Span, concurrencia sin carreras de datos y Embedded Swift: repasamos qué ha incorporado Swift hasta la versión 6.4, en qué se parece a Rust y por qué siguen siendo lenguajes con filosofías distintas.

  • CSS 0

    Qué viene después de Tailwind: UnoCSS, Master CSS, Open Props y el CSS nativo

    Shopify ha adquirido Tailwind Labs en plena crisis de ingresos por culpa de la IA. Repasamos las alternativas (UnoCSS, Master CSS, Open Props, Vanilla Extract, StyleX, Panda) y qué ofrece ya el CSS nativo con if(), @function, @mixin y grid-lanes.

  • Generales 0

    Sistema de archivos en la Nube diferente y adecuado para empresas

    La gestión de documentos digitales se ha convertido en una tarea habitual para cualquier empresa. Guardar archivos, compartirlos entre empleados, controlar quién puede acceder a cada carpeta y mantener la información protegida son necesidades habituales. En este ámbito...

  • Generales 0

    SIMD y optimización low-level en Rust: target_feature, std::simd y técnicas de bajo nivel

    Aprende a exprimir la CPU con Rust: SIMD portable con std::simd en nightly, intrinsics AVX2 via std::arch, auto-vectorización con repr(align(64)), prefetch manual y configuración LTO en Cargo. Cuatro ejemplos reales y el antipatrón típico con target_feature.

  • Generales 0

    Benchmarks y profiling en Rust: criterion, flamegraph y técnicas de optimización

    Aprende a medir el rendimiento en Rust con criterion para benchmarks estadísticos, cargo flamegraph para localizar cuellos de botella y técnicas como Cow, slices e inlining. Cuatro ejemplos con antes/después reales y el flujo correcto para no optimizar a ciegas.

  • Generales 0

    reqwest en Rust: cliente HTTP async, headers, middleware con Tower y streaming de respuestas

    Guía práctica de reqwest, el cliente HTTP async más usado en Rust. Peticiones GET y POST, headers con HeaderMap, autenticación Bearer, streaming con bytes_stream() y middleware con reqwest-middleware para reintentos automáticos con ExponentialBackoff.

  • MySQL 0

    ProxySQL 2.7 vs 3.0: el salto de versión puesto a prueba con datos reales

    Un benchmark de PmaControl mide 4 veces menos tiempo en una comprobación de caché al pasar de ProxySQL 2.7.3 a 3.0.5. Repasamos la metodología, sus límites, qué ha cambiado de verdad en la serie 3.0 (nueva estrategia de releases, soporte PostgreSQL, un fallo de seguridad corregido) y cómo e...

  • SQL 0

    15 errores con bases de datos que tarde o temprano te pasan factura

    Quince errores de diseño y consultas que revientan aplicaciones cuando la base de datos crece de verdad: SELECT * sin control, fechas sin zona horaria, borrados irreversibles, el problema N+1, índices puestos a ciegas, transacciones que faltan y réplicas de lectura que aún no tienen el dato r...

  • Generales 0

    Serde avanzado en Rust: serializers propios, flatten, skip_serializing_if, rename_all y untagged

    Domina Serde más allá del derive básico: rename_all para camelCase, skip_serializing_if para campos opcionales, flatten para structs anidadas, tag y untagged para enums polimórficos, serde(with) para formatos personalizados y default con funciones propias. Ejemplos reales en Rust.

  • Generales 0

    Tokio avanzado en Rust: select!, join!, spawn_blocking, tokio::sync y cancellation tokens

    Guía práctica de Tokio avanzado en Rust: coordina futures con select! y join!, delega trabajo pesado con spawn_blocking, comparte estado con tokio::sync y propaga cancelaciones con CancellationToken. Con cuatro ejemplos reales y el error típico con MutexGuard.