<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vichea Nath</title>
    <link>https://vicheanath.github.io</link>
    <description>Original software notes on .NET, React, architecture, and side projects by Vichea Nath.</description>
    <language>en-us</language>
    <lastBuildDate>Wed, 12 Aug 2026 20:00:40 GMT</lastBuildDate>
    <atom:link href="https://vicheanath.github.io/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Composition Over Inheritance: Refactoring a .NET Class Hierarchy</title>
      <link>https://vicheanath.github.io/post/composition-over-inheritance-dotnet/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/composition-over-inheritance-dotnet/</guid>
      <pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate>
      <description>A realistic inheritance hierarchy that rots under new requirements, and a step-by-step refactor into composed behaviours that stay easy to change and test.</description>
      <category>.NET</category>
      <category>Architecture</category>
      <category>Refactoring</category>
    </item>
    <item>
      <title>Building Reliable ASP.NET Core APIs</title>
      <link>https://vicheanath.github.io/post/building-reliable-aspnet-core-apis/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/building-reliable-aspnet-core-apis/</guid>
      <pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate>
      <description>A practical guide to building ASP.NET Core APIs that stay predictable under load, handle failures well, and remain easy to change.</description>
      <category>ASP.NET Core</category>
      <category>APIs</category>
      <category>Reliability</category>
    </item>
    <item>
      <title>Async and Await Best Practices in .NET</title>
      <link>https://vicheanath.github.io/post/async-await-best-practices-dotnet/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/async-await-best-practices-dotnet/</guid>
      <pubDate>Sun, 09 Mar 2025 00:00:00 GMT</pubDate>
      <description>How to use async and await in .NET without creating hidden deadlocks, thread starvation, or unnecessarily complicated code.</description>
      <category>.NET</category>
      <category>Async</category>
      <category>Performance</category>
    </item>
    <item>
      <title>EF Core Performance Checklist for Production</title>
      <link>https://vicheanath.github.io/post/ef-core-performance-checklist/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/ef-core-performance-checklist/</guid>
      <pubDate>Sat, 08 Mar 2025 00:00:00 GMT</pubDate>
      <description>A practical EF Core checklist for reducing slow queries, oversized object graphs, and unnecessary database work in production systems.</description>
      <category>EF Core</category>
      <category>Performance</category>
      <category>Databases</category>
    </item>
    <item>
      <title>A Testing Strategy for .NET Teams</title>
      <link>https://vicheanath.github.io/post/testing-strategy-dotnet-teams/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/testing-strategy-dotnet-teams/</guid>
      <pubDate>Fri, 07 Mar 2025 00:00:00 GMT</pubDate>
      <description>How to balance unit, integration, and end-to-end tests in .NET so teams catch regressions without creating a brittle test suite.</description>
      <category>.NET</category>
      <category>Testing</category>
      <category>Team Practices</category>
    </item>
    <item>
      <title>Background Jobs in .NET with Hosted Services</title>
      <link>https://vicheanath.github.io/post/background-jobs-dotnet-hosted-services/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/background-jobs-dotnet-hosted-services/</guid>
      <pubDate>Thu, 06 Mar 2025 00:00:00 GMT</pubDate>
      <description>How to implement background processing in .NET with hosted services without turning your web app into an unreliable job runner.</description>
      <category>.NET</category>
      <category>Background Jobs</category>
      <category>Reliability</category>
    </item>
    <item>
      <title>When a Modular Monolith Beats Microservices in .NET</title>
      <link>https://vicheanath.github.io/post/modular-monolith-dotnet/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/modular-monolith-dotnet/</guid>
      <pubDate>Wed, 05 Mar 2025 00:00:00 GMT</pubDate>
      <description>Why many .NET teams move faster with a modular monolith first, and how to structure modules so the codebase stays clean as the product grows.</description>
      <category>.NET</category>
      <category>Architecture</category>
      <category>Modular Monolith</category>
    </item>
    <item>
      <title>Observability in .NET with OpenTelemetry</title>
      <link>https://vicheanath.github.io/post/observability-dotnet-opentelemetry/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/observability-dotnet-opentelemetry/</guid>
      <pubDate>Tue, 04 Mar 2025 00:00:00 GMT</pubDate>
      <description>How to make .NET services easier to operate with logs, metrics, and traces that explain what the system is doing under real production load.</description>
      <category>.NET</category>
      <category>Observability</category>
      <category>OpenTelemetry</category>
    </item>
    <item>
      <title>Securing ASP.NET Core APIs with Authentication and Authorization</title>
      <link>https://vicheanath.github.io/post/secure-aspnet-core-authentication-authorization/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/secure-aspnet-core-authentication-authorization/</guid>
      <pubDate>Mon, 03 Mar 2025 00:00:00 GMT</pubDate>
      <description>A practical approach to securing ASP.NET Core APIs with clear identity boundaries, policy-based authorization, and safer defaults.</description>
      <category>ASP.NET Core</category>
      <category>Security</category>
      <category>APIs</category>
    </item>
    <item>
      <title>Caching Strategies for High-Traffic .NET Applications</title>
      <link>https://vicheanath.github.io/post/caching-strategies-dotnet/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/caching-strategies-dotnet/</guid>
      <pubDate>Sun, 02 Mar 2025 00:00:00 GMT</pubDate>
      <description>How to use in-memory and distributed caching in .NET without serving stale data blindly or hiding deeper design problems.</description>
      <category>.NET</category>
      <category>Caching</category>
      <category>Performance</category>
    </item>
    <item>
      <title>Refactoring Legacy .NET Systems Without Stopping Delivery</title>
      <link>https://vicheanath.github.io/post/refactoring-legacy-dotnet-systems/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/refactoring-legacy-dotnet-systems/</guid>
      <pubDate>Sat, 01 Mar 2025 00:00:00 GMT</pubDate>
      <description>A pragmatic approach to improving legacy .NET systems while still shipping features, reducing risk through seams, tests, and incremental change.</description>
      <category>.NET</category>
      <category>Refactoring</category>
      <category>Legacy Code</category>
    </item>
    <item>
      <title>Domain-Driven Design and Clean Architecture in .NET Core</title>
      <link>https://vicheanath.github.io/post/ddd-clean-architecture-dotnet-core/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/ddd-clean-architecture-dotnet-core/</guid>
      <pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate>
      <description>A deep dive into DDD tactical patterns, Clean Architecture layers, and how to implement them in .NET Core with a clear dependency rule.</description>
      <category>.NET</category>
      <category>DDD</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>DDD, CQRS, and Vertical Slice Architecture</title>
      <link>https://vicheanath.github.io/post/ddd-cqrs-vertical-slice-architecture/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/ddd-cqrs-vertical-slice-architecture/</guid>
      <pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate>
      <description>Low-context structure for features: one slice per use case, CQRS, and a thin domain. Easy for humans and AI to navigate and implement.</description>
      <category>DDD</category>
      <category>CQRS</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>CQRS in .NET Core with Clean Architecture</title>
      <link>https://vicheanath.github.io/post/cqrs-dotnet-clean-architecture/</link>
      <guid isPermaLink="true">https://vicheanath.github.io/post/cqrs-dotnet-clean-architecture/</guid>
      <pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate>
      <description>A deep dive into CQRS: when to use it, how to implement commands and queries, read models, and how it fits with DDD and Clean Architecture.</description>
      <category>.NET</category>
      <category>CQRS</category>
      <category>Architecture</category>
    </item>
  </channel>
</rss>
