Blog & Artikel

Artikel

Konsensansätze für Blockchains

Eines der wichtigsten Kriterien, um Blockchain-basierte Systeme miteinander zu vergleichen, ist die Art und Weise, wie sich die am insgesamt verteilt organisierten System beteiligten Parteien auf eine einzige Wahrheit einigen. Dazu werden unterschiedliche Konsensus-Verfahren eingesetzt, die wir uns in diesem Artikel näher ansehen.

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

Blog-Post

Go lernen an ein paar verregneten Tagen

Go ist eine schnell zu lernende Programmiersprache. Was aber sind runes? Und wo ist Funktion xy? Beim Lernen tauchen einige Eigenheiten und Besonderheiten auf, denen in diesem Blogpost nachgegangen wird.

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

Why domain events and event sourcing should not be mixed up

Blog-Post

Domain Events vs. Event Sourcing

Weshalb Domain Events und Event Sourcing nicht vermischt werden sollten

Artikel

Technologien für Microservices

Microservices führen zu neuen Herausforderungen und machen neue technologische Ansätze notwendig. Microservices-Frameworks sind zwar ein Teil der Lösung, aber sicher nicht der wichtigste. Welche Technologien spielen eine entscheidende Rolle?

Blog-Post

Sentiment Analysis in der Praxis

Politische Tweets auf Emotionen hin analysieren

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.

Artikel

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

Mit Java 11 ist im September 2018 das erste Release, nach Java 8, mit Long-Term-Support erschienen. Neben den neuen Features und Änderungen geht es in diesem Artikel somit auch um das neue Support-Modell von Java. Und auch ein Blick in die nähere Zukunft von Java soll nicht fehlen.

Artikel

Microservices – oder doch nicht?

Alternativen und Nachfolger zum Hype

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

Automatisiertes Testen ist in der Softwareentwicklung mittlerweile ein Standardvorgehen. Im Kontext eines verteilten Microservice-Systems wird üblicherweise das korrekte Verhalten jedes einzelne Services mit Hilfe von Unit-, Integrations- und End-2-End Tests verifiziert. Wie aber kann das Zusammenspiel der einzelnen Services getestet und sichergestellt werden? Die Idee, End-2-End Tests des Gesamtsystems zu erstellen, ist naheliegend. Ist dies aber sinnvoll, oder gibt es andere, besser geeignete Ansätze?

Blog-Post

Handling German Text with torchtext

Some nasty details on dealing with non-English text

Blog-Post

Declarative Data Transformations

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

Artikel

Benimmregeln für Architekturen - automatisch geprüft

Softwareentwicklung und automatisierte Tests funktionaler Anforderungen sind in modernen Systemen untrennbar miteinander verbunden. Da ist es nur folgerichtig, wenn die Softwarearchitektur als eminent wichtiger Bestandteil von Applikationen auch einer ordentlichen Qualitätssicherung unterliegt. Wir stellen ArchUnit vor, mit dem Sie auf einfache Weise automatisierte Tests für die Architektur einer Applikation realisieren können.

Artikel

Vorgehensweise für maschinelles Lernen als Orientierung

Werkzeugneutrale Einführung

Blog-Post

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

Wir verwenden den Begriff «Projekt» in der IT leider fälschlicherweise als Stellvertreter für Produkt oder System. Dabei sollten wir, insbesondere bei iterativ-inkrementeller Entwicklung, primär auf die entstehenden Ergebnisse, also das System, achten sowie auf dessen Geschäftswert, Qualität und Nützlichkeit. Der irrige Begriff Projekt lenkt davon ab.

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.

Artikel

Designer sind vom Mars, Entwickler von der Venus

Designer-Entwickler-Interaktion

Artikel

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

Tests do not only exist to verify the absence of known bugs. They’re also documenting the expected behaviour of a system. Moreover, they’re showing developers how to use code.

Blog-Post

Continuous Integration Contradicts Features Branches!

…but both approaches might work.

Blog-Post

Do We Worship Complexity?

Complexity is the most important challenge in software development. So it is important to always strive to eliminate complexity. But sometimes we worship complexity - and that can make complexity problems unsolvable.