• Beginner - Intermediate - Coding - React - Web Development

    Redux vs. useContext: Navigating the State Management Maze

    Every developer knows that the software engineering isn’t just about writing code. It’s about creating efficient, maintainable, and scalable systems. A critical part of that journey, especially in React, is the state management. With numerous tools and libraries available, the choices can often be way too much. Two most common players in this arena are Redux and useContext hook which is native to React. Both offer ways to manage global state, but which is right for your project? Let’s dive in and understand these tools better. Understanding useContext HookAt its heart, useContext is a React hook introduced in version 16.8…

  • Beginner - Coding - NoSQL - C# - Databases

    MongoDB through C# – Using the Official Library

    MongoDB is a popular NoSQL database, which means it doesn’t use tables like traditional databases. Instead, it saves data as ‘documents’, which are like flexible data entries. If you’re using C# and want to work with MongoDB, there’s an official library made just for that. In this post, we’ll check out this library, see some basic MongoDB info, and walk through some C# code examples for common tasks. In MongoDB, data is saved in collections as documents. Think of collections like folders on your computer, and documents like files in those folders. But here, each document can have different data…

  • Azure - Amazon Web Services - Intermediate

    Architectural Design Patterns 4 – Event-Driven Architecture

    Event-Driven Architecture is currently enjoying a lot of attention from businesses around the world due to the enhanced capabilities offered by cloud-based systems. Imagine a digital ecosystem like a busy marketplace. In this environment, various systems act as vendors declaring their services and updates. Rather than each customer (or system) having to visit every vendor to check for new items, they simply wait and respond whenever a vendor announces a product they’re interested in. That’s precisely how Event-Driven Architecture operates. Systems no longer continuously scan for updates or changes; they react upon the occurrence of a significant event. For instance,…

  • Databases - Intermediate

    SQL Server Performance Tips for High Volume Databases

    As businesses grow, so does their data. A big amount of data can slow down your SQL Server if you don’t manage it right. This article shares some top tips to speed up your SQL Server when dealing with a lot of data. On the other hand, before we jump into the tips, it’s important to know there’s no magic button that fixes everything. Each problem is unique. While the tips I’ve given here can help many setups, they might not work for everyone. Simply applying fixes without understanding can cause more issues. It’s really important to first figure out…

  • Intermediate - Containerization

    Architectural Design Patterns 3 – Microservices

    In this article, we will be talking about Microservices, a design pattern that has gained attraction for its approach to building large and complex software applications. At its core, Microservices is about breaking down an app into smaller parts where each part doing its own job. Instead of one big chunk of software that does everything, you have multiple little services working together. Each microservice is responsible for its own task but collaborating with others to function properly. This approach shines in many situations, especially in cloud-based systems. The cloud is like massive land ready for construction. Microservices allow developers…

  • Azure - C# - Cloud Computing - Beginner

    Azure Blob Storage and C# Integration

    Azure Blob Storage is one of Microsoft Azure’s storage solutions. Think of it as a massive cupboard in the cloud where you can keep a lot of stuff, from pictures and videos to logs and backups. In this article, we’ll explore what Azure Blob Storage is, when you might want to use it, and how to play with it using C#. Azure Blob Storage is a place in the Azure cloud where you can save large amounts of unstructured data, which means it doesn’t have a specific format or structure. It’s like having a big box where you can throw…

  • Intermediate - Coding

    Architectural Design Patterns 2 – Model-View-Controller (MVC)

    When you’re diving into the world of software design, you’ll often hear about the Model-View-Controller, or MVC for short. It’s one of those blueprints, or design patterns, that helps developers keep their code tidy and well-organized. In this piece, we’ll take a close look at what MVC is and how its parts play together. Model: The Model is the brain behind the data. It’s where you keep everything related to the data you’re working with: fetching it, updating it, or even deleting it. Imagine you have an app that keeps track of books in a library. The Model will have…

  • Coding - Software Engineering - Intermediate

    Architectural Design Patterns 1 – Layered (or Tiered) Pattern

    Here in this first post of the blog, I want to also start with the first part of a series. In this post of the series, we will be talking about Layered (or Tiered) Pattern. When you’re building a software project, you need a plan to organize your code. That’s where architectural design patterns come in. Architectural design patterns is a huge topic getting more and more interest by software developers and businesses. I want to write about the most popular architectural design patterns as a series of blog posts. What is the Layered Pattern? Imagine a cake with several…