Blog & Artikel

Artikel

React: Lessons Learned

This article describes React from a backend programmers' perspective. It is not meant to be a tutorial, and it also does not present any new, fancy patterns or features. Rather, it is an interpretation of React with focus on shedding light on its functional aspects. Many experienced React developers appreciate the framework for being pragmatic, simple and easy to get work done with. This article unveils some of the theory behind this simplicity and shows how the core ideas behind the framework can be carried over to the lower levels of a Javascript application.

Artikel

Domain-driven Design to the code

Beim strategischen Domain-driven Design fokussieren wir uns in der Modellierung sehr stark darauf, die Fachlichkeit möglichst passend zu identifizieren und im Design abzubilden. Leider verlieren wir Entwickler bei der technischen Umsetzung diesen fachlichen Fokus dann aber allzu oft wieder aus den Augen und lassen uns (zu) stark vom neusten hippen Framework begeistern, leiten und beeinflussen und verschmutzen so das fachliche Modell mit unzähligen Technologien. Die Ideen der Onion Architecture und der Einsatz von Stereotypen in der Code-Basis erlauben es, eine Trennung des fachlichen Code vom technisch bedingten Code zu erreichen. Dieser Artikel beleuchtet diese Konzepte und zeigt auf, wie dank Stereotypen in Verbindung mit den taktischen Mustern von DDD diese Trennung konkret erreicht werden kann.

Artikel

String-Vergleich gegen Timing-Angriffe härten

Sichere Software erstellen

Artikel

Aus Erfahrung gut

Kubernetes hat sich in den letzten vier Jahren zur Standardlösung für Container-Management entwickelt. Vor allem zustandslose Anwendungen, die lokal keine Daten speichern müssen, sind mit Kubernetes einfach zu betreiben. Datenbanken und andere Komponenten der Persistenzschicht werden jedoch oft weiterhin klassisch betrieben oder als Service bei einem Cloud-Anbieter hinzugebucht. Operatoren bieten unter anderem die Möglichkeit, auch zustandsbehaftete Software verlässlich auf Kubernetes zu betreiben.

Artikel

Kubeless - FaaS auf Kubernetes

Kubernetes und Serverless sind zwei der bedeutendsten Trends beim Betrieb von Software. Kubeless verspricht sogar, beides zu vereinen, und lohnt daher eine nähere Betrachtung.

Blog-Post

Injecting polyfills for missing JavaScript functions into WKWebView

Artikel

Design- und Entwicklungs­prinzipien für ein besseres Frontend

Moderne Frontends sollen wartbar und zukunftsfreundlich sein, unabhängig vom Gerät oder Browser gut aussehen und performant sein. Es gibt eine Reihe von Design- und Entwicklungsprinzipien, die dabei helfen, diese Ziele besser zu erreichen. Im folgenden Artikel sollen einige Prinzipien vorgestellt werden, die sich in der Praxis als tragfähig erwiesen haben. Dabei treffen wir neben alten Bekannten wie Responsive Web Design und Mobile First auch auf neuere Ansätze wie Atomic Design und Pattern Libraries.

Blog-Post

Agile Architekturarbeit

Moderne Softwarearchitekturarbeit folgt selbstverständlich der agilen Arbeitsweise in Entwicklung und Projektmanagement.

Blog-Post

INNOQcon Remote Edition 2020

Konferenz im Remote-Modus: Why go

Blog-Post

Setup für Online Trainings

Schauen wir mal, wie unser Fellow Gernot Starke seinen Arbeitsplatz für Online-Trainings organisiert hat und warum dort so furchtbar viele Apps und Fenster offen sind …

Blog-Post

Integrale Evolutionäre Unternehmensorganisationen

In vielen Unternehmen ist es eine Herausforderung, möglichst viele Mitarbeiter einzubeziehen, dass sie nicht als kleines Rädchen im großen Getriebe nur Dienst nach Vorschrift machen, sondern sich aktiv, kreativ mit ihren verschiedenen Fertigkeiten und Fähigkeiten einbringen. In seinem Buch Reinventing Organizations [1] stellt Frederic Laloux als Lösung integrale evolutionäre Organisationsformen vor, deren Kernideen gestützt durch andere Quellen in diesem Text wiedergegeben werden.

Blog-Post

Remote Training, funktioniert das?

Lernen von zu Hause aus

Blog-Post

Scraping a Docker Swarm service with Prometheus

Scraping a Docker swarm service from a Prometheus server that is outside the swarm is not as easy as it might look at a first glance. You have to fetch the metrics of all running service instances, but how to identify and access them?

Artikel

JSX-Komponenten mit Java nutzen

Die Bedeutung von Oberflächen beziehungsweise der Benutzbarkeit von Software im Allgemeinen hat in den letzten Jahren, zurecht, wieder vermehrt an Bedeutung gewonnen. Bei der Entwicklung von Weboberflächen in Microservice-Architekturen besteht hierbei die Herausforderung, teamübergreifend eine durchgehend passende Nutzererfahrung, insbesondere durch ein konsistentes Look & Feel, zu erzeugen. Diese Kolumne stellt einen möglichen Weg vor, um genau dies zu erreichen.

Blog-Post

Architektur-Reviews remote durchführen

Blog-Post

Cross-platform testing of TypeScript code with Jasmine and Karma

I like TypeScript. Writing code that already underwent basic checks (i.e. typechecking) before it can even touch an execution engine is a big win in my book. In particular, TypeScript is nice because it integrates well into the broader JavaScript ecosystem and comes with batteries (i.e. types) included. Unfortunately, most test runners require extra setup to work with tests written in TypeScript. Some even require staggering amounts of configuration.

Artikel

Ziele, Erwartungen und Vorerfahrungen

Ein interaktives Software-Produkt ist immer nur so gut, wie es von dessen Nutzern wahrgenommen und erlebt wird. Heutzutage muss ein Software-Produkt für einen Nutzer einen Mehrwert bieten, der die Verwendung der Software rechtfertigt. Die Erwartungen und die darauf basierenden Anforderungen von Nutzern an ein Software-Produkt spielen hierbei eine entscheidende Rolle.

Blog-Post

Using Javascript plugins in Go

More than the sum of its parts

Artikel

Fabric vs. Corda

Während die meisten öffentlichen Kryptowährungen alle ein recht ähnlichen Peer-to-Peer-Ansatz verfolgen, deren Transaktionen sich grob in Bitcoin- oder Ethereum-ähnlich einteilen lassen, gehen die private Blockchains teilweise radikal andere Wege. In diesem Artikel wollen wir die beiden Platzhirsche Hyperledger Fabric und Corda miteinander vergleichen.

Artikel

Dynamische Proxys mit dem JDK umsetzen

Bei der Entwicklung mit Java verwenden wir zwangsweise einige der im JDK enthaltenen APIs. Das Collections-API mit seinen Listen, Maps und Sets wird beispielsweise in so gut wie jedem Projekt genutzt. Neben solchen bekannten gibt es jedoch auch einige APIs, die vielen, auch nach mehreren Jahren Java-Entwicklung, noch nicht begegnet sind. In diesem Artikel wollen wir uns eine solche unbekanntere Programmierschnittstelle anschauen, nämlich das Dynamic Proxy Class API.

Blog-Post

Glücklich ohne Service Mesh

Die Basis für sinnvolle Architekturentscheidungen ist die Auseinandersetzung mit dem Problem und ein guter Überblick über die Optionen.

Artikel

Erfolgreich im Homeoffice arbeiten

Aufgrund des Coronavirus arbeiten jetzt mehr Menschen im Homeoffice. Die Arbeit zu Hause ist für viele noch ungewohnt und führt zu neuen Herausforderungen.

Blog-Post

Remote Work

In der letzten Woche haben wir INNOQ auf 100% Remote-Arbeit umgeschaltet. Anlass für diesen radikalen (oder radikal wirkenden) Schritt war die Ausbreitung des neuartigen Coronavirus SARS-CoV-2, die es einzudämmen gilt. Konkret heißt das: alle unsere Consultants arbeiten vorerst ausschließlich im Homeoffice.

Blog-Post

About unit and integration tests

Blog-Post

Kubernetes Probes

Kubernetes probes are for validating container health and readiness. But how should these probes be used? Do we need both? Can we share endpoints? This post tries to give some recommendations.