Blog & Artikel

Artikel

cards42 English edition

Finally, cards42 is available in English! The cards42 project supports software developers in your daily work with software architectures. 30 cards provide brief food for thought for stuck situations and help shed new light on difficult challenges. This article provides detailed explanations as well as the background and further information about the cards.

Artikel

Gemischtdatenladen

Genau wie das persönliche Surfverhalten sind die Einkaufsgewohnheiten eines Menschen sehr aufschlussreich – wenn man es schafft, die unhandlichen Daten zu analysieren. Wer so einen Datenschatz im Selbstversuch auswertet, bekommt Einblicke ins eigene Einkaufsverhalten, Erfahrung in der Analyse von Daten und obendrein ein unterhaltsames Programmierprojekt.

Blog-Post

Rich code documentation with Jekyll

Blog-Post

Code knows no gender

Girls’Day - Braucht man den eigentlich noch? Immerhin stehen Mädchen heute zwecks Berufswahl eine Vielzahl an Informationsquellen zur Verfügung: von zahlreichen Internetseiten, über Podcasts bis hin zu Vorbildern im persönlichen Umfeld. Ein Blick auf die Zahlen in unserer Branche aber verrät: Ja, den brauchen wir. Denn nur 25 Prozent aller Informatikstudierenden sind weiblich. Da liegt die Vermutung nahe, dass es mehr Aufklärung, Information und auch ein wenig Werbung bedarf, um mehr Mädchen für die Softwareentwicklung zu begeistern. Wie wir den Tag in Hamburg gestaltet haben, was wir gemeinsam mit den Girls erreicht haben und die eine oder andere lesson learned – darum geht’s in diesem Blogpost.

Blog-Post

Customer-specific documentation with Jekyll

Static site generation is a perfect fit for publishing documentation. In a recent project, we chose to use Jekyll for rendering our content. As a special requirement, we had to build different «flavours» for different customers.

Artikel

Data Mesh: Entwicklungsteams heben Datenschätze

Blog-Post

Was macht ein Trainee bei INNOQ?

Ein halbes Jahr lang lernte ich INNOQ kennen und bin nun fest angestellt. Dies ist ein Artikel über meine Trainee-Zeit und was ich dabei alles gelernt und umgesetzt habe, weil mir Verantwortung dafür gegeben wurde. Dieser Artikel handelt auch davon, welche Chancen INNOQ für jeden Menschen bereithält, wenn man sie nutzt. Überzeug Dich selbst, warum.

Artikel

Module – Microservices – Monolithen

Microservices sollten alle Architekturprobleme lösen. Wenig überraschend kam es anders. Jetzt sollen die Monolithen, die wir schon seit Jahrzehnten entwickeln, wieder die Lösung sein. Bei dieser Diskussion gerät eine Grundlage für die Entwicklung von komplexen Softwaresystemen in Vergessenheit: Modularisierung, die viel wichtiger als die Frage nach Monolithen oder Microservices ist.

Artikel

Continuous Deployment mit GitOps

Artikel

DNS und LDAP mittels JNDI abfragen

Durch die Sicherheitslücke Log4Shell ist auch JNDI ins Rampenlicht gerückt worden. Obwohl JNDI bereits seit 1997 existiert, haben viele davon noch nie gehört oder wissen nicht genau, wofür es da ist. Um beides zu ändern, schauen wir uns in diesem Artikel gemeinsam an, was JNDI ist und wie wir es einsetzen können.

Blog-Post

Managing Kubernetes Resources with Kustomize

Helm is the de-facto standard for managing groups of Kubernetes resources that belong to an application as a package. It comes with its own ecosystem to build, configure and distribute these packages. In some cases, this is an appropriate approach but sometimes we just want to manage our resources as yaml files and need a simple way to slightly modify the resources for different environments. In this article we will have a look at how Kustomize can help us with this.

Artikel

TypeScript – Die Komplexität von JavaScript bändigen

Artikel

Der Nächste, bitte!

In der Regel läuft der Code von Webseiten in nur einem Thread, modernen Multicore-Prozessoren zum Trotz. Echte Parallelität gibt es so nicht, aber ein schlaues Programmiermodell erlaubt dennoch „asynchronen“ Code, der nicht linear abgearbeitet wird.

Artikel

Die Angemessenheit von Komplexität

Wenn in der Softwareentwicklung über verteilte Systeme gesprochen wird, findet sich Eric Brewers CAP-Theorem meist direkt um die Ecke. Das CAP-Theorem, obwohl es erst 1998 formuliert wurde, gehört heute zu den fundamentalen Erkenntnissen über verteilte Systeme. Was enthält es an Einsichten für die Betrachtung sozialer Systeme bereit?

Artikel

Der Foerster und die Softwarearchitektur

Soziotechnische Welten – Teil 2

Artikel

Mythos Teamautonomie

Die Autonomie von Teams wird seit einigen Jahren häufig als Voraussetzung für gelingende Softwareentwicklung genannt. Allzu oft werden dabei die Paradoxien von Organisationen nicht angemessen berücksichtigt. Diese Kolumne möchte die ersten beiden dieser Paradoxien betrachten.

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

Ein Einstieg in vier JSON-Bibliotheken für Java

Blog-Post

CORS extension “Private Network Access”

Chrome rolled out the «Private Network Access» extension for its CORS handling. Let’s try to understand the why and how this is affecting us.

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

Ein neuer Umgang mit KI-Systemen

Artikel

Principles of technical documentation

This article collects fundamental requirements for technical documentation, especially software architecture documentation, together with ideas how to satisfy those.

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

Blog-Post

Cloud Security

Die Cloud-Welt bringt eigene sicherheitstechnische Herausforderungen. Zusätzlich haben regulatorische Auflagen für den Umgang mit personenbezogenen Daten starke Implikationen, zumal weder Netzwerke noch Speichersysteme von Cloudanbietern vorbehaltlos vertrauenswürdig sind.