Artículos
-
Otros lenguajes
¿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
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
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
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
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
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
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
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
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
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.









