<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Fernando Loría</title><description>Arquitecto de software C#/.NET. Casos técnicos reales sobre migraciones legacy (ASP.NET Web Forms a .NET moderno) y arquitectura de microservicios.</description><link>https://fernando.loria.cr/</link><item><title>Balanceo de carga: repartir tráfico y tolerar fallos</title><link>https://fernando.loria.cr/blog/balanceo/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/balanceo/</guid><description>Agregar servidores ayuda cuando el tráfico llega a instancias disponibles y el estado permite atender desde cualquiera de ellas.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Despliegues blue-green: cambiar de versión con una ruta de regreso</title><link>https://fernando.loria.cr/blog/blue-green/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/blue-green/</guid><description>Dos entornos permiten preparar una versión nueva y cambiar el tráfico cuando está lista. La reversión depende también de la compatibilidad de los datos.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Caché de base de datos: frescura, avalanchas y claves calientes</title><link>https://fernando.loria.cr/blog/cache/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/cache/</guid><description>Consultar Redis antes de la base de datos es el inicio. Un diseño completo debe controlar datos obsoletos, recargas concurrentes y concentración de lecturas.</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate></item><item><title>CAPTCHA: del rompecabezas a la evaluación de riesgo</title><link>https://fernando.loria.cr/blog/captcha/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/captcha/</guid><description>Un desafío visible es solo una posible señal. La defensa contra automatización combina observaciones y decisiones proporcionales al riesgo.</description><pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate></item><item><title>CDN: acercar el contenido al lector</title><link>https://fernando.loria.cr/blog/cdn/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/cdn/</guid><description>Una red de distribución reduce viajes al origen mediante cachés desplegadas en diferentes puntos de la red.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Escalar una base de datos según el cuello de botella</title><link>https://fernando.loria.cr/blog/escalado-datos/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/escalado-datos/</guid><description>Índices, caché, réplicas, colas, particiones y sharding atienden problemas diferentes. Elegirlos exige medir qué trabajo está saturando el sistema.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Git: del archivo editado al historial compartido</title><link>https://fernando.loria.cr/blog/git/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/git/</guid><description>Comprender el directorio de trabajo, el área de preparación y los commits permite colaborar sin perder la historia del proyecto.</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate></item><item><title>gRPC: contratos tipados y transporte eficiente entre servicios</title><link>https://fernando.loria.cr/blog/grpc/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/grpc/</guid><description>gRPC combina llamadas remotas, contratos de servicio y un transporte basado en HTTP/2. Entender cada capa evita comparaciones engañosas con las API HTTP.</description><pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate></item><item><title>SQL Server Hekaton: OLTP en memoria sin perder ACID</title><link>https://fernando.loria.cr/blog/hekaton-vs-redis/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/hekaton-vs-redis/</guid><description>Cómo son las tablas de In-Memory OLTP en SQL Server, comparadas con Redis, y por qué para un equipo .NET suelen ser la opción más simple para el mismo problema.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Cinco algoritmos para entender el aprendizaje supervisado</title><link>https://fernando.loria.cr/blog/machine-learning/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/machine-learning/</guid><description>Regresión lineal, regresión logística, árboles, SVM y k-NN representan cinco maneras de convertir ejemplos etiquetados en predicciones.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate></item><item><title>MCP y API: una interfaz común para usar herramientas</title><link>https://fernando.loria.cr/blog/mcp/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/mcp/</guid><description>Las API ofrecen funcionalidad. MCP estandariza cómo una aplicación de IA descubre y utiliza capacidades expuestas por servidores.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Pagos sin contacto: del acercamiento a la autorización</title><link>https://fernando.loria.cr/blog/pagos-nfc/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/pagos-nfc/</guid><description>NFC transporta un intercambio local; el procesador, la red de tarjetas y el emisor completan la decisión. Autorizar y liquidar son etapas diferentes.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Proxy, balanceador y API gateway: responsabilidades distintas</title><link>https://fernando.loria.cr/blog/proxy-gateway/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/proxy-gateway/</guid><description>Tres intermediarios responden preguntas distintas: quién representa a quién, qué instancia recibe tráfico y qué políticas gobiernan una API.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate></item><item><title>RAG: responder con documentos que el modelo no aprendió</title><link>https://fernando.loria.cr/blog/rag/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/rag/</guid><description>La generación aumentada por recuperación incorpora información relevante al contexto de una consulta sin exigir que el modelo memorice toda la biblioteca.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Rate limiting: de la ventana fija al token bucket distribuido</title><link>https://fernando.loria.cr/blog/rate-limiting/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/rate-limiting/</guid><description>Limitar tráfico exige definir tanto la tasa permitida como las ráfagas tolerables, y mantener coherencia cuando hay varias instancias.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Rust: seguridad de memoria con ownership y préstamos</title><link>https://fernando.loria.cr/blog/rust/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/rust/</guid><description>Rust traslada al compilador buena parte de la comprobación del uso de memoria, manteniendo control de los recursos y compilación a código nativo.</description><pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate></item><item><title>TOTP: por qué el autenticador genera códigos sin Internet</title><link>https://fernando.loria.cr/blog/totp/</link><guid isPermaLink="true">https://fernando.loria.cr/blog/totp/</guid><description>El teléfono y el servidor calculan el mismo código a partir de un secreto compartido y una ventana de tiempo; no necesitan intercambiar cada código generado.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item></channel></rss>