Blog & Artikel

Blog-Post

Setup für Online Trainings

Schauen wir mal, wie unser Fellow Gernot Starke seinen Arbeitsplatz für Online-Trainings organisiert hat und warum dort so furchtbar viele Apps und Fenster offen sind …

Blog-Post

Integrale Evolutionäre Unternehmensorganisationen

In vielen Unternehmen ist es eine Herausforderung, möglichst viele Mitarbeiter einzubeziehen, dass sie nicht als kleines Rädchen im großen Getriebe nur Dienst nach Vorschrift machen, sondern sich aktiv, kreativ mit ihren verschiedenen Fertigkeiten und Fähigkeiten einbringen. In seinem Buch Reinventing Organizations [1] stellt Frederic Laloux als Lösung integrale evolutionäre Organisationsformen vor, deren Kernideen gestützt durch andere Quellen in diesem Text wiedergegeben werden.

Blog-Post

Remote Training, funktioniert das?

Lernen von zu Hause aus

Blog-Post

Scraping a Docker Swarm service with Prometheus

Scraping a Docker swarm service from a Prometheus server that is outside the swarm is not as easy as it might look at a first glance. You have to fetch the metrics of all running service instances, but how to identify and access them?

Artikel

JSX-Komponenten mit Java nutzen

Die Bedeutung von Oberflächen beziehungsweise der Benutzbarkeit von Software im Allgemeinen hat in den letzten Jahren, zurecht, wieder vermehrt an Bedeutung gewonnen. Bei der Entwicklung von Weboberflächen in Microservice-Architekturen besteht hierbei die Herausforderung, teamübergreifend eine durchgehend passende Nutzererfahrung, insbesondere durch ein konsistentes Look & Feel, zu erzeugen. Diese Kolumne stellt einen möglichen Weg vor, um genau dies zu erreichen.

Blog-Post

Architektur-Reviews remote durchführen

Blog-Post

Cross-platform testing of TypeScript code with Jasmine and Karma

I like TypeScript. Writing code that already underwent basic checks (i.e. typechecking) before it can even touch an execution engine is a big win in my book. In particular, TypeScript is nice because it integrates well into the broader JavaScript ecosystem and comes with batteries (i.e. types) included. Unfortunately, most test runners require extra setup to work with tests written in TypeScript. Some even require staggering amounts of configuration.

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

More than the sum of its parts

Artikel

Fabric vs. Corda

Während die meisten öffentlichen Kryptowährungen alle ein recht ähnlichen Peer-to-Peer-Ansatz verfolgen, deren Transaktionen sich grob in Bitcoin- oder Ethereum-ähnlich einteilen lassen, gehen die private Blockchains teilweise radikal andere Wege. In diesem Artikel wollen wir die beiden Platzhirsche Hyperledger Fabric und Corda miteinander vergleichen.

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

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

Artikel

Erfolgreich im Homeoffice arbeiten

Aufgrund des Coronavirus arbeiten jetzt mehr Menschen im Homeoffice. Die Arbeit zu Hause ist für viele noch ungewohnt und führt zu neuen Herausforderungen.

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

Blog-Post

Kubernetes Probes

Kubernetes probes are for validating container health and readiness. But how should these probes be used? Do we need both? Can we share endpoints? This post tries to give some recommendations.

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

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

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

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. 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?

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?

Fachlich sinnvoll schneiden

Blog-Post

Rails und DRY-Zugriffsrechte

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.