Blog & Artikel

Blog-Post

Kurzlebige Branches in Git

Während eines Kundenprojekts mussten fast durchgehend sehr umfangreiche Oberflächen mitsamt Backend implementiert werden, was zu Beginn in sehr großen Pull-Requests und Merge-Konflikten resultierte. Im Laufe der Zeit haben wir mehrere Branching-Strategien verwendet, um diese Herausforderungen in den Griff zu bekommen.

Blog-Post

Turning a group of strangers into a team

A testimonial how five foreigners became a team via Remote Mob Programming in less than a day.

Blog-Post

Defect Analysis using pandas

Using standard Data Science tools from Python to track bugfixing activities

Blog-Post

Progressive Enhancement mit Hotwire

Ein REST basiertes Backend und oben drauf einen Javascript-Monolithen, ist heute der de-facto Standard für Webapplikationen. Mit Hilfe von hotwire lassen sich aber auch viel leichtgewichtiger Webapplikationen bauen, die die Vorteile von SPAs mitnehmen aber deren Nachteile vermeiden. Wir wollen zeigen, was Hotwire alles bietet.

Artikel

Remote Mob Programming bei INNOQ

Bei INNOQ nutzen einige Teams die Arbeitsmethode Remote Mob Programming erfolgreich in Kundenprojekten, teilweise sogar schon seit über zwei Jahren. Wir haben vier Teams gefragt, wie ihre Erfahrungen mit dieser besonderen Arbeitsmethodik sind und waren.

Blog-Post

Der INNOQ Technology Day

Was wir auf unserer ersten Online-Konferenz gelernt haben

Artikel

Mit Git die Vergangenheit manipulieren

Nachdem wir uns in der letzten Kolumne mit Grundlagen von Git auf der Kommandozeile beschäftigt haben, wollen wir uns nun einige erweiterte Konzepte, vor allem rund um die nachträgliche Manipulation der Historie, anschauen.

Artikel

Es muss nicht immer grafisch und klickbar sein

In dieser Kolumne geht es um Git. Genauer gesagt die Benutzung von Git auf der Kommandozeile. Neben Grundeinstellungen und vielen Kommandos wird hier und da auch ein Trick vorgestellt, um die Benutzung zu erleichtern.

Blog-Post

Deploying a WebAssembly smart contract on Oasis Ethereum

Artikel

Domain-driven Design und Bounded Context

Die Konzepte von DDD und Bounded Context sind in der Praxis komplizierter, als es auf den ersten Blick erscheint.

Blog-Post

Innovation in the web without sacrificing accessibility

We’ve truly stretched the boundaries of what is possible on the web. However, to do this we’ve sacrificed semantic HTML and made our applications inaccessible to a huge amount of different users. Instead of breaking the foundation of the web, we should consider this as an opportunity: how can we implement applications in a way that works for any user who might come along and want to interact with it?

Artikel

The art of software reviews

Probleme und Risiken in Software zielsicher identifizieren

Artikel

RESTful HAL APIs

Die Hypertext Application Language ist als Medientyp-Erweiterung zu Plain JSON/XML nicht neu und kommt in vielen Projekten mit Hypermedia-APIs zum Einsatz.

Blog-Post

NO SOFTWARE

Technische Lösungen und digitale Transformation prägen das Geschäftsleben mehr denn je. Könnte manchmal NO SOFTWARE die bessere Lösung sein?

Artikel

Smart Contracts in Rust

Sicherer programmieren in Ethereum

Artikel

Die VENOM Story

Sie erfahren anhand eines (komplett anonymisierten), realen Beispiels, wie die inkrementelle Modernisierung eines historisch gewachsenen Systems funktionieren kann. Das riesige, gewucherte System VENOM von >2 Mio Lines-of-Code zu modernisieren oder komplett neu zu schreiben - vor dieser schweren Entscheidung stand die (fiktive, aber sehr realitätsnahe) Firma SAMM Inc.

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

Die initiale Architektur und Infrastruktur eines Systems wird üblicherweise kompetent und sorgfältig geplant und umgesetzt, bei der iterativen Weiterentwicklung auf Clean Code und Code Reviews geachtet. Viele kleine über die Jahre getätigte Änderungen an der Software ergeben dann aber nicht immer ein in sich schlüssiges Gesamtbild. Spätestens wenn sich die Time-To-Market verschlechtert und eine Anwendung nicht mehr alle notwendigen Qualitätsanforderungen erfüllt sollte ein umfassendes Software Review in Erwägung gezogen werden.

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

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

Anatomy of a Good Test

In our last post, we focused on why we should write tests and what value they provide. This time we will go far more technical and take a look at a single test. We will show what makes a test a good one and describe desired and unwanted properties. Interestingly enough, all those properties hold, no matter how isolated or integrated the test is. This already gives us a hint that all tests are alike, we should remember that. Unfortunately, as the topic is very broad, we will have to skip some aspects that play a role when we’re talking about test suites. We will get back to them in one of our next posts.

Artikel

Unbekannte Besonderheiten von Java

Was? Das geht mit Java?

Artikel

Developers are Irresponsible and Childish!

If you don’t babysit developers, they’ll do nonsense all day long. How should you deal with them?