Fixing memory issues while running tests on Spring Boot using Kafka

Recently, I faced a problem in an application where it was taking too long to run its tests. After checking the reasons, I found out that the embedded Kafka provided by Spring was consuming too much …

Destructuring in Kotlin

Destructuring is a programming concept that entails breaking down a complex data structure into its individual components and assigning these components to individual variables directly in a single …

Contract-First VS Code-First API Documentation

API development is a crucial part of modern software development. Designing clear, robust, and easy-to-use APIs not only optimizes the development process but also enhances the developer experience. …

CAP Theorem

CAP theorem is a fundamental principle in distributed database systems that states only two out of the three: consistency, availability, and partition tolerance, can be achieved at any given time. …

Installing and using minikube

In my current project, we use Kubernetes massively and with that, I needed to perform tests more than once to verify that my deployment file was correct. Although there are environments that I could …

What is a Reverse Proxy?

A reverse proxy is a server that has as its main functionality to receive requests from an external network, usually the Internet, and forward them to servers on an internal network.

This server acts …

What are Flaky Tests and why fix them!

Building tests is surely one of the most difficult and time-consuming tasks for a developer, in addition to usually generating more lines of code than the added functionality. This is due to the …

GnuPG: how to backup and restore your keys?

Recently, I had to transfer my private keys to a different computer. Since this looks like a trivial task (it was my first time doing it), I have decided to search for a “how-to” blog post …

What is a CDN (Content Delivery Network)?

A Content Delivery Network, can be described as a set of servers, distributed globally, with the purpose of providing content to users in an optimized way and in the shortest possible time.

The CDN …

Load Balancing: What is a load balancer?

Widely used in applications with high volume of simultaneous access, a load balancer is a computational resource used to perform load distribution between two or more servers of an application.

They …