<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Articles on Code4IT</title>
    <link>https://www.code4it.dev/article/</link>
    <description>Recent content in Articles on Code4IT</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Tue, 14 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.code4it.dev/article/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How to send Slack messages using Azure Logic Apps: built-in connector vs Slack APIs</title>
      <link>https://www.code4it.dev/blog/send-slack-messages-using-azure-logic-apps/</link>
      <pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/send-slack-messages-using-azure-logic-apps/</guid>
      <description>As you may know, you can send Slack notifications using Azure Logic Apps. Yes, there is a built-in connector; but, frankly, using the Slack API gives you better results.</description>
    </item>
    
    <item>
      <title>Readonly vs Immutable vs Frozen in C#: differences and (a lot of) benchmarks</title>
      <link>https://www.code4it.dev/blog/readonly-vs-immutable-vs-frozen/</link>
      <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/readonly-vs-immutable-vs-frozen/</guid>
      <description>The words ReadOnly, Immutable, Frozen seem similar but have distinct meanings in .NET. Here&amp;rsquo;s a detailed comparison of Readonly, Immutable, and Frozen collections in C#, with benchmarks and typical use cases.</description>
    </item>
    
    <item>
      <title>Code opinion: why I prefer avoiding the Async suffix in C# asynchronous methods</title>
      <link>https://www.code4it.dev/blog/code-opinion-async-suffix/</link>
      <pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/code-opinion-async-suffix/</guid>
      <description>Should every asynchronous method name end with Async? Does it bring more benefits or more downsides? Let&amp;rsquo;s reason about this habit, which is common among C# developers.</description>
    </item>
    
    <item>
      <title>Things I learned after speaking at my first Big International Conference</title>
      <link>https://www.code4it.dev/blog/after-first-big-tech-conference/</link>
      <pubDate>Tue, 04 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/after-first-big-tech-conference/</guid>
      <description>It&amp;rsquo;s easy to say &amp;lsquo;Public Speaking&amp;rsquo;. But there are lots of factors that you can (and should) consider when talking to an international audience, especially if English is not your first language.</description>
    </item>
    
    <item>
      <title>Introducing the Testing Vial: a (better?) alternative to Testing Diamond and Testing Pyramid</title>
      <link>https://www.code4it.dev/blog/testing-vial/</link>
      <pubDate>Sun, 12 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/testing-vial/</guid>
      <description>The Testing Pyramid focuses on Unit Tests; the Testing Diamond focuses on Integration Tests; and what about the Testing Vial?</description>
    </item>
    
    <item>
      <title>Build your own Static Code Analysis tool in .NET by knowing how Assembly, Type, MethodInfo, ParameterInfo work.</title>
      <link>https://www.code4it.dev/blog/assembly-type-methodinfo-parameterinfo/</link>
      <pubDate>Tue, 29 Jul 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/assembly-type-methodinfo-parameterinfo/</guid>
      <description>Why buy a whole tool when you can build your own? Learn how the Type system works in .NET, and create your own minimal type analyser.</description>
    </item>
    
    <item>
      <title>How to run SonarQube analysis locally with Docker</title>
      <link>https://www.code4it.dev/blog/sonarqube-local-with-docker/</link>
      <pubDate>Tue, 27 May 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/sonarqube-local-with-docker/</guid>
      <description>The quality of a project can be measured by having a look at how the code is written. SonarQube can help you by running static code analysis and letting you spot the pain points. Let&amp;rsquo;s learn how to install and run it locally with Docker.</description>
    </item>
    
    <item>
      <title>How to log to Azure Application Insights using ILogger in ASP.NET Core</title>
      <link>https://www.code4it.dev/blog/azure-application-insights-ilogger-aspnetcore/</link>
      <pubDate>Tue, 18 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/azure-application-insights-ilogger-aspnetcore/</guid>
      <description>Application Insights is a great tool for handling high volumes of logs. How can you configure an ASP.NET application to send logs to Azure Application Insights? What can I do to have Application Insights log my exceptions?</description>
    </item>
    
    <item>
      <title>HTTP Logging in ASP.NET: how to automatically log all incoming HTTP requests (and its downsides!)</title>
      <link>https://www.code4it.dev/blog/httplogging-asp-net/</link>
      <pubDate>Tue, 14 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/httplogging-asp-net/</guid>
      <description>Aren&amp;rsquo;t you tired of adding manual logs to your HTTP APIs to log HTTP requests and responses? By using a built-in middleware in ASP.NET, you will be able to centralize logs management and have a clear view of all the incoming HTTP requests.</description>
    </item>
    
    <item>
      <title>Easy logging management with Seq and ILogger in ASP.NET</title>
      <link>https://www.code4it.dev/blog/logging-with-ilogger-and-seq/</link>
      <pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/logging-with-ilogger-and-seq/</guid>
      <description>Seq is one of the best Log Sinks out there : it&amp;rsquo;s easy to install and configure, and can be added to an ASP.NET application with just a line of code.</description>
    </item>
    
    <item>
      <title>How to use IHttpClientFactory and WireMock.NET together using Moq</title>
      <link>https://www.code4it.dev/blog/wiremock-ihttpclientfactory-moq/</link>
      <pubDate>Tue, 01 Oct 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/wiremock-ihttpclientfactory-moq/</guid>
      <description>WireMock.NET is a popular library used to simulate network communication through HTTP. But there is no simple way to integrate the generated in-memory server with an instance of IHttpClientFactory injected via constructor. Right? Wrong!</description>
    </item>
    
    <item>
      <title>Postman&#39;s pre-request scripts: how to perform HTTP POST requests (with JSON body) and how to set Cookie authentication.</title>
      <link>https://www.code4it.dev/blog/postman-prerequest-script-cookie-auth/</link>
      <pubDate>Tue, 20 Aug 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/postman-prerequest-script-cookie-auth/</guid>
      <description>In Postman, you can define scripts to be executed before the beginning of a request. Can we use them to work with endpoints using Cookie Authentication?</description>
    </item>
    
    <item>
      <title>Seeding in-memory Entity Framework with realistic data with Bogus</title>
      <link>https://www.code4it.dev/blog/seed-inmemory-entityframework-bogus/</link>
      <pubDate>Tue, 09 Jul 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/seed-inmemory-entityframework-bogus/</guid>
      <description>You don&amp;rsquo;t need a physical database to experiment with ORMs. You can use an in-memory DB and seed the database with realistic data generated with Bogus.</description>
    </item>
    
    <item>
      <title>Getting started with Load testing with K6 on Windows 11</title>
      <link>https://www.code4it.dev/blog/k6-load-testing/</link>
      <pubDate>Tue, 18 Jun 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/k6-load-testing/</guid>
      <description>Can your system withstand heavy loads? You can answer this question by running Load Tests. Maybe, using K6 as a free tool.</description>
    </item>
    
    <item>
      <title>Why reaching 100% Code Coverage must NOT be your testing goal (with examples in C#)</title>
      <link>https://www.code4it.dev/blog/code-coverage-must-not-be-the-target/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/code-coverage-must-not-be-the-target/</guid>
      <description>Average teams aim at 100% Code Coverage just to reach the number. Great teams don&amp;rsquo;t. Why?</description>
    </item>
    
    <item>
      <title>Is Random.GetItems the best way to get random items in C# 12?</title>
      <link>https://www.code4it.dev/blog/how-to-get-random-items/</link>
      <pubDate>Tue, 13 Feb 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/how-to-get-random-items/</guid>
      <description>You have a collection of items. You want to retrieve N elements randomly. Which alternatives do we have?</description>
    </item>
    
    <item>
      <title>How to create custom snippets in Visual Studio 2022</title>
      <link>https://www.code4it.dev/blog/custom-snippets-visualstudio2022/</link>
      <pubDate>Tue, 30 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/custom-snippets-visualstudio2022/</guid>
      <description>A simple way to improve efficiency is knowing your IDE shortcuts. Let&amp;rsquo;s learn how to create custom ones to generate code automatically.</description>
    </item>
    
    <item>
      <title>How to kill a process running on a local port in Windows</title>
      <link>https://www.code4it.dev/blog/kill-the-process-blocking-a-port-windows/</link>
      <pubDate>Tue, 16 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/kill-the-process-blocking-a-port-windows/</guid>
      <description>Now you can&amp;rsquo;t run your application because another process already uses the port. How can you find that process? How to kill it?</description>
    </item>
    
    <item>
      <title>Top 6 Performance Tips when dealing with strings in C# 12 and .NET 8</title>
      <link>https://www.code4it.dev/blog/top-6-string-performance-tips/</link>
      <pubDate>Tue, 19 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/top-6-string-performance-tips/</guid>
      <description>Small changes sometimes make a huge difference. Learn these 6 tips to improve the performance of your application just by handling strings correctly.</description>
    </item>
    
    <item>
      <title>4 ways to create Unit Tests without Interfaces in C#</title>
      <link>https://www.code4it.dev/blog/unit-tests-without-interfaces/</link>
      <pubDate>Tue, 12 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/unit-tests-without-interfaces/</guid>
      <description>C# devs have the bad habit of creating interfaces for every non-DTO class because «we need them for mocking!». Are you sure it&amp;rsquo;s the only way?</description>
    </item>
    
    <item>
      <title>How to extract, create, and navigate Zip Files in C#</title>
      <link>https://www.code4it.dev/blog/working-with-zip-files/</link>
      <pubDate>Tue, 14 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/working-with-zip-files/</guid>
      <description>Learn how to zip and unzip compressed files with C#. Beware: it&amp;rsquo;s not as obvious as it might seem!</description>
    </item>
    
    <item>
      <title>OhMyPosh and CascadiaCode not working on PowerShell? How to fix it in Windows 10 and Windows 11 Integrated Terminal</title>
      <link>https://www.code4it.dev/blog/ohmyposh-integrated-terminal-powershell/</link>
      <pubDate>Tue, 31 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/ohmyposh-integrated-terminal-powershell/</guid>
      <description>Learn how to integrate Oh My Posh, a cross-platform tool that lets you create beautiful and informative prompts for PowerShell.</description>
    </item>
    
    <item>
      <title>Pre-commit hooks with Husky.NET - build, format, and test your .NET application before a Git commit</title>
      <link>https://www.code4it.dev/blog/husky-dotnet-precommit-hooks/</link>
      <pubDate>Tue, 17 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/husky-dotnet-precommit-hooks/</guid>
      <description>A Git commit represents the status of a system. Learn how to validate that your code builds, is well-formatted, and all the tests pass by adding a Git hook!</description>
    </item>
    
    <item>
      <title>How to integrate Feature Flags stored on Azure App Configuration in an ASP.NET Core Application</title>
      <link>https://www.code4it.dev/blog/feature-flags-from-azure-app-configuration/</link>
      <pubDate>Tue, 03 Oct 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/feature-flags-from-azure-app-configuration/</guid>
      <description>Learn how to use Feature Flags in ASP.NET Core apps and read values from Azure App Configuration. Understand how to use filters, like the Percentage filter, to control feature activation, and learn how to take full control of the cache expiration of the values.</description>
    </item>
    
    <item>
      <title>Feature Flags 101: A Guide for ASP.NET Core Developers</title>
      <link>https://www.code4it.dev/blog/feature-flags-dotnet/</link>
      <pubDate>Tue, 19 Sep 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/feature-flags-dotnet/</guid>
      <description>Feature Flags are a technique that allows you to control the visibility and functionality of features in your software without changing the code. They enable you to experiment with new features, perform gradual rollouts, and revert changes quickly if needed.</description>
    </item>
    
    <item>
      <title>Advanced Integration Tests for .NET 7 API with WebApplicationFactory and NUnit</title>
      <link>https://www.code4it.dev/blog/advanced-integration-tests-webapplicationfactory/</link>
      <pubDate>Tue, 01 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/advanced-integration-tests-webapplicationfactory/</guid>
      <description>Integration Tests are incredibly useful: a few Integration Tests are often more useful than lots of Unit Tests. Let&amp;rsquo;s learn some advanced capabilities of &lt;code&gt;WebApplicationFactory&lt;/code&gt;.</description>
    </item>
    
    <item>
      <title>How to automatically refresh configurations with Azure App Configuration in ASP.NET Core</title>
      <link>https://www.code4it.dev/blog/azure-app-configuration-refresh-config/</link>
      <pubDate>Tue, 04 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/azure-app-configuration-refresh-config/</guid>
      <description>ASP.NET allows you to poll Azure App Configuration to always get the most updated values without restarting your applications. It&amp;rsquo;s simple, but you have to think thoroughly.</description>
    </item>
    
    <item>
      <title>Azure App Configuration and .NET API: a smart and secure way to manage configurations</title>
      <link>https://www.code4it.dev/blog/azure-app-configuration-dotnet-api/</link>
      <pubDate>Tue, 20 Jun 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/azure-app-configuration-dotnet-api/</guid>
      <description>Centralizing configurations can be useful for several reasons: security, consistency, deployability. In this article, we&amp;rsquo;re gonna use Azure App Configuration to centralize the configurations used in a .NET API application.</description>
    </item>
    
    <item>
      <title>How to add Dependency Injection, Configurations, and Logging in a .NET 7 Console Application</title>
      <link>https://www.code4it.dev/blog/dependency-injection-config-logging-in-console-application/</link>
      <pubDate>Tue, 06 Jun 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/dependency-injection-config-logging-in-console-application/</guid>
      <description>By default, you cannot use Dependency Injection, custom logging, and configurations from settings in a Console Application. Unless you create a custom &lt;code&gt;Host&lt;/code&gt;!</description>
    </item>
    
    <item>
      <title>Understanding IOptions, IOptionsMonitor, and IOptionsSnapshot in .NET 7</title>
      <link>https://www.code4it.dev/blog/ioptions-ioptionsmonitor-ioptionssnapshot/</link>
      <pubDate>Tue, 23 May 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/ioptions-ioptionsmonitor-ioptionssnapshot/</guid>
      <description>There are several ways to handle configurations in a .NET Application. In this article, we&amp;rsquo;re going to learn how to use &lt;code&gt;IOptions&amp;lt;T&amp;gt;&lt;/code&gt;, &lt;code&gt;IOptionsSnapshot&amp;lt;T&amp;gt;&lt;/code&gt;, and &lt;code&gt;IOptionsMonitor&amp;lt;T&amp;gt;&lt;/code&gt;</description>
    </item>
    
    <item>
      <title>How to download an online file and store it on file system with C#</title>
      <link>https://www.code4it.dev/blog/download-and-save-files/</link>
      <pubDate>Tue, 09 May 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/download-and-save-files/</guid>
      <description>Downloading a file from a remote resource seems an easy task: download the byte stream and copy it to a local file. Beware of edge cases!</description>
    </item>
    
    <item>
      <title>Health Checks in .NET: 2 ways to check communication with MongoDB</title>
      <link>https://www.code4it.dev/blog/mongodb-healthcheck/</link>
      <pubDate>Tue, 07 Mar 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/mongodb-healthcheck/</guid>
      <description>Health Checks are fundamental to keep track of the health of a system. How can we check if MongoDB is healthy?</description>
    </item>
    
    <item>
      <title>How to customize Conventional Commits in a .NET application using GitHooks</title>
      <link>https://www.code4it.dev/blog/conventional-commit-with-githooks/</link>
      <pubDate>Tue, 07 Feb 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/conventional-commit-with-githooks/</guid>
      <description>Using Conventional Commits you can define a set of rules useful for writing meaningful commit messages. Using NPM. Yes, in a dotNET application!</description>
    </item>
    
    <item>
      <title>LINQ for beginners: pick the right methods!</title>
      <link>https://www.code4it.dev/blog/linq-differences/</link>
      <pubDate>Tue, 10 Jan 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/linq-differences/</guid>
      <description>LINQ is a set of methods that help developers perform operations on sets of items. There are tons of methods - do you know which is the one for you?</description>
    </item>
    
    <item>
      <title>How to customize Swagger UI with custom CSS in .NET 7</title>
      <link>https://www.code4it.dev/blog/customize-swagger-ui-with-css/</link>
      <pubDate>Fri, 16 Dec 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/customize-swagger-ui-with-css/</guid>
      <description>Exposing Swagger UI is a good way to help developers consume your APIs. But don&amp;rsquo;t be boring: customize your UI with some fancy CSS</description>
    </item>
    
    <item>
      <title>PriorityQueues on .NET 7 and C# 11</title>
      <link>https://www.code4it.dev/blog/intro-priority-queue/</link>
      <pubDate>Mon, 12 Dec 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/intro-priority-queue/</guid>
      <description>A PriorityQueue represents a collection of items that have a value and a priority. Now this data structure is built-in in dotNET!</description>
    </item>
    
    <item>
      <title>How to create an API Gateway using Azure API Management</title>
      <link>https://www.code4it.dev/blog/intro-azure-api-management/</link>
      <pubDate>Tue, 22 Nov 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/intro-azure-api-management/</guid>
      <description>In a microservices architecture, an API Gateway hides your real endpoints. We will create one using Azure API Management</description>
    </item>
    
    <item>
      <title>How to deploy .NET APIs on Azure using GitHub actions</title>
      <link>https://www.code4it.dev/blog/deploy-api-on-azure-with-github-action/</link>
      <pubDate>Tue, 08 Nov 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/deploy-api-on-azure-with-github-action/</guid>
      <description>Building APIs with .NET is easy. Deploying them on Azure is easy too, with GitHub Actions!</description>
    </item>
    
    <item>
      <title>3 (and more) ways to set configuration values in .NET</title>
      <link>https://www.code4it.dev/blog/how-to-set-configurations-values-dotnet/</link>
      <pubDate>Tue, 18 Oct 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/how-to-set-configurations-values-dotnet/</guid>
      <description>Every application relies on some configurations. Many devs set them up using only the appsettings file. But there&amp;rsquo;s more!</description>
    </item>
    
    <item>
      <title>The 2 secret endpoints I create in my .NET APIs</title>
      <link>https://www.code4it.dev/blog/my-2-secret-endpoints/</link>
      <pubDate>Tue, 04 Oct 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/my-2-secret-endpoints/</guid>
      <description>In this article, I will show you two simple tricks that help me understand the deployment status of my .NET APIs</description>
    </item>
    
    <item>
      <title>How to log Correlation IDs in .NET APIs with Serilog</title>
      <link>https://www.code4it.dev/blog/serilog-correlation-id/</link>
      <pubDate>Tue, 20 Sep 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/serilog-correlation-id/</guid>
      <description>APIs often call other APIs to perform operations. If an error occurs in one of them, how can you understand the context that caused that error? You can use Correlation IDs in your logs!</description>
    </item>
    
    <item>
      <title>How to propagate HTTP Headers (and  Correlation IDs) using HttpClients in C#</title>
      <link>https://www.code4it.dev/blog/propagate-httpheader-and-correlation-id/</link>
      <pubDate>Tue, 02 Aug 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/propagate-httpheader-and-correlation-id/</guid>
      <description>Propagating HTTP Headers can be useful, especially when dealing with Correlation IDs. It&amp;rsquo;s time to customize our HttpClients!</description>
    </item>
    
    <item>
      <title>5 tricks every C# dev should know about LINQPad</title>
      <link>https://www.code4it.dev/blog/5-linqpad-tricks/</link>
      <pubDate>Tue, 19 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/5-linqpad-tricks/</guid>
      <description>LINQPad is one of the tools I use daily. But still, I haven&amp;rsquo;t used it at its full power. And you?</description>
    </item>
    
    <item>
      <title>How to solve InvalidOperationException for constructors using HttpClientFactory in C#</title>
      <link>https://www.code4it.dev/blog/solve-constructor-exception-with-httpclientfactory/</link>
      <pubDate>Tue, 05 Jul 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/solve-constructor-exception-with-httpclientfactory/</guid>
      <description>A suitable constructor for type &amp;lsquo;X&amp;rsquo; could not be located. What a strange error message! Luckily it&amp;rsquo;s easy to solve.</description>
    </item>
    
    <item>
      <title>How to improve Serilog logging in .NET 6 by using Scopes</title>
      <link>https://www.code4it.dev/blog/serilog-logging-scope/</link>
      <pubDate>Tue, 21 Jun 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/serilog-logging-scope/</guid>
      <description>Logs are important. Properly structured logs can be the key to resolving some critical issues. With Serilog&amp;rsquo;s Scopes, you can enrich your logs with info about the context where they happened.</description>
    </item>
    
    <item>
      <title>8 things about Records in C# you probably didn&#39;t know</title>
      <link>https://www.code4it.dev/blog/8-things-about-records-csharp/</link>
      <pubDate>Tue, 31 May 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/8-things-about-records-csharp/</guid>
      <description>C# recently introduced Records, a new way of defining types. In this article, we will see 8 things you probably didn&amp;rsquo;t know about C# Records</description>
    </item>
    
    <item>
      <title>3 ways to check the object passed to mocks with Moq in C#</title>
      <link>https://www.code4it.dev/blog/check-objects-called-mocks-in-moq/</link>
      <pubDate>Tue, 17 May 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/check-objects-called-mocks-in-moq/</guid>
      <description>In unit tests, sometimes you need to perform deep checks on the object passed to the mocked service. We will learn 3 ways to do that with Moq and C#</description>
    </item>
    
    <item>
      <title>From idea to publishing, and beyond: how I automated my blogging workflow with GitHub, PowerShell, and Azure</title>
      <link>https://www.code4it.dev/blog/automate-blogging-workflow-github-powershell-azure/</link>
      <pubDate>Tue, 03 May 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/automate-blogging-workflow-github-powershell-azure/</guid>
      <description>After 100 articles, I&amp;rsquo;ve found some neat ways to automate my blogging workflow. I will share my experience and the tools I use from the very beginning to the very end.</description>
    </item>
    
    <item>
      <title>How to access the HttpContext in .NET API</title>
      <link>https://www.code4it.dev/blog/inject-httpcontext/</link>
      <pubDate>Tue, 12 Apr 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/inject-httpcontext/</guid>
      <description>If your application is exposed on the Web, I guess that you get some values from the HTTP Requests, don&amp;rsquo;t you?</description>
    </item>
    
    <item>
      <title>How to perform CRUD operations with Entity Framework Core and PostgreSQL</title>
      <link>https://www.code4it.dev/blog/postgres-crud-entityframework/</link>
      <pubDate>Tue, 29 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/postgres-crud-entityframework/</guid>
      <description>With Entity Framework you can perform operations on relational databases without writing a single line of SQL. We will use EF to integrate PostgreSQL in our application</description>
    </item>
    
    <item>
      <title>Advanced parsing using Int.TryParse in C#</title>
      <link>https://www.code4it.dev/blog/advanced-int-tryparse/</link>
      <pubDate>Tue, 15 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/advanced-int-tryparse/</guid>
      <description>We all need to parse strings as integers. Most of the time, we use int.TryParse(string, out int). But there&amp;rsquo;s a more advanced overload that we can use for complex parsing.</description>
    </item>
    
    <item>
      <title>PostgreSQL CRUD operations with C# and Dapper</title>
      <link>https://www.code4it.dev/blog/postgres-crud-dapper/</link>
      <pubDate>Tue, 01 Mar 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/postgres-crud-dapper/</guid>
      <description>Mapping every SQL result to a data type can be a pain. To simplify our life, we can use an ORM like Dapper to automatically map the data.</description>
    </item>
    
    <item>
      <title>Measuring maintainability metrics with NDepend</title>
      <link>https://www.code4it.dev/blog/measure-maintainability-with-ndepend/</link>
      <pubDate>Tue, 15 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/measure-maintainability-with-ndepend/</guid>
      <description>Keeping an eye on maintainability is mandatory for every project which should live long. With NDepend, you can measure maintainability for .NET projects.</description>
    </item>
    
    <item>
      <title>CRUD operations on PostgreSQL using C# and Npgsql</title>
      <link>https://www.code4it.dev/blog/postgres-crud-operations-npgsql/</link>
      <pubDate>Tue, 01 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/postgres-crud-operations-npgsql/</guid>
      <description>Once we have a Postgres instance running, we can perform operations on it. We will use Npgsql to query a Postgres instance with C#</description>
    </item>
    
    <item>
      <title>How to run PostgreSQL locally with Docker</title>
      <link>https://www.code4it.dev/blog/run-postgresql-with-docker/</link>
      <pubDate>Tue, 18 Jan 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/run-postgresql-with-docker/</guid>
      <description>PostgreSQL is a famous relational database. In this article, we will learn how to run it locally using Docker.</description>
    </item>
    
    <item>
      <title>Code opinion: should we trust Open Source after Log4J&#39;s issues?</title>
      <link>https://www.code4it.dev/blog/opinion-open-source/</link>
      <pubDate>Tue, 21 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/opinion-open-source/</guid>
      <description>With Log4J&amp;rsquo;s vulnerability, we&amp;rsquo;ve all been reminded that systems are vulnerable, and OSS are not immune too. What should we do now?</description>
    </item>
    
    <item>
      <title>Profiling .NET code with MiniProfiler</title>
      <link>https://www.code4it.dev/blog/miniprofiler/</link>
      <pubDate>Tue, 07 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/miniprofiler/</guid>
      <description>Is your application slow? How to find bottlenecks? If so, you can use MiniProfiler to profile a .NET API application and analyze the timings of the different operations.</description>
    </item>
    
    <item>
      <title>How to parse JSON Lines (JSONL) with C# </title>
      <link>https://www.code4it.dev/blog/parse-jsonlines/</link>
      <pubDate>Tue, 23 Nov 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/parse-jsonlines/</guid>
      <description>JSONL is JSON&amp;rsquo;s less famous sibling: it allows you to store JSON objects separating them with new line. We will learn how to parse a JSONL string with C#.</description>
    </item>
    
    <item>
      <title>How to resolve dependencies in .NET APIs based on current HTTP Request</title>
      <link>https://www.code4it.dev/blog/resolving-dependencies-depending-on-httprequest/</link>
      <pubDate>Tue, 09 Nov 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/resolving-dependencies-depending-on-httprequest/</guid>
      <description>Did you know that in .NET you can resolve specific dependencies using Factories? We&amp;rsquo;ll use them to switch between concrete classes based on the current HTTP Request</description>
    </item>
    
    <item>
      <title>Moq vs NSubstitute: syntax cheat sheet</title>
      <link>https://www.code4it.dev/blog/moq-vs-nsubstitute-syntax/</link>
      <pubDate>Tue, 26 Oct 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/moq-vs-nsubstitute-syntax/</guid>
      <description>Moq and NSubstitute are two of the most used library to mock dependencies on your Unit Tests. How do they differ? How can we move from one library to the other?</description>
    </item>
    
    <item>
      <title>How to log to Console with .NET Core and Serilog</title>
      <link>https://www.code4it.dev/blog/serilog-log-on-console/</link>
      <pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/serilog-log-on-console/</guid>
      <description>Serilog is a famous logger for .NET projects. In this article, we will learn how to integrate it in a .NET API project and output the logs on a Console.</description>
    </item>
    
    <item>
      <title>How to test HttpClientFactory with Moq</title>
      <link>https://www.code4it.dev/blog/testing-httpclientfactory-moq/</link>
      <pubDate>Tue, 28 Sep 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/testing-httpclientfactory-moq/</guid>
      <description>Mocking IHttpClientFactory is hard, but luckily we can use some advanced features of Moq to write better tests.</description>
    </item>
    
    <item>
      <title>How to customize fields generation in Visual Studio 2019</title>
      <link>https://www.code4it.dev/blog/auto-creating-fields-vs/</link>
      <pubDate>Tue, 14 Sep 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/auto-creating-fields-vs/</guid>
      <description>Every time you ask Visual Studio to generate properties for you, it creates them with a simple, default format. But we can customize them by updating some options on our IDE. Let&amp;rsquo;s learn how!</description>
    </item>
    
    <item>
      <title>How to add a caching layer in .NET 5 with Decorator pattern and Scrutor</title>
      <link>https://www.code4it.dev/blog/caching-decorator-with-scrutor/</link>
      <pubDate>Tue, 10 Aug 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/caching-decorator-with-scrutor/</guid>
      <description>You should not add the caching logic in the same component used for retrieving data from external sources: you&amp;rsquo;d better use the Decorator Pattern. We&amp;rsquo;ll see how to use it, what benefits it brings to your application, and how to use Scrutor to add it to your .NET projects.</description>
    </item>
    
    <item>
      <title>Code opinion: performance or clean code?</title>
      <link>https://www.code4it.dev/blog/clean-code-vs-performance/</link>
      <pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/clean-code-vs-performance/</guid>
      <description>In any application, writing code that is clean and performant is crucial. But we often can&amp;rsquo;t have both. What to choose?</description>
    </item>
    
    <item>
      <title>Simplify debugging with DebuggerDisplay attribute dotNET</title>
      <link>https://www.code4it.dev/blog/debuggerdisplay-attribute/</link>
      <pubDate>Tue, 13 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/debuggerdisplay-attribute/</guid>
      <description>Debugging our .NET applications can be cumbersome. With the DebuggerDisplay attribute we can simplify it by displaying custom messages.</description>
    </item>
    
    <item>
      <title>Handling Azure Service Bus errors with .NET</title>
      <link>https://www.code4it.dev/blog/azure-service-bus-errors/</link>
      <pubDate>Tue, 29 Jun 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/azure-service-bus-errors/</guid>
      <description>Senders and Receivers handle errors on Azure Service Bus differently. We&amp;rsquo;ll see how to catch them, what they mean and how to fix them. We&amp;rsquo;ll also introduce Dead Letters.</description>
    </item>
    
    <item>
      <title>Azure Service Bus: Queues vs Topics</title>
      <link>https://www.code4it.dev/blog/azure-service-bus-queue-vs-topic/</link>
      <pubDate>Tue, 15 Jun 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/azure-service-bus-queue-vs-topic/</guid>
      <description>Queues or Topics? How are they similar and how they are different? We&amp;rsquo;ll see how to use those capabilities in Azure Service Bus with .NET and C#</description>
    </item>
    
    <item>
      <title>Azure Service Bus and C# - an introduction</title>
      <link>https://www.code4it.dev/blog/azure-service-bus-introduction/</link>
      <pubDate>Tue, 01 Jun 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/azure-service-bus-introduction/</guid>
      <description>Azure Service bus is a message broker generally used for sharing messages between applications. In this article, we&amp;rsquo;re gonna see an introduction to Azure Service Bus, and how to work with it with .NET and C#</description>
    </item>
    
    <item>
      <title>How to expose .NET Assembly Version via API endpoint routing</title>
      <link>https://www.code4it.dev/blog/assembly-version-via-api-endpoint-routing/</link>
      <pubDate>Tue, 18 May 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/assembly-version-via-api-endpoint-routing/</guid>
      <description>Knowing the Assembly Version of the API you&amp;rsquo;ve deployed on an environment may be helpful for many reasons. We&amp;rsquo;re gonna see why, how to retrieve it, and how to expose it with Endpoint Routing  (bye-bye Controllers and Actions!)</description>
    </item>
    
    <item>
      <title>13 tips for delivering better tech talks</title>
      <link>https://www.code4it.dev/blog/tech-talk-13-tips/</link>
      <pubDate>Tue, 04 May 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/tech-talk-13-tips/</guid>
      <description>Doing a tech talk is easy. Doing a &lt;em&gt;good&lt;/em&gt; talk is harder. We&amp;rsquo;re going to see some tips to improve the delivery of your conferences.</description>
    </item>
    
    <item>
      <title>Getting resource location with CreatedAtAction and CreatedAtRoute action results</title>
      <link>https://www.code4it.dev/blog/createdAtRoute-createdAtAction/</link>
      <pubDate>Tue, 20 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/createdAtRoute-createdAtAction/</guid>
      <description>It&amp;rsquo;s not a good practice to return the ID of a newly created item in the HTTP Response Body. What to do? You can return it in the HTTP Response Headers, with CreatedAtAction and CreatedAtRoute.</description>
    </item>
    
    <item>
      <title>Cobertura, YAML, and Code Coverage Protector: how to view Code Coverage report on Azure DevOps</title>
      <link>https://www.code4it.dev/blog/code-coverage-on-azure-devops-yaml-pipelines/</link>
      <pubDate>Tue, 06 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/code-coverage-on-azure-devops-yaml-pipelines/</guid>
      <description>Code coverage is a good indicator of the health of your projects. We&amp;rsquo;ll see how to show Cobertura reports associated to your builds on Azure DevOps and how to display the progress on Dashboard.</description>
    </item>
    
    <item>
      <title>Clean code tips - Tests</title>
      <link>https://www.code4it.dev/blog/clean-code-tests/</link>
      <pubDate>Tue, 23 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/clean-code-tests/</guid>
      <description>Tests are as important as production code. Well, they are even more important! So writing them well brings lots of benefits to your projects.</description>
    </item>
    
    <item>
      <title>14 to 2 seconds: how I improved the performance of an endpoint by 82% - part 2</title>
      <link>https://www.code4it.dev/blog/improving-application-performance-part2/</link>
      <pubDate>Tue, 09 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/improving-application-performance-part2/</guid>
      <description>Language details may impact application performance. In this article we&amp;rsquo;ll see some of the C# tips that brought me to improve my application. Singleton creation, StringBuilder and more!</description>
    </item>
    
    <item>
      <title>14 to 2 seconds: how I improved the performance of an endpoint by 82% - part 1</title>
      <link>https://www.code4it.dev/blog/improving-application-performance-part1/</link>
      <pubDate>Tue, 23 Feb 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/improving-application-performance-part1/</guid>
      <description>Having fast API response is crucial for your applications. In this article you&amp;rsquo;ll see how I managed to improve an API application that took 14 secs each call.</description>
    </item>
    
    <item>
      <title>10 underestimated tasks to do before your next virtual presentation</title>
      <link>https://www.code4it.dev/blog/10-tasks-before-virtual-talk/</link>
      <pubDate>Tue, 09 Feb 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/10-tasks-before-virtual-talk/</guid>
      <description>When performing a talk, the audience experience is as important as the content. They must be focused on what you say, and not get distracted by external outputs. So, here&amp;rsquo;s 10 tips to rock your next virtual talk.</description>
    </item>
    
    <item>
      <title>How to open the same URL on different environments with PowerShell</title>
      <link>https://www.code4it.dev/blog/powershell-basics-open-multiple-browsers/</link>
      <pubDate>Tue, 26 Jan 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/powershell-basics-open-multiple-browsers/</guid>
      <description>Revise PowerShell basics with a simple script that opens a browser for each specified URL. We&amp;rsquo;re gonna cover how to declare variables, define arrays, concatenate strings and run CMD commands.</description>
    </item>
    
    <item>
      <title>3 ways to inject DateTime and test it</title>
      <link>https://www.code4it.dev/blog/inject-and-test-datetime-dependency/</link>
      <pubDate>Tue, 12 Jan 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/inject-and-test-datetime-dependency/</guid>
      <description>DateTime, Guid, and Random values are not under your direct control. You should abstract them to write better code and testing. We&amp;rsquo;ll see 3 ways to inject and test them in .NET Core projects.</description>
    </item>
    
    <item>
      <title>How to view code coverage with Coverlet and Visual Studio 2019</title>
      <link>https://www.code4it.dev/blog/code-coverage-vs-2019-coverlet/</link>
      <pubDate>Tue, 29 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/code-coverage-vs-2019-coverlet/</guid>
      <description>Code coverage is an indicator of the quality of your code. With Coverlet and VS2019 you can have a human readable report to see where to improve your code.</description>
    </item>
    
    <item>
      <title>Clean code tips - Error handling</title>
      <link>https://www.code4it.dev/blog/clean-code-error-handling/</link>
      <pubDate>Tue, 15 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/clean-code-error-handling/</guid>
      <description>The way you handle errors on your code can have a huge impact on the maintainability of your projects. Don&amp;rsquo;t underestimate the power of clean error handling.</description>
    </item>
    
    <item>
      <title>How to use String.Format - and why you should care about it</title>
      <link>https://www.code4it.dev/blog/how-to-use-string-format/</link>
      <pubDate>Tue, 01 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/how-to-use-string-format/</guid>
      <description>Is string.Format obsolete? Not at all, it still has cards to play! Let&amp;rsquo;s see how we can customize format and create custom formatters.</description>
    </item>
    
    <item>
      <title>How to Ping an endpoint with C#</title>
      <link>https://www.code4it.dev/blog/ping-endpoint-csharp/</link>
      <pubDate>Tue, 17 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/ping-endpoint-csharp/</guid>
      <description>How to effectively ping an endpoint in C#? Don&amp;rsquo;t use the HttpClient, when .NET provides a Ping class to perform all these operations.</description>
    </item>
    
    <item>
      <title>How to integrate MongoDB with C#</title>
      <link>https://www.code4it.dev/blog/mongodb-introduction-with-csharp/</link>
      <pubDate>Tue, 03 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/mongodb-introduction-with-csharp/</guid>
      <description>MongoDB is a database based on JSON-like documents, but it can be queried using C#. We&amp;rsquo;ll see how to perform CRUD operations and we&amp;rsquo;ll create some advanced queries.</description>
    </item>
    
    <item>
      <title>Clean code tips - Abstraction and objects</title>
      <link>https://www.code4it.dev/blog/clean-code-abstraction-and-objects/</link>
      <pubDate>Tue, 20 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/clean-code-abstraction-and-objects/</guid>
      <description>Are Getters and Setters the correct way to think of abstraction? What are pro and cons of OOP and Procedural programming? And, in the OOP world, how can you define objects?</description>
    </item>
    
    <item>
      <title>How to generate code from OpenAPI definition with Visual Studio 2019</title>
      <link>https://www.code4it.dev/blog/openapi-code-generation-vs2019/</link>
      <pubDate>Tue, 06 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/openapi-code-generation-vs2019/</guid>
      <description>Wouldn&amp;rsquo;t it be nice if Visual Studio could autogenerate clients for external API? It is actually possible, if they expose an OpenAPI file. Let&amp;rsquo;s see how!</description>
    </item>
    
    <item>
      <title>How to use HttpRepl to navigate API endpoints</title>
      <link>https://www.code4it.dev/blog/httprepl/</link>
      <pubDate>Tue, 22 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/httprepl/</guid>
      <description>With HttpRepl you can perform HTTP operations as they were local folders, using the CLI. Let&amp;rsquo;s see how to configure it and run GET and POST operations.</description>
    </item>
    
    <item>
      <title>10 things hiking can teach you as a junior developer</title>
      <link>https://www.code4it.dev/blog/what-hiking-can-teach/</link>
      <pubDate>Tue, 08 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/what-hiking-can-teach/</guid>
      <description>During this holiday I hiked for the first time. I found some lessons that hiking can teach to junior devs.</description>
    </item>
    
    <item>
      <title>Understanding Swagger integration in .NET Core</title>
      <link>https://www.code4it.dev/blog/swagger-integration/</link>
      <pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/swagger-integration/</guid>
      <description>Swagger is a tool that exposes the documentation of your APIs and helps collaborating with other teams. We&amp;rsquo;ll see how to integrate it with .NET Core 3, how to add XML comments and status codes.</description>
    </item>
    
    <item>
      <title>Clean code tips - comments and formatting</title>
      <link>https://www.code4it.dev/blog/clean-code-comments-and-formatting/</link>
      <pubDate>Tue, 18 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/clean-code-comments-and-formatting/</guid>
      <description>Are all comments bad? When they are necessary? Why formatting is so important? Writing clean code does not only refer to the executed code, but also to everything around.</description>
    </item>
    
    <item>
      <title>How to run integration tests for .NET API</title>
      <link>https://www.code4it.dev/blog/integration-tests-for-dotnet-api/</link>
      <pubDate>Tue, 11 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/integration-tests-for-dotnet-api/</guid>
      <description>Integration tests are useful to check if multiple components fit together well. How can you test your APIs? And how can you mock dependencies?</description>
    </item>
    
    <item>
      <title>5 things about DateTime time zones and formatting</title>
      <link>https://www.code4it.dev/blog/5-things-datetime-timezones-and-formatting/</link>
      <pubDate>Tue, 28 Jul 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/5-things-datetime-timezones-and-formatting/</guid>
      <description>You&amp;rsquo;re using DateTime.Now, aren&amp;rsquo;t you? Be careful, because it may bring some troubles to your application. Here I&amp;rsquo;ll explain why and I&amp;rsquo;ll talk about time zones and formatting in C# DateTime.</description>
    </item>
    
    <item>
      <title>Clean code tips - names and functions</title>
      <link>https://www.code4it.dev/blog/clean-code-names-and-functions/</link>
      <pubDate>Tue, 21 Jul 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/clean-code-names-and-functions/</guid>
      <description>I don&amp;rsquo;t have to tell you why you need to write clean code. Here you&amp;rsquo;ll see some tips about how to name things and how to structure functions.</description>
    </item>
    
    <item>
      <title>How to mock dependencies with Manifest resources</title>
      <link>https://www.code4it.dev/blog/mock-dependency-with-manifest-resources/</link>
      <pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/mock-dependency-with-manifest-resources/</guid>
      <description>Sometimes on your tests you need to access test files, for example for mocking external data. With manifest resources you can easily reference files for your tests.</description>
    </item>
    
    <item>
      <title>Enum.HasFlag performance with BenchmarkDotNet</title>
      <link>https://www.code4it.dev/blog/hasflag-performance-benchmarkdotnet/</link>
      <pubDate>Tue, 30 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/hasflag-performance-benchmarkdotnet/</guid>
      <description>BenchmarkDotNet allows you to test the performance on .NET methods. So let&amp;rsquo;s answer a question: is the Enum.HasFlag method really that slow?</description>
    </item>
    
    <item>
      <title>Cool validation with FluentValidation</title>
      <link>https://www.code4it.dev/blog/fluentvalidation/</link>
      <pubDate>Tue, 16 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/fluentvalidation/</guid>
      <description>Validating inputs is crucial for every application. If you want an easy and versatile way, you can try FluentValidation.</description>
    </item>
    
    <item>
      <title>Testing internal members with InternalsVisibleTo</title>
      <link>https://www.code4it.dev/blog/testing-internals-with-internalsvisibleto/</link>
      <pubDate>Tue, 02 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/testing-internals-with-internalsvisibleto/</guid>
      <description>Internal members can be accessed only within the same assembly. And for different assemblies? Here&amp;rsquo;s for you the InternalsVisibleTo attribute!</description>
    </item>
    
    <item>
      <title>Dependency Injection lifetimes in .NET - Scoped vs Transient vs Singleton</title>
      <link>https://www.code4it.dev/blog/dependency-injection-lifetimes/</link>
      <pubDate>Tue, 26 May 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/dependency-injection-lifetimes/</guid>
      <description>Singleton, Scoped and Transient: these are the possible lifetimes for DI with .NET Core. How do they change the way objects are constructed?</description>
    </item>
    
    <item>
      <title>5 more things you should know about enums in C#</title>
      <link>https://www.code4it.dev/blog/5-more-things-about-enums-csharp/</link>
      <pubDate>Tue, 19 May 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/5-more-things-about-enums-csharp/</guid>
      <description>We&amp;rsquo;ve already seen some of the things you should know about enums in C#. Here we&amp;rsquo;ll dive into Flagged enumerations, serialization and so on.</description>
    </item>
    
    <item>
      <title>First steps with Docker: download and run MongoDB locally</title>
      <link>https://www.code4it.dev/blog/run-mongodb-on-docker/</link>
      <pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/run-mongodb-on-docker/</guid>
      <description>Docker is a project that allows you to create and run applications in an isolated environment. Let&amp;rsquo;s try it to run MongoDB on your machine!</description>
    </item>
    
    <item>
      <title>5 things you should know about enums in C#</title>
      <link>https://www.code4it.dev/blog/5-things-enums-csharp/</link>
      <pubDate>Tue, 05 May 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/5-things-enums-csharp/</guid>
      <description>Enums are often used with C#. Boring, right? Maybe there is something you didn&amp;rsquo;t know: casting, parsing and flagged enums.</description>
    </item>
    
    <item>
      <title>Logging with Serilog and Seq</title>
      <link>https://www.code4it.dev/blog/logging-with-serilog-and-seq/</link>
      <pubDate>Tue, 28 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/logging-with-serilog-and-seq/</guid>
      <description>Having a robust logging system is crucial for any application. There are many tools, and one of these is Serilog. Here you&amp;rsquo;ll learn how to use it in a .NET application and how to integrate it with Seq.</description>
    </item>
    
    <item>
      <title>How to upgrade Azure Functions v2 to v3</title>
      <link>https://www.code4it.dev/blog/azure-functions-v2-to-v3/</link>
      <pubDate>Tue, 21 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/azure-functions-v2-to-v3/</guid>
      <description>Do you have an Azure Function that you want to upgrade from v2 to v3? Don&amp;rsquo;t panic, it&amp;rsquo;s just a matter of few steps!</description>
    </item>
    
    <item>
      <title>How to add a Startup class to Azure Functions</title>
      <link>https://www.code4it.dev/blog/azure-functions-startup-class/</link>
      <pubDate>Tue, 14 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/azure-functions-startup-class/</guid>
      <description>Azure Functions are one of the best examples of serverless applications. By default you can&amp;rsquo;t use Dependency injection: here&amp;rsquo;s how you can configure it by adding the Startup class.</description>
    </item>
    
    <item>
      <title>How to connect and authenticate to NPM feeds on Azure DevOps</title>
      <link>https://www.code4it.dev/blog/connect-npm-feeds-from-azure-devops/</link>
      <pubDate>Tue, 07 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/connect-npm-feeds-from-azure-devops/</guid>
      <description>Azure DevOps, among its capabilities, allows you to store NPM packages in their system. Here we&amp;rsquo;ll see how to connect to an NPM feed and how to solve the 401-unauthorized error.</description>
    </item>
    
    <item>
      <title>First steps with asynchronous programming in C#</title>
      <link>https://www.code4it.dev/blog/asynchronous-programming-in-csharp/</link>
      <pubDate>Tue, 31 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/asynchronous-programming-in-csharp/</guid>
      <description>Asynchronous programming is often seen as something cumbersome, so many developers avoid it. What, why and how to use it? Here are the first steps you can take to approach async programming.</description>
    </item>
    
    <item>
      <title>How to run Google Chrome without CORS</title>
      <link>https://www.code4it.dev/blog/run-google-chrome-without-cors/</link>
      <pubDate>Tue, 24 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/run-google-chrome-without-cors/</guid>
      <description>You may need to run Google Chrome with CORS checks disabled. Here&amp;rsquo;s how you can do it on Windows 10.</description>
    </item>
    
    <item>
      <title>How to get video details from YouTube with .NET Core 3</title>
      <link>https://www.code4it.dev/blog/get-youtube-video-details-dotnet/</link>
      <pubDate>Tue, 17 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/get-youtube-video-details-dotnet/</guid>
      <description>We have already seen how to search for videos in a YouTube channel. Now it&amp;rsquo;s time to get details for a single video.</description>
    </item>
    
    <item>
      <title>How to search for YouTube videos in a channel with .NET Core 3</title>
      <link>https://www.code4it.dev/blog/csharp-extension-methods/</link>
      <pubDate>Mon, 02 Mar 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/csharp-extension-methods/</guid>
      <description>YouTube provides some APIs for getting info about a channel videos. But they also provide .NET libraries to achieve the same result with C#. Let&amp;rsquo;s have a try!</description>
    </item>
    
    <item>
      <title>How you can create extension methods in C#</title>
      <link>https://www.code4it.dev/blog/csharp-extension-methods/</link>
      <pubDate>Tue, 18 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/csharp-extension-methods/</guid>
      <description>Extension methods in C# are really useful, but there are few rules to follow&amp;hellip;</description>
    </item>
    
    <item>
      <title>MSTest CollectionAssert class - an overview</title>
      <link>https://www.code4it.dev/blog/mstests-collectionassert-overview/</link>
      <pubDate>Tue, 04 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/mstests-collectionassert-overview/</guid>
      <description>The CollectionAssert class if fine for basic tests on collections in C#. We will have a look at the methods exposed by this class.</description>
    </item>
    
    <item>
      <title>5 things you didn&#39;t know about Guid in C#</title>
      <link>https://www.code4it.dev/blog/5-things-about-guid-in-csharp/</link>
      <pubDate>Tue, 21 Jan 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/5-things-about-guid-in-csharp/</guid>
      <description>I&amp;rsquo;m pretty sure that you&amp;rsquo;ve already used Guids in C#, but have you ever stopped to think what they are under the hood?an 3 seconds to load. Here you&amp;rsquo;ll learn few trick to improve your site performance.</description>
    </item>
    
    <item>
      <title>A few tips for performance optimization</title>
      <link>https://www.code4it.dev/blog/few-tips-for-performance-optimization/</link>
      <pubDate>Mon, 06 Jan 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/few-tips-for-performance-optimization/</guid>
      <description>More than 50% of mobile users abandon a website if it takes more than 3 seconds to load. Here you&amp;rsquo;ll learn few trick to improve your site performance.</description>
    </item>
    
    <item>
      <title>How to ping from an Azure App service with TCPPING</title>
      <link>https://www.code4it.dev/blog/tcpping-azure-portal/</link>
      <pubDate>Fri, 13 Dec 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/tcpping-azure-portal/</guid>
      <description>Maybe you are used to ping services to check whether they respond or not. It works well using a local console, but within the Azure portal you must use another command: tcpping.</description>
    </item>
    
    <item>
      <title>A recap of my 30ArticlesForNovember</title>
      <link>https://www.code4it.dev/blog/30articlesfornovember-a-recap/</link>
      <pubDate>Thu, 05 Dec 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/30articlesfornovember-a-recap/</guid>
      <description>On November I shared on Twitter an article each day. They were about C#, general programming and advanced topics. For celebrating the conclusion of this challenge, I wrote a poem about that.</description>
    </item>
    
    <item>
      <title>C# sorting - a subtle mistake</title>
      <link>https://www.code4it.dev/blog/csharp-sorting-mistake/</link>
      <pubDate>Fri, 15 Nov 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/csharp-sorting-mistake/</guid>
      <description>Is it true that the inverse of a negative number is always a positive number? If you think it&amp;rsquo;s true, you might get a subtle error while implementing comparison.</description>
    </item>
    
    <item>
      <title>Thoughts after my very first public speech</title>
      <link>https://www.code4it.dev/blog/thoughts-after-my-first-public-speech/</link>
      <pubDate>Sun, 20 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/thoughts-after-my-first-public-speech/</guid>
      <description>Having a public speech seems easy. In some ways, it really is. But the first time can be hard. Here&amp;rsquo;s my thought after my first experience in public speaking.</description>
    </item>
    
    <item>
      <title>Type or namespace not found: how to fix Error CS0246 in .NET Core</title>
      <link>https://www.code4it.dev/blog/dotnet-type-or-namespace-not-found/</link>
      <pubDate>Mon, 26 Aug 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/dotnet-type-or-namespace-not-found/</guid>
      <description>Error CS0246 - Type or namespace could not be found. What does it mean? Why does it happen? How can you solve it?</description>
    </item>
    
    <item>
      <title>Retrieving your SQL LocalDB Instance Name: A How-To Guide</title>
      <link>https://www.code4it.dev/blog/ssms-how-to-get-instance-name/</link>
      <pubDate>Tue, 21 May 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/ssms-how-to-get-instance-name/</guid>
      <description>Sometimes, when I open SQL Server Management Studio, I forget about my Local DB instance name. Here&amp;rsquo;s how to retrieve it.</description>
    </item>
    
    <item>
      <title>API Gateways - an overview</title>
      <link>https://www.code4it.dev/blog/overview-api-gateways/</link>
      <pubDate>Fri, 17 May 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/overview-api-gateways/</guid>
      <description>API Gateways can help you create microservices and micro frontends, and expose rich APIs to your customers while keeping things simple on your company.</description>
    </item>
    
    <item>
      <title>MSTest StringAssert class - an overview</title>
      <link>https://www.code4it.dev/blog/mstests-stringassert-overview/</link>
      <pubDate>Wed, 20 Mar 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/mstests-stringassert-overview/</guid>
      <description>The StringAssert class is a hidden feature of the MSStest framework. Not so many methods, but they can help you with basic tests with strings.</description>
    </item>
    
    <item>
      <title>MSTest Assert class - an overview</title>
      <link>https://www.code4it.dev/blog/mstests-assert-overview/</link>
      <pubDate>Wed, 05 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/mstests-assert-overview/</guid>
      <description>The Assert class is the first step you&amp;rsquo;ll probably take into unit testing. But do you know that there&amp;rsquo;s more than the IsTrue() method?</description>
    </item>
    
    <item>
      <title>How to create a new Angular 7 project</title>
      <link>https://www.code4it.dev/blog/angular7-create-new-project/</link>
      <pubDate>Sat, 01 Dec 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/angular7-create-new-project/</guid>
      <description>Are you ready to create a brand new Angular project? The CLI can help you with common settings.</description>
    </item>
    
    <item>
      <title>A few things I learned at .NET Conference Italia 2018</title>
      <link>https://www.code4it.dev/blog/dotnet-conference-italia-2018/</link>
      <pubDate>Mon, 29 Oct 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/dotnet-conference-italia-2018/</guid>
      <description>Some of the things I learned at .NET Conf Italia: interfaces and abstract classes, Blazor, C# default interfaces and .NET Core on Samsung TV</description>
    </item>
    
    <item>
      <title>Angular vs NPM vs Node.js: spot the difference!</title>
      <link>https://www.code4it.dev/blog/angular-vs-npm-vs-nodejs/</link>
      <pubDate>Thu, 25 Oct 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/angular-vs-npm-vs-nodejs/</guid>
      <description>There&amp;rsquo;s a lot of confusion around the terms Angular, NPM, and NodeJS. What are they? And how do they interact with each other?</description>
    </item>
    
    <item>
      <title>How to check if a string is really empty with C#</title>
      <link>https://www.code4it.dev/blog/csharp-check-if-string-is-empty/</link>
      <pubDate>Mon, 01 Oct 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.code4it.dev/blog/csharp-check-if-string-is-empty/</guid>
      <description>Is a string empty? What if it contains only white spaces? You shouldn&amp;rsquo;t reinvent the wheel, since .NET exposes methods exactly for these cases: String.IsNullOrEmpty and String.IsNullOrWhiteSpace.</description>
    </item>
    
  </channel>
</rss>
