Software Development
-
Spread and Rest Operators in JavaScript

Unlock the full potential of arrays and objects in JavaScript with the spread and rest operators. Learn how to merge arrays, add properties to objects, and pass separate arguments in function calls with ease. Stay ahead of the game in modern JavaScript development with a comprehensive understanding of the spread and rest operator. Continue reading
-
Pipes and Filters Design Pattern: A Practical Approach

The pipes and filters pattern is a powerful tool for breaking down complex data processing tasks into simple, reusable components. It can help you write maintainable and reusable code that is easy to understand and modify. In this blog post, we have seen how to use the pipes and filters pattern to validate incoming data… Continue reading
-
Dynamic objects in C#

Dynamic objects in C# are objects that can have properties and methods added to them at runtime, as opposed to traditional objects which have a fixed set of properties and methods defined at compile time. There are a few different ways to create dynamic objects in C#, including the dynamic keyword and the ExpandoObject class. Continue reading
-
Asynchronous programming in C#

Asynchronous programming is a powerful tool for building responsive, scalable applications in C#. By using asynchronous techniques, you can avoid blocking the main thread of your application and ensure that your code runs efficiently and smoothly, even in the face of long-running or resource-intensive tasks. In this blog post, we’ll take a closer look at Continue reading
-
How to do polymorphic serialization/deserialization in C# System.Text.Json

In this blog post, you’ll see how to serialize and deserialize a hierarchy of objects polymorphically to have a cleaner json. Continue reading
-
Build Blazor apps with Tailwind CSS

Blazor lets you build web UI components with C# dotnet. These components can be used in browser via web assembly or server side via ASP.NET Core. Tailwind CSS is utility-based CSS framework. Unlike bootstrap Tailwind doesn’t come with its own components, it has thousands of micro-CSS classes which can be used to build our UI Continue reading
-
How to use Redis as your primary database

Recently, I got chance to work with Redis and realized that redis is not just a cache solution it can serve as your primary database. Traditional databases store their data on disk, even though most databases have an embedded cache on RAM to optimize query performances. Most of the time we end up using some Continue reading
-
Understanding SOLID Principles: Interface Segregation & Dependency Injection

This blogpost talks about interface segregation and dependency injection in solid principles Continue reading
-
Understanding SOLID Principles: Liskov Substitution

Liskov substitution is one of the more complex facets of the SOLID principles. It requires a foundational knowledge of both contracts and variance to build rules that guide you toward more adaptive code Continue reading
-
Understanding SOLID Principles: Open/Closed

This is the part 2 of the series of posts that I’m writing on the topic of solid principles Continue reading
