<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
  <title type="text">Blog de KomuraSoft LLC (español)</title>
  <subtitle type="text">Artículos prácticos de KomuraSoft LLC sobre desarrollo web, SEO, Google Ads, desarrollo para Windows, aprovechamiento de sistemas existentes e investigación de fallos.</subtitle>
  <id>https://comcomponent.com/es/feed.xml</id>
  <link rel="alternate" type="text/html" hreflang="ja" href="https://comcomponent.com/blog/"/>
  <link rel="alternate" type="text/html" hreflang="en" href="https://comcomponent.com/en/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ko" href="https://comcomponent.com/ko/blog/"/>
  <link rel="alternate" type="text/html" hreflang="zh-Hant" href="https://comcomponent.com/zh-TW/blog/"/>
  <link rel="alternate" type="text/html" hreflang="zh-Hans" href="https://comcomponent.com/zh-CN/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ar" href="https://comcomponent.com/ar/blog/"/>
  <link rel="alternate" type="text/html" hreflang="fr" href="https://comcomponent.com/fr/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ru" href="https://comcomponent.com/ru/blog/"/>
  <link rel="alternate" type="text/html" hreflang="it" href="https://comcomponent.com/it/blog/"/>
  <link rel="alternate" type="text/html" hreflang="de" href="https://comcomponent.com/de/blog/"/>
  <link rel="alternate" type="text/html" hreflang="es" href="https://comcomponent.com/es/blog/"/>
  <link rel="self" type="application/atom+xml" href="https://comcomponent.com/es/feed.xml"/>
  <updated>2026-07-16T00:00:00+00:00</updated>
  <rights>© 2026 KomuraSoft LLC</rights>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <author>
    <name>小村 豪</name>
    <uri>https://comcomponent.com/es/profile/go-komura/</uri>
  </author>
  
  <entry xml:lang="es">
    <title type="text">¿Qué es la factura digital? ¿En qué se diferencia de enviar un PDF por correo electrónico?</title>
    <id>https://comcomponent.com/es/blog/what-is-digital-invoice-peppol-jp-pint/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/what-is-digital-invoice-peppol-jp-pint/"/>
    <published>2026-07-16T10:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">Una factura digital es un mecanismo que conecta directamente los datos de facturación del sistema del vendedor con el del comprador, sin intervención humana. Este artículo explica con claridad la diferencia con la factura en PDF, la relación con el régimen de facturas cualificadas, el funcionamiento de Peppol y JP PINT, la relación con la ley de conservación de libros electrónicos, y una forma realista de que las pymes empiecen a adoptarla.</summary>
    
    
    
    <category term="Factura digital"/>
    
    <category term="Sistema de facturas"/>
    
    <category term="Peppol"/>
    
    <category term="JP PINT"/>
    
    <category term="Facturación"/>
    
    <category term="Ley de conservación de libros electrónicos"/>
    
    <category term="EDI"/>
    
    <category term="Transacciones B2B"/>
    
    <category term="Eficiencia operativa"/>
    
    <category term="Integración de sistemas"/>
    
    <category term="BtoB"/>
    
    <category term="DX"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Iconos de la bandeja del sistema y notificaciones toast en aplicaciones Windows — los escollos de NotifyIcon y cómo elegir el AppNotification adecuado</title>
    <id>https://comcomponent.com/es/blog/windows-tray-icon-toast-notification-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/windows-tray-icon-toast-notification-guide/"/>
    <published>2026-07-16T09:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">Una guía práctica para mantener una aplicación Windows empresarial residente en la bandeja del sistema (área de notificación) y avisar al usuario mediante notificaciones toast. El artículo aborda el uso correcto de NotifyIcon, el diseño del comportamiento «cerrar hacia la bandeja», el reregistro tras reiniciar el Explorador, una tabla de decisión entre tres API de toast (Windows App SDK AppNotification / Community Toolkit / Windows.UI.Notifications), las restricciones de las aplicaciones no e...</summary>
    
    
    
    <category term="Bandeja del sistema"/>
    
    <category term="NotifyIcon"/>
    
    <category term="Notificaciones toast"/>
    
    <category term="AppNotification"/>
    
    <category term="Windows App SDK"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term="Aplicación residente"/>
    
    <category term="Desarrollo Windows"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Migrar de WordPress a Movable Type — una guía práctica que merece documentarse precisamente por ir «en sentido contrario»</title>
    <id>https://comcomponent.com/es/blog/wordpress-to-movabletype-migration-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/wordpress-to-movabletype-migration-practical-guide/"/>
    <published>2026-07-16T08:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">Una explicación práctica del proceso de migración de WordPress a Movable Type (MovableType.net): los casos en los que la migración tiene sentido, la importación de entradas, páginas e imágenes, el manejo de tipos de contenido personalizados, la conservación del SEO mediante el diseño de URL y las redirecciones 301, y la sustitución de las funciones de los plugins.</summary>
    
    
    
    <category term="Desarrollo web"/>
    
    <category term="Mejora de sitios existentes"/>
    
    <category term="SEO"/>
    
    <category term="CMS"/>
    
    <category term="WordPress"/>
    
    <category term="Movable Type"/>
    
    <category term="Migración de sitios"/>
    
    <category term="Pequeñas y medianas empresas"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">¿Hasta cuándo seguirán funcionando las aplicaciones VB6? — Estado del soporte del runtime y un camino práctico hacia la migración a .NET</title>
    <id>https://comcomponent.com/es/blog/vb6-to-dotnet-migration-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/vb6-to-dotnet-migration-practical-guide/"/>
    <published>2026-07-16T06:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">¿Hasta cuándo seguirán funcionando las aplicaciones VB6? Este artículo aclara la asimetría entre la política de soporte del runtime de VB6 (todavía compatible incluso en Windows 11) y el hecho de que el soporte del IDE ya ha terminado, y a modo de guía práctica trata la tabla de decisión entre reescritura completa, conversión automatizada y migración por etapas, el inventario previo a la migración, las incompatibilidades entre VB6 y .NET, y la elección entre C# y VB.NET.</summary>
    
    
    
    <category term="VB6"/>
    
    <category term=".NET"/>
    
    <category term="C#"/>
    
    <category term="Tecnología heredada"/>
    
    <category term="Reutilización de activos existentes"/>
    
    <category term="Migración"/>
    
    <category term="Modernización"/>
    
    <category term="32 bits"/>
    
    <category term="Desarrollo Windows"/>
    
    <category term="Tabla de decisión"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Cómo trasladar los pedidos por fax a la web ── diseño del periodo de doble operación y migración por etapas</title>
    <id>https://comcomponent.com/es/blog/fax-order-web-transition-staged-migration/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/fax-order-web-transition-staged-migration/"/>
    <published>2026-07-16T04:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">Una guía práctica para migrar los pedidos por fax a pedidos web o a la importación de CSV. Explicamos por qué el paso inmediato y total a la web tiende a fracasar, cómo diseñar el periodo de doble operación entre el fax y la web, cómo preparar los maestros de productos y clientes, la importación de CSV como forma intermedia, y cómo involucrar a los clientes, como pasos de una migración por etapas.</summary>
    
    
    
    <category term="Pedidos por fax"/>
    
    <category term="Pedidos web"/>
    
    <category term="EDI"/>
    
    <category term="Gestión de pedidos"/>
    
    <category term="Eficiencia operativa"/>
    
    <category term="Integración de sistemas"/>
    
    <category term="CSV"/>
    
    <category term="BtoB"/>
    
    <category term="DX"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">¿Qué es el EDI? Cómo facilita los pedidos entre empresas — del fax, el correo electrónico y la introducción manual a la integración de datos</title>
    <id>https://comcomponent.com/es/blog/what-is-edi-business-efficiency/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/what-is-edi-business-efficiency/"/>
    <published>2026-07-16T01:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">El EDI es un mecanismo para intercambiar datos comerciales, como pedidos y facturas, directamente entre los sistemas informáticos de las empresas. Este artículo explica de forma clara en qué se diferencia del fax y el correo electrónico, cómo reduce la introducción manual y los errores de transcripción, y las ventajas de conectar la recepción de pedidos con el inventario, el envío y la facturación.</summary>
    
    
    
    <category term="EDI"/>
    
    <category term="Transacciones entre empresas"/>
    
    <category term="Gestión de pedidos"/>
    
    <category term="Eficiencia operativa"/>
    
    <category term="Integración de sistemas"/>
    
    <category term="BtoB"/>
    
    <category term="Transformación digital"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Era japonesa, festivos y fechas de cierre en aplicaciones empresariales: diseño resiliente a los cambios de era, JapaneseCalendar y cálculo de días hábiles en la práctica</title>
    <id>https://comcomponent.com/es/blog/japanese-calendar-holidays-closing-date-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/japanese-calendar-holidays-closing-date-guide/"/>
    <published>2026-07-11T05:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">Mostrar «Reiwa 8» en un informe, calcular días hábiles excluyendo festivos, pagar al final del mes siguiente tras un cierre el día 20: el tratamiento de fechas propio de las aplicaciones empresariales japonesas arrastra «especificaciones que cambian más adelante»: cambios de era, reformas legales de los festivos y el redondeo de fin de mes. Este artículo repasa el diseño resiliente a los cambios de era mediante JapaneseCalendar para mostrar la era, por qué nunca se deben codificar los festivo...</summary>
    
    
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term="Era japonesa (wareki)"/>
    
    <category term="Festivos"/>
    
    <category term="Fecha de cierre"/>
    
    <category term="Tratamiento de fechas"/>
    
    <category term="Aplicaciones empresariales"/>
    
    <category term="Desarrollo Windows"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Guía práctica de Process Monitor (ProcMon): identifica en 10 minutos por qué «no se lee la configuración» o aparece «ACCESS DENIED»</title>
    <id>https://comcomponent.com/es/blog/procmon-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/procmon-practical-guide/"/>
    <published>2026-07-11T01:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">«Modifiqué el archivo de configuración pero no se refleja», «funcionaba hasta ayer, pero hoy no arranca»: antes de tocar el código fuente, Process Monitor (ProcMon) permite identificar la causa a partir del comportamiento real de acceso a archivos y al registro. Explicamos, desde la perspectiva de la investigación de fallos en el terreno, el uso práctico de los filtros, cómo interpretar NAME NOT FOUND, ACCESS DENIED y SHARING VIOLATION, los patrones habituales de investigación, las precaucion...</summary>
    
    
    
    <category term="Process Monitor"/>
    
    <category term="Sysinternals"/>
    
    <category term="Investigación de fallos"/>
    
    <category term="Depuración"/>
    
    <category term="Resolución de problemas"/>
    
    <category term="Desarrollo de Windows"/>
    
    <category term="Operaciones"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Cuándo no conviene migrar una aplicación de Windows a la Web: una tabla de decisión y la solución realista de la &quot;división&quot;</title>
    <id>https://comcomponent.com/es/blog/windows-app-web-migration-decision/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/windows-app-web-migration-decision/"/>
    <published>2026-07-10T01:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Cada vez son más las solicitudes para migrar aplicaciones Windows de uso interno a la Web, pero en aplicaciones con integración de dispositivos, procesamiento de archivos locales, operación sin conexión o interfaces de entrada rápida de datos, la migración a la Web puede aumentar los costos y degradar la funcionalidad. Desde la perspectiva práctica del desarrollo Windows por encargo, este artículo organiza una tabla de decisión sobre los casos adecuados y no adecuados para la migración a la W...</summary>
    
    
    
    <category term="Desarrollo Windows"/>
    
    <category term="Migración a la Web"/>
    
    <category term="Modernización"/>
    
    <category term="Aplicaciones Empresariales"/>
    
    <category term="Tabla de Decisión"/>
    
    <category term="Diseño"/>
    
    <category term="Consultoría Técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Internacionalización de aplicaciones WinForms/WPF: la práctica de resx, ensamblados satélite y cambio de cultura</title>
    <id>https://comcomponent.com/es/blog/winforms-wpf-localization-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/winforms-wpf-localization-guide/"/>
    <published>2026-07-07T03:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Organizamos desde una perspectiva práctica la internacionalización de aplicaciones de escritorio Windows: la diferencia entre CurrentCulture y CurrentUICulture, el mecanismo de recursos mediante resx y ensamblados satélite, la propiedad Localizable de WinForms, la elección realista de método en WPF, el cambio de idioma en tiempo de ejecución, y hasta el diseño, el formato y el soporte RTL.</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="Internacionalización"/>
    
    <category term="Localización"/>
    
    <category term="Recursos"/>
    
    <category term="UI"/>
    
    <category term="Desarrollo de Windows"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">El CSV no es «solo texto plano»: guía práctica del manejo de CSV en aplicaciones empresariales con C# (codificación de caracteres, compatibilidad con Excel, protección contra inyección)</title>
    <id>https://comcomponent.com/es/blog/csv-file-handling-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/csv-file-handling-practical-guide/"/>
    <published>2026-07-07T02:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Repasamos los patrones típicos de incidentes en la entrada/salida de CSV en aplicaciones empresariales -el parseo casero con Split(&apos;,&apos;), la corrupción de caracteres en Excel por UTF-8 sin BOM, la pérdida de ceros iniciales y la inyección CSV- junto con las reglas de RFC 4180, el manejo de Shift_JIS en .NET (CodePagesEncodingProvider) y la lectura segura con TextFieldParser, todo desde una perspectiva práctica.</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="CSV"/>
    
    <category term="Excel"/>
    
    <category term="Codificación de caracteres"/>
    
    <category term="Integración de archivos"/>
    
    <category term="Desarrollo Windows"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">No envuelvas HttpClient en un using ── Comunicación HTTP en aplicaciones de negocio C# (patrones de creación, tiempos de espera y reintentos)</title>
    <id>https://comcomponent.com/es/blog/csharp-httpclient-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/csharp-httpclient-practical-guide/"/>
    <published>2026-07-07T01:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Crear HttpClient con using en cada solicitud agota los sockets, y convertirlo en static hace que no siga los cambios de DNS. Explicamos el mecanismo de estos dos problemas y repasamos, desde la perspectiva práctica de las aplicaciones de negocio Windows, el patrón de creación correcto con PooledConnectionLifetime e IHttpClientFactory, el diseño de tiempos de espera y los reintentos con Microsoft.Extensions.Http.Resilience.</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="HttpClient"/>
    
    <category term="IHttpClientFactory"/>
    
    <category term="Redes"/>
    
    <category term="async/await"/>
    
    <category term="Desarrollo Windows"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Identificar qué es «lento» con PerfView y dotnet-trace — introducción práctica a la investigación de rendimiento en .NET</title>
    <id>https://comcomponent.com/es/blog/perfview-dotnet-trace-performance-analysis/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/perfview-dotnet-trace-performance-analysis/"/>
    <published>2026-07-04T14:30:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Qué herramientas y datos conviene mirar cuando una aplicación de negocio va lenta, mantiene la CPU al máximo o se queda congelada ocasionalmente. Organizamos las funciones de PerfView y dotnet-trace, cómo leer muestreo de CPU (inclusive/exclusive), cómo investigar tiempo bloqueado con ThreadTime y cómo combinarlo con eventos propios de EventSource.</summary>
    
    
    
    <category term="PerfView"/>
    
    <category term="dotnet-trace"/>
    
    <category term="ETW"/>
    
    <category term="Investigación de rendimiento"/>
    
    <category term=".NET"/>
    
    <category term="CSharp"/>
    
    <category term="Investigación de fallos"/>
    
    <category term="Desarrollo de Windows"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Google Ads con un presupuesto reducido para BtoB — Diseño y rutina semanal para obtener resultados con varias decenas de miles de yenes al mes</title>
    <id>https://comcomponent.com/es/blog/google-ads-small-budget-btob/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/google-ads-small-budget-btob/"/>
    <published>2026-07-04T14:20:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Guía práctica para empresas BtoB que quieren empezar con Google Ads con un presupuesto mensual de varias decenas de miles de yenes. Explica el presupuesto diario medio y el límite de facturación, la medición de conversiones, la concentración en palabras clave de alta intención, la rutina semanal de términos de búsqueda y palabras clave negativas, y la elección de la estrategia de puja basándose en la información oficial de Google.</summary>
    
    
    
    <category term="Google Ads"/>
    
    <category term="Gestión de Google Ads"/>
    
    <category term="Captación mediante búsquedas"/>
    
    <category term="SEO"/>
    
    <category term="Marketing B2B"/>
    
    <category term="Desarrollo web"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Hacer que un sitio aparezca en búsquedas por nombre de zona — Guía práctica de SEO local para pymes (páginas de área y Perfil de Empresa de Google)</title>
    <id>https://comcomponent.com/es/blog/local-seo-guide-sme/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/local-seo-guide-sme/"/>
    <published>2026-07-04T14:10:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Para pymes que no aparecen al buscar «nombre de zona + sector», organizamos el orden de las correcciones de SEO local: preparación del Perfil de Empresa de Google, unificación de la información NAP, diseño de páginas de área, base del sitio y medición con Search Console, todo ello basado en la información oficial de Google.</summary>
    
    
    
    <category term="Desarrollo web"/>
    
    <category term="SEO"/>
    
    <category term="SEO local"/>
    
    <category term="Perfil de Empresa de Google"/>
    
    <category term="Captación mediante búsquedas"/>
    
    <category term="Pymes"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Introducción al registro de eventos de Windows y ETW — llevar los registros de aplicaciones de negocio al mecanismo estándar del sistema operativo</title>
    <id>https://comcomponent.com/es/blog/windows-eventlog-etw-structured-logging/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/windows-eventlog-etw-structured-logging/"/>
    <published>2026-07-04T14:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">¿Está resolviendo el registro de una aplicación de negocio Windows solo con archivos? El registro de eventos y ETW son una capa distinta, visible para operaciones y herramientas estándar del sistema operativo. Explicamos cuándo usar cada una de tres opciones, cómo escribir desde .NET, instrumentación ETW con EventSource, recogida e investigación, y problemas como fuentes no registradas o crecimiento de registros.</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="Registro de eventos"/>
    
    <category term="ETW"/>
    
    <category term="EventSource"/>
    
    <category term="Diseño de registros"/>
    
    <category term="Investigación de fallos"/>
    
    <category term="Desarrollo de Windows"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">No solo appsettings.json — gestión práctica de configuración en aplicaciones de negocio Windows (entornos, secretos y ubicaciones de escritura)</title>
    <id>https://comcomponent.com/es/blog/dotnet-configuration-management-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/dotnet-configuration-management-guide/"/>
    <published>2026-07-04T13:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Organizamos la gestión de configuración de aplicaciones de negocio Windows: capas de appsettings.json, uso de IConfiguration e IOptions/IOptionsSnapshot/IOptionsMonitor, configuración por entorno, ubicación de ajustes escribibles, secretos, cambios durante la ejecución y migración desde app.config.</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="appsettings.json"/>
    
    <category term="IConfiguration"/>
    
    <category term="IOptions"/>
    
    <category term="Generic Host"/>
    
    <category term="Gestión de configuración"/>
    
    <category term="Desarrollo de Windows"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Por qué KomuraSoft crea sitios web con el sistema de diseño de la Agencia Digital de Japón — El bajo coste y la calidad pueden coexistir</title>
    <id>https://comcomponent.com/es/blog/digital-agency-design-system-website-development/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/digital-agency-design-system-website-development/"/>
    <published>2026-07-04T12:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Explicamos por qué la producción de sitios web de KomuraSoft se apoya en el sistema de diseño publicado por la Agencia Digital de Japón: cómo la estandarización de la fase de diseño reduce los costes, por qué también estabiliza la calidad y en qué casos no es adecuada.</summary>
    
    
    
    <category term="Desarrollo web"/>
    
    <category term="Sistema de diseño"/>
    
    <category term="Estandarización del diseño"/>
    
    <category term="Accesibilidad"/>
    
    <category term="Costes"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Aumentar las consultas en un sitio BtoB — Mapa completo del orden de las correcciones, desde la captación hasta el formulario</title>
    <id>https://comcomponent.com/es/blog/btob-website-lead-generation-roadmap/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/btob-website-lead-generation-roadmap/"/>
    <published>2026-07-04T12:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Cuando las consultas de un sitio BtoB se estancan, muchas empresas empiezan por la captación, SEO y publicidad. Sin embargo, el orden que realmente funciona es identificar el cuello de botella mediante medición, preparar las páginas de servicio que reciben la visita, corregir el recorrido como el formulario y añadir al final la captación. Este artículo organiza como un mapa los artículos sobre diseño de páginas de servicio, mejora del recorrido de consulta, entrega de correo, chatbots, SEO, p...</summary>
    
    
    
    <category term="Desarrollo web"/>
    
    <category term="SEO"/>
    
    <category term="Mejora del recorrido de consulta"/>
    
    <category term="Diseño de páginas de servicio"/>
    
    <category term="Enlaces internos"/>
    
    <category term="B2B técnico"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Impresión y salida PDF en aplicaciones empresariales Windows — cómo elegir System.Drawing.Printing / WPF / bibliotecas de informes</title>
    <id>https://comcomponent.com/es/blog/windows-app-printing-pdf-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/windows-app-printing-pdf-guide/"/>
    <published>2026-07-04T11:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Organiza la impresión WinForms con PrintDocument, la impresión WPF con FlowDocument/FixedDocument y las alternativas de salida PDF en una tabla de decisión según los requisitos. Explica, desde una perspectiva práctica, trampas de implementación como el control de saltos de página y los desajustes de DPI, la impresión desde servicios Windows y el riesgo de depender de la impresora predeterminada.</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="Impresión"/>
    
    <category term="PDF"/>
    
    <category term="Informes"/>
    
    <category term="Desarrollo de Windows"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Caso de estudio de renovación de sitio web: Douzu Carry Service, empresa de transporte de Miyazaki — qué conservamos del sitio antiguo y cómo</title>
    <id>https://comcomponent.com/es/blog/case-study-douzucarry-site-renewal/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/case-study-douzucarry-site-renewal/"/>
    <published>2026-07-04T10:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">Un caso real de renovación de sitio web para Douzu Carry Service, empresa de transporte de Miyazaki: cómo realizamos un inventario completo de URL, diseñamos las redirecciones 301 y ejecutamos una verificación de retención de contenido antes de tocar el diseño.</summary>
    
    
    
    <category term="Desarrollo web"/>
    
    <category term="SEO"/>
    
    <category term="Mejora de sitio existente"/>
    
    <category term="Renovación del sitio"/>
    
    <category term="Caso de estudio"/>
    
    <category term="SEO local"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Costes de producción de sitios web para pymes — tabla rápida de precios y cómo interpretar un presupuesto</title>
    <id>https://comcomponent.com/es/blog/website-development-cost-guide-sme/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/website-development-cost-guide-sme/"/>
    <published>2026-07-04T09:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Organizamos los precios orientativos por objetivo y escala que una pyme conviene conocer antes de solicitar un presupuesto de producción web, cómo leer las partidas del presupuesto y qué se puede y no se puede esperar de cada rango de precios.</summary>
    
    
    
    <category term="Desarrollo web"/>
    
    <category term="SEO"/>
    
    <category term="Mejora de sitios"/>
    
    <category term="Pymes"/>
    
    <category term="Precios habituales"/>
    
    <category term="Presupuestos"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Entender de verdad el modelo OSI — diseccionar una única petición HTTP en sus siete capas</title>
    <id>https://comcomponent.com/es/blog/osi-model-packet-anatomy/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/osi-model-packet-anatomy/"/>
    <published>2026-07-04T07:30:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">Entendemos el modelo OSI a través de la práctica real en lugar de la memorización. Ensamblamos y diseccionamos en C# la trama Ethernet que transporta una única petición HTTP GET, y confirmamos con un volcado hexadecimal y Wireshark cómo las capas L2 a L7 están físicamente anidadas como una secuencia de bytes. Cubrimos la correspondencia entre cada capa y las API de .NET (HttpClient / SslStream / Socket), la resolución de problemas usando el vocabulario de capas, y la corrección de conceptos e...</summary>
    
    
    
    <category term="Modelo OSI"/>
    
    <category term="TCP/IP"/>
    
    <category term="Redes"/>
    
    <category term="Wireshark"/>
    
    <category term="Ethernet"/>
    
    <category term="TCP"/>
    
    <category term="HTTP"/>
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term="Socket"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Cómo entender el aislamiento de sesiones de Windows — Session 0, RDP y la ejecución simultánea de varios usuarios</title>
    <id>https://comcomponent.com/es/blog/windows-session-rdp-multiuser-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/windows-session-rdp-multiuser-guide/"/>
    <published>2026-07-04T06:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">Este artículo desentraña el concepto de «sesión» de Windows, un tema que confunde constantemente a los desarrolladores de aplicaciones Windows. Explica por qué existe el aislamiento Session 0 (y por qué los servicios no pueden mostrar interfaz de usuario), cómo se comportan las sesiones en las conexiones RDP, los espacios de nombres por sesión de los objetos con nombre, y los errores de diseño habituales en PC compartidos y entornos RDS.</summary>
    
    
    
    <category term="Session 0"/>
    
    <category term="Aislamiento de sesiones"/>
    
    <category term="RDP"/>
    
    <category term="Escritorio remoto"/>
    
    <category term="Servicios de Windows"/>
    
    <category term="Multiusuario"/>
    
    <category term="Windows"/>
    
    <category term=".NET"/>
    
    <category term="C#"/>
    
    <category term="Arquitectura"/>
    
    <category term="Consultoría técnica"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Fable ha dejado de estar disponible, pero no toca rendirse ── Aguantar con OpenRouter Fusion＋LLM chinos＋una capa de revisión</title>
    <id>https://comcomponent.com/es/blog/2026/06/14/000-opencode-fusion-chinese-llms/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/2026/06/14/000-opencode-fusion-chinese-llms/"/>
    <published>2026-06-14T00:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Ni de lejos se acerca a Fable. Pero combinando cinco LLM chinos con OpenRouter Fusion y añadiendo encima una revisión de gpt-5.5-pro o una revisión de PR de Codex, se obtiene un agente de programación bastante mejor que el gpt-5.5 a secas.</summary>
    
    
    
    <category term="AI"/>
    
    <category term="LLM"/>
    
    <category term="OpenRouter"/>
    
    <category term="Claude"/>
    
    <category term="ChatGPT"/>
    
    <category term="DeepSeek"/>
    
    <category term="Ingeniería de prompts"/>
    
    <category term="Eficiencia de desarrollo"/>
    
    <category term="Presentación de herramientas"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Introducción a la verificación formal con SPARK ── De los contratos de Ada a la demostración matemática</title>
    <id>https://comcomponent.com/es/blog/ada-spark-formal-verification/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/ada-spark-formal-verification/"/>
    <published>2026-06-13T00:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Una introducción práctica a la verificación formal con SPARK, el subconjunto de Ada. El artículo aborda cómo pasar de los contratos (Pre/Post) a la demostración, el uso de GNATprove, los invariantes de bucle, los contratos de flujo de datos, los niveles de demostración y su aplicación en proyectos reales.</summary>
    
    
    
    <category term="Ada"/>
    
    <category term="SPARK"/>
    
    <category term="Verificación Formal"/>
    
    <category term="GNATprove"/>
    
    <category term="Diseño por Contrato"/>
    
    <category term="Alta Integridad"/>
    
    <category term="Lenguaje de Programación"/>
    
    <category term="Alta Fiabilidad"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Externalización y desarrollo por encargo de una app Windows: qué aclarar antes de solicitarlo</title>
    <id>https://comcomponent.com/es/blog/2026/06/09/004-windows-app-contract-development-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/2026/06/09/004-windows-app-contract-development-guide/"/>
    <published>2026-06-09T09:30:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Antes de encargar la externalización o el desarrollo por encargo de una app Windows, estos son los puntos a aclarar: revisión de software existente, integración de dispositivos, COM/ActiveX, distribución/actualizaciones y mantenimiento.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Desarrollo Windows"/>
    
    <category term="Aplicación Windows"/>
    
    <category term="Desarrollo por encargo"/>
    
    <category term="Externalización"/>
    
    <category term="Aplicación de negocio"/>
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="WinUI"/>
    
    <category term="COM"/>
    
    <category term="ActiveX"/>
    
    <category term="Reutilización de activos existentes"/>
    
    <category term="Integración de dispositivos"/>
    
    <category term="Distribución"/>
    
    <category term="Mantenimiento"/>
    
    <category term="Investigación de errores"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">El extraño amor de un desarrollador, o: cómo aprendí a dejar de preocuparme y amar Windows</title>
    <id>https://comcomponent.com/es/blog/2026/06/02/003-windows-love-technical-essay/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/2026/06/02/003-windows-love-technical-essay/"/>
    <published>2026-06-01T15:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Windows es incómodo. Pero esa incomodidad es también la de un sistema operativo que lleva décadas cargando sobre sus espaldas el trabajo real.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Desarrollo Windows"/>
    
    <category term="Retrocompatibilidad"/>
    
    <category term="COM"/>
    
    <category term="ActiveX"/>
    
    <category term="QA"/>
    
    <category term="Filosofía"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Aplicación de scripts PowerShell — automatizar de forma segura la investigación de logs, el archivado y la generación de informes</title>
    <id>https://comcomponent.com/es/blog/2026/06/02/000-powershell-script-log-maintenance-automation/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/2026/06/02/000-powershell-script-log-maintenance-automation/"/>
    <published>2026-06-01T15:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">Organizamos los pasos prácticos para avanzar de forma segura, con scripts de PowerShell, desde la investigación de logs, los informes en CSV y el archivado de logs antiguos hasta la conservación de evidencias y la ejecución mediante el Programador de tareas.</summary>
    
    
    
    <category term="PowerShell"/>
    
    <category term="Windows"/>
    
    <category term="Automatización"/>
    
    <category term="Investigación de logs"/>
    
    <category term="Mejora operativa"/>
    
    <category term="Aprovechamiento de activos existentes"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="es">
    <title type="text">Qué es el modo de eficiencia de Windows — el icono de hoja verde y cómo desactivarlo</title>
    <id>https://comcomponent.com/es/blog/2026/04/13/002-windows-efficiency-mode-what-it-is-and-how-to-turn-off/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/es/blog/2026/04/13/002-windows-efficiency-mode-what-it-is-and-how-to-turn-off/"/>
    <published>2026-04-13T01:00:00+00:00</published>
    <updated>2026-07-13T00:00:00+00:00</updated>
    
    <summary type="text">Explicamos qué significa el modo de eficiencia que aparece en el Administrador de tareas de Windows 11, cómo interpretar el icono de hoja verde, cómo desactivarlo, cómo reducir al mínimo el modo de eficiencia en todos los procesos mediante el Registro o el modo de energía, cuándo no se puede desactivar y en qué se diferencia de la función de ahorro de energía de Microsoft Edge.</summary>
    
    
    
    <category term="Windows 11"/>
    
    <category term="Administrador de tareas"/>
    
    <category term="Modo de eficiencia"/>
    
    <category term="Rendimiento"/>
    
    <category term="Ahorro de energía"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
</feed>
