Page 11 of 15
Use Stryker.NET to evaluate the real effectiveness of your test suite by introducing deliberate mutations to your code.
How vertical slice architecture groups code by feature rather than technical layer, and why it can reduce coupling in .NET applications.
A practical comparison of Blazor's three render modes and when to use each one.
A practical guide to implementing Clean Architecture in .NET, with project structure, dependency rules, and real code examples.
Enforce architectural rules as automated tests using NetArchTest to prevent dependency violations and structural drift.
How to instrument .NET applications with OpenTelemetry and export telemetry to Application Insights for end-to-end observability.
Use Playwright's .NET bindings to write reliable, cross-browser end-to-end tests for your web applications.
A practical introduction to Azure Bicep for .NET developers who want to define their infrastructure alongside their application code.
Use the Bogus library to generate realistic fake data for your .NET tests with deterministic, locale-aware data generation.
The test data builder pattern helps you construct complex test objects with sensible defaults while keeping tests readable and maintainable.
How to publish and subscribe to events using Azure Event Grid in .NET applications for loosely coupled, event-driven architectures.
How to work effectively with Azure Cosmos DB using the .NET SDK, covering client setup, CRUD operations, partitioning, and query patterns.
Practical patterns for using FluentAssertions to write expressive, self-documenting test assertions in .NET.
How to offload SignalR connection management to Azure SignalR Service for scalable real-time .NET applications.
How to deploy and scale .NET applications on Azure Container Apps with Dapr integration, scaling rules, and managed ingress.
Use the Verify library to catch unintended changes in your API responses, serialised objects, and complex outputs through snapshot testing.
How marking classes as sealed enables the JIT to devirtualise method calls, eliminating virtual dispatch overhead.
How to use Azure Managed Identity to authenticate .NET applications to Azure services without storing credentials.
How to pair a static frontend with an Azure Functions-based .NET API using Azure Static Web Apps.
A head-to-head comparison of Moq and NSubstitute covering syntax, features, and which to choose for your .NET tests.
How dynamic and static PGO let the JIT compiler make smarter optimisation decisions based on real runtime behaviour.
How to centralise application settings and feature flags using Azure App Configuration with the .NET configuration system.
Use Testcontainers to spin up real database instances in Docker for integration tests that mirror production behaviour.
How to use Azure Key Vault as a configuration source in .NET applications, replacing hardcoded secrets with secure, centralised management.
Understand when ValueTask<T> offers genuine performance benefits over Task<T> and when it introduces unnecessary risk.