<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Adrian Bailador | .NET </title><description>Welcome to my portfolio and blog about software engineering, coding and technology. Talk about .NET, C#, Azure, Visual Studio, and a bit of Next.js.</description><link>https://adrianbailador.github.io/</link><item><title>HybridCache in .NET 9: One Caching API, Stampede Protection Included</title><link>https://adrianbailador.github.io/blog/61-hybrid-cache-dotnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/61-hybrid-cache-dotnet/</guid><description>IMemoryCache is fast but per-server. IDistributedCache is shared but slow and full of boilerplate. .NET 9&apos;s HybridCache combines both into one API — two-tier caching, built-in stampede protection and tag invalidation. Here&apos;s how to use it properly.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Uber-like System in .NET: Driver Matching, Surge Pricing and the Complete Request Flow</title><link>https://adrianbailador.github.io/blog/60-uber-driver-matching-dotnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/60-uber-driver-matching-dotnet/</guid><description>We&apos;ve built the location pipeline and the trip state machine. Now we connect them: find the nearest available driver, calculate surge pricing, and trace the full lifecycle from rider request to completed trip.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>State Machines in .NET: Modelling Uber&apos;s Trip Lifecycle with EF Core</title><link>https://adrianbailador.github.io/blog/59-trip-state-machine-dotnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/59-trip-state-machine-dotnet/</guid><description>A trip isn&apos;t just data — it&apos;s a lifecycle. Requested, assigned, en route, completed, cancelled. Get the transitions wrong and two drivers accept the same ride, or a payment fires twice. Here&apos;s how to model it correctly in .NET.</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>Real-time Driver Location Tracking in .NET: Redis GEO, State Buffer and SignalR</title><link>https://adrianbailador.github.io/blog/58-realtime-driver-location-dotnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/58-realtime-driver-location-dotnet/</guid><description>Uber processes millions of GPS updates every second. Here&apos;s how to build the same real-time location tracking pipeline in .NET — from driver updates to rider map — using Redis GEO, a mutable state buffer and SignalR.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>CQRS Without MediatR: Hand-Rolled Command and Query Handlers in .NET</title><link>https://adrianbailador.github.io/blog/57-cqrs-without-mediatr-dotnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/57-cqrs-without-mediatr-dotnet/</guid><description>MediatR went commercial and half the .NET world started looking for an exit. The good news: CQRS was never about MediatR. Here&apos;s how to build clean, testable command and query handlers using nothing but the built-in DI container.</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate></item><item><title>Anti-Corruption Layer in .NET: Protecting Your Domain from External APIs</title><link>https://adrianbailador.github.io/blog/56-anti-corruption-layer-dotnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/56-anti-corruption-layer-dotnet/</guid><description>Every external API you consume is a ticking bomb. A model change, a renamed field, a deprecated endpoint — and suddenly your domain logic is full of someone else&apos;s concepts. Here&apos;s how the Anti-Corruption Layer pattern keeps your domain clean.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Kubernetes Probes + .NET: Liveness, Readiness and Startup in Production</title><link>https://adrianbailador.github.io/blog/55-kubernetes-probes-dotnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/55-kubernetes-probes-dotnet/</guid><description>One /health endpoint is not enough for Kubernetes. Learn how to configure Liveness, Readiness, and Startup probes correctly in .NET — with tagged Health Checks, production YAML, common mistakes, and the reasoning behind every parameter.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Health Checks in ASP.NET Core: Beyond the Basic /health Endpoint</title><link>https://adrianbailador.github.io/blog/54-health-checks-aspnetcore/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/54-health-checks-aspnetcore/</guid><description>Most developers add a /health endpoint and call it done. Here&apos;s how to build health checks that actually tell you what&apos;s wrong — database, external APIs, disk space, and Kubernetes probes, all in production-ready code.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>IAsyncEnumerable&lt;T&gt; in C#: Streaming Data Without Loading Everything into Memory</title><link>https://adrianbailador.github.io/blog/53-iasyncenumerable-csharp-streaming-data/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/53-iasyncenumerable-csharp-streaming-data/</guid><description>Master IAsyncEnumerable to handle large datasets efficiently. Learn production patterns with Entity Framework, HttpClient streaming, and real performance comparisons.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item><item><title>How I Fixed Supabase Rate Limiting in Production</title><link>https://adrianbailador.github.io/blog/52-supabase-rate-limiting/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/52-supabase-rate-limiting/</guid><description>Direct Supabase calls from the frontend in The Coffee Timer were triggering 429 errors under load. Here&apos;s how moving critical operations to a .NET backend, using Supabase RPCs, server-side caching, and a localStorage TTL fixed it for good.</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate></item><item><title>What Your .NET Exceptions Are Telling Attackers (And How to Stop It)</title><link>https://adrianbailador.github.io/blog/51-exception-security/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/51-exception-security/</guid><description>Unhandled exceptions in .NET APIs expose stack traces, database schemas, and internal paths to anyone watching. Learn how to implement secure error handling in ASP.NET Core to protect your application without sacrificing observability.</description><pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GitHub Actions for .NET: Build, Test, and Deploy Your API</title><link>https://adrianbailador.github.io/blog/50-github-actions/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/50-github-actions/</guid><description>Learn how to set up a complete CI/CD pipeline for your .NET applications using GitHub Actions — from building and testing on every push to deploying Docker containers to Azure</description><pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Messaging in .NET: Queues, Topics, and Why You Need Them</title><link>https://adrianbailador.github.io/blog/49-messaging-in-net/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/49-messaging-in-net/</guid><description>Learn why asynchronous messaging matters in .NET applications, how queues and topics differ, and when to use RabbitMQ, Azure Service Bus, or AWS SQS to build reliable, decoupled systems</description><pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Getting Started with PostgreSQL in .NET: From Zero to Production</title><link>https://adrianbailador.github.io/blog/48-getting-started-with-postgresql-in-net/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/48-getting-started-with-postgresql-in-net/</guid><description>Learn how to connect PostgreSQL to your .NET application using Entity Framework Core and Dapper, set up Docker locally, run migrations, and leverage PostgreSQL-specific features like JSONB, arrays, and enum types</description><pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Vertical Slice Architecture in .NET</title><link>https://adrianbailador.github.io/blog/47-vertical-slice-architecture/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/47-vertical-slice-architecture/</guid><description>Learn how Vertical Slice Architecture organizes code by features instead of layers, reducing coupling and accelerating development in .NET applications</description><pubDate>Fri, 13 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Bulk Operations in EF Core 10: Beyond SaveChanges()</title><link>https://adrianbailador.github.io/blog/46-bulk-operations-in-ef/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/46-bulk-operations-in-ef/</guid><description>ExecuteUpdate and ExecuteDelete provide 300-500x performance improvements for bulk operations, eliminating the need to load thousands of entities into memory</description><pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate></item><item><title>LeftJoin and RightJoin in EF Core 10</title><link>https://adrianbailador.github.io/blog/45-leftjoin-and-rightjoin/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/45-leftjoin-and-rightjoin/</guid><description>EF Core 10 finally introduces native LeftJoin and RightJoin LINQ operators, replacing the verbose GroupJoin + DefaultIfEmpty pattern with clean, readable code</description><pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Result Pattern in C#</title><link>https://adrianbailador.github.io/blog/44-result-pattern-/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/44-result-pattern-/</guid><description>Learn how to implement the Result Pattern for cleaner error handling without exceptions. Discover when to use it, how to build it from scratch, and integrate it with ASP.NET Core Minimal APIs.</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Minimal API Validation in .NET 10</title><link>https://adrianbailador.github.io/blog/43-api-validation/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/43-api-validation/</guid><description>Discover the new built-in validation support for Minimal APIs in .NET 10. Learn how to use DataAnnotations, custom validation attributes, and IValidatableObject without external packages.</description><pubDate>Mon, 12 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Channels in C#</title><link>https://adrianbailador.github.io/blog/42-channels-csharp/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/42-channels-csharp/</guid><description>Learn how to build high-performance, thread-safe producer-consumer applications using System.Threading.Channels. Explore bounded and unbounded channels, backpressure strategies, and real-world implementation patterns.</description><pubDate>Sun, 04 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Building AI-Ready Applications with Model Context Protocol in C#</title><link>https://adrianbailador.github.io/blog/41-mcp/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/41-mcp/</guid><description>Learn how to build MCP servers and clients in C# using the official SDK, and connect your .NET applications with AI models in a standard, scalable way.</description><pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate></item><item><title>The New Field Keyword Improves Properties in C# 14</title><link>https://adrianbailador.github.io/blog/40-field-keyword/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/40-field-keyword/</guid><description>Discover how the new field keyword in C# 14 eliminates boilerplate code and provides an elegant middle ground between auto-properties and full properties. Learn practical use cases including validation, lazy initialisation, and INotifyPropertyChanged.</description><pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Adapter Pattern Explained with Real Examples</title><link>https://adrianbailador.github.io/blog/39-adapter-pattern/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/39-adapter-pattern/</guid><description>Learn the Adapter Pattern through practical .NET examples: payment gateways, logging systems, and legacy code integration. Understand when and how to use this essential structural design pattern.</description><pubDate>Sun, 07 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Repository Pattern vs Direct EF Core: The Great Debate</title><link>https://adrianbailador.github.io/blog/38-pattern-vs-direct-ef/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/38-pattern-vs-direct-ef/</guid><description>Should you use the Repository Pattern or work directly with DbContext? Explore both approaches with practical examples, performance benchmarks, and real-world scenarios to make the right choice for your .NET projects.</description><pubDate>Sat, 29 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Task vs ValueTask in C#</title><link>https://adrianbailador.github.io/blog/37-taskvsvaluetask/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/37-taskvsvaluetask/</guid><description>A clear and practical guide to understanding Task vs ValueTask in .NET, with benchmarks, examples, rules of thumb, and real-world recommendations.</description><pubDate>Sat, 15 Nov 2025 00:00:00 GMT</pubDate></item><item><title>15 Essential C# Shorthand Operators Every Developer Should Know in 2025</title><link>https://adrianbailador.github.io/blog/36-operators/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/36-operators/</guid><description>Master the most powerful shorthand operators in modern C# that will transform your code. From fundamentals to C# 13 features, learn how to write cleaner, more efficient code that stands out.</description><pubDate>Mon, 27 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Build Your Local AI with C# and .NET </title><link>https://adrianbailador.github.io/blog/35-ai-offline-csharp/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/35-ai-offline-csharp/</guid><description>Learn to run artificial intelligence models completely offline with C# and .NET using llama.cpp and LLamaSharp. Control your data, avoid API costs, and build your own local assistant step by step.</description><pubDate>Sat, 18 Oct 2025 00:00:00 GMT</pubDate></item><item><title>7 Types of Constructors in C#</title><link>https://adrianbailador.github.io/blog/34-constructor/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/34-constructor/</guid><description>Comprehensive guide to constructors in C#. Learn the 7 essential constructor types: default, parameterised, copy, static, private, chaining, and optional parameters. Includes practical examples, use cases, and best practices for object initialisation in C#.</description><pubDate>Mon, 06 Oct 2025 00:00:00 GMT</pubDate></item><item><title>AutoMapper: Mastering Complex Mappings in C#</title><link>https://adrianbailador.github.io/blog/33-automapper/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/33-automapper/</guid><description>Complete guide to AutoMapper in C#. Learn advanced mapping techniques: nested mappings, custom resolvers, value converters, projection with Entity Framework, testing strategies, performance optimisation, and common pitfalls. Includes practical examples and best practices.</description><pubDate>Mon, 29 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Types of Unit Tests in C# – Master Testing Like a Pro</title><link>https://adrianbailador.github.io/blog/32-types-of-unit-tests/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/32-types-of-unit-tests/</guid><description>Complete guide to unit testing in C#. Learn all types of tests: basic unit tests, mocks, parametrised tests, async testing, property-based testing, and best practices. Includes practical examples with xUnit, NUnit, Moq, and advanced techniques.</description><pubDate>Sun, 21 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Rate Limiting in ASP.NET Core – Protect Your APIs Like a Pro</title><link>https://adrianbailador.github.io/blog/31-rate-limiting-in-netcore-/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/31-rate-limiting-in-netcore-/</guid><description>Learn how to implement rate limiting in ASP.NET Core to protect your APIs from abuse, DDoS attacks, and excessive usage. Includes native .NET 7+ features, custom implementations, Redis distributed scenarios, and benchmarks.</description><pubDate>Sun, 24 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Database Indexing in .NET with EF Core – Boost Your Query Performance</title><link>https://adrianbailador.github.io/blog/30-database-indexing-in-net/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/30-database-indexing-in-net/</guid><description>Learn how to improve query performance in your .NET applications using database indexing with Entity Framework Core. Includes examples with Fluent API, Data Annotations, migrations, and a benchmark.</description><pubDate>Mon, 18 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Semantic Search with .NET Core and AI: Build Your Smart API from Scratch</title><link>https://adrianbailador.github.io/blog/29-embeddings-and-ai/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/29-embeddings-and-ai/</guid><description>Learn how to build a smart API with .NET Core, SQLite, and OpenAI to perform semantic search using embeddings. A practical guide for beginners who want to integrate AI into real-world applications.</description><pubDate>Mon, 04 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Applying the Mediator Pattern in ASP.NET Core with MediatR</title><link>https://adrianbailador.github.io/blog/28-mediator-pattern/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/28-mediator-pattern/</guid><description>Decouple your ASP.NET Core applications using the Mediator pattern and MediatR. This guide shows how to structure your code for maintainability, testability, and clean architecture with real-world examples and pipeline behaviours.</description><pubDate>Sun, 27 Jul 2025 00:00:00 GMT</pubDate></item><item><title>SQL Server as a Configuration Provider in .NET Core</title><link>https://adrianbailador.github.io/blog/27-sql-server-configuration-provider/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/27-sql-server-configuration-provider/</guid><description>Learn how to use a SQL Server database as a configuration source in ASP.NET Core. This guide covers custom providers, dynamic reload support, and best practices for secure, scalable config management.</description><pubDate>Mon, 21 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Detecting Missing Migrations in EF Core: A Guide for .NET Developers</title><link>https://adrianbailador.github.io/blog/26---detecting-missing-migrations-in-ef-core/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/26---detecting-missing-migrations-in-ef-core/</guid><description>Avoid database drift and deployment surprises by learning how to detect and prevent missing migrations in Entity Framework Core. Includes automated checks, runtime guards, and CI-friendly scripts.</description><pubDate>Sat, 12 Jul 2025 00:00:00 GMT</pubDate></item><item><title>DDD in .NET: Modelling Rich and Meaningful Domains</title><link>https://adrianbailador.github.io/blog/25-ddd/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/25-ddd/</guid><description>Learn how to apply Domain-Driven Design in .NET to create expressive, maintainable, and business-focused domain models. Includes practical examples with Value Objects, Aggregates, Repositories, and tests.</description><pubDate>Sat, 28 Jun 2025 00:00:00 GMT</pubDate></item><item><title>How to Measure and Improve Performance in .NET</title><link>https://adrianbailador.github.io/blog/24-improve-performance-in-net/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/24-improve-performance-in-net/</guid><description>A practical guide to diagnosing and optimising .NET applications in real-world environments. Learn what to measure, which tools to use, and the best practices for making .NET applications faster, more predictable, and more resilient.</description><pubDate>Sat, 21 Jun 2025 00:00:00 GMT</pubDate></item><item><title>How to Store Secrets Securely in .NET: Environment Variables, AppSettings, User Secrets and More</title><link>https://adrianbailador.github.io/blog/23-store-secrets-dotnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/23-store-secrets-dotnet/</guid><description>Learn the best practices to handle secrets in .NET applications using environment variables, user secrets, configuration files, and Azure Key Vault. Keep your credentials safe and your architecture clean.</description><pubDate>Sat, 14 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Core-Driven Architecture: Structuring Business Logic for Maintainable and Scalable .NET Applications</title><link>https://adrianbailador.github.io/blog/22-core-driven/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/22-core-driven/</guid><description>Explore Core-Driven Architecture to keep your business domain isolated and clean. Learn how to build maintainable, scalable, and testable .NET applications by focusing on core business logic and clear separation of concerns.</description><pubDate>Sun, 08 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Avoiding Indexed Access in .NET: Safer and Faster Alternatives for Production Code</title><link>https://adrianbailador.github.io/blog/21-avoiding-indexed-access/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/21-avoiding-indexed-access/</guid><description>Accessing elements by index is fast but risky in production .NET code. Learn safer and more expressive alternatives to avoid runtime exceptions, fragile logic, and unclear intent. Includes benchmarks, real-world examples, and a diagram.</description><pubDate>Wed, 04 Jun 2025 00:00:00 GMT</pubDate></item><item><title>MVVM in .NET</title><link>https://adrianbailador.github.io/blog/20-mvvm/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/20-mvvm/</guid><description>MVVM is a powerful architectural pattern used in .NET desktop applications like WPF, MAUI, and WinUI. In this article, we break down the pattern with a practical example, a diagram, its pros and cons, and step-by-step instructions to build it in Visual Studio Code.</description><pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Store Encrypted Data in Your Database Using .NET – Secure and Efficient</title><link>https://adrianbailador.github.io/blog/19-store-encrypted-data/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/19-store-encrypted-data/</guid><description>Protecting sensitive data is a critical requirement in any modern application. Whether it’s personal information, passwords, or API keys, we must ensure that stored data isn’t left in plain text in case of a breach.</description><pubDate>Sun, 25 May 2025 00:00:00 GMT</pubDate></item><item><title>Understanding the Cost of Abstractions in .NET</title><link>https://adrianbailador.github.io/blog/18-understanding-the-cost-of-abstractions/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/18-understanding-the-cost-of-abstractions/</guid><description>Abstractions make our code elegant and modular — but they&apos;re not free. In this article, we explore how some common abstractions in .NET can hurt performance if used carelessly, and how to avoid the hidden costs.</description><pubDate>Thu, 22 May 2025 00:00:00 GMT</pubDate></item><item><title>Optimising ASP.NET Core APIs for Speed and Efficiency. Practical techniques to reduce latency, CPU usage, and memory allocations</title><link>https://adrianbailador.github.io/blog/17-optimising-dotnet-api/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/17-optimising-dotnet-api/</guid><description>Building a working API is one thing — building a *fast and efficient* API is another. As your application scales or handles more users, performance becomes a critical concern.</description><pubDate>Sat, 17 May 2025 00:00:00 GMT</pubDate></item><item><title>Reducing Garbage Collector (GC) Pressure in .NET: Practical Patterns and Tools</title><link>https://adrianbailador.github.io/blog/16-garbage-collector/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/16-garbage-collector/</guid><description>Learn how to reduce GC pressure in your .NET applications using structs, ArrayPool&lt;T&gt;, and smart memory patterns.</description><pubDate>Wed, 14 May 2025 00:00:00 GMT</pubDate></item><item><title>How to Read a File in C#: Quick and Efficient Methods</title><link>https://adrianbailador.github.io/blog/15-read-a-file-in-csharp/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/15-read-a-file-in-csharp/</guid><description>Reading files is a fundamental skill in C#, and knowing the right method can improve both performance and readability. This article explores various ways to read text files, from the simplest to the most efficient, with practical code examples and guidance.</description><pubDate>Sun, 11 May 2025 00:00:00 GMT</pubDate></item><item><title>Background Tasks in C# 🧵</title><link>https://adrianbailador.github.io/blog/14-background-tasks-csharp/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/14-background-tasks-csharp/</guid><description>In modern applications, especially web and desktop apps, executing long-running tasks on the main thread can block user interactions or degrade performance. That’s where background tasks come in.</description><pubDate>Fri, 09 May 2025 00:00:00 GMT</pubDate></item><item><title>How to Add Multiple Languages to Your ASP.NET Core Application (Step-by-Step Localization Guide)</title><link>https://adrianbailador.github.io/blog/13-localisation-guide/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/13-localisation-guide/</guid><description>Learn how to add localization support to your ASP.NET Core application, enabling multiple languages and culture-specific features.</description><pubDate>Wed, 07 May 2025 00:00:00 GMT</pubDate></item><item><title>Create an API in .NET with MongoDB and Pagination</title><link>https://adrianbailador.github.io/blog/12-mongodb-pagination-dotnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/12-mongodb-pagination-dotnet/</guid><description>Learn how to build a RESTful API using .NET and MongoDB, with a focus on implementing pagination to efficiently manage large datasets.</description><pubDate>Sun, 27 Apr 2025 00:00:00 GMT</pubDate></item><item><title>What’s New in C# 14: More Power, Less Code</title><link>https://adrianbailador.github.io/blog/11-csharp14/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/11-csharp14/</guid><description>The .NET ecosystem keeps evolving, and with the release of C# 14 alongside .NET 10, developers now have a fresh set of features that make the language even more expressive, concise, and powerful. In this post, I’ll walk you through the key improvements in this new version, with clear and practical examples.</description><pubDate>Fri, 25 Apr 2025 00:00:00 GMT</pubDate></item><item><title>How to Secure Your .NET Applications</title><link>https://adrianbailador.github.io/blog/10-how-to-secure-your-net-applications/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/10-how-to-secure-your-net-applications/</guid><description>Security is one of the most critical aspects of modern application development. In an era where data breaches and cyber threats are increasingly common, securing your .NET applications is not optional – it’s essential. This guide covers practical strategies and tools you can apply right now to make your applications safer and more resilient.</description><pubDate>Sat, 19 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Multithreading in C#</title><link>https://adrianbailador.github.io/blog/09-multithreading-in-csharp/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/09-multithreading-in-csharp/</guid><description>Multithreading in C# might sound intimidating at first, but once you get the hang of it, it becomes a superpower for writing responsive, efficient, and modern applications. Whether you&apos;re building a UI that shouldn&apos;t freeze or handling heavy background work in a backend service, multithreading can help.</description><pubDate>Tue, 15 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Optimising Database Performance Using Dapper</title><link>https://adrianbailador.github.io/blog/08-optimising-database-performance-using-dapper/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/08-optimising-database-performance-using-dapper/</guid><description>Dapper is a lightweight micro-ORM for .NET that offers high-speed data access while keeping things simple. Unlike full-fledged ORMs like Entity Framework, Dapper focuses on raw SQL execution with minimal overhead. If you&apos;re working on an application where performance matters, Dapper can be a great choice.</description><pubDate>Thu, 27 Mar 2025 00:00:00 GMT</pubDate></item><item><title>CancellationToken in .NET: What Are They and Why Should You Use Them?</title><link>https://adrianbailador.github.io/blog/07-cancellation-tokens/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/07-cancellation-tokens/</guid><description>If you work with .NET and asynchronous tasks, you&apos;ve probably encountered the need to cancel an ongoing operation. This is where Cancellation Tokens (CancellationToken) come into play, a crucial tool for improving performance and responsiveness in your applications. When dealing with long-running tasks like database queries, HTTP requests, or CPU-intensive processes, it’s important to be able to stop them if they’re no longer necessary. This prevents wasting resources and makes your application more efficient.</description><pubDate>Sat, 22 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Blog con Next.js</title><link>https://adrianbailador.github.io/projects/project-1/</link><guid isPermaLink="true">https://adrianbailador.github.io/projects/project-1/</guid><description>Blog con Next.js</description><pubDate>Wed, 12 Mar 2025 00:00:00 GMT</pubDate></item><item><title>9 Ways to Set the URLs for an ASP.NET Core App</title><link>https://adrianbailador.github.io/blog/01-9-ways-to-set-the-urls-for-an-aspnet/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/01-9-ways-to-set-the-urls-for-an-aspnet/</guid><description>In this article, we’ll explore 9 ways to set the URLs for your ASP.NET Core app, with practical examples to help you decide which method suits your needs.</description><pubDate>Mon, 20 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Top 12 Best PracticesTop 12 Best Practices for REST APIs using C# .NET</title><link>https://adrianbailador.github.io/blog/05-top12-best-practicestop-12-best-practices/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/05-top12-best-practicestop-12-best-practices/</guid><description>Designing a good RESTful API remains a crucial part of modern application development. With the rise of mobile applications, distributed architectures, and microservices, creating APIs that are easy to use, efficient, and secure is more important than ever. This article will explore 12 best practices for building REST APIs, focusing on C# .NET.</description><pubDate>Sat, 11 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Uploading Images in Next.js (File Uploads, Filestack)</title><link>https://adrianbailador.github.io/blog/06-uploading-images-mext/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/06-uploading-images-mext/</guid><description>Uploading images in Next.js is a common task when developing web applications.</description><pubDate>Sat, 02 Nov 2024 00:00:00 GMT</pubDate></item><item><title>Wedding App</title><link>https://adrianbailador.github.io/projects/project-2/</link><guid isPermaLink="true">https://adrianbailador.github.io/projects/project-2/</guid><description>Wedding App Adrian &amp; Ana</description><pubDate>Sat, 12 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Rest API in C#</title><link>https://adrianbailador.github.io/blog/02-api/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/02-api/</guid><description>In C#, there are two main options for creating APIs: SOAP (Simple Object Access Protocol) and REST (Representational State Transfer).</description><pubDate>Fri, 03 May 2024 00:00:00 GMT</pubDate></item><item><title>Design Patterns</title><link>https://adrianbailador.github.io/projects/project-4/</link><guid isPermaLink="true">https://adrianbailador.github.io/projects/project-4/</guid><description>This repository contains a Visual Studio Code solution for implementing various design patterns in C# using .NET Core. Each design pattern is implemented in a separate console project within the solution.</description><pubDate>Tue, 30 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Installing Docker in .NET 8 and React Projects</title><link>https://adrianbailador.github.io/blog/04-docker-net-react/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/04-docker-net-react/</guid><description>Installation and configuration of docker for Dotnet 8 and React, I have also added some commands that will help us.</description><pubDate>Sun, 04 Feb 2024 00:00:00 GMT</pubDate></item><item><title>Asynchrony in Programming with Async/Await</title><link>https://adrianbailador.github.io/blog/03-asynchrony-is-an-essential-tool-in-modern-programming-designed-to-enhance-the-efficiency-and-responsiveness-of-applications/</link><guid isPermaLink="true">https://adrianbailador.github.io/blog/03-asynchrony-is-an-essential-tool-in-modern-programming-designed-to-enhance-the-efficiency-and-responsiveness-of-applications/</guid><description>Asynchrony is an essential tool in modern programming, designed to enhance the efficiency and responsiveness of applications.</description><pubDate>Wed, 24 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Algorithms in C#</title><link>https://adrianbailador.github.io/projects/project-3/</link><guid isPermaLink="true">https://adrianbailador.github.io/projects/project-3/</guid><description>Welcome to the Algorithms in C# repository! In this project, you will find implementations of various popular algorithms written in C#. The goal of this repository is to provide examples of common algorithms and serve as a reference for students and developers looking to learn and improve their C# and algorithmic skills.</description><pubDate>Sat, 29 Jul 2023 00:00:00 GMT</pubDate></item></channel></rss>