Photo by Petri R on Unsplash

Recently I had the problem, that I needed to log some warnings for my application. Since I normally work test driven, it was pretty important to me, that I could create some unit tests for it. My test engine is JUnit 5. I found the logging library Log4J, which has a new name since version 2 (Log4J2) and used this one.

What is Log4J2?

Apache Log4j 2 is an upgrade to Log4j, which is pretty common in the industry, that provides significant improvements over its predecessor, Log4j 1.x, …

Photo by JJ Ying on Unsplash

A few days ago, I needed to create a new Project without any templates from scratch, that should be able to use Micronaut as a serverless Framework. My application is written in Kotlin. In the end, It should work like a webserver, that gets deployed on Kubernetes. First of all, There are three key components. The first one is the Application itself. This application needs to be converted to a docker image. The next part is the Pipeline. It needs to run some automated tests and build the whole image if the tests are successful. It should also push the…

Photo by David Knox on Unsplash

In this article, I want to talk about what Helm is, how to install and use it, and how to push its images to artifactory. This sounds like a whole lot of stuff, it actually is, but it is a really important step in CI/CD, so I will try to explain it as good as I can.

What is Helm

In short, Helm is a package manager for Kubernetes that allows developers and operators to more easily package, configure, and deploy applications and services onto Kubernetes clusters.

Helm has the opportunity to set variables for Kubernetes, which you can then assign to your…

Photo by Anja Junghans on Unsplash

What is Thymeleaf?

Thymeleaf is a dynamic templating engine for serverless applications like Micronaut or Spring. It is really useful if you want to create non static content that gets generated dynamically. Or with the words of the official website:

Thymeleaf is a modern server-side Java template engine for both web and standalone environments.

Thymeleaf’s main goal is to bring elegant natural templates to your development workflow — HTML that can be correctly displayed in browsers and also work as static prototypes, allowing for stronger collaboration in development teams.

With modules for Spring Framework, a host of integrations with your favourite tools, and…

A problem that I recently had was, that I needed to read the contents of some zipped files, which I didn’t want to unzip into temp, because I really only needed the content as a String. I had some Zip files, which contain a Metadata.yaml file with some information like id or title in it. I wanted to read the content of the Metadata.yaml file and put the values into a data class, which is then stored inside a HashMap.

Some of my files don’t contain the Metadata.yaml file, so to compensate for that, we use the documentTitle as the…

Photo by Jack Sloop on Unsplash

Last week I was looking trough some of my older projects and stumbled upon some really ugly, old code. I’ve written this code when I was just starting out with the Kotlin programming language. In this time, I was not aware of all the Kotlin special functions and coded that stuff all by myself and the code became pretty fast pretty unorganized. In this article I want to show you some of the most important and coolest Kotlin special functions.

Collection functions

1. Create a new Collection

These functions are all used to instantiate different types of collections.

// Empty Collection
emptyList, emptyMap, emptySet
// Read-only Collection

Photo by Geran de Klerk on Unsplash

This week I was working in pair programming and sometimes in the mob. But what is this whole concept of coding together? Isn’t it just a slightly better naming for: “Yes! Somebody else makes my job!”? Are we really more productive this way?

These were the questions that I had, when i first started with pair programming and working in the mob.

What is Pair Programming

Pair programming is the art of coding together in a really efficient and productive way. The concept of pair programming is pretty simple. Someone is coding while the other one is just saying the coder what to do.

Photo by Philippe Bout on Unsplash

Last week I wrote a story about arc42, a standard documentation template. When I was writing that post, it finally became clear to me how many different UML Diagrams there are. Since I was a little bit confused at the beginning and also slightly overwhelmed with all these different diagrams, I decided to write a new post just about that.

What is UML

UML, short for Unified Modeling Language, is a standardized modeling language consisting of an integrated set of diagrams, developed to help system and software developers for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for…

Photo by Noah Rosenfield on Unsplash

The first time I stumbled upon arc42 was, when I needed to document the architectural design of my own application. At the beginning I didn’t knew that there is a standardised solution to my problem and I was a little bit overwhelmed. I started reading about arc42 and I have to say, it really makes sense to use such a standard in documentation.

What is arc42 ?

Arc42 is a template for architecture documentation.

It answers the following two questions in a pragmatic way, but can be tailored to your specific needs:

  • What should we document/communicate about our architecture?
  • How should we document/communicate it?

Photo by Jon Parry on Unsplash

Sometimes, there are new software releases, that have new requirements to your IT-infrastructure, that you can’t just change in a matter of hours or days. Sometimes these infrastructure changes are much more difficult to realise than just using a slightly older version.

In my case I had the problem, that I needed to have Eclipse Neon installed on my MacBook. Our Eclipse Neon requires Java8 to run and doesn’t work with java9 or higher. The problem was, that the eclipse-installer, which should install and configure Eclipse Neon requires at least Java11 in its newest release. …


Developer Experience Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store