Quick takes from developers at work.
Tips, fixes and short write-ups on what developers ran into this week, in their own words.
In modern web applications, ensuring secure and efficient authentication is paramount. Several protocols and standards exist to address different aspects of authentication and authorization. This blog will delve into JWT (JSON Web Tokens), OAuth, OpenID Connect, and Azure AD, exploring why they are necessary and how they fit together in the authentication landscape.

In the modern era of software development, the need for efficient data streaming and real-time data processing has become paramount. Apache Kafka and Zookeeper have emerged as critical components in addressing these needs. This blog will delve into what Kafka and Zookeeper are, how they work.

The Strategy pattern is a behavioral design pattern that allows you to define a family of algorithms, encapsulate each one, and make them interchangeable. This pattern is particularly useful in scenarios where you need to switch between different algorithms at runtime. In this blog, we'll explore how to implement the Strategy pattern in .NET 8.0 using Minimal API with dependency injection.

.NET's strength lies in its ability to provide language interoperability, enabling developers to create applications using multiple programming languages seamlessly. This is made possible through the Common Language Runtime (CLR) and the Common Type System (CTS), which ensure that code written in different languages can work together without any issues.

LINQ (Language Integrated Query) is a powerful feature in C# that allows querying data from different sources (like collections, databases, XML, etc.) in a consistent manner. LINQ can be used in two primary ways: deferred execution and immediate execution. Understanding the execution behavior of LINQ queries is crucial for writing efficient and predictable code.

The Saga pattern is a design pattern used to manage and coordinate distributed transactions in microservices architectures. Unlike traditional monolithic transactions that ensure ACID (Atomicity, Consistency, Isolation, Durability) properties through a single database transaction, distributed transactions span multiple services, making it difficult to maintain ACID properties. The Saga pattern addresses this by breaking down a transaction into a series of smaller, independent steps (or sub-transactions) that are executed in a predefined sequence.

Entity Framework (EF) is an Object-Relational Mapper (ORM) that enables .NET developers to work with a database using .NET objects. It eliminates the need for most of the data-access code that developers usually need to write. Entity Framework Core (EF Core) is the modern version of Entity Framework and is designed to be lightweight, extensible, and cross-platform.

Writing clean code is essential for maintainability, readability, and scalability. Here are 12 simple tips to help you write cleaner code in .Net, each illustrated with bad and good code snippets.

Domain-driven design (DDD) is an approach to software development that aligns closely with a domain expert's understanding of the problem.

The as and is keywords allow for safe type checking and conversion, while the nameof operator and conditional access operator provide convenient ways to handle variable names and null values.

Explore the transformative power of SOLID principles in .NET development. From enhancing code readability with SRP to fostering extensibility through OCP and ensuring robustness with LSP, discover how these principles elevate your coding practices.

Unlock the power of string interpolation in C# for dynamic, readable code. Seamlessly embed expressions within strings to simplify complex queries, enhance debugging, and streamline HTML generation.

In modern web development, building resilient APIs is crucial for ensuring reliability and performance. This blog will guide you through implementing resilience in a .NET 8 Web API using Microsoft.Extensions.Http.Resilience library.

Learn how to implement the Chain of Responsibility pattern in C#. This behavioral design pattern allows you to decouple the sender and receiver of requests by giving multiple objects a chance to handle the request.

Implementing the Saga Pattern in C# involves managing complex business transactions in microservices by coordinating a series of local transactions. This pattern ensures data consistency and resilience through techniques like choreography and orchestration.

Designing RESTful APIs involves choosing between query string parameters and path parameters for passing data. Query string parameters are suited for filtering, sorting, and pagination, appended to URLs. Path parameters, embedded in URL paths, identify specific resources.

Benchmarking is a critical practice in software development, allowing developers to measure and compare the performance of different pieces of code. In .NET, one of the most popular libraries for benchmarking is BenchmarkDotNet. This detailed blog will introduce BenchmarkDotNet.

Discover how the Experimental Attribute in C# enhances your development process. This feature allows early adoption of new language features, enabling developers to test and provide feedback on upcoming releases.

Microsoft Entra ID enhances security with SSO, MFA, and user provisioning. Using Microsoft Graph API, retrieve application expiry dates to notify owners of impending secret expirations. Ideal for apps not using Azure Key Vault, this method ensures timely alerts and security management.

Artificial Intelligence (AI) has rapidly transformed various industries, and software development is no exception. With the advent of AI-powered tools and libraries, .NET developers now have powerful resources at their disposal to enhance productivity, optimize code, and build smarter applications.

IExceptionHandler is an interface introduced in .NET 8 for handling exceptions globally. ASP.NET Core applications use this interface internally for their built-in exception handling. This method is better than other approaches we've seen.

The Domain Name System (DNS) is the backbone of the internet, translating human-readable URLs into machine-readable IP addresses. Learn about its genesis, evolution, and crucial role in navigating the web.

Application vulnerabilities pose significant risks in our interconnected digital world. OWASP, through initiatives like the OWASP Top Ten, guides efforts to identify, mitigate, and manage these threats.

Authentication, evolving since the 1960s, progresses from passwords to biometrics, multi-factor authentication, and token-based systems. In a world of escalating cyber threats, robust authentication is crucial for secure systems.

In today's digital age, securing information is crucial. SSL and its successor, TLS, are protocols essential for secure web communications, ensuring encrypted, authenticated, and private data transmission.
Everything on .NET, not only its blogs: the .NET page →
DevSocialUpcoming · 3rd editionAI Agents ConferenceNov 23–27, 2026Live onlineMembers only16days leftRegisterMembers onlyWrite a blog post and earn +250 SHARP when it is approved.
Write a blog