<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Blog de Roger Rojas</title><description>Backend, Java, Python, Azure e IA aplicada.</description><link>https://rogerrojas.dev/</link><language>es-pe</language><item><title>Idempotencia en órdenes asíncronas: evitar duplicados con Event Grid y Redis</title><link>https://rogerrojas.dev/blog/idempotencia-ordenes-asincronas-event-grid-redis/</link><guid isPermaLink="true">https://rogerrojas.dev/blog/idempotencia-ordenes-asincronas-event-grid-redis/</guid><description>Los sistemas de mensajería entregan «al menos una vez». Este es el patrón que uso para que una orden de compra o venta se procese exactamente una vez.</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate></item><item><title>La IA nunca debe calcular un monto: guardas para un asistente de pedidos</title><link>https://rogerrojas.dev/blog/la-ia-nunca-debe-calcular-un-monto/</link><guid isPermaLink="true">https://rogerrojas.dev/blog/la-ia-nunca-debe-calcular-un-monto/</guid><description>Cómo separé lo que hace el modelo de lo que hace el backend en un asistente de WhatsApp, y por qué una guardia que compara cada cifra con la hoja evita respuestas inventadas.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>study-agent: convertir Microsoft Learn en un sistema de estudio dentro de Obsidian</title><link>https://rogerrojas.dev/blog/study-agent-microsoft-learn-obsidian/</link><guid isPermaLink="true">https://rogerrojas.dev/blog/study-agent-microsoft-learn-obsidian/</guid><description>Un CLI open source que toma una ruta de Microsoft Learn y genera resúmenes, notas enlazadas, mapas conceptuales, preguntas tipo examen y flashcards en tu vault.</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate></item></channel></rss>