Programming Notes

Change Data Capture (CDC) is a technique used to track and capture changes made in a data source, typically a database, and utilize those changes in various downstream systems or processes. With CDC you’re capturing inserts, updates, and deletes – the classic CRUD operations – and using this information to perform tasks, which could be […]

Category: Programming

Posted on 21 Sep, 2023

In my previous post, I discussed the Microservices architecture and the process of decomposing a business domain into constituent services. Today, we’re going a step further by diving deeper into this paradigm and exploring additional concepts that are essential for the successful application of microservices. At the core of any engineered system lies its primary […]

Category: Programming, Technology

Posted on 23 Apr, 2023

In today’s rapidly evolving software development landscape, staying competitive and keeping up with user demands is more critical than ever. Microservices offer a flexible, scalable, and resilient solution to building complex applications. But before we dive into the world of Microservices, let’s first take a closer look at Monolithic Architecture. Monolithic Architecture is a straightforward […]

Category: Programming, Technology

Posted on 30 Mar, 2023

Integration testing is an important part of any software development process. It is a phase of software testing where different components of a system are tested together as a group. This helps ensure that the different components work together as expected. With the rise of micro-services and containerization, Integration testing has become even more crucial. […]

Category: Programming

Posted on 28 Jan, 2023

A major requirement in developing a non-trivial software product is the establishment of a formal workflow for Continuous integration and Continuous delivery. Whether it’s an individual or group project, the CI/CD workflow lays the groundwork for getting code from the developer’s box to the live environment. But it goes beyond that. CI/CD allows code to […]

Category: DevOps, Programming

Posted on 14 Jan, 2023

I continue to expound on reactive programming concepts in this note, by diving deeper into the reactor module. Remember in the previous note, I outlined different implementations of the Reactive Specification; Reactor being one of them. This note presents some of the fundamental concepts in the reactor module and how they facilitate programming in a […]

Category: Programming

Posted on 10 Apr, 2022

My foray into reactive programming began sometime last year. I had been seeing blogs and articles referencing this programming paradigm which appeared to offer more in terms of scalability than traditional blocking and imperative programming patterns. I did a deep dive into the concept and have since started using Reactive Programming on my projects. So […]

Category: Programming

Posted on 3 Mar, 2022

Java developers will agree that Java 8 felt like a huge paradigm shift from Java 7. Java 8 was released in March 2014, and most notably introduced functional programming concepts, lambdas, and the Streaming API. Functional Programming in Java was a huge win for a language that already had a reputation for being too imperative.  […]

Category: Programming

Posted on 11 Oct, 2020

Modern frontend development has really gone far. Honestly, if you can remember the early days, you know we’ve come a long way from relying on spaghetti JQuery code to deliver functionality to users. Today we have frameworks like React, Vue, and Angular. These frameworks encapsulate the MVVM and MVC software architecture patterns that make it […]

Category: Programming

Posted on 7 Sep, 2020