Blog & Artikel

Artikel

Fairness und Künstliche Intelligenz

Klassisches Software-Testing lässt sich nicht ohne Weiteres auf KI übertragen. Model Governance und interne Audits sind nötig, um Fairness zu gewährleisten.

Artikel

JSON in Java verarbeiten

Im Gegensatz zu vielen anderen Programmiersprachen bringt das JDK für Java keine fertige Lösung für das Lesen und Schreiben von Daten in der JavaScript Object Notation (JSON) mit. Wir müssen uns also eine passende Bibliothek für diese Aufgaben suchen. In diesem Artikel schauen wir uns deswegen eine Auswahl von Bibliotheken an.

Blog-Post

CORS extension “Private Network Access”

Understanding the new preflight requests

Artikel

Eine kleine Geschichte über Qualität…

Du denkst Dir nichts Böses, da bittet Dich Tante Lucy um einen kleinen Gefallen… und Du musst Dich entscheiden, wie Du das angehen sollst. Aber als Belohnung winkt ihr leckerer Erdbeerkuchen, außerdem sind wir doch alle Herausforderungen gewöhnt, oder?

Artikel

Ethik und Künstliche Intelligenz

KI bahnt sich den Weg in viele Anwendungsbereiche. Jetzt ist es wichtig, dass das auch auf verantwortungsvolle, sichere und transparente Weise funktioniert. Die Regulierung von KI-Systemen ist ein rechtliches, gesellschaftliches und technisches Thema, das ein breites Bewusstsein erfordert und in den nächsten Jahren weiter an Relevanz gewinnen wird.

Artikel

Principles of technical documentation

Artikel

Bibliotheken für Kommandozeilen­anwendungen

Kommandozeilenanwendungen in Java sind zwar, aufgrund der Startzeit der JVM, nicht die verbreitetsten. Allerdings kann die Entwicklung für interne Anwendungen, je nach Wissensstand des Teams, sinnvoll sein. Und dank der nativen Kompilierung mit der GraalVM wird die Startzeit beschleunigt. Neben der Fachlichkeit besteht ein Großteil der Arbeit einer Kommandozeilenanwendung darin, die übergebenen Argumente und Optionen auszulesen und anzuwenden. Dazu schauen wir uns vier mögliche Bibliotheken an.

Blog-Post

Awesome presentations deserve beautiful code

Occasionally we need to put parts of our source code onto slides for presentations. The common presentation programs (such as PowerPoint or Keynote) fail miserably at this task because they interpret code as normal text. Syntax highlighting is lost, as are indentations. It looks lousy, and it’s no fun. This post introduces carbon.now.sh, a quick and free solution, created by the awesome people from @carbon_app.

Blog-Post

Cloud Security

Wie schaffe ich Sicherheit in einer Cloud-Umgebung?

Artikel

Iterierst du noch, oder streamst du schon?

Worin unterscheiden sich Streams und Iteratoren in Java? Man sollte denken, dass beide Ansätze dafür gedacht sind, Dinge wiederholt auszuführen, und dass Streams nur eine komfortablere Art und Weise sind, den Algorithmus auszudrücken. Die beiden APIs unterscheiden sich aber in mancher Hinsicht. Ziel dieses Artikels ist es, die beiden Ansätze zu vergleichen – zum einen mit Blick auf die Ergonomie eines Beispiels, zum anderen auf funktionale Unterschiede bei der Parallelisierung und Mutabilität.

Artikel

Java-HTTP-Clients im Vergleich

Neben der Einbindung von Datenbanken findet sich die Kommunikation per HTTP zu anderen Diensten mittlerweile in fast jedem Projekt wieder. Innerhalb von Java hat sich hierzu mittlerweile eine große Menge an Bibliotheken gebildet, die wir einsetzen können. In dieser Kolumne wollen wir uns darum vier dieser Kandidaten anschauen und sehen, in welchen Aspekten sich diese unterscheiden.

Blog-Post

Authoring Markdown with Zotero - My Workflow

Combining simple writing with powerful references

Artikel

Die ökonomischen Vorteile von User Experience Design

Eine positive User Experience erreicht niemand auf Anhieb. Doch es lassen sich schon durch wenige einfache Maßnahmen enorme ökonomische Vorteile erzielen.

Artikel

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.

Artikel

What Does a Bundler Actually Do?

Artikel

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

Artikel

HTTP-Feeds

Für asynchrone Schnittstellen braucht es nicht immer Apache Kafka oder RabbitMQ. Sie lassen sich auch ohne Middleware einfach über HTTP-APIs gestalten.

Artikel

MLOps und Model Governance

MLOps und Model Governance werden oft als separate Prozesse wahrgenommen. Dabei hängt das eine stark mit dem anderen zusammen. In diesem Artikel möchten wir daher die Integration von Model Governance und MLOps vorstellen und die wichtigsten Prinzipien und technischen Komponenten für MLOps und ML Model Governance erklären.

Blog-Post

The Way of the Request

Tracing a request through Play 2.7/2.8

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

Softwarequalität im Kontext von Wertschöpfung und Evolution

Qualitätsziele helfen, Architekturentscheidungen fundierter zu treffen. Eine Auswahl angemessener Qualitäten zu finden ist aber ein herausforderndes Thema. Qualitätsansprüche sind stark abhängig vom Betrachtungspunkt aus. Notwendige Qualitäten ändern sich zudem über die Zeit hinweg. In diesem Blog-Post möchte ich gerne eine Idee vorstellen, die helfen kann, Qualitäten im Hinblick auf ihre Relevanz besser einzuordnen. Als Basis verwende ich hierzu das ISO 25010 Qualitätsmodell sowie Wardley Mapping, mit Hilfe dessen sich Wertschöpfungsaktivitäten und die Evolutionsstufen von Softwaresystemen kommunizieren lassen.

Blog-Post

Mein Weg als Werkstudent bei INNOQ

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.