Blog & Artikel

Blog-Post

Verschachtelte Tests mit Minitest

Über das Schreiben von Tests in Ruby in Rails-Anwendungen wurde in den letzten Jahrzehnten wohl alles geschrieben, was man sich ausdenken kann. Es wurden alle erdenklichen Frameworks entwickelt, mit denen das Schreiben von Tests „Spaß” machen soll. Mit RSpec/Cucumber sollten Tests sogar optimalerweise von der Fachabteilung verfasst oder wenigstens gelesen werden können. So jedenfalls das Heilversprechen. Der Autor dieses Posts war nie bekannt für seine Rigorosität, was Testabdeckung seiner Anwendungen betrifft. Software soll ausgeliefert werden und tun, was sie soll. Ein formaler Korrektheitsbeweis im Kopf sowie händisches Testen des Restes wird meist/oft/manchmal auch ausreichen, außerdem steht da noch die Feststellung im Raum, dass 100% Testabdeckung ohnehin nicht erreichbar sind. Manchmal wird man im Alter aber doch weiser (und fauler).

Blog-Post

Buttons, Links und die Magie von HTML

Web Accessibility ist nicht nur eine trockene gesetzliche Anforderung: Für viele bedeutet sie die Möglichkeit, überhaupt am digitalen Leben teilzunehmen. Web Accessibility ist aber auch ein Fass, in das man ziemlich tief abtauchen kann. Ein Blick auf einige Aha-Erlebnisse und Fallstricke, die mir beim Entwickeln einer Webanwendung begegnet sind. Teil 1.

Artikel

Mit dem Model Context Protocol (MCP) standardisierte KI-Tools bauen

Blog-Post

Digitale Souveränität

Digitale Souveränität bedeutet letztlich, dass Europa die Kontrolle über seine digitale Zukunft behält – technologisch, wirtschaftlich und regulatorisch. Für Unternehmen ist dies nicht nur ein politisches Schlagwort, sondern ein handfester Faktor für Risiko- und Erfolgsbewertung. Doch warum genau sollten Unternehmen bei Entscheidungen zur digitalen Transformation den Aspekt der europäischen Souveränität berücksichtigen?

Artikel

Gängige Methoden im Umfeld soziotechnischer Architekturen

In der Ära der Digitalisierung und Modernisierung stehen Unternehmen vor der Herausforderung, sich nicht nur technologisch, sondern auch organisatorisch optimal auszurichten. Soziotechnische Architekturen spielen dabei eine Schlüsselrolle, da sie den Fluss von Arbeit, die Zusammenarbeit zwischen Teams und die Integration technischer und sozialer Systeme in den Fokus rücken. Dieser Artikel beleuchtet zwei zentrale Ansätze – Team Topologies und Domain-Driven Design (DDD) – und zeigt, wie sie Unternehmen helfen können, mit bewusster soziotechnischer Architekturarbeit zu starten.

Artikel

Von Legacy-Monolithen zu Self-contained Systems

Blog-Post

Rules, Tools, and Teamwork

Static code analysis. A necessary evil? A lifesaver? A constant struggle? Let me show you a few important things that might make your life with code analysis easier.

Blog-Post

Soziale Bewährtheit - die Macht der Herde

Microservices, Kubernetes, Scrum – was alle nutzen, kann nicht falsch sein, oder? Soziale Bewährtheit beeinflusst Entscheidungen, spart Zeit, kann aber auch in die falsche Richtung führen. In IT-Projekten heißt das oft: Trends werden übernommen, ohne sie kritisch zu hinterfragen. Wann das nützt und wann es schadet – darum geht es in diesem Beitrag.

Blog-Post

Canvas 101

One-Pager für bessere Kommunikation

Artikel

Der Kleber macht’s

Auch bei Webprojekten ist es sinnvoll, mit modularisierten Teilsystemen zu arbeiten. Fehler bei der Implementierung können aber zu trägen Modulithen führen.

Blog-Post

Podcasts transkribieren mit Large Language Models

Podcasts automatisch transkribieren zu lassen ist eine naheliegende Anwendung von multimodalen KI-Modellen, aber es lauern Tücken im Detail.

Blog-Post

Eine kurze Geschichte von HTTP

Wie sich HTTP über die Jahre entwickelt hat: Von HTTP/1.0 zu HTTP/3.0

Artikel

Spring Boot Actuator Endpoints

Das Modul Actuator verspricht bereits seit dem Beginn von Spring Boot, dazu beizutragen, dass die Anwendung „production-ready” wird. Doch was genau ist damit eigentlich gemeint, was bringt das Modul bereits alles mit und wie können wir es erweitern? Das alles stellt dieser Artikel im Detail vor.

