2019
Health checks in ASP.NET core
Notes and thoughts on the out-of-the box Health check feature.
Thoughts on creating a healthy team through code-reviews
Code reviews/peer reviews are an essential part of the daily routine in an engineering team. When done with the right spirit, they can foster true collaboration and a team environment where everyone is engaged.
Event driven applications on AWS with C# and .NET Core
Building loosely coupled applications using C# and .NET Core on AWS
Using Function-as-a-Service aka Serverless with AWS and .NET
Building loosely coupled applications using C# and .NET Core on AWS
NOSQL or RDBMS? Is that the right question to ask?
I often hear developers debate passionately on how one of NOSQL database is the silver-bullet for scalable applications/services. The reality isn't so black and white after all.
Cake Build for .NET Core
Using the awesome Cake build scripting system for .NET Core projects.
Designing a .NET Core Host that lives only as long as required
Designing a .NET Core Host that lives only as long as required.
SQL Server connection pooling
Understanding SQL Server connections, connection pooling and optimisation
Ensuring your configuration is strongly typed and can be validated at application start
.NET Core comes with IConfiguration, `IOptions<T>` and `IOptionsMonitor<T>`. Combining these, one can create strongly typed configuration for every class/service whilst ensuring that valid config is provided at app start.
Entity Framework Core Lessons
Lessons learned whilst using (and misusing) Entity Framework Core.
Using docker as a self contained and portable development environment
Use docker to build and debug ASP.NET Core apps
Using the Specification pattern to compose readable, extensible, maintainable and testable queries
Scenario - you are working on a module that requires complex queries on data and you want the queries to be flexible enough for future changes and at the same time properly encapsulate query logic. Specification pattern is the example
Handling Date and Time with Timezone awareness correctly in .NET
The DateTime type isn't enough for an application that needs to work with different timezones. You want a consistent way of handling date/time on the server and on the client.
2018
Leveraging built-in Dependency injection in .NET Core
The built-in DI in .NET core is good enough for most application. This post covers common scenarios that an application requires and how to accomplish them using the default DI framework.
2017
Understanding Hosting in .NET Core
Understand what Hosting is, why should one use hosting and what problems it solves
Concepts in .NET Core
Some key concepts in .NET Core, gotchas and changes from .NET Classic
An analysis of Twelve-Factor app methodology for developing software as a service
Understand how to use async and await for efficient code and avoid surprises.
async await best practices
Understand how to use async and await for efficient code and avoid surprises.
Seemingly Tricky concepts in C#
Trying to make sense of C# concepts that seem trick at first
Unknown
Thoughts and opinions about unit tests
I've gathered my thoughts, experiences and opinions about unit testing in this blog.
Logging, monitoring and observability in 2019
Logging, monitoring and observability in 2019 for .NET applications