Blog & Articles

Blog Post

Schubladendenken - aber konstruktiv

Verwendung von Stereotypen im Code als Basis für ein gemeinsames Architekturverständnis - und mehr

Blog Post

Domain Exceptions?

In jedem Softwaresystem kommt es zu Ausnahmesituationen. In der Regel handelt es sich um technische Ausnahmen, die in Java als Exceptions auftreten und behandelt werden. Gibt es aber auch fachliche Ausnahmen, also quasi “Domain Exceptions”? Und ist es sinnvoll, diese in Java als Exceptions zu modellieren? Einige Beispiele aus einem Kundenprojekt zeigen, dass dies häufig nicht der Fall ist.

Blog Post

Sichere Kubernetes Cluster

Warum trotz Docker und Kubernetes beim Thema Sicherheit noch immer etwas zu tun ist

Blog Post

dprox – Declarative Reverse Proxy

Reverse proxies don’t have to be a pain when it comes to local development.

Blog Post

Secure Kubernetes Cluster

Containers and Kubernetes have greatly simplified the way we bring software into production. Applications can be packaged in container images and run on a Kubernetes cluster with 5000+ nodes. However, it should not be forgotten that, despite being encapsulated in containers, various aspects of safety still have an important role to play.

Article

Java 10 – Evolution statt Revolution

Die Zukunft von Java

Blog Post

Taking Screenshots of DOM Elements

Now that PhantomJS is dead, we need an alternative. Turns out that Puppeteer, Google’s official remote-control API for Chrome, is just the ticket.

Blog Post

Mundane Bash Tips

Various tips and patterns for writing shell scripts.

Blog Post

Enforce strong passwords!

Blog Post

Have YOU been pwned?

With the V2 release of the “pwned passwords” database came a new feature called range search, which allows to securely check passwords with only minor efforts. Here’s how to use it.

Blog Post

Service Mesh und Kubernetes

Zum Betreiben einer Website stellt Kubernetes einige wichtige Ressourcen, wie Service (round robin load balancer), Ingress (Proxy als API Gateway) und Pod (logischer Host) zur Verfügung. Dennoch sind sie nur eine Grundlage. Für komplexere, über Jahre laufende Webportale, ist mehr erforderlich als das. Service Meshes liefern, was den Kubernetes Bordmitteln fehlt.

Blog Post

It All Looks the Same to Me

Fast Search Through Metric Spaces with Rust and BK Trees

Blog Post

FaaS und Kubernetes

Inzwischen gibt es bei den meisten Cloudanbietern die Möglichkeit kleine Codeteile als sogenannte Functions zu hinterlegen. Da kein expliziter Server existiert, dort spart das Kosten. Aber auch sonst bieten Functions eine interessante Abstraktion, deren Vorteile man ebenso gerne innerhalb eines Kubernetes Clusters nutzen möchte.

Blog Post

DDD mit Onion Architecture

3 Gründe, weshalb Onion Architecture für die Umsetzung von Bounded Contexts nach Domain-driven Design besonders geeignet ist.

Blog Post

The language of maths is not the language of your business

Blog Post

Proof of Existence via HTTPS

Übliche “Proof of existence” - Konzepte nutzen die Blockchain von Kryptowährungen. Das geht auch einfacher und billiger.

Blog Post

Formatting with first-class types

Programming with stringly-typed APIs is like walking a tightrope; it’s good to have some support in case something goes wrong. Languages with first-class types offer us impressive tooling to guarantee correctness of our code. In this post, we’ll see how Idris helps us bullet-proof a printf function.

Blog Post

That looks oddly familiar

In which Rust and perceptual hashing come together.

Blog Post

Carbon dioxide monitoring with Rust, InfluxDB and Grafana

Carbon dioxide monitoring with Rust, InfluxDB and Grafana.

Article

Health-Checks in Java-Anwendungen

Health-Checks sind für den Betrieb von Anwendungen heute, insbesondere wenn sie als Container in einem Cluster deployt werden, unerlässlich. Dieser Artikel zeigt, wieso Health-Checks so wichtig sind, welche Details beachtet werden sollten und wie Health-Checks in Java mit drei gängigen Bibliotheken umgesetzt werden können.

Article

Media Art Opens Up New Perspectives

INNOQ Digital Art Edition 01

Article

Evolution statt Verschlimmbesserung

Erweitern, ändern und korrigieren bestehender Software - meistens unter Zeitdruck – führt in vielen Fällen zu schleichendem Verfall. Dadurch werden Änderungen einerseits immer schwieriger, andererseits auch immer teurer und riskanter. Das Open-Source Projekt aim42 (architecture improvement method) setzt genau dort an – mit Praktiken und Patterns für systematische Verbesserung – technologieneutral und leichtgewichtig.

Blog Post

Logging mit Docker und Elasticsearch

Wenn eine Anwendung als Microservices oder Self-contained Systems in Docker-Containern läuft, stellt sich die Frage, wie auf die Log-Einträge der Anwendung zugegriffen wird. Die Antwort lautet in der Regel: “Elasticsearch”. Aber wie kommen die Logs in Elasticsearch?

Blog Post

Supporting understanding with simplicity

Blog Post

Tags für Docker Images ohne Registry

Gibt man bei “Tags” von Docker Images keine Registry an, so wird die Standard-Registry unter docker.io benutzt. Taggen ganz ohne Registry-Angabe scheint nicht vorgesehen zu sein, obwohl es dafür gelegentlich gute Gründe gibt. Der hier vorgestellte einfache Workaround hilft.