54,302 blogs · [ { "id": "01a0b0b7-b507-7170-a262-ef055aa15a3a", "title": "Testing beyond your imagination: Property-based testing in C# with FsCheck", "url": "https://www.code4it.dev/blog/property-based-testing-fscheck/", "published_at": "2026-09-15T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d4adbaec7", "title": "Microsoft Agent Framework for .NET (part 3): Custom Agents, for building a chat with custom instructions", "url": "https://www.code4it.dev/blog/maf-first-agent-custom-instructions/", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d4bbc0000", "title": "Microsoft Agent Framework for .NET (part 2): How to use IChatClient with Azure Foundry and Ollama in .NET", "url": "https://www.code4it.dev/blog/maf-ichatclient-azure-foundry-ollama/", "published_at": "2026-07-21T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d4bc5a0e4", "title": "C# Tip: Use required members to prevent invalid object initialization (beware of SetsRequiredMembers attribute!)", "url": "https://www.code4it.dev/csharptips/required-members-and-setrequiredmembers-attribute/", "published_at": "2026-07-14T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d4c892643", "title": "Microsoft Agent Framework for .NET (part 1): what it is, how it works, and when to use it", "url": "https://www.code4it.dev/blog/introduction-microsoft-agent-framework-dotnet/", "published_at": "2026-07-07T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d4d7858c4", "title": "No more regressions with Snapshot Tests in C# using Verify: a practical guide", "url": "https://www.code4it.dev/blog/snapshot-tests-with-verify/", "published_at": "2026-06-30T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d4e41cbf2", "title": "Python for .NET devs: data types, classes, objects, records and interfaces", "url": "https://www.code4it.dev/python-for-dotnet-developers/data-types-classes-objects-records-interfaces/", "published_at": "2026-05-26T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d4ea741d1", "title": "How to send Slack messages using Azure Logic Apps: built-in connector vs Slack APIs", "url": "https://www.code4it.dev/blog/send-slack-messages-using-azure-logic-apps/", "published_at": "2026-04-14T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d4f60615f", "title": "C# Tip: How to JSON Serialize and Deserialize values as DateTime, DateTimeOffset, DateOnly and TimeOnly", "url": "https://www.code4it.dev/csharptips/json-serialize-deserialize-dates/", "published_at": "2026-03-24T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5043d6aa", "title": "Python for .NET devs: Introduction, virtual environments, package management, and execution lifecycle", "url": "https://www.code4it.dev/python-for-dotnet-developers/intro-to-python/", "published_at": "2026-03-03T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d507e3440", "title": "Readonly vs Immutable vs Frozen in C#: differences and (a lot of) benchmarks", "url": "https://www.code4it.dev/blog/readonly-vs-immutable-vs-frozen/", "published_at": "2026-02-17T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d512b76e0", "title": "Code opinion: why I prefer avoiding the Async suffix in C# asynchronous methods", "url": "https://www.code4it.dev/blog/code-opinion-async-suffix/", "published_at": "2026-01-20T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5229bfd4", "title": "[C# Tip] How to create and access custom C# Attributes by using Reflection", "url": "https://www.code4it.dev/csharptips/custom-csharp-attributes-reflection/", "published_at": "2025-12-16T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5259cf94", "title": "Davide's Code and Architecture Notes - Metrics, Logs, and Traces: the three pillars of Observability", "url": "https://www.code4it.dev/architecture-notes/metrics-logs-traces/", "published_at": "2025-11-18T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d52d26799", "title": "Things I learned after speaking at my first Big International Conference", "url": "https://www.code4it.dev/blog/after-first-big-tech-conference/", "published_at": "2025-11-04T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d53c984f2", "title": "Introducing the Testing Vial: a (better?) alternative to Testing Diamond and Testing Pyramid", "url": "https://www.code4it.dev/blog/testing-vial/", "published_at": "2025-10-12T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d543c55e4", "title": "C# Tip: injecting and testing the current time with TimeProvider and FakeTimeProvider", "url": "https://www.code4it.dev/csharptips/timeprovider-faketimeprovider/", "published_at": "2025-09-02T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d54be49d4", "title": "Build your own Static Code Analysis tool in .NET by knowing how Assembly, Type, MethodInfo, ParameterInfo work.", "url": "https://www.code4it.dev/blog/assembly-type-methodinfo-parameterinfo/", "published_at": "2025-07-29T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5590b765", "title": "Davide's Code and Architecture Notes - Software Architecture vs Software Design", "url": "https://www.code4it.dev/architecture-notes/software-architecture-vs-software-design/", "published_at": "2025-07-01T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d56327695", "title": "C# Tip: Handling exceptions with Task.WaitAll and Task.WhenAll", "url": "https://www.code4it.dev/csharptips/task-whenall-vs-task-waitall-error-handling/", "published_at": "2025-06-10T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d56e1ff34", "title": "How to run SonarQube analysis locally with Docker", "url": "https://www.code4it.dev/blog/sonarqube-local-with-docker/", "published_at": "2025-05-27T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d56e543a9", "title": "Harnessing the Power of Jitter: Enhancing Retry Patterns with a bit of randomness", "url": "https://www.code4it.dev/architecture-notes/retry-patterns-jitter/", "published_at": "2025-05-06T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d571702c4", "title": "C# Tip: An In-Depth Look at CallerMemberName (and some Compile-Time trivia)", "url": "https://www.code4it.dev/csharptips/callermembername-attribute/", "published_at": "2025-03-25T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d573569b2", "title": "How to log to Azure Application Insights using ILogger in ASP.NET Core", "url": "https://www.code4it.dev/blog/azure-application-insights-ilogger-aspnetcore/", "published_at": "2025-03-18T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d57cc6f34", "title": "D2: like Mermaid, but better. Syntax, installation, and practical usage tips", "url": "https://www.code4it.dev/architecture-notes/d2-diagrams/", "published_at": "2025-02-04T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d585315b2", "title": "C# Tip: How to create Custom Attributes, and why they are useful", "url": "https://www.code4it.dev/csharptips/create-custom-csharp-attributes/", "published_at": "2025-01-21T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d59448374", "title": "HTTP Logging in ASP.NET: how to automatically log all incoming HTTP requests (and its downsides!)", "url": "https://www.code4it.dev/blog/httplogging-asp-net/", "published_at": "2025-01-14T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5994660b", "title": "Fitness Functions in Software Architecture: measuring things to ensure prosperity", "url": "https://www.code4it.dev/architecture-notes/fitness-functions/", "published_at": "2025-01-07T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5a351d0c", "title": "C# Tip: 2 ways to generate realistic data using Bogus", "url": "https://www.code4it.dev/csharptips/bogus-data-generation/", "published_at": "2024-12-03T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5a42d8d8", "title": "Easy logging management with Seq and ILogger in ASP.NET", "url": "https://www.code4it.dev/blog/logging-with-ilogger-and-seq/", "published_at": "2024-11-19T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5a4851bb", "title": "Davide's Code and Architecture Notes - the Error Management Trio, and how it affects your software architecture", "url": "https://www.code4it.dev/architecture-notes/error-management-trio/", "published_at": "2024-11-05T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5a4a6adc", "title": "C# Tip: IEnumerable vs ICollection, and why it matters", "url": "https://www.code4it.dev/csharptips/ienumerable-vs-icollection/", "published_at": "2024-10-15T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5b1323b6", "title": "How to use IHttpClientFactory and WireMock.NET together using Moq", "url": "https://www.code4it.dev/blog/wiremock-ihttpclientfactory-moq/", "published_at": "2024-10-01T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5b48345e", "title": "Davide's Code and Architecture Notes - Practical creation of C4 Model diagrams with Structurizr", "url": "https://www.code4it.dev/architecture-notes/c4-model-diagrams/", "published_at": "2024-09-17T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5b574a8b", "title": "C# Tip: 2 ways to use custom equality rules in a HashSet", "url": "https://www.code4it.dev/csharptips/hashset-custom-equality/", "published_at": "2024-08-27T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5c2877ce", "title": "Postman's pre-request scripts: how to perform HTTP POST requests (with JSON body) and how to set Cookie authentication.", "url": "https://www.code4it.dev/blog/postman-prerequest-script-cookie-auth/", "published_at": "2024-08-20T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5cdcc1c7", "title": "Davide's Code and Architecture Notes - Web APIs vs REST APIs vs pseudo-REST APIs", "url": "https://www.code4it.dev/architecture-notes/webapi-vs-rest-vs-pseudo-rest/", "published_at": "2024-07-30T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5d49aebe", "title": "C# Tip: Mark a class as Sealed to prevent subclasses creation", "url": "https://www.code4it.dev/csharptips/sealed-classes/", "published_at": "2024-07-16T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5de6ee5f", "title": "Seeding in-memory Entity Framework with realistic data with Bogus", "url": "https://www.code4it.dev/blog/seed-inmemory-entityframework-bogus/", "published_at": "2024-07-09T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5eba0d8c", "title": "Davide's Code and Architecture Notes - Arc42 Documentation, for a comprehensive description of your project", "url": "https://www.code4it.dev/architecture-notes/arc42-documentation/", "published_at": "2024-07-02T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d5f92a713", "title": "C# Tip: Path.Combine and Path.Join are similar but way different.", "url": "https://www.code4it.dev/csharptips/path-combine-vs-path-join/", "published_at": "2024-06-25T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d606a3933", "title": "Getting started with Load testing with K6 on Windows 11", "url": "https://www.code4it.dev/blog/k6-load-testing/", "published_at": "2024-06-18T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d615f71af", "title": "Davide's Code and Architecture Notes - Introducing SLI, SLO, and SLA", "url": "https://www.code4it.dev/architecture-notes/sli-vs-slo-vs-sla/", "published_at": "2024-03-19T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d62196b83", "title": "Why reaching 100% Code Coverage must NOT be your testing goal (with examples in C#)", "url": "https://www.code4it.dev/blog/code-coverage-must-not-be-the-target/", "published_at": "2024-03-12T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6236745e", "title": "C# Tip: IFormattable interface, to define different string formats for the same object", "url": "https://www.code4it.dev/csharptips/iformattable-interface/", "published_at": "2024-02-27T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d628f9d6d", "title": "[ENG] Improving Your Code Coverage | Microsoft Visual Studio YouTube channel", "url": "https://www.code4it.dev/video/code-coverage-visualstudio-toolbox/", "published_at": "2024-02-16T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6311e34b", "title": "Is Random.GetItems the best way to get random items in C# 12?", "url": "https://www.code4it.dev/blog/how-to-get-random-items/", "published_at": "2024-02-13T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d63bb7bee", "title": "Davide's Code and Architecture Notes - Cache Expiration vs Cache Eviction (and Eviction Policies)", "url": "https://www.code4it.dev/architecture-notes/cache-expiration-and-eviction/", "published_at": "2024-02-06T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6470ecad", "title": "How to create custom snippets in Visual Studio 2022", "url": "https://www.code4it.dev/blog/custom-snippets-visualstudio2022/", "published_at": "2024-01-30T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d65283b9c", "title": "C# Tip: ObservableCollection - a data type to intercept changes to the collection", "url": "https://www.code4it.dev/csharptips/observablecollection/", "published_at": "2024-01-23T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d65b15524", "title": "How to kill a process running on a local port in Windows", "url": "https://www.code4it.dev/blog/kill-the-process-blocking-a-port-windows/", "published_at": "2024-01-16T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d66ae37f0", "title": "Davide's Code and Architecture Notes - Tracking decision with Architecture Decision Records (ADRs)", "url": "https://www.code4it.dev/architecture-notes/architecture-decision-records/", "published_at": "2024-01-09T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6740eac4", "title": "[ENG] MVPbuzzChat with Davide Bellone | Christian Buckley", "url": "https://www.code4it.dev/video/mvp-buzz-chat/", "published_at": "2024-01-08T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d676cd850", "title": "Top 6 Performance Tips when dealing with strings in C# 12 and .NET 8", "url": "https://www.code4it.dev/blog/top-6-string-performance-tips/", "published_at": "2023-12-19T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d67eddc16", "title": "4 ways to create Unit Tests without Interfaces in C#", "url": "https://www.code4it.dev/blog/unit-tests-without-interfaces/", "published_at": "2023-12-12T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d681945b7", "title": "C# Tip: Use TestCase to run similar unit tests with NUnit", "url": "https://www.code4it.dev/csharptips/nunit-testcase/", "published_at": "2023-11-28T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d68613537", "title": "[ENG] .NET 5, 6, 7, and 8 for busy developers | .NET Community Austria", "url": "https://www.code4it.dev/video/dotnet5-6-7-8-dotnet-austria/", "published_at": "2023-11-21T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d694436e8", "title": "How to extract, create, and navigate Zip Files in C#", "url": "https://www.code4it.dev/blog/working-with-zip-files/", "published_at": "2023-11-14T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d69f91232", "title": "Davide's Code and Architecture Notes - 4 algorithms to implement Rate Limiting, with comparison", "url": "https://www.code4it.dev/architecture-notes/rate-limiting-algorithms/", "published_at": "2023-11-07T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6a88a86d", "title": "OhMyPosh and CascadiaCode not working on PowerShell? How to fix it in Windows 10 and Windows 11 Integrated Terminal", "url": "https://www.code4it.dev/blog/ohmyposh-integrated-terminal-powershell/", "published_at": "2023-10-31T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6ab1dabd", "title": "C# Tip: How to create Unit Tests for Model Validation", "url": "https://www.code4it.dev/csharptips/unit-test-model-validation/", "published_at": "2023-10-24T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6b7f2a10", "title": "Pre-commit hooks with Husky.NET - build, format, and test your .NET application before a Git commit", "url": "https://www.code4it.dev/blog/husky-dotnet-precommit-hooks/", "published_at": "2023-10-17T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6c2aa4cf", "title": "Davide's Code and Architecture Notes - Pros and Cons of API Gateways (with vendors comparison)", "url": "https://www.code4it.dev/architecture-notes/api-gateway-pros-and-cons/", "published_at": "2023-10-10T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6cd7dd8b", "title": "How to integrate Feature Flags stored on Azure App Configuration in an ASP.NET Core Application", "url": "https://www.code4it.dev/blog/feature-flags-from-azure-app-configuration/", "published_at": "2023-10-03T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6db97010", "title": "C# Tip: Improve memory allocation by initializing collection size", "url": "https://www.code4it.dev/csharptips/initialize-collection-size/", "published_at": "2023-09-26T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6e9a9a46", "title": "Feature Flags 101: A Guide for ASP.NET Core Developers", "url": "https://www.code4it.dev/blog/feature-flags-dotnet/", "published_at": "2023-09-19T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6f50371f", "title": "Davide's Code and Architecture Notes - CAP Theorem: it's not just «Pick two»", "url": "https://www.code4it.dev/architecture-notes/cap-theorem/", "published_at": "2023-09-12T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d6fcb32b3", "title": "Advanced Integration Tests for .NET 7 API with WebApplicationFactory and NUnit", "url": "https://www.code4it.dev/blog/advanced-integration-tests-webapplicationfactory/", "published_at": "2023-08-01T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7043b8d5", "title": "C# Tip: 2 ways to define ASP.NET Core custom Middleware", "url": "https://www.code4it.dev/csharptips/custom-middleware/", "published_at": "2023-07-11T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7095a66d", "title": "How to automatically refresh configurations with Azure App Configuration in ASP.NET Core", "url": "https://www.code4it.dev/blog/azure-app-configuration-refresh-config/", "published_at": "2023-07-04T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d70bb1fea", "title": "Davide's Code and Architecture Notes - L4 vs L7 Load Balancer", "url": "https://www.code4it.dev/architecture-notes/l4-vs-l7-load-balancers/", "published_at": "2023-06-27T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7125b0cb", "title": "[ENG] .NET 5, 6, and 7 for busy developers | Dotnet Sheff", "url": "https://www.code4it.dev/video/dotnet5-6-7-dotnet-sheff/", "published_at": "2023-06-21T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d71d1ae14", "title": "Azure App Configuration and .NET API: a smart and secure way to manage configurations", "url": "https://www.code4it.dev/blog/azure-app-configuration-dotnet-api/", "published_at": "2023-06-20T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d71dea7ba", "title": "C# Tip: Use custom Equality comparers in Nunit tests", "url": "https://www.code4it.dev/csharptips/nunit-equals-custom-comparer/", "published_at": "2023-06-13T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d720e7383", "title": "How to add Dependency Injection, Configurations, and Logging in a .NET 7 Console Application", "url": "https://www.code4it.dev/blog/dependency-injection-config-logging-in-console-application/", "published_at": "2023-06-06T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d724e9736", "title": "Davide's Code and Architecture Notes - Testing Pyramid vs Testing Diamond (and how they affect Code Coverage)", "url": "https://www.code4it.dev/architecture-notes/testing-pyramid-vs-testing-diamond/", "published_at": "2023-05-30T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d728898f8", "title": "Understanding IOptions, IOptionsMonitor, and IOptionsSnapshot in .NET 7", "url": "https://www.code4it.dev/blog/ioptions-ioptionsmonitor-ioptionssnapshot/", "published_at": "2023-05-23T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7373c02d", "title": "C# Tip: Advanced Switch Expressions and Switch Statements using filters", "url": "https://www.code4it.dev/csharptips/switch-expressions-and-statements/", "published_at": "2023-05-16T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d73cab08c", "title": "How to download an online file and store it on file system with C#", "url": "https://www.code4it.dev/blog/download-and-save-files/", "published_at": "2023-05-09T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7497690f", "title": "C# Tip: Format Interpolated Strings", "url": "https://www.code4it.dev/csharptips/format-interpolated-strings/", "published_at": "2023-05-02T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d75829e75", "title": "Davide's Code and Architecture Notes - Postel's law for API Robustness", "url": "https://www.code4it.dev/architecture-notes/postel-law-for-api-robustness/", "published_at": "2023-04-18T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7650b6f6", "title": "C# Tip: Access items from the end of the array using the ^ operator", "url": "https://www.code4it.dev/csharptips/access-items-from-end-of-array/", "published_at": "2023-04-11T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d76707003", "title": "Health Checks in .NET: 2 ways to check communication with MongoDB", "url": "https://www.code4it.dev/blog/mongodb-healthcheck/", "published_at": "2023-03-07T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d77601e3a", "title": "C# Tip: Initialize lists size to improve performance", "url": "https://www.code4it.dev/csharptips/initialize-lists-size/", "published_at": "2023-02-28T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7776a2c7", "title": "Davide's Code and Architecture Notes - Understanding Elasticity and Scalability with Pokémon Go and TikTok", "url": "https://www.code4it.dev/architecture-notes/elasticity-vs-scalability/", "published_at": "2023-02-21T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d77f6e2ec", "title": "C# Tip: List Pattern to match an collection against a sequence of patterns", "url": "https://www.code4it.dev/csharptips/list-pattern/", "published_at": "2023-02-14T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d77f9aafc", "title": "How to customize Conventional Commits in a .NET application using GitHooks", "url": "https://www.code4it.dev/blog/conventional-commit-with-githooks/", "published_at": "2023-02-07T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d78612ab1", "title": "C# Tip: do NOT use nameof to give constants a value", "url": "https://www.code4it.dev/csharptips/do-not-use-nameof-for-constants/", "published_at": "2023-01-31T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7926d9f5", "title": "Davide's Code and Architecture Notes - Server-side caching strategies: how do they work?", "url": "https://www.code4it.dev/architecture-notes/caching-strategies/", "published_at": "2023-01-24T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d79c512e0", "title": "C# Tip: LINQ's Enumerable.Range to generate a sequence of consecutive numbers", "url": "https://www.code4it.dev/csharptips/enumerable-range/", "published_at": "2023-01-17T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7aa9947b", "title": "LINQ for beginners: pick the right methods!", "url": "https://www.code4it.dev/blog/linq-differences/", "published_at": "2023-01-10T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7b4572d6", "title": "How to customize Swagger UI with custom CSS in .NET 7", "url": "https://www.code4it.dev/blog/customize-swagger-ui-with-css/", "published_at": "2022-12-16T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7c2f57fd", "title": "PriorityQueues on .NET 7 and C# 11", "url": "https://www.code4it.dev/blog/intro-priority-queue/", "published_at": "2022-12-12T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7c541dac", "title": "Book Review: C# 11 and .NET 7 - Modern Cross-Platform Development Fundamentals", "url": "https://www.code4it.dev/book-review/c-11-and-net-7-modern-cross-platform-development-fundamentals-seventh-edition/", "published_at": "2022-12-01T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7d38eec2", "title": "C# Tip: Raise synchronous events using Timer (and not a While loop)", "url": "https://www.code4it.dev/csharptips/timer-to-trigger-synchronous-events/", "published_at": "2022-11-29T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7d83fdc3", "title": "How to create an API Gateway using Azure API Management", "url": "https://www.code4it.dev/blog/intro-azure-api-management/", "published_at": "2022-11-22T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7e41f33b", "title": "Clean Code Tip: Methods should have a coherent level of abstraction", "url": "https://www.code4it.dev/cleancodetips/coherent-levels-of-abstraction/", "published_at": "2022-11-15T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7f05dda5", "title": "How to deploy .NET APIs on Azure using GitHub actions", "url": "https://www.code4it.dev/blog/deploy-api-on-azure-with-github-action/", "published_at": "2022-11-08T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7f934632", "title": "C# Tip: use the @ prefix when a name is reserved", "url": "https://www.code4it.dev/csharptips/use-at-symbol-prefix/", "published_at": "2022-10-25T00:00:00+00:00" }, { "id": "01a08761-5af3-7047-8225-390d7fe111e6", "title": "3 (and more) ways to set configuration values in .NET", "url": "https://www.code4it.dev/blog/how-to-set-configurations-values-dotnet/", "published_at": "2022-10-18T00:00:00+00:00" } ] posts Claim your blog
Back to code4it.dev
Blog · corpus.blog/blogs/code4it.dev/posts

code4it.dev

code4it.dev

2026

2025

2024

2023

2022