Blog & Articles

Article

Vielfältiges Git!

Normalfall im Entwicklungsalltag ist das git-Repository, das ein Remote hat, ein Arbeitsverzeichnis und einen Baum von “Branches” (mit gemeinsamen Stamm master). In den meisten Fällen genügt das auch. Aber die Software selbst kann mehr: Sie hat keine Probleme damit, vom selben lokalen Repository aus mehrere entfernte Repository zu bespielen, mehrere Arbeitsverzeichnisse parallel zu verwalten oder intern einen Wald von nebeneinander stehenden Versionsbäumen. Diese Mehrfachheit ist gelegentlich nützlich. Der Artikel zeigt einige entsprechende Situationen auf und bequeme Wege, mit ihnen umzugehen.

Article

Microservices: Mit Service-Meshes den Überblick behalten

Immer mehr Systeme bestehen aus immer kleineren Komponenten – die sogenannten Microservices. Die Vorteile: Entwickler können dadurch die Entwicklung, das Testing und das Deployment ­eines Systems unabhängig voneinander durchführen. In der Praxis haben solche verteilten Anwendungen auch Nachteile. Wenn einzelne Teile ausfallen oder – schlimmer noch – nur noch teilweise funktionieren, betrifft das oft eben doch das ganze System. Service Meshes können hier Abhilfe schaffen.

Article

The NUMMI Factory — A Parable About Software Development

What We Can Learn from other Industries

Blog Post

Integrating Logback with JLine

Logback is a popular logging library for Java. JLine can be used to create nice shell-like applications. Combining both is not as hard as it looks.

Article

Pragmatisch zum Praxiseinsatz von Machine Learning in der Cloud

Die Anzahl von Publikationen zu Computer Vision, Natural Language Processing (NLP) oder Reinforcement Learning ist heutzutage gewaltig. Dabei widmen sich die meisten ausschließlich dem Training. Doch oft müssen Data Scientists auch beim Betrieb ihrer Modelle mitwirken. Dafür braucht es einen pragmatischen und unaufwändigen Weg.

Article

Hadoop - Taming the Elephant (With a Whale)

Eine Einführung in Hadoop

Article

No Silver Bullets - Except Continuous Delivery?

There are no silver bullets. But continuous delivery promises so many advantages that it could be such a silver bullet. So what is true: Do silver bullets actually exist or is continuous delivery overrated?

Article

Verification of smart contracts

Smart contracts are used to execute code on blockchains. A variety of business cases are now represented with such contracts. Ethereum is a popular platform for this purpose. However, as with all software, the question arises of how to ensure the quality of the code.

Blog Post

Scala Days 2019 in Lausanne

Unser Erfahrungsbericht

Article

Entwicklungs­umgebungen automatisieren

Im ersten Teil dieser zweiteiligen Artikelserie ging es um die Frage, welche Möglichkeiten es gibt das für ein Projekt benötigte Tool Set, wie Compiler, Laufzeitumgebungen oder IDEs von einem Entwicklungsteam effizient gemanagt und installiert werden kann. In diesem zweiten Teil befassen wir uns mit der Bereitstellung von Services wie Datenbanken oder Message Brokern. Diese werden häufig zum Testen von Anwendungen während der Entwicklung benötigt und deshalb ebenfalls allen Mitgliedern eines Entwicklungsteams zur Verfügung stehen und sich unkompliziert einrichten lassen.

Article

cards42

Die Mitmach-Karten von cards42 unterstützten bei der täglichen Arbeit mit Softwarearchitekturen. Die Karten geben kurze Denkanstöße für festgefahrene Situationen und helfen, neues Licht auf schwierige Herausforderungen zu werfen. Dieser Artikel bietet ausführliche Erklärungen sowie die Hintergründe und weitere Informationen zu den Karten.

Article

Entwicklungs­umgebungen automatisieren

Teil 1 – Entwicklungstools & Package Manager

Article

Wo zum Geier sind die Blöcke

Corda wurde vom Konsortium R3 [1] in Zusammenarbeit mit mehr als 200 Technologie- und Industriepartnern entwickelt. Laut Hersteller handelt es sich bei Corda um eine Open-Source-Blockchain, die speziell für die Anwendung in Unternehmen gedacht ist. Im Gegensatz zu anderen Blockchain-Lösungen werden Informationen nur zwischen den Parteien ausgetauscht, die sie auch tatsächlich benötigen. Diese Informationen nennt man bei Corda „Shared Facts“. In diesem Artikel wird gezeigt, wie solche geteilten Fakten entstehen, verteilt und historisiert werden. R3  ↩

Article

Adressen und Transaktionen in Kryptowährungen

Kryptowährungen sind in aller Munde. Tutorials und Erklärungen gibt es zuhauf. In dieser Artikelserie soll ein bestimmer Aspekt, nämlich der der Adressen und Transaktionen, detailliert für populäre Blockchains geklärt werden. Denn unter der Oberfläche verbirgt sich einiges an Komplexität. Teil 3: Altcoins.

Article

Adressen und Transaktionen in Kryptowährungen

Teil 2: Ethereum

Article

Ein praxisorientierter Einstieg in Kubernetes

Beim Deployment von Containern reicht es zu Beginn, diese – mehr oder weniger – manuell auf einer einzelnen Maschine laufen zu lassen. Mit der Zeit entstehen dann immer weitere Anforderungen an Automatisierung, Ausfallsicherheit und Strategien zum Deployment. Ein Cluster zur Verwaltung von Containern muss her. Genau für diese Aufgabe wurde Kubernetes entwickelt, und aktuell ist es nahezu unmöglich, daran vorbeizukommen, wenn Container verwendet werden. Dieser Artikel bietet einen praxisorientierten Einstieg in die Welt von Kubernetes.

Blog Post

React App from Scratch

This blog post shows how to setup a React App from scratch with express and React Router.

Article

Adressen und Transaktionen in Kryptowährungen

Teil 1: Bitcoin

Blog Post

Ruby on Rails ist einfach am besten

Ein Loblied auf Ruby on Rails.

Blog Post

Prometheus Counters and how to deal with them

In this article, I want you to join me on my way to understand how Counters in Prometheus work, and how to query them to get the right information.

Blog Post

When you have reached Acme

Notes on working with a minimalistic text editor/programming environment

Blog Post

Faking Surrogate Cache-Keys for Nginx Plus

Sometimes you also need to use Nginx as caching layer. Purging the cache for a resource and its variants is often a very tedious task. Surrogate Keys of other caching solutions are a better alternative but are not supported by Nginx yet. Alternatively, you can create something as powerful by combining the different dynamic dimensions of a resource to a cache key variable which then is appended to a custom cache key. This way, the * -wildcard purging of Nginx can be used to purge all cache entries related to a certain resource with a couple of map directives.

Blog Post

Structured Logging with Structured Arguments

How to make better log statements with Structured Arguments

Blog Post

Nachhaltigkeit bei INNOQ: Marketing

Blog Post

UX-Basics

Dieser Post gibt einen kurzen Überblick über die Begriffe Usability, User Experience, User-Centered Design und Human-Centered Design und grenzt diese gegeneinander ab.