Blog & Articles

Article

Benutzer­freundlicher Äther

Smart Contracts, wie sie die Ethereum-Blockchain kennt, sind technisch eine feine Sache. Aber sie brauchen eine Bedienoberfläche, wenn sie nicht nur Entwicklern nützen sollen – dann werden daraus „dezentrale Applikationen“. Um so eine DApp zu programmieren braucht man nur etwas HTML und JavaScript.

Blog Post

Setup für Hybrid-Workshops

In hybriden Workshops können Menschen online und vor Ort zusammenarbeiten, sowohl in Schulungen als auch bei anderen Arten von Meetings. In diesem Post zeigen wir euch, wie ihr solche hybriden Workshops oder Trainings durchführen könnt. Ihr erfahrt, wie ihr die wesentlichen (technischen) Herausforderungen meistert, was ihr an Equipment benötigt, und wie ihr das einrichtet. Dazu gibt’s eine Menge lessons learned über kombinierte online- und vor-Ort Veranstaltungen.

Blog Post

Data Mesh to Go: How to Get the Data Product

Using DDD artifacts to get a data product for data mesh

Article

HTTP Feeds

Asynchronous interfaces don’t always require the use of Apache Kafka or RabbitMQ. They can also be designed without middleware just by means of HTTP APIs.

Blog Post

The Way of the Request

The Play Framework is a web application framework for Scala and Java inspired by Ruby on Rails. Although I like the official documentation, I always found it lacking in how requests runs through the framework. This article takes the reader on a journey tracing a request through the framework.

Blog Post

Das Test-driven Development für eine Conversational AI

Blog Post

Software quality in the context of value chains and evolution

Quality goals help to make more informed architectural decisions. However, identifying a set of the most needed qualities is a challenging task. Quality requirements are strongly dependent on the perspective of individuals. The importance of certain qualities also changes over time. In this blog post, I introduce an idea that helps to understand qualities in terms of their relevance (and non-relevance). We discover how qualities interplay with value creation activities and evolution by using the ISO 25010 quality model together with Wardley Maps as a foundation.

Blog Post

Mein Weg als Werkstudent bei INNOQ

Anlässlich meines kürzlichen Wechsels vom Student zum Consultant werde ich in diesem Blogpost meine Erfahrungen mit euch teilen.

Blog Post

Injecting environment variables into static websites using NGINX

Article

Maven, das unbekannte Wesen – Teil 2

Bereits in der letzten Kolumne haben wir uns mit vier Themen zu Maven beschäftigt. Natürlich war diese nicht erschöpfend und es gibt noch viele weitere Themen, die eine Betrachtung wert sind. In dieser Kolumne betrachten wir deswegen fünf weitere Themen, die meiner Meinung nach wertvoll sind.

Article

Maven, das unbekannte Wesen - Teil 1

In sehr vielen Java-Projekten wird heute zum Bauen Maven als Build-Tool verwendet. Die grundlegende Nutzung von Maven ist dabei in der Regel schnell erlernt und auch die erste pom.xml schnell geschrieben. Die nächsten Schritte bestehen dann meiner Meinung nach darin, sich mit weiteren Details zu beschäftigen. Dazu wollen wir uns in diesem Artikel vier ausgewählte Themen zur Vertiefung von Maven anschauen.

Article

Widerstandsfähigen Java-Code mit Resilience4j schreiben

Stabilitätsmuster in Java

Blog Post

Die Vielseitigkeit eines Product Information Management-Systems

PIM steht für Product Information Management und ist die zentrale Verwaltungsstelle für Produktdaten. Es ist auf vielfältige Weise nutzbar und keinesfalls nur auf wenige Branchen beschränkt. Die Einsatzmöglichkeiten sind, je nach Features und Entwicklungsstand des PIM-Systems, beinahe grenzenlos, so lang die Verwaltung von Daten und Informationen der gemeinsame Nenner ist.

Article

Die Top 5 der Neuerungen in Scala 3

Schon seit geraumer Zeit arbeitet das Team um Martin Odersky an der nächsten großen Version von Scala. Deren Spitzname „Dotty“ leitet sich ab von „Dependent Object Types“, dem logischen Kalkül, welches dem Typsystem zugrunde liegt. Doch es gibt nicht nur Verbesserungen in den Eingeweiden des Compilers. Die aktuell in der Release-Candidate-Phase befindliche Vorschau auf Scala 3 verspricht, das Programmiererlebnis deutlich zu verbessern.

Article

Machine Learning Security – Teil 2

Eine neue Herausforderung

Article

Verträge im Äther

Blockchains werden oft mit Kryptowährungen gleich­gesetzt, aber die Technologie kann mehr als Geld verwalten. „Smart Contracts" erlauben die Blockchain als Computer zu ­benutzen und ermöglichen zum Beispiel virtuelle Organi­sationen oder Non-Fungible-­Tokens (NFT). Ethereum ist der Vorreiter bei diesen An­wendungen.

Article

Geld im Äther

Tesla akzeptiert Bitcoin-Zahlungen, auf Ethereum werden Tweets verkauft – von Kryptowährungen hört man ständig. Aber wie benutzt man so ein System, wie kommt man an das virtuelle Geld und wie überweist man es? Zum entspannten Lernen eignet sich Ethereum: ­Dessen Blockchain ist einfach zu benutzen und erlaubt freies Experimentieren in Testnetzen.

Article

Den Äther programmieren

Smart Contracts für die Ethereum-Blockchain schreiben

Article

Using feature flags with FF4j, Togglz, and Unleash in Java

Feature flags are now a fixed feature of many projects. In this column we will consider which problems can be resolved with their use. In addition to the theory, we also look at the three Java libraries FF4j, Togglz, and Unleash, with which feature flags can be used in Java.

Article

Machine Learning Security – Teil 1

Machine Learning kommt immer mehr in sensiblen Entscheidungssystemen zum Einsatz. Dies bringt nicht nur neue Möglichkeiten, sondern auch neue Schwachstellen mit sich, die gezielt von Angriffen ausgenutzt werden können. In Teil 1 dieses Artikels navigieren wir uns Stück für Stück durch die ML Security Taxonomie und nehmen die Perspektive des Angriffs ein.

Article

Quality Driven Software Architecture - Revised

Getting your product quality right

Article

Docker Server

Integrationstests sind zur Qualitätsabsicherung in komplexen Softwaresystemen unverzichtbar, dauern aber häufig sehr lange in der Testausführung. Hier hilft ein dedizierter Docker-Server.

Blog Post

Test organization and naming

As our system grows, so will our test suites. For our production code, we have learned techniques to keep it maintainable. For example, we try to structure our logic into sub-aspects, put them in specific locations and give the units meaningful names. We want to achieve the same for our tests. One of the main goals is that a developer - or generally speaking, the person who has to maintain the test - knows where to find which test. We also want to understand as quickly as possible what the test is for and what might be the reason for a failing test.

Article

Accessibility-Mythen aufgeklärt

Echtes Wissen über Accessibility

Blog Post

What’s in a name: Legacy

The term “legacy” has a negative connotation in IT, and stands for an old, somehow bad piece of software. In real-life, legacy has a completely different and often positive meaning.