Blog & Articles

Blog Post

Domain Events vs. Event Sourcing

Why domain events and event sourcing should not be mixed up.

Blog Post

Domain Events vs. Event Sourcing

Weshalb Domain Events und Event Sourcing nicht vermischt werden sollten

Article

Technologien für Microservices

Warum Microservices-Frameworks nicht genug sind

Blog Post

Sentiment Analysis in der Praxis

Mit dem lexikonbasierten Verfahren lässt sich eine Sentiment Analysis schnell und einfach umsetzen. Ein praxisorientiertes Beispiel zeigt, wie damit zum Beispiel sozialwissenschaftliche Forschung unterstützt werden kann.

Blog Post

20 Jahre INNOQ Schweiz

Am 28. November 2018 haben wir mit Ihnen in der Giesserei in Zürich eine kurzweilige Software-Zeitreise gefeiert. Nachfolgend ein paar Impressionen und Einblicke aus der Giesserei in Oerlikon.

Article

Die erste Java-Version mit Long-Term-Support seit Java 8

Java, die Elfte

Article

Microservices – oder doch nicht?

Microservices sind zwar in aller Munde, aber wie jede andere Architektur auch sind sie ein Trade-Off. Also stellt sich die Frage, wo Microservices sinnvoll sind, wie es mit Microservices weitergeht und was nach Microservices kommt.

Blog Post

Langweilige Innovation?

Hat Innovation immer etwas mit den neuesten Technologien zu tun oder kann sie auch scheinbar langweilig sein? Ein Fall aus dem realen Beraterleben.

Blog Post

Testen von Microservice-Systemen

Blog Post

Handling German Text with torchtext

There is a growing list of tools that are ready to be used with non-English texts. We show common ways to integrate them in torchtext and use their language-specific options.

Blog Post

Declarative Data Transformations

This describes a declarative approach to validating and transforming inconsistently structured data.

Article

Benimmregeln für Architekturen - automatisch geprüft

Architekturregeln spezifizieren und testen mit ArchUnit

Article

Vorgehensweise für maschinelles Lernen als Orientierung

Eine Vielzahl von hochentwickelten Technologien für maschinelles Lernen ist als Open Source frei verfügbar. Dennoch zeigt sich, dass es nur vergleichsweise wenige Anwender gibt, die diese Technologie in Produkten erfolgreich einzusetzen. Maschinelles Lernen ist ein sehr vielschichtiger und komplexer Bereich der Informatik und darüber hinaus ein Gebiet aktiver Forschung. Einsteiger können insbesondere im Bereich Deep Learning dadurch schnell den Eindruck gewinnen dass eine Einarbeitung nur auf hohem wissenschaftlichen Niveau möglich ist. Es gibt jedoch durchaus auch praxisorientierte Quellen. Viele Informationen sind nur in englischer Sprache verfügbar, daher verweist der Artikel auf englische Quellen.

Blog Post

What’s in a Name: Projekt (und Produkt)

Wir verwenden den Begriff “Projekt” in der IT leider fälschlicherweise als Stellvertreter für Produkt oder System. Dabei sollten wir, insbesondere bei iterativ-inkrementeller Entwicklung, primär auf die entstehenden Ergebnisse, also das System, achten sowie auf dessen Geschäftswert, Qualität und Nützlichkeit. Der irrige Begriff Projekt lenkt davon ab.

Blog Post

Serverless - The Vendor Is Not Your Enemy

Serverless Entwicklung mit bekannten Pattern

Article

Designer sind vom Mars, Entwickler von der Venus

Digitale Produkte werden von Designern und Entwicklern sowie Architekten und Projektleitern Hand in Hand erarbeitet. Alle tragen gleichermaßen die Verantwortung für das Endergebnis. Und doch, oder deshalb, stellt die Zusammenarbeit oft eine Herausforderung dar. Über Farben lässt sich streiten, über Frameworks auch, im besten Fall agil und aufs Pixel genau. Ein empathischer Umgang miteinander erleichtert sicherlich den Arbeitsalltag, aber grundlegende Kenntnisse, die über den Tellerrand der eigenen Disziplin hinausgehen, können die Qualität eines Produkts direkt beeinflussen.

Article

Java-Bibliotheken für den Einsatz in Tests

In den meisten Projekten entfällt ein nicht gerade kleiner Anteil des Codes auf Tests. Für diesen Testcode sollten dieselben Regeln wie für Produktivcode gelten. Neben dem Achten auf Verständlichkeit und Wartbarkeit gehört auch das Erschaffen von Abstraktionen und das Vermeiden des Not-invented-here-Syndroms durch den Einsatz von passenden Bibliotheken dazu. Dieser Artikel stellt sechs Bibliotheken vor, die sich im Einsatz als praktisch und hilfreich erwiesen haben.

Blog Post

Testing is storytelling

Blog Post

Continuous Integration Contradicts Features Branches!

Features branches are a popular approach to separating the development of different features - but unfortunately this contradicts continuous integration’s goal of continuously integrating all changes. So what to do?

Blog Post

Do We Worship Complexity?

Complexity is the most important challenge in software development. So it is important to always strive to eliminate complexity. But sometimes we worship complexity - and that can make complexity problems unsolvable.

Blog Post

Building a Load Test with Tsung for a Login and Post Session with dynamic url-encoded variables

Article

Continuous Integration mit Docker und GitLab

GitLab, 2011 als webbasierter Git-Repository-Manager gestartet, hat sich mittlerweile zu einer umfangreichen Softwareentwicklungssuite mit einer Vielzahl an Tools weiterentwickelt. Neben einem Issue-Tracker und einer Docker-Registry enthält es mittlerweile auch einen Continuous-Integration-Server mit einer optionalen Kubernetes-Integration. Der Artikel zeigt, wie eine Build- und Deployment-Pipeline aufgebaut werden kann und welche Einzelschritte ein neues Feature vom Issue-Tracker bis zur Produktionsumgebung durchläuft. Als Beispiel dient dabei eine Spring Boot 2-Anwendung, die als Docker-Image paketiert und anschließend auf einem Docker-Host deployt wird.

Article

Vertikalisierung im E-Commerce

Im Artikel E-Commerce im Wandel wurden einige Herausforderungen für den digitalen Handel aufgezeigt. An dieser Stelle soll nun der erwähnte Lösungsansatz zur Adressierung dieser Herausforderungen vorgestellt werden.

Blog Post

The Problem With Agility

Why We Are Still Stuck in Agile Transformations

Blog Post

Design Sprints: Technik

Über die letzten Design Sprints hinweg haben wir immer wieder am technischen Setup für die Nutzer:innen-Interviews gedreht und optimiert. Dieser Post soll einen kurzen Überblick über unsere aktuell eingesetzten Tools geben.