Blog & Artikel

Artikel

Zukünftige Features des JDK

Ich weiß nicht, wie es Ihnen geht, aber seitdem mit JDK 9 der Release-Zyklus des JDK auf sechs Monate verkürzt wurde und wir mittlerweile, dank Preview und Incubator, auch Features bereits vor der vollständigen Fertigstellung ausprobieren können, wirkt das JDK lebendiger als eh und je. In diesem Artikel wollen wir deswegen einen Blick in die Zukunft werfen und uns aktuelle Preview-Features anschauen, die es vermutlich in naher Zukunft final ins JDK schaffen werden.

Blog-Post

Entwickeln mit ChatGPT

In der Welt der Softwareentwicklung ist das Wissen darüber, wo man Informationen findet, oft wertvoller als alles auswendig zu wissen. Doch was, wenn ein Werkzeug nicht nur Informationen liefert, sondern auch lernt, Probleme zu lösen und beim Entwickeln zu assistieren? In diesem Blog Post berichte ich aus meinem Alltag als Entwicklerin und wie mich ChatGPT bei beruflichen Aufgaben unterstützt - sei es bei der Einarbeitung in neue Programmiersprachen, dem Schreiben von Skripten oder dem Umsetzen von kreativen Ideen.

Artikel

Der Evolutionist

Softwarearchitekturarbeit an bestehenden Systemen

Blog-Post

Rate Limiting with Spring Boot, Bucket4j, and Redis

Let’s implement rate-limiting protection for multiple Spring Boot server instances using bucket4j and redis to have the solution on application level.

Blog-Post

Lokale LLMs mit Ollama und Spring AI nutzen

Egal, ob wir wollen oder nicht, um AI und speziell Large Language Models (LLM) kommen wir aktuell nicht herum. Mich schrecken solche Hypes zwar aus Reflex eher ab. Allerdings sieht es so aus, als würde von diesem Hype mehr bleiben als vom letzten, der Blockchain. Deshalb wollen wir uns in diesem Post einmal anschauen, wie man ein LLM lokal aufsetzen kann und dieses mittels Spring AI in eine Spring Boot-Anwendung einbinden kann.

Blog-Post

Rate Limiting with Spring Boot

Blog-Post

Compacted State Feeds

Event notification vs. Event-carried State Transfer vs. Delta loads. How to design good event architectures for mutable data?

Artikel

Es lebe die Bürokratie!

Die Digitalisierung hilft, Bürokratie zu reduzieren, glaubt man. Warum das so einfach nicht ist, erklärt diese Kolumne.

Artikel

GitOps geht auch ohne Kubernetes

Artikel

Kombinierbare Elemente für Benutzungsoberflächen im Web

Die Art und Weise, wie wir Benutzungsoberflächen im Web entwickeln, hat sich über die letzten Jahre stark verändert. In dieser Kolumne wollen wir uns deswegen ansehen, wie ein moderner Ansatz aussieht und vor welche Herausforderungen dieser, vor allem für klassische Templateengines der Java-Welt, uns stellt.

Blog-Post

Was treibt dich an?

In der heutigen schnelllebigen Welt der Softwareentwicklung ist die Modernisierung von Software eine unerlässliche Aufgabe, um mit ständig ändernden Anforderungen und Technologien Schritt zu halten. Es gibt immens viele Ansätze zur Modernisierung von Software. Aber es ist eine Herausforderung, die richtigen Werkzeugkästen in den richtigen Situationen zu finden. Wie schön wäre es, die eine «Ultimative Softwaremodernisierungsmethode™️» in den Händen zu halten, die all die Probleme mit den in die Jahre gekommenen Softwaresysteme lösen kann?

Artikel

Automatisierte Code-Wartung mit OpenRewrite

Teil 2

Artikel

Abhängigkeitsupdates mit Renovate automatisieren

Egal ob wir an einer Anwendung oder Bibliothek arbeiten, wir haben es immer mit Abhängigkeiten zu tun. Wir sind abhängig von der Version unserer Programmiersprache, von externen oder internen Bibliotheken und von Werkzeugen. Neben der eigentlichen Verwaltung müssen diese auch regelmäßig aktualisiert werden. Das erfordert, neben dem Update selbst, auch, dass wir mitbekommen müssen, wenn es eine neue Version gibt. In diesem Artikel schauen wir uns deswegen eine Bot-basierte Lösung an, die uns genau hierbei unterstützen kann.

Blog-Post

Rooting Out Issues: JPA and Lombok Combination Problems Demystified

Ever encountered perplexing issues with JPA and Lombok’s @Data annotation when handling entities in Java? This blog post explores unexpected behaviors, especially with auto-generated IDs, in conjunction with equals and hashCode methods. Learn about identity and uncover how you can resolve these challenges forever.

Artikel

Technologien zur Integration von Services

Kleine Architekturstudie

Blog-Post

Die Anatomie eines erfolgreichen Teams

Die Gründe für das Scheitern von Softwareentwicklungsprojekten sind vielfältig und zum Großteil nicht technischer, sondern organisatorischer Art: Zu hohe Komplexität, unklare Anforderungen, nicht-funktionale Teams, Fokus auf den falschen Dingen oder überhandnehmende Konzernpolitik. Bereits zum Projektstart können Maßnahmen getroffen werden, um einige dieser Risiken einzudämmen und die Aussicht auf einen Projekterfolg zu erhöhen. Dieser Artikel wird den Fokus auf ein funktionierendes, erfolgreiches Entwicklungsteam legen und erörtern, welche Stellschrauben Sie drehen können – und von welchen Sie lieber die Finger lassen sollten.

Blog-Post

Schema Evolution

Bei der Benutzung von Kafka wird häufig ein Schema definiert und benutzt, das die verwendeten Datenstrukturen spezifiziert. Da Software im Laufe der Zeit stetig weiterentwickelt wird, ist es irgendwann notwendig das Schema anzupassen. Dieser Artikel erörtert Ansätze, die sich dabei bewährt haben und Hilfsmittel, die verwendet werden können, um eine solche Schema Evolution durchzuführen.

Artikel

Automatisierte Code-Wartung mit OpenRewrite

Teil 1

Blog-Post

Micro Frontends With Ionic And Capacitor

We planned and set up a micro frontend architecture using Capacitor and Ionic. In this article, I talk about some of the challenges we faced and the ways we solved them.

Artikel

Die Ökonomie von Gut & Crypto I

Der Hype um Crypto-Technologien ist etwas abgeklungen. Ein guter Zeitpunkt, die Möglichkeiten und ihre soziotechnischen Aspekte strukturiert zu betrachten. Die folgenden Kolumnen betrachten einige der Themen, die im Zusammenhang mit Crypto-Technologien immer wieder benannt werden oder für die sie Lösungen versprechen.

Blog-Post

GitLab CI/CD Pipelines testen

Blog-Post

Mit Reviews in Legacy-Situationen orientieren

In diesem Post möchte ich ein paar meiner Erfahrungen mit Legacy-Software teilen. Wir von INNOQ kommen meistens dazu, wenn die Entwicklung irgendwie stecken geblieben ist oder es unklar ist, wie es weiter gehen soll. Reviews, die in Zusammenarbeit von Beratern und Kunde durchgeführt werden, können in einer solchen Situation effektiv und schnell für Klarheit sorgen.

Artikel

New Work: Taylorismus 2.0

Vor einigen Jahren hat New Work das Repertoire von Agilisten erobert. Seitdem beschäftigen sich immer mehr Menschen mit der Frage, wie New Work in Unternehmen eingeführt werden kann und wie Unternehmen es nutzen können. Warum das dazu führt, dass die Idee des New Work von Frithjof Bergmann nun das gleiche Schicksal ereilt, dem vor 100 Jahren die Ideen von Frederick Taylor anheimfielen, soll diese Kolumne beleuchten.

Artikel

Grundlagen der Softwarearchitektur: Teil 5

Wie geht es weiter?

Artikel

Grundlagen der Softwarearchitektur: Teil 4

In dieser (vierten) Folge der Mini-Serie zu Softwarearchitektur klären wir, wer denn die Architekturaufgaben erledigen könnte, die ich in der vorigen Folge vorgestellt habe. Dazu stelle ich einige mögliche Rollenausprägungen für Softwarearchitektur mit ihren jeweiligen Vor- und Nachteilen vor.