Blog-Post

RAG – Die Architektur zuverlässiger KI

Wie können wir sicherstellen, dass KI-Systeme präzise, nachvollziehbar und stets auf dem neuesten Stand sind? Alle Large Language Models (LLMs) haben ein Cut-off-Datum, an dem ihr Weltwissen endet. Und über Unternehmensinterna wissen sie nichts. Dazu haben selbst die führenden Modelle noch Halluzinationsraten, die man nicht völlig ignorieren kann. Sie bieten aber gewaltiges Potenzial für Produktivität, Effizienz und Kreation. Retrieval-Augmented Generation (RAG) setzt genau hier an: LLMs werden durch gezielte Informationsbeschaffung erweitert.

Blog-Post

Document Ingestion

Das Fundament eines RAG-Systems

Blog-Post

Retrieval-Augmented Generation

Was tun wir, wenn ein LLM-getriebenes System hochspezialisiertes Unternehmenswissen benötigt, das nicht im ursprünglichen Modell-Training enthalten war? Während LLMs ein enormes Potenzial besitzen, um auf Basis ihres umfassenden Wissensschatzes durch das Training generische Anfragen zu beantworten, zeigen sich ihre Schwächen, wenn es um aktuelle, spezialisierte oder verifizierte Informationen geht.

Artikel

Immer up to date

Das JDK 23 beinhaltet bereits die zweite Preview für das neue Class-File API, das vermutlich in JDK 24 fertig gestellt sein wird. Zeit also, sich einmal anzuschauen, worum es sich bei diesem API handelt und wie wir es nutzen können.

Blog-Post

Bessere APIs, aber wie?

API Linting mit Spectral verbessert die Qualität von APIs

Artikel

APIs als strategische digitale Bausteine

Organisationen müssen heute balancieren, ihre aktuellen Aufgaben effizient zu erfüllen, aber sie müssen ebenso in der Lage sein, auf neue Anforderungen schnell und flexibel reagieren zu können. „Unbundling the Enterprise” ist ein neues Buch, das untersucht und beschreibt, wie sich Unternehmen durch systematisches Entflechten mehr Optionen verschaffen können, und somit besser in der Lage sind, auf neue Anforderungen zu reagieren.

Blog-Post

Survivorship Bias

Erfolgsgeschichten inspirieren uns. Sie prägen unser Bild davon, was möglich ist – und manchmal auch, was wir für wahrscheinlich halten. Doch der Schein trügt: Wer nur auf die sichtbaren Erfolge blickt, ignoriert all jene, die es nicht geschafft haben. Dieses Phänomen nennt sich Survivorship Bias. Der folgende Blogpost zeigt anhand von Beispielen aus IT-Projekten, Wirtschaft und Medizin, warum diese Wahrnehmungsverzerrung gefährlich ist – und wie man ihr entgegenwirken kann.

Blog-Post

API Drift

Wenn APIs Unbeschriebenes tun

Artikel

Back to Basics: Gute Architektur muss nicht „trendy“ sein

Schlägt man ein IT-Magazin oder das Programm einer IT-Konferenz auf, springt dem Leser sofort der Hype ins Gesicht: Gestern waren es Microservices, die uns vor den zu groß geratenen Monolithen retten werden, heute ist es die generative KI, die als Heilsbringer oder Unheilstifter stilisiert wird. Dabei ist es auch ohne dieses Hintergrundrauschen nicht einfach, gute Architekturentscheidungen zu treffen.

Artikel

LLMs mit Spring AI integrieren

Die gesamte Welt spricht aktuell über Generative KI und Large Language Models (LLMs). Und auch wenn ich persönlich das Thema aktuell als zu sehr gehypt empfinde, sollten wir solche Trends nicht komplett verschlafen. Daher zeigt dieser Artikel, wie sich LLMs mit Spring AI integrieren lassen.

Blog-Post

Wenn das Weltbild wackelt

Manchmal sind es die kleinen Details, die das Weltbild verändern; wenn sich der Schleier der Magie lüftet und das Handwerk des Magiers sichtbar wird

Blog-Post

Besseres RAG mit hybrider Suche

Eine Komponente von RAG (Retrieval-Augmented Generation) ist das Retrieval. In anderen Worten haben wir ein Suchproblem zu lösen. Wenn man Artikel über RAG liest, bekommt man den Eindruck, dass die Vektorsuche ein essentieller oder sogar der einzige Bestandteil sei. In diesem Blogpost sehen Sie, warum das nicht zum Ziel führt.