Artikel

Blog-Post

NO SOFTWARE

Artikel

Die VENOM Story

Strategische Anwendungsmodernisierung mit Split+Extract Strategien

Blog-Post

Tests Granularity

In two previous posts we discussed the benefits of automated tests and the properties of a good test. So far we were trying to avoid differentiating the tests in any way. This time we want to address one way how tests can be classified: tests granularity.

Artikel

MLOps: You train it, you run it!

CI/CD & Operations für Machine Learning

Artikel

Software Reviews

Mehr als nur Clean Code

Blog-Post

Good arguments for SPA frameworks

I love SPAs when they are used with a clear purpose. I hate them when they are not. This blog post tries to explain my personal conflict.

Artikel

Gut gesiebt

Von Usability und Features – Service Meshes im Vergleich

Blog-Post

Anatomy of a Good Test

Artikel

Unbekannte Besonderheiten von Java

So gut wie jede Programmiersprache, die ich kenne, besitzt Dinge, die so erstaunlich sind, dass ich oft denke „Was? Das geht?“. In dieser Kolumne wollen wir uns acht solche Besonderheiten von Java anschauen und verstehen, wieso diese funktionieren und wozu sie gut sein können.

Artikel

Developers are Irresponsible and Childish!

About Respect and Trust

Blog-Post

Why you should write automated tests

Artikel

Smart Contracts in Rust

Ethereum ist die erste öffentliche Kryptoplattform, die das Konzept der Smart Contracts popularisiert hat, und auch immer noch die erfolgreichste. Doch die gängige Programmiersprache Solidity leidet unter einer ganzen Reihe von systematischen Problemen, die des Öfteren zu spektakulären Sicherheitslücken führen. Eine neue Generation von Sprachen schickt sich an, diese Mankos auszugleichen. Besonders interessant ist dabei die – derzeit noch experimentelle – Möglichkeit, WebAssembly als Bytecode-Format für Smart Contracts zu benutzen. Passend dazu eignet sich Rust als Hochsprache, die WASM-Code erzeugen kann. Wir schauen uns an, wie das intern funktioniert und solche Verträge implementiert werden können.

Blog-Post

Visualizing the progress of a refactoring into a hexagonal architecture using jQAssistant

Artikel

Images für Java-Anwendungen bauen

Das Runde muss ins Eckige

Blog-Post

Cookie-based Spring Security Session

If you need authentication within your Spring Boot web application, the natural choice is to use Spring Security. It’s easy to use and, as long as you stick close to the defaults, it’s also quite easy to configure. But, by sticking to those defaults, you will automatically get a session that is persisted on the server-side. That’s a problem if you want to run multiple instances of your application. And, additionally, it’s not necessary, at least in most cases. There’s another mechanism for keeping some user session state in a web application. It’s called Cookie. And, instead of using it only to store a session identifier, why not let it hold the data itself. This blog post shows, that, with some effort, it’s possible to configure Spring Security to store its session information in a cookie instead of a server-side session.

Blog-Post

Ganz sichere Verbindungen

Teil 2: Aufsetzen von nginx unter der Verwendung eines Yubikey HSMs

Blog-Post

Ganz sichere Verbindungen

Ein Anwendungsfall für ein Hardware-Security-Modul

Artikel

Modernes funktionales Programmieren in Java

Erfahrene Java-Entwickler\*innen können viele der Entwurfsmuster des „Gang of Four“-Buches aus dem Stand zitieren, identifizieren und anwenden. Trotzdem stehen diese praktisch seit der Erscheinung des Buches unter Kritik: da sie teils vage definiert sind, strotzen „moderne“ Codebasen nur so von Singletons, Factories und Buildern. Auf der anderen Seite stehen die Anhänger\*innen der funktionalen Programmierung, die sich gerne über die objektorientierten Patterns lustig machen. Die Wahrheit liegt wie so oft in der Mitte: seit Version 8 lassen sich auch in Java die cleveren Gedanken aus der funktionalen Welt effektiv und komfortabel benutzen, ohne die Objektorientierung aufzugeben.

Blog-Post

Happy without a Service Mesh

The basis for meaningful architecture decisions is the examination of the problem and a good overview of the options.

Artikel

Mit offenen Augen und offenem Geist

Accessibility als Vorteil für das Software-Engineering

Artikel

Machine Learning Daten in den Griff bekommen

Für viele Verfahren im Bereich Datenanalyse und Machine Learning werden mehrdimensionale Arrays benötigt. Da oft mit großen Datenmengen gearbeitet wird, ist es, neben anderen Optimierungen, wünschenswert eine Array Implementierung zu verwenden, die auf hohe Performance und geringen Speicherverbrauch optimiert ist. Viele Frameworks setzen deshalb auf ndarrays von numpy oder eigene Implementierungen statt die Standard Listen- oder Arrayimplementierungen von Python zu verwenden.

Blog-Post

Sicher vernetzte Remote-Arbeit

Verteilte Knoten verbinden durch ein Nebula VPN

Blog-Post

Does “Broken” Agility Help?

Why Broken Might Be Good Enough

Blog-Post

Automating Dependency Updates with GitHub Actions

This describes setting up a GitHub Actions workflow from scratch to schedule automated dependency updates.

Blog-Post

Wenn Customizing zur Legacy wird

Analyse eines ERP-Systems mit Wardley Maps und strategischem Domain-driven Design