Artikel

Artikel

Dynamische Proxys mit dem JDK umsetzen

Der dynamische Stellvertreter

Blog-Post

Glücklich ohne Service Mesh

Die Basis für sinnvolle Architekturentscheidungen ist die Auseinandersetzung mit dem Problem und ein guter Überblick über die Optionen.

Artikel

Effectively Working from Home

For two years, we have been exclusively working from home. In this article, we provide tips on how to become effective while working from home through appropriate hardware, software, methods, and communication techniques. And, we show how to stay motivated in the long term.

Blog-Post

Remote Work

Vertrauen als Fundament für moderne Arbeit

Blog-Post

Kubernetes Probes

How to use readiness, liveness, and startup probes

Artikel

Identifikation von Qualitätsanforderungen mit Quality Storming

In diversen Communities haben sich in den letzten Jahren zahlreiche Methoden zur kollaborativen Modellierung von fachlichen Anforderungen etabliert. Bekannte Beispiele hierfür sind EventStorming oder Domain Storytelling. Diese Ansätze setzen darauf, dass wir skillübergreifend ein besseres gemeinsames Verständnis über die Fachlichkeit erlangen. Was ist aber mit den Anforderungen an die Qualität der zu erstellenden Software? Gerade hier ist eine kollaborative Vorgehensweise immens wichtig, um nicht perfekten Idealvorstellungen hinterherzulaufen, die Kosten und Komplexität von Produkten explodieren lassen. An dieser Stelle setzt das Workshop-Format Quality Storming an, welches ich im Laufe dieses Artikels vorstellen möchte.

Blog-Post

About unit and integration tests

Artikel

Command & Control, SAFe, Domain-driven Design, and Release Trains

Handling Complex Software Projects

Artikel

Einführung in ReplicaSet und Service

Um eine Anwendung ausfallsicher in einem Kubernetes-Cluster zu betreiben, wird diese mit mehreren Pod-Instanzen betrieben. Dadurch stellt sich allerdings die Frage, wie wir anschließend dafür sorgen, dass diese Pods auch für Clients innerhalb des Clusters einfach erreichbar sind. Um diese Frage und um eine verbesserte Version zur Replizierung von Pods geht es in diesem Artikel.

Blog-Post

Hidden Champion - SQLite Datenbanken in Go

Blog-Post

Don’t tell me I’m not building a web application

Artikel

Das eierlegende Truffleschwein

Viele, die im Java-Umfeld unterwegs sind, werden von ihr gehört haben: der sagenumwobenen GraalVM. Diese magische neue Virtual Machine für Java soll vor allem für blanke Performance sorgen, indem sie den Java-Bytecode in nativen Code kompiliert. Dadurch fällt insbesondere der Startup-Overhead weg, da weite Teile der Initialisierung bereits vom Compiler erledigt werden. So oder so ähnlich ist es vielerorts zu lesen, z.B. in dem Einführungsartikel von Christopher Schmidt und Sascha Selzer. Doch das ist bei weitem nicht das einzige Feature, welches Oracle der GraalVM gegeben hat. Hinzu kommt, dass die GraalVM zu nicht weniger das Potential hat als eine neue Ära der polyglotten Programmierung auf der JVM einzuläuten. Die Rede ist von der Truffle API, einem generischen Framework zur Implementierung von Interpretern.

Artikel

Was ist die Magie von Spring Boot?

Ein Blick hinter die Kulissen

Artikel

Warum Domain-driven Design?

Fachlich sinnvoll schneiden

Blog-Post

Rails und DRY Zugriffsrechte mit CanCan(Can) und ein wenig Spucke

CanCan(Can) ist ein mächtiges Authorisierungs-Framework im Rails-Umfeld, womit sehr feingranular Zugriffsrechte definiert werden können. mit feinerer Granularität dieser „can“-Regeln steigt jewoch die Gefahr, dass Status-Logik des Modells dupliziert wird, wenn die Anwendungs-Performanz eine Rolle spielen soll. In diesem Artikel möchte ich dazu einige Gedanken zu Lösungsmustern aufführen, die ich mir im Rahmen der Entwicklung unseres (künftigen) internen Rechnungstools gemacht habe.

Blog-Post

Warum Quarkus.io _nicht_ geiler ist als Spring

Artikel

Brauchen asynchrone Microservices und SCS ein Service Mesh?

Da lässt sich doch was meshen

Artikel

Architektur­entscheidung im agilen Team

Eine schlechte Architekturentscheidung kann Projekte zum Scheitern bringen. Das passiert oft, wenn ein Architekt alle wichtigen Entscheidungen alleine trifft und nie oder sehr spät Feedback bekommt, ob sie gut oder schlecht waren. Oder aber auch, wenn ein „agiles“ Team mit den Architekt(innen) die Architekturarbeit aus dem Fenster geworfen hat. Schade, denn wenn man wichtige Entscheidungen nicht einfach dem Lauf der Dinge oder einem Elfenbeinturmbewohner überlässt, findet man viel besser Lösungen.

Blog-Post

So you want to compose some functions

Artikel

Software-Architektur: Worauf es ankommt

Grundlagen für Software-Architektur

Blog-Post

An Introduction to TypeScript for Backend Development (and Java Developers)

An ongoing architecture trend towards smaller services and faster, agile feature development gives developers some freedom to try out new languages and frameworks. TypeScript and Node seem to have a bad reputation amongst some backend developers although the language can be a perfect fit for many challenges in modern software development.

Blog-Post

Traefik v2 and Mastodon, a wonderful couple!

A practical guide to setting up Mastodon behind Traefik v2 using docker-compose

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

modularized modeling based on a project-specific DSL