Blog

Blog-Post

Microservices? Or Rather Monoliths?

Microservices are a hype. Now, critics suggest to return to monoliths. But does that really help?

Blog-Post

A Playground for Testing OpenID Connect

This post describes how you can set up a development environment in order to play around with your OpenID client implementation. When running your application in a cluster, it can be difficult to test how it will behave behind a load balancer. One factor that can be particularly difficult to test is when you are communicating with an OAuth 2.0 or OpenID Connect server which expects that a request will be redirected back to the same application instance that it came from.

Blog-Post

Blockchain hausgemacht

INNOQ Hands-On Event

Blog-Post

Domain- und Test-driven Development mit Spring Boot 2 Softwarearchitektur

Am Anfang eines Projektes wird heutzutage in der Regel Wert auf Tests gelegt. Projekte werden sogar testgetrieben aufgesetzt (Test-driven-development, TDD). TDD-Projekte der reinen Lehre schreiben vor, dass vor jeder Zeile Anwendungscode der entsprechende Testcode geschrieben werden muss. Schleicht sich Stress ein oder lässt die Begeisterung nach, kann es passieren, dass das Thema Tests – obwohl wichtig – vernachlässigt werden. Das gilt umso mehr, je schwieriger Komponenten eines Systems zu testen sind, unabhängig, ob sie einzeln oder integriert betrachtet werden. Lesen Sie hier, wie Ihnen ein Domain-orientierter Ansatz zusammen mit Spring Boot 2 dabei hilft, Qualität sicherzustellen.

Blog-Post

Native Clojure with GraalVM

The newly-released GraalVM changes the status quo in the realm of JVM-based programming languages. In this instalment we’ll explore its impact on Clojure. We’ll start small, but by the end we’ll compile an entire Ring web application into a self-contained native binary.

Blog-Post

Spring-less testing

Blog-Post

Oracles GraalVM für „Native Java“?

Vor Kurzem wurde von Oracle die GraalVM in der Version 1.0.0-rc1 released. Und für mich als großer Scala- und Docker-Fan ging die Sonne auf.

Blog-Post

Schubladendenken - aber konstruktiv

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

Blog-Post

Domain Exceptions?

Gibt es fachliche Ausnahmen und ist es sinnvoll, diese als Exceptions zu modellieren?

Blog-Post

dprox – Declarative Reverse Proxy

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

Blog-Post

Sichere Kubernetes Cluster

Container und Kubernetes haben die Art und Weise, wie wir Software in Produktion bringen stark vereinfacht. Anwendungen lassen sich in Container Images verpacken und auf einem Kubernetes-Cluster mit mehreren Knoten betreiben. Bei all der Einfachheit sollte aber nicht vergessen werden, dass trotz der Kapselung in Container verschiedene Aspekte der Sicherheit noch immer eine wichtige Rolle spielen müssen.

Blog-Post

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.