<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>dotnethow articles</title>
    <link>https://dotnethow.net/articles</link>
    <atom:link href="https://dotnethow.net/feed.xml" rel="self" type="application/rss+xml" />
    <description>Practical articles and tutorials on C#, ASP.NET Core, Entity Framework, Blazor, Git and DevOps by Ervis Trupja.</description>
    <language>en</language>
    <lastBuildDate>Sun, 30 Aug 2026 18:11:22 GMT</lastBuildDate>
    <item>
      <title>Stop Using SQL Server: PostgreSQL Is the Real Default Now</title>
      <link>https://dotnethow.net/articles/postgresql-is-the-real-default-now</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/postgresql-is-the-real-default-now</guid>
      <pubDate>Wed, 03 Jun 2026 12:00:00 GMT</pubDate>
      <category>.NET</category>
      <description>SQL Server used to be the automatic choice for .NET apps. Here is why PostgreSQL has quietly become the real default for new projects, and what that means for EF Core developers.</description>
      <enclosure url="https://dotnethow.net/images/articles/postgresql-is-the-real-default-now.png" type="image/png" length="0" />
    </item>
    <item>
      <title>Custom Domains for Your SaaS with Caddy On-Demand TLS and ASP.NET Core</title>
      <link>https://dotnethow.net/articles/custom-domains-with-caddy-on-demand-tls</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/custom-domains-with-caddy-on-demand-tls</guid>
      <pubDate>Fri, 22 May 2026 12:00:00 GMT</pubDate>
      <category>ASP.NET Core</category>
      <description>A complete guide to supporting custom domains in your SaaS using Caddy on-demand TLS, an ask endpoint, and ASP.NET Core middleware for Host header resolution.</description>
      <enclosure url="https://dotnethow.net/images/articles/custom-domains-with-caddy-on-demand-tls.png" type="image/png" length="0" />
    </item>
    <item>
      <title>5 Essential C# Videos for Beginners</title>
      <link>https://dotnethow.net/articles/5-csharp-videos-for-beginners</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/5-csharp-videos-for-beginners</guid>
      <pubDate>Thu, 25 Dec 2025 12:00:00 GMT</pubDate>
      <category>C#</category>
      <description>Watch these 5 videos to master the basics of C# programming, from environment setup to variables and data types.</description>
      <enclosure url="https://dotnethow.net/images/articles/csharp-100concepts-100minutes/01-05.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Exception Handling in .NET</title>
      <link>https://dotnethow.net/articles/exception-handling-in-net</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/exception-handling-in-net</guid>
      <pubDate>Sat, 06 Dec 2025 12:00:00 GMT</pubDate>
      <category>.NET</category>
      <description>Master exception handling in .NET. Learn about try-catch blocks, common exception types, and how to create custom exceptions.</description>
      <enclosure url="https://dotnethow.net/images/articles/exception-handling-article.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Implementing Health Checks in .NET Applications</title>
      <link>https://dotnethow.net/articles/implementing-health-checks-in-net-applications</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/implementing-health-checks-in-net-applications</guid>
      <pubDate>Sat, 05 Jul 2025 12:00:00 GMT</pubDate>
      <category>.NET</category>
      <description>Learn how to implement health checks in .NET applications to monitor the status of your application and its dependencies.</description>
      <enclosure url="https://dotnethow.net/images/articles/health-checks-in-dotnet.webp" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Containerizing Your .NET Application with Docker</title>
      <link>https://dotnethow.net/articles/containerizing-your-dotnet-application-with-docker</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/containerizing-your-dotnet-application-with-docker</guid>
      <pubDate>Sun, 29 Jun 2025 12:00:00 GMT</pubDate>
      <category>DevOps</category>
      <description>Learn how to containerize your .NET application with Docker to improve consistency, scalability, and deployment.</description>
      <enclosure url="https://dotnethow.net/images/articles/containerizing-your-dotnet-application-with-docker.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Building Background Services with IHostedService in .NET</title>
      <link>https://dotnethow.net/articles/building-background-services-with-ihostedservice-in-net</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/building-background-services-with-ihostedservice-in-net</guid>
      <pubDate>Sun, 29 Jun 2025 12:00:00 GMT</pubDate>
      <category>.NET</category>
      <description>Learn how to implement background tasks in .NET using IHostedService and BackgroundService.</description>
      <enclosure url="https://dotnethow.net/images/articles/building-background-services-with-ihostedservice-in-dotnet.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Understanding and Customizing the ASP.NET Core Middleware Pipeline</title>
      <link>https://dotnethow.net/articles/understanding-and-customizing-the-aspnet-core-middleware-pipeline</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/understanding-and-customizing-the-aspnet-core-middleware-pipeline</guid>
      <pubDate>Sun, 29 Jun 2025 12:00:00 GMT</pubDate>
      <category>ASP.NET Core</category>
      <description>Deep dive into the ASP.NET Core Middleware pipeline. Learn how it works and how to create custom middleware.</description>
      <enclosure url="https://dotnethow.net/images/articles/understanding-and-customizing-the-aspnet-core-middleware-pipeline.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Error: The antiforgery token could not be decrypted</title>
      <link>https://dotnethow.net/articles/error-the-antiforgery-token-could-not-be-decrypted</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/error-the-antiforgery-token-could-not-be-decrypted</guid>
      <pubDate>Sat, 28 Jun 2025 12:00:00 GMT</pubDate>
      <category>ASP.NET Core</category>
      <description>Learn how to fix the &quot;The antiforgery token could not be decrypted&quot; error in ASP.NET Core.</description>
      <enclosure url="https://dotnethow.net/images/articles/antiforgery-token-could-not-be-decrypted-error.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Ultimate Git Cheat Sheet</title>
      <link>https://dotnethow.net/articles/ultimate-git-cheat-sheet</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/ultimate-git-cheat-sheet</guid>
      <pubDate>Sat, 28 Jun 2025 12:00:00 GMT</pubDate>
      <category>Git</category>
      <description>A comprehensive Git cheat sheet covering essential commands for version control.</description>
      <enclosure url="https://dotnethow.net/images/articles/git-cheat-sheet.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>9 Essential JavaScript Methods You Should Know</title>
      <link>https://dotnethow.net/articles/9-essential-javascript-methods-you-should-know</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/9-essential-javascript-methods-you-should-know</guid>
      <pubDate>Fri, 27 Jun 2025 12:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <description>A guide to 9 essential JavaScript array methods that every developer should know.</description>
      <enclosure url="https://dotnethow.net/images/articles/essential-javascript-methods-you-should-know.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Predicate vs Func in C#</title>
      <link>https://dotnethow.net/articles/predicate-vs-func-in-csharp</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/predicate-vs-func-in-csharp</guid>
      <pubDate>Thu, 26 Jun 2025 12:00:00 GMT</pubDate>
      <category>C#</category>
      <description>Learn the differences between Predicate and Func delegates in C# and when to use each.</description>
      <enclosure url="https://dotnethow.net/images/articles/predicate-vs-func-in-csharp.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Setting up Git on Your Local Machine</title>
      <link>https://dotnethow.net/articles/setting-up-git-on-your-local-machine</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/setting-up-git-on-your-local-machine</guid>
      <pubDate>Thu, 26 Jun 2025 12:00:00 GMT</pubDate>
      <category>Git</category>
      <description>A step-by-step guide to installing and configuring Git on Windows, Mac, and Linux.</description>
      <enclosure url="https://dotnethow.net/images/articles/setting-up-git-on-your-local-machine.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Static vs Non-Static Classes in C#</title>
      <link>https://dotnethow.net/articles/static-vs-non-static-classes-in-csharp</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/static-vs-non-static-classes-in-csharp</guid>
      <pubDate>Wed, 25 Jun 2025 12:00:00 GMT</pubDate>
      <category>C#</category>
      <description>Understand the key differences between static and non-static classes in C#.</description>
      <enclosure url="https://dotnethow.net/images/articles/static-vs-non-static-classes-in-csharp.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Configuring Entity Framework in .NET Web API</title>
      <link>https://dotnethow.net/articles/configuring-entity-framework-in-net-web-api</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/configuring-entity-framework-in-net-web-api</guid>
      <pubDate>Tue, 24 Jun 2025 12:00:00 GMT</pubDate>
      <category>ASP.NET Core</category>
      <description>A step-by-step guide to configuring Entity Framework Core in a .NET Web API project.</description>
      <enclosure url="https://dotnethow.net/images/articles/configuring-entity-framework-in-dotnet-web-api.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Singleton vs Scoped vs Transient Service Lifetime</title>
      <link>https://dotnethow.net/articles/singleton-vs-scoped-vs-transient-service-lifetime</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/singleton-vs-scoped-vs-transient-service-lifetime</guid>
      <pubDate>Tue, 24 Jun 2025 12:00:00 GMT</pubDate>
      <category>.NET</category>
      <description>Understanding the different service lifetimes in .NET Dependency Injection.</description>
      <enclosure url="https://dotnethow.net/images/articles/singleton-scoped-transient-service-lifetimes-in-dotnet.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>The Benefits of Using Generic Classes and Methods in C#</title>
      <link>https://dotnethow.net/articles/benefits-of-using-generic-classes-and-methods-in-csharp</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/benefits-of-using-generic-classes-and-methods-in-csharp</guid>
      <pubDate>Mon, 23 Jun 2025 12:00:00 GMT</pubDate>
      <category>C#</category>
      <description>Explore how generics in C# improve code reusability, type safety, and performance.</description>
      <enclosure url="https://dotnethow.net/images/articles/benefits-of-using-generic-classes-and-methods-in-csharp.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>The Importance of Lists in C# Programming</title>
      <link>https://dotnethow.net/articles/importance-of-lists-in-csharp-programming</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/importance-of-lists-in-csharp-programming</guid>
      <pubDate>Mon, 23 Jun 2025 12:00:00 GMT</pubDate>
      <category>C#</category>
      <description>Why Lists are a fundamental data structure in C# and how to use them effectively.</description>
      <enclosure url="https://dotnethow.net/images/articles/importance-of-lists-in-csharp-programming.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>The Power of Asynchronous Programming in C#</title>
      <link>https://dotnethow.net/articles/power-of-asynchronous-programming-in-csharp</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/power-of-asynchronous-programming-in-csharp</guid>
      <pubDate>Sun, 22 Jun 2025 12:00:00 GMT</pubDate>
      <category>C#</category>
      <description>Unlock the potential of async/await in C# for building responsive applications.</description>
      <enclosure url="https://dotnethow.net/images/articles/power-of-asynchronous-programming-in-csharp.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Implementing API Rate Limiting in .NET Web APIs</title>
      <link>https://dotnethow.net/articles/implementing-api-rate-limiting-in-net-web-apis</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/implementing-api-rate-limiting-in-net-web-apis</guid>
      <pubDate>Sun, 22 Jun 2025 12:00:00 GMT</pubDate>
      <category>ASP.NET Core</category>
      <description>Protect your API from abuse by implementing rate limiting using AspNetCoreRateLimit.</description>
      <enclosure url="https://dotnethow.net/images/articles/implementing-api-rate-limiting-in-dotnet-web-apis.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Query Filters in Entity Framework Core</title>
      <link>https://dotnethow.net/articles/query-filters-in-entity-framework-core</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/query-filters-in-entity-framework-core</guid>
      <pubDate>Sat, 21 Jun 2025 12:00:00 GMT</pubDate>
      <category>EF Core</category>
      <description>Learn how to apply global query filters in EF Core for scenarios like soft deletes.</description>
      <enclosure url="https://dotnethow.net/images/articles/query-filters-in-ef-core-applying-global-filters.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Tuples in C#: Organize Data with Ease &amp; Efficiency</title>
      <link>https://dotnethow.net/articles/tuples-in-csharp-organize-data-with-ease-efficiency</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/tuples-in-csharp-organize-data-with-ease-efficiency</guid>
      <pubDate>Sat, 21 Jun 2025 12:00:00 GMT</pubDate>
      <category>C#</category>
      <description>Master Tuples in C# to return multiple values and organize data efficiently.</description>
      <enclosure url="https://dotnethow.net/images/articles/tuples-in-csharp-organize-data-with-ease-efficiency.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Data vs Task Parallelism in C#</title>
      <link>https://dotnethow.net/articles/data-vs-task-parallelism-in-csharp</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/data-vs-task-parallelism-in-csharp</guid>
      <pubDate>Fri, 20 Jun 2025 12:00:00 GMT</pubDate>
      <category>C#</category>
      <description>Understand the difference between Data Parallelism and Task Parallelism in C#.</description>
      <enclosure url="https://dotnethow.net/images/articles/data-vs-task-parallelism-in-csharp.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Git – Without the complexity</title>
      <link>https://dotnethow.net/articles/git-without-the-complexity</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/git-without-the-complexity</guid>
      <pubDate>Fri, 20 Jun 2025 12:00:00 GMT</pubDate>
      <category>Git</category>
      <description>A simplified guide to Git for developers who want to avoid the complexity.</description>
      <enclosure url="https://dotnethow.net/images/articles/git-without-the-complexity.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Securing Asp.Net Applications</title>
      <link>https://dotnethow.net/articles/securing-asp-net-applications</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/securing-asp-net-applications</guid>
      <pubDate>Thu, 19 Jun 2025 12:00:00 GMT</pubDate>
      <category>ASP.NET Core</category>
      <description>Best practices for securing your ASP.NET applications against common threats.</description>
      <enclosure url="https://dotnethow.net/images/articles/securing-asp-net-applications.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>ASP.NET MVC: Models, ViewData, ViewBag, and TempData Explained</title>
      <link>https://dotnethow.net/articles/asp-net-mvc-models-viewdata-viewbag-and-tempdata-explained</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/asp-net-mvc-models-viewdata-viewbag-and-tempdata-explained</guid>
      <pubDate>Thu, 19 Jun 2025 12:00:00 GMT</pubDate>
      <category>ASP.NET MVC</category>
      <description>A clear explanation of different ways to pass data in ASP.NET MVC.</description>
      <enclosure url="https://dotnethow.net/images/articles/asp-net-mvc-models-viewdata-viewbag-tempdata-explained.jpg" type="image/jpeg" length="0" />
    </item>
    <item>
      <title>Blazor, JavaScript, and Interpolation</title>
      <link>https://dotnethow.net/articles/blazor-javascript-and-interpolation</link>
      <guid isPermaLink="true">https://dotnethow.net/articles/blazor-javascript-and-interpolation</guid>
      <pubDate>Wed, 18 Jun 2025 12:00:00 GMT</pubDate>
      <category>Blazor</category>
      <description>How to use JavaScript Interop in Blazor to bridge the gap between C# and JavaScript.</description>
      <enclosure url="https://dotnethow.net/images/articles/blazor-javascript-and-interpolation.jpg" type="image/jpeg" length="0" />
    </item>
  </channel>
</rss>
