SYS:04 — Engineering Notes

Apuntes de ingeniería en producción.

TILs, snippets, debugging real y micro-artículos. Observaciones del trabajo diario con sistemas reales.

7 apuntes publicados
TIL
19 May 2026  ·  1 min

SVG animateMotion: calcMode="paced" distribuye velocidad por distancia, no por tiempo.

calcMode="paced" mantiene velocidad constante en recorridos de distancia variable.

calcMode="paced" hace que la velocidad de animación sea proporcional a la distancia de cada segmento del path, no al tiempo. Ideal para flujos que recorren distancias desiguales.
SVG Animation
TIL
15 May 2026  ·  4 min

Laravel Lazy Collections: procesar 500k rows sin explotar memoria.

cursor() + LazyCollection para streaming — la memoria se mantiene constante sin importar el volumen.

Encontré el límite de Eloquent migrando datasets grandes. User::all() cargaba todo en memoria y PHP reventaba. La solución fue cursor() + LazyCollection para procesar en streaming — la memoria se mantuvo constante sin importar el volumen.// ❌ explota con 500k rows
$users = User::all();
foreach ($users as $user) {
Laravel Performance Memory Eloquent
Debug
12 May 2026  ·  3 min

N+1 en componentes Livewire: detectarlo con Debugbar y resolverlo con eager loading.

Cada re-render de un componente Livewire puede disparar N+1 si no usas with() en la consulta.

Cada re-render de un componente Livewire puede disparar N+1 si no usas with() en la consulta. Laravel Debugbar muestra las queries por render cycle. La solución es siempre eager loading en el método render().
Livewire N+1 Query
Debug
10 May 2026  ·  3 min

Redis TTL no invalida cache entre requests en Laravel Octane.

En Octane el proceso PHP persiste entre requests. El TTL expira en Redis, pero el in-memory cache del worker sigue sirviendo datos stale.

En Octane el proceso PHP persiste entre requests. El TTL expira en Redis, pero el in-memory cache del worker sigue sirviendo datos stale sin consultarlo. Solución: usar Cache::store('redis') directamente en vez del driver por defecto, o deshabilitar el in-memory layer de Octane para ese caché específico.
Redis Octane Cache
Observación
06 May 2026  ·  2 min

CSS custom properties vs variables Sass: el caso donde las nativas ganan siempre.

Las CSS custom properties pueden cambiar en runtime. Las variables Sass no existen en producción.

Las CSS custom properties pueden cambiar en runtime (dark mode, temas dinámicos). Las variables Sass no existen en producción — se compilan a valores estáticos. Para cualquier sistema de tokens que necesite responder a JS o media queries, las nativas son la única opción.
CSS DX Design Tokens
Snippet
03 May 2026  ·  2 min

Extender un Resource de Filament 3 sin modificar el vendor.

Con resolveRecordRouteBinding + panel extension puedes añadir páginas y acciones a cualquier Resource de plugin sin tocar su código.

Con resolveRecordRouteBinding + panel extension puedes añadir páginas y acciones a cualquier Resource de plugin sin tocar su código. Crea una clase que extienda el Resource del vendor y registra solo las páginas adicionales.
Filament PHP Extension
Micro
26 Apr 2026  ·  5 min

¿Cuándo introduces una cola en tu app? La regla del segundo.

Si una operación tarda más de 1 segundo o puede fallar sin impactar al usuario, va a la cola.

Si una operación tarda más de 1 segundo o puede fallar sin impactar al usuario, va a la cola. Tres años de systems building han consolidado esa heurística. Correo, notificaciones, reportes, webhooks salientes — todo va a la cola. Lo que no: autenticación, validación, lectura de datos que el usuario necesita ver ahora.
Architecture Queues Heuristics
Afiliado
Curado por José Luis Luna Rubio

Acelera tu perfil
técnico con
Platzi

Más de 240 cursos y 48 carreras para fortalecer desarrollo, producto, diseño y habilidades digitales con una ruta estructurada.

  • Rutas por carrera
  • Aprendizaje práctico
  • Formación continua
240+ Cursos
48 Carreras
1mes Gratis
Obtener 1 mes gratis

Enlace de afiliado — si entras desde aquí,
apoyas este sitio sin costo extra para ti.