Blog & Articles

Article

Geld statt Kohle

Viele Kryptowährungen nutzen Blockchains mit „Proof of Work“, aus dem ein enormer Energieverbrauch resultieren kann. „Proof of Stake“ löst dieses Problem, doch das Verfahren hat auch Nachteile. Ganz ohne Proof of Irgendwas lässt sich eine Kryptowährung aber kaum realisieren.

Article

What Does a Bundler Actually Do?

Frontend development without JavaScript is rarely possible. Seasoned backend developers are then confronted with a completely new toolchain overflowing with unknown technical terms. But there is method behind the complexity.

Article

Benutzer­freundlicher Äther

Smart Contracts in dezentrale Applikationen einbetten

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

You know what a data mesh is? You understand its basic principles? But you don’t know how on earth to get the data product? Then I will show you how to extract your data product from your Domain-driven Design (DDD) artifacts.

Article

HTTP Feeds

Asynchronous Interfaces without Kafka or RabbitMQ

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

Anlässlich meines kürzlichen Wechsels vom Student zum Consultant schreibe ich in diesem zweiten Blogpost über die Thematik meiner Masterarbeit.

Blog Post

Software quality in the context of value chains and evolution

Mapping of quality attributes on a Wardley Map for a more informed assessment of software systems

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

Static site generation is a perfect fit for publishing documentation. In a recent project, we chose to use NGINX as a web server to host the HTML and CSS files. However, we also wanted to protect the site using SSO. This is where things get a bit difficult.

Article

Maven, das unbekannte Wesen – Teil 2

Noch mehr Themen rund um Maven

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

Eines ist beim Betrieb von Software sicher: Fehler und unerwartete Situationen werden eintreffen. Stabile Software sorgt deswegen vor und kann auch mit solchen Situationen umgehen. Diese mit Resilienz oder Widerstandsfähigkeit beschriebene Eigenschaft kann den Unterschied zwischen einer Anwendung, die nicht mehr reagiert oder erreichbar ist, und einer darstellen, die noch ihren Dienst tut. Dieser Artikel beschäftigt sich deshalb mit Stabilitätsmustern und zeigt, wie wir diese mit Resilience4j in Java umsetzen können.

Blog Post

Die Vielseitigkeit eines Product Information Management-Systems

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

ML kommt immer mehr in sensiblen Entscheidungssystemen zum Einsatz - z.B. in autonomen Fahrzeugen, in der Gesundheitsdiagnostik oder der Kreditwürdigkeitsprüfung. Dies bringt nicht nur neue Möglichkeiten, sondern auch neue Schwachstellen mit sich, die gezielt von Angriffen ausgenutzt werden können. In Teil 2 dieser Artikelserie beschäftigen wir uns mit verschiedenen Angriffstypen in der ML-Security-Landschaft und den dazugehörigen Lösungsvorschlägen.

Article

Den Äther programmieren

Smart Contracts für die Ethereum-Blockchain schreiben

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

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

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

Fun with flags

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

Quality is the raison d’être for software architects: Our systems should be reliable, performant, scalable and user-friendly. Systems should be build and maintained cost-effective and future-proof. Every IT professional knows that this combination of characteristics means hard work. The article shows how you can methodically construct quality.

Article

Docker Server

Schnellere Tests durch einen dedizierten 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.