You’ve probably come across the saying, “You can’t manage what you can’t measure”. A popular mantra in the business world, it underscores the importance of data for effective running and continuous improvement of business operations. Without keeping track of key metrics, it’s hard to know what to improve or if you’re making any progress towards […]
Category: Programming, Technology
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
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
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
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
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
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
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
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
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