Blog & Articles

Blog Post

So you want to compose some functions

Let’s say you have a list of functions and you want to compose them. Should be trivial, right? Of course it is, but maybe there’s an elegant way.

Article

Software-Architektur: Worauf es ankommt

Die Architektur definiert die Struktur eines Software-Systems und ist zentral für den Erfolg eines Projekts. Deswegen ist Software-Architektur so wichtig. Aber in Wirklichkeit ist Software-Architektur noch viel mehr und eine erfolgreiche Software-Architektur erfordert viele, teilweise überraschende Maßnahmen.

Blog Post

An Introduction to TypeScript

for Backend Development (and Java Developers)

Blog Post

Traefik v2 and Mastodon, a wonderful couple!

Traefik and Mastodon are a wonderful combination. However, practical guides for Traefik v2 are rare and Mastodon dropped its guide for deployment using docker. In this blog post I will show an easy solution for setting up a Mastodon instance behind Traefik as reverse proxy with almost all required configuration made in a self-contained docker-compose file.

Article

JavaScript? Yes, but in moderation

The benefits of classic architecture decisions for web applications.

Blog Post

Cloud Computing and Carbon Footprint

How vendor lock-in can harm a company’s green business plan

Blog Post

What Could Possibly Go Wrong

What could possibly go wrong if you put Clojure 1.10 and Scala 2.13 on the same classpath? We’re about to find out.

Blog Post

code-your-model

Some time ago I was looking for some simple, lightweight tool to document a complex, modularized model. I was not able to find anything that fits my requirements or expectations, so I came up with my own idea. Today, a good 15 months later, I want to introduce it to you.

Article

Alle 11 Minuten verliebt sich ein Microservice in Linkerd

Das Istio Service Mesh hat einen sympathischen Konkurrenten

Blog Post

Hallo 👋, hier ist INNOQ Nürnberg!

In und um Nürnberg arbeiten einige Kollegen und Kolleginnen bei INNOQ. Was ihnen wichtig ist, wie sie den Standort organisieren und was es jetzt Neues gibt, darum geht es im aktuellen Post.

Article

User Experience Design

Software ist allumfassender Teil unseres Lebens – User Experience Design macht Nutzer zu dem allumfassenden Teil des System-Engineerings.

Blog Post

Automating GitHub Pages Deployments with GitHub Actions

Article

Cloud-native, Microservices, Domain-driven Design, Kubernetes

Software-Entwicklung unterliegt schon immer Hypes. Im Moment reden alle über Microservices und Cloud-native. Aber helfen diese Ansätze wirklich weiter?

Article

JUnit5 für das Testen von Spring Boot-Anwendungen

Bei der Entwicklung von Spring und Spring Boot wurde schon immer darauf geachtet, dass hiermit entwickelte Anwendungen testbar sind. Ab und zu reichen die im Standardumfang mitgelieferten Mittel jedoch nicht vollkommen aus. In diesem Artikel wollen wir uns deshalb an drei Anwendungsfällen aus der Praxis anschauen, wie sich die vorhandenen Mittel in Kombination mit JUnit5 erweitern lassen.

Blog Post

Animating SVG Icon Transitions

A brief overview of SMIL vs. CSS transforms

Article

Microservices-Migration

Wenn ein Deployment-Monolith mit den Ansprüchen nicht mehr Schritt halten kann, sind Microservices oft die Lösung. Dann muss das vorhandene System in ein Microservices-System migriert werden. Diese Herausforderung kann sehr unterschiedlich angegangen werden.

Blog Post

Choose Your Docker Base Image Wisely

A while ago, I ran into a problem with my application that only occurred in production but not locally. The reason we use Docker both locally and in production is to prevent exactly that from happening. What went wrong?

Article

Cloud native Java-Anwendungen mit Quarkus

Alles Quark?

Article

Parametrizität in Java

So gut wie alle modernen Programmiersprachen erlauben es, Routinen über Werte und über Typen zu parametrisieren. In Java wird letzteres “Generics” genannt, in C++ hingegen “Templates”. Obwohl die Konzepte die gleichen sind, unterscheidet sich die Implementation doch stark. In diesem Artikel möchte ich diese Art der Parametrisierung in Java unter die Lupe nehmen und erklären, warum “Type Erasure” doch eine ganz gute Idee ist.

Article

Ein Einstieg in die Programmiersprache Go

Der zweite Teil der Artikelserie zu Go widmet sich unter anderem der Fehlerbehandlung und der Standardbibliothek, und auch negative Aspekte von Go kommen zur Sprache.

Article

Ein Einstieg in die Programmiersprache Go

Teil 1

Blog Post

Digitale Gebäude oder Gebäude­digitalisierung

Wie und wo unterscheiden sich beide Arten? Und welche Konsequenzen sind daraus zu ziehen? Ein kleiner Überblick.

Article

Modernes Secrets-Management

Haben Sie aktuell geheime Anmeldedaten für eine Produktionsumgebung auf Ihrem Computer gespeichert? Dies können Konfigurationsdateien mit Datenbankpasswörtern, eine AWS-Credentials-Datei oder ein unverschlüsselter SSH-Schlüssel sein. Entwickler oder Administratoren, die häufig mit Produktivsystemen interagieren, werden diese Frage sehr wahrscheinlich mit einem „Ja” beantworten oder in einer Umgebung mit sehr strengen Regularien und Prozessen arbeiten.

Article

Kubernetes und seine CI/CD-Generationen

Blog Post

Diversität in IT Teams

In Bezug auf das Geschlecht sind Teams in der IT meist homogen besetzt. Warum Diversität hier (noch) nicht gegeben ist und was für Vorteile aus gemischten Teams enstehen können, darum geht es in diesem Blogpost.