Easy Integration Testing With Testcontainers

In this post, we will take a look at how we can use Testcontainers for our integration tests. Testcontainers will allow us to write integration tests making use of containerized databases, message queues, web browsers, etc. without a dependency on a local installation.

Continue reading “Easy Integration Testing With Testcontainers”

Easy Database Migration With Liquibase

In this post, we take a look at how we can easily manage our database migration scripts by means of Liquibase. Liquibase will automatically execute necessary database migration scripts during application startup. We will explore some of the features of Liquibase by means of a simple Spring Boot application in combination with a PostgreSQL database.

Continue reading “Easy Database Migration With Liquibase”

What Is Your Test Quality?

You have consistently written unit tests and you have a line coverage of, let us say, 80% and all of your tests pass. Pretty good, isn’t it? But then you change your code and still all of your tests pass although you have changed code which is covered by your unit tests. In this post, we will take a look at mutation testing which will test the quality of your unit tests.

Continue reading “What Is Your Test Quality?”

Skaffold: k8s Development Made Easy

Skaffold is a command line tool developed by Google which aims to facilitate continuous development for Kubernetes applications. It will automate the task of building and deploying to a Kubernetes cluster whereas you, as a developer, can stay focused on writing code. Seems interesting enough to take a closer look at it!

Continue reading “Skaffold: k8s Development Made Easy”

Create Fast and Easy Docker Images With Jib

In this post we are going to take a look at Jib, a tool from Google in order to create Docker images in an easy and fast way. No need to create a Docker file, no need to install a Docker daemon, Jib just runs out-of-the-box.

Continue reading “Create Fast and Easy Docker Images With Jib”

Introduction to Spring Kafka

Some blog posts ago, we experimented with Kafka Messaging and Kafka Streams. Although we used Spring Boot applications in order to demonstrate some examples, we deliberately did not make use of Spring Kafka. Reason for doing so, was to get acquainted with Apache Kafka first without any abstraction layers in between. Now that we have done so, it is of course time to take a look at Spring Kafka!

Continue reading “Introduction to Spring Kafka”

Kafka Streams: Joins Explored

In this post, we will take a look at joins in Kafka Streams. Main goal is to get a better understanding of joins by means of some examples. The examples are taken from the Kafka Streams documentation but we will write some Java Spring Boot applications in order to verify practically what is written in the documentation.

Continue reading “Kafka Streams: Joins Explored”

Kafka Streams Explored

In this post, we will take a look at Kafka Streams. We will give a short introduction, but the main part of the blog will be about writing some simple Java applications. This way, we are going to get more familiar with Kafka Streams from a practical point of view.

Continue reading “Kafka Streams Explored”

Kafka Messaging Explored

In this post, we will take a closer look at Apache Kafka Messaging. We will show how you can easily start a Kafka cluster and how messages can be sent and received by means of CLI and from a Java application. At the end, we will explore how partitions work from a practical point of view.

Continue reading “Kafka Messaging Explored”

Discover Your Services With Spring Eureka

In this post, we will take a look at how we can make services be aware of each other without knowing their exact location. We will make use of Eureka Server which will act as a Discovery Server. Being Spring fans, we will do so by means of Spring Eureka.

Continue reading “Discover Your Services With Spring Eureka”