Blog & Articles

Blog Post

How to add Swift functions as polyfills in JavaScriptCore

Reusing existing JavaScript implementations of your web app for your iOS app can be a good choice for some complex calculations. Unfortunately anything that is not part of the pure JavaScript language won’t be available. Learn in this blog post how to supply missing functionality via native code.

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

Je stärker eine Anwendung aus Microservices besteht, desto flexibler und leichter ist sie in der Theorie zu warten. In der Praxis steigen aber die Anforderungen an Übersicht und Sicherheit. Service-Meshes können Ordnung ins Komponentenchaos bringen.

Article

The NUMMI Factory — A Parable About Software Development

Software development is not difficult because of the technical challenges, but because so many people are involved. A story about a car plant shows how other industries deal with these challenges and what they have learned.

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

Herausforderung Betrieb

Article

Hadoop - Taming the Elephant (With a Whale)

In diesem Artikel wird der Inhalt des Vortrags “Hadoop - Taming the Elephant (With a Whale)” zusammengefasst. Er bietet einen Einstieg in die Welt von Hadoop und praktische Beispiele.

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

Blog Post

Scala Days 2019 in Lausanne

Im Juni 2019 fanden die Scala Days anlässlich des 10. Jubiläums wieder in Lausanne – an der Geburtsstätte von Scala – statt. Heuer gab es nicht nur zwei Konferenztage, sondern auch eine ganze Reihe von Community-Events davor und danach. INNOQ war die ganze Woche vor Ort und unsere Kollegen berichten hier von ihren Erfahrungen.

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 für Softwarearchitekt*innen

Article

Entwicklungs­umgebungen automatisieren

Die Entwicklung von Anwendungen erfordert häufig viele Tools. Welche Möglichkeiten gibt es, diese Toolsammlungs innerhalb eines Entwicklungsteams effizient zu verwalten und zu installieren?

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

Teil 3: Altcoins

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 bestimmter 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 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

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 bestimmter 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 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

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

Blog Post

Nachhaltigkeit bei INNOQ: Marketing

Komplett auf Werbung verzichten wollen wir nicht. Aber dabei weiter mit Maß vorgehen und ab sofort nach Möglichkeit auf ökologischere Alternativen setzen. Teil der Blogpost-Serie zu Umwelt und Soziales bei INNOQ.