• Web Development - Intermediate - Advanced - Coding - Angular

    Using SignalR with Angular

    In a previous blog post, we discussed how to create real-time web applications using SignalR and React. If you have already gone through that, you would know the magic of SignalR in pushing instant updates, allowing users to receive data in real-time. In this post, we’re going to apply the same concept but with Angular. Setting Up the Server with SignalR Just as a quick refresher, SignalR provides an easy method to communicate between the server and the client in real-time. We start by installing the appropriate NuGet package: The hub, as described before, acts as the communication centre. Here’s…

  • Intermediate - Coding

    Architectural Design Patterns 8 – Serverless (Function as a Service – FaaS)

    Today’s topic is a quite popular one, a fuzzy word getting more and more popular once it used to be a niche architectural pattern only. When we think about building software, a lot of the time and energy is spent thinking about where and how it will run. Serverless architecture, also known as Function as a Service or FaaS, helps this to change. Instead of planning the environment to run, developers mainly write functions and let cloud providers like AWS or Azure handle where it runs. Briefly describing, Serverless is an architectural model where cloud providers fully manage code execution.…

  • Beginner - Coding - C/C++ - Programming Languages

    Rust: A Modern Time Challenger to C++

    For developers of my generation, C++ was the go-to language. It was everywhere, especially when you needed to write code that is fast, efficient and object oriented. C++ gave us the control we need to use every bit of performance and also extendable language to adapt modern programming techniques. We didn’t really think that one day there would be another language that could ever challenge C++ in what it did best. To me, C++ is still the king of all programming languages. However, Rust is not a rival to undermine. In this blog post we will see some details about…

  • Beginner - Coding - Programming Languages

    Go Language: A Modern Take on System Programming

    Today, I want to talk about a new generation language which gains ground among developers. Go also popularly known as Golang, an open-source programming language created at Google by Robert Griesemer, Rob Pike, and Ken Thompson in 2007. It was specifically designed to improve programming productivity in the era of multicore processors, networked systems, and massive computation clusters. Go’s syntax is quite simple. It has a blood from C as C++, Java, C# etc. but they removed semi-columns as opposed to the traditional C type languages. A simple program to print “Hello, World!” in Go looks like: Since its beginning,…

  • C# - React - Web Development - Intermediate - Coding

    Using SignalR with React

    Recently, I had the opportunity to work on a project where React and SignalR were integrated. This experience was quite insightful, and I am eager to share my learnings about this effective combination. SignalR is a library provided by Microsoft, designed to add real-time functionality to web applications. This means that applications can automatically push content to connected clients without them requesting it. Imagine a chat app where messages pop up instantly, or a stock monitoring tool where data refreshes in real time SignalR would be a good choice. Combining SignalR with React offers a dynamic platform for real-time web…

  • Coding - Intermediate

    Architectural Design Patterns 7 – Domain-Driven Design

    Domain-Driven Design, or DDD for short, isn’t about code at first. It’s about understanding the main business inside out, and then designing software that speaks the business’s language. Think about a hospital system. Before we write code, we would talk about patients, doctors, treatments, and appointments. By diving deep into the “domain” or the core of the business, we create software that feels like it was tailor-made for it. DDD is super useful for businesses with unique rules and ways of doing things. Let’s take insurance as an example. They’ve got tons of rules on who gets covered, how much…

  • Cloud Computing - Azure - Beginner - C#

    On Azure Functions and Serverless

    There’s no shortage of tools and technologies to make developers’ lives easier In the world of cloud computing, and one such offering comes from Microsoft which is Azure Functions. Here, we’ll unravel the magic behind Azure Functions and explore why it’s becoming a favourite for certain architectures. At its core, Azure Functions is a serverless compute service. “Serverless” might sound misleading, as there definitely are servers involved; however, the idea is that the responsibility of server management, scaling, and infrastructure concerns are taken away from the developer. This allows us to focus on writing and deploying our code. Azure Functions…

  • Software Engineering - Beginner

    SOLID Principles: The Basics of Good Software Design

    Even though my purpose is publishing ever green content in this blog, it is not easy to write about such a broader topic. Due to my recent interview process, I have been exposed to this topic since it is being asked again and again. Maybe, I should give the link to this article before the interview and skip to the next question straight away. Anyway, lets dive into the topic. There are certain foundational concepts about software engineering guiding developers in writing efficient, maintainable, and scalable code and the SOLID principles is at the top of the list. The word…

  • Intermediate - Coding

    Architectural Design Patterns 6 – Service-Oriented Architecture

    Service-Oriented Architecture, often known simply as SOA, can be thought of as a city of services. In this city, each service is like a shop. Every shop provides a unique product or service but doesn’t worry about the other shops around it. Instead, it focuses on doing its own job really well. So, SOA is about creating independent services that work together in a large system. Now, where would you find SOA being used? Imagine big companies with different departments, like finance, human resources, or sales. Each department uses different software. With SOA, these different pieces of software can communicate…

  • Coding - Angular - Web Development - Intermediate

    Two-Way Data Binding in Angular: Its Pros and Cons

    Two-way data binding is one of the most distinctive features of Angular but what does it require, and what are the benefits and drawbacks associated with it? Let’s dive into it. When you hear “two-way data binding”, picture a bridge with traffic flowing in both directions. In an Angular application, this means that any changes to the model are instantly reflected in the view and vice versa. This can be a game-changer as it reduces the amount of boilerplate code developers have to write to maintain synchronization between the UI and data. For instance, consider a simple example where we…

  • React - Beginner - Intermediate

    NextJS: Frontend Sneaking into Backend

    As web-based applications become more sophisticated, frontend and backend lines gets blur. One such example of this change is NextJS. NextJS is a framework that enables React applications to render on the server side. But it isn’t just that. It pushes React into territories that it wasn’t initially designed for, filling in gaps and streamlining the development process. React and NextJS – A Beautiful TangoReact, as many know, is a JavaScript library built to create user interfaces. It does this primarily on the client side. While it’s incredible at this, it left a void when it comes to server-side rendering.…

  • Intermediate - Coding

    Architectural Design Patterns 5 – Monolithic

    I am aware that in our present day world, it is a sin to talk about monolith and not to curse it. However, I am will neither hallelujah nor curse it. I will just try to explain it as an architectural design pattern and try to expose both positive and negative sides of it. The Monolithic architecture stands as a testament to the earlier days of software development. A monolithic architecture is like a single, tightly packed unit where all the software components are bundled together. Think of it as a large factory where every product stage, from raw materials…

  • Web Development - Beginner - Intermediate - Coding - React

    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…

  • C# - Databases - Beginner - Coding - NoSQL

    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…