Blog & Artikel

Artikel

Ziele, Erwartungen und Vorerfahrungen

Ein interaktives Software-Produkt ist immer nur so gut, wie es von dessen Nutzern wahrgenommen und erlebt wird. Heutzutage muss ein Software-Produkt für einen Nutzer einen Mehrwert bieten, der die Verwendung der Software rechtfertigt. Die Erwartungen und die darauf basierenden Anforderungen von Nutzern an ein Software-Produkt spielen hierbei eine entscheidende Rolle.

Blog-Post

Using Javascript plugins in Go

There are projects, where you want to create an application, that is extensible by other parties without access to the sources iteself or re-compiling the whole binary. This concept is known as modules, plugins or features nowadays. This might be the case if you are creating a client application (e.g. to implement scripting functionality), but also if you want to have your server application extensible by third parties.

Artikel

Fabric vs. Corda

Die Platzhirsche im Vergleich

Artikel

Dynamische Proxys mit dem JDK umsetzen

Bei der Entwicklung mit Java verwenden wir zwangsweise einige der im JDK enthaltenen APIs. Das Collections-API mit seinen Listen, Maps und Sets wird beispielsweise in so gut wie jedem Projekt genutzt. Neben solchen bekannten gibt es jedoch auch einige APIs, die vielen, auch nach mehreren Jahren Java-Entwicklung, noch nicht begegnet sind. In diesem Artikel wollen wir uns eine solche unbekanntere Programmierschnittstelle anschauen, nämlich das Dynamic Proxy Class API.

Blog-Post

Glücklich ohne Service Mesh

Es muss nicht immer ein Service Mesh sein. Auch Microservices sind nicht per se eine gute Idee. Für gute Entscheidungen müssen wir uns das Problem genau anschauen.

Artikel

Erfolgreich im Homeoffice arbeiten

Best practices aus zwei Jahren im Homeoffice

Blog-Post

Remote Work

In der letzten Woche haben wir INNOQ auf 100% Remote-Arbeit umgeschaltet. Anlass für diesen radikalen (oder radikal wirkenden) Schritt war die Ausbreitung des neuartigen Coronavirus SARS-CoV-2, die es einzudämmen gilt. Konkret heißt das: alle unsere Consultants arbeiten vorerst ausschließlich im Homeoffice.

Blog-Post

About unit and integration tests

The terms unit test and integration test are typically used as something different, or even opposite. In this blog post I explain why this is misleading and how I prefer to talk about isolation vs. integration instead.

Blog-Post

Kubernetes Probes

How to use readiness, liveness, and startup probes

Artikel

Identifikation von Qualitätsanforderungen mit Quality Storming

Quality Storming ist ein Workshop zur Identifizierung von Qualitätsanforderungen auf der Grundlage eines Qualitätsmodells wie beispielsweise der ISO 25010 Norm. Die Methode setzt dabei auf Methoden und Ideen des Collaborative Modeling, das in der Domain-driven Design Community populär ist. Ein wichtiger Aspekt in diesem Zusammenhang ist die Zusammenarbeit verschiedener Stakeholder und Abteilungen.

Artikel

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

Large complex projects are difficult to manage. Software release trains are one solution to coordinate such projects. But the approach is not a great fit for self-organization and modern management ideas.

Artikel

Einführung in ReplicaSet und Service

Schleusen auf im Kubernetes-Cluster

Blog-Post

Hidden Champion - SQLite Datenbanken in Go

Wenn Sie ein Smartphone verwenden, MacOS oder Chrome User sind, ist die Chance groß, dass sie in irgendeiner Form SQLite Benutzer sind. SQLite ist wohl die am meisten verwendete Datenbank, ohne dass sie je besonders im Rampenlicht gestanden hätte.

Blog-Post

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

How do we decide what technology stack that we want to use for any given project? Is it really based on how perfectly well suited the technology is to the problem at hand or do we really just want to use the technologies that we like and are comfortable with? I’m happy in my filter bubble, rendering web applications on the server and progressively enhancing them on the client. But I also recognize my bias. Do you?

Artikel

Das eierlegende Truffleschwein

Polyglotte Programmierung mit Truffle und GraalVM

Artikel

Was ist die Magie von Spring Boot?

Spring Boot wurde entwickelt, um uns bei der Entwicklung von Spring-Anwendungen Arbeit und Entscheidungen abzunehmen. In der Praxis funktioniert dies so gut, dass häufig das Wort Magie verwendet wird. Die Verwendung dieses Wortes deutet jedoch auch darauf hin, dass wir nicht mehr wirklich verstehen, was dort vor sich geht. Genau dies möchte ich mit diesem Artikel angehen und dazu einen Einblick geben, wie Spring Boot funktioniert.

Artikel

Warum Domain-driven Design?

Domain-driven Design (DDD) ist eine alte Technik, aber gerade voll im Hype. Worum geht es bei DDD und ist der Hype berechtigt?

Blog-Post

Rails und DRY-Zugriffsrechte

mit CanCan(Can) und ein wenig Spucke

Blog-Post

Warum Quarkus.io _nicht_ geiler ist als Spring

Quarkus.io ist ein neues Framework, das optimiert ist, um Java Anwendungen Cloud Native laufen zu lassen. Sollte ich meine Java-Anwendungen daher jetzt nicht mehr in Spring Boot sondern in Quarkus.io entwickeln?

Artikel

Brauchen asynchrone Microservices und SCS ein Service Mesh?

Service Meshes heben viele Randfunktionen von Microservices wie Monitoring, Routing und Sicherheit in die Infrastruktur und sind entsprechend beliebt in Microservice-Architekturen - doch schaffen sie diesen beachtlichen Mehrwert auch bei asynchroner Kommunikation oder in Self-contained Systems?

Artikel

Architektur­entscheidung im agilen Team

Zusammen Architektur machen

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.

Artikel

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.