Blog

Blog-Post

Functional Service in Scala

Functional programming helps programmers to reason about their codebase using referential transparency and side-effect control principles. Let’s push the limit and make pure-functional REST service using IO Monad from Cats-Effect project. First, we will do that using Akka-HTTP library and standard Scala Future as effect type. Afterwards, we will switch to abstract effect F to have a choice, when it comes to run our embedded program.

Blog-Post

Distributed Trust

So gut wie jedes Projekt das der Interaktion von Menschen dient verwendet ein Konzept zur Bewertung der Reputation seiner Teilnehmer. Ist die Umsetzung zu Beginn eines Projekts noch einfach und übersichtlich, oft auch etwas naiv, wachsen die Ansprüche im Laufe des weiteren Lebenszyklus eines Systems.

Blog-Post

Konsensansätze für Blockchains

Auf der Suche nach Einigkeit

Blog-Post

Zeitreise mit LocalDate und DateTimeFormatter

Manchmal hängt das erfolgreiche Ausführen eines Testes tatsächlich davon ab, an welchem Tag er gestartet wird.

Blog-Post

Cooking with Onions: Inward-Pointing Arrows

The onion architecture is an established approach to structuring applications.

Blog-Post

Go lernen an ein paar verregneten Tagen

Besonderheiten und Schwierigkeiten

Blog-Post

Report Generator in Rust

In this blog post, we are going to build a backend application in Rust for converting HTML report into PDF format. Rust is a system programming language which focuses on performance, stability and memory safety. There are thousands of Rust libraries built by its community and we are going to build our application using some of these libraries.

Blog-Post

Domain Events vs. Event Sourcing

Weshalb Domain Events und Event Sourcing nicht vermischt werden sollten

Blog-Post

Technologien für Microservices

Warum Microservices-Frameworks nicht genug sind

Blog-Post

Sentiment Analysis in der Praxis

Mit dem lexikonbasierten Verfahren lässt sich eine Sentiment Analysis schnell und einfach umsetzen. Ein praxisorientiertes Beispiel zeigt, wie damit zum Beispiel sozialwissenschaftliche Forschung unterstützt werden kann.

Blog-Post

20 Jahre INNOQ Schweiz

Am 28. November 2018 haben wir mit Ihnen in der Giesserei in Zürich eine kurzweilige Software-Zeitreise gefeiert. Nachfolgend ein paar Impressionen und Einblicke aus der Giesserei in Oerlikon.

Blog-Post

Die erste Java-Version mit Long-Term-Support seit Java 8

Java, die Elfte

Blog-Post

Microservices – oder doch nicht?

Microservices sind zwar in aller Munde, aber wie jede andere Architektur auch sind sie ein Trade-Off. Also stellt sich die Frage, wo Microservices sinnvoll sind, wie es mit Microservices weitergeht und was nach Microservices kommt.

Blog-Post

Langweilige Innovation?

Hat Innovation immer etwas mit den neuesten Technologien zu tun oder kann sie auch scheinbar langweilig sein? Ein Fall aus dem realen Beraterleben.

Blog-Post

Testen von Microservice-Systemen

Blog-Post

Handling German Text with torchtext

There is a growing list of tools that are ready to be used with non-English texts. We show common ways to integrate them in torchtext and use their language-specific options.

Blog-Post

Declarative Data Transformations

This describes a declarative approach to validating and transforming inconsistently structured data.

Blog-Post

Benimmregeln für Architekturen - automatisch geprüft

Architekturregeln spezifizieren und testen mit ArchUnit

Blog-Post

Vorgehensweise für maschinelles Lernen als Orientierung

Eine Vielzahl von hochentwickelten Technologien für maschinelles Lernen ist als Open Source frei verfügbar. Dennoch zeigt sich, dass es nur vergleichsweise wenige Anwender gibt, die diese Technologie in Produkten erfolgreich einzusetzen. Maschinelles Lernen ist ein sehr vielschichtiger und komplexer Bereich der Informatik und darüber hinaus ein Gebiet aktiver Forschung. Einsteiger können insbesondere im Bereich Deep Learning dadurch schnell den Eindruck gewinnen dass eine Einarbeitung nur auf hohem wissenschaftlichen Niveau möglich ist. Es gibt jedoch durchaus auch praxisorientierte Quellen. Viele Informationen sind nur in englischer Sprache verfügbar, daher verweist der Artikel auf englische Quellen.

Blog-Post

Serverless - The Vendor Is Not Your Enemy

Argumente für und gegen Serverless gibt es viele. Dieser Post behandelt konkret das Thema Vendor-Lock-in, welches bei der Entscheidung für oder gegen Serverless häufig diskutiert wird.

Blog-Post

What’s in a Name: Projekt (und Produkt)

„Projekt“ ist oft der falsche Begriff

Blog-Post

Designer sind vom Mars, Entwickler von der Venus

Digitale Produkte werden von Designern und Entwicklern sowie Architekten und Projektleitern Hand in Hand erarbeitet. Alle tragen gleichermaßen die Verantwortung für das Endergebnis. Und doch, oder deshalb, stellt die Zusammenarbeit oft eine Herausforderung dar. Über Farben lässt sich streiten, über Frameworks auch, im besten Fall agil und aufs Pixel genau. Ein empathischer Umgang miteinander erleichtert sicherlich den Arbeitsalltag, aber grundlegende Kenntnisse, die über den Tellerrand der eigenen Disziplin hinausgehen, können die Qualität eines Produkts direkt beeinflussen.

Blog-Post

Java-Bibliotheken für den Einsatz in Tests

In den meisten Projekten entfällt ein nicht gerade kleiner Anteil des Codes auf Tests. Für diesen Testcode sollten dieselben Regeln wie für Produktivcode gelten. Neben dem Achten auf Verständlichkeit und Wartbarkeit gehört auch das Erschaffen von Abstraktionen und das Vermeiden des Not-invented-here-Syndroms durch den Einsatz von passenden Bibliotheken dazu. Dieser Artikel stellt sechs Bibliotheken vor, die sich im Einsatz als praktisch und hilfreich erwiesen haben.

Blog-Post

Testing is storytelling

Blog-Post

Continuous Integration Contradicts Features Branches!

Features branches are a popular approach to separating the development of different features - but unfortunately this contradicts continuous integration’s goal of continuously integrating all changes. So what to do?