Blog

Blog-Post

Building a Load Test with Tsung for a Login and Post Session with dynamic url-encoded variables

If you want to test your website, app or API endpoint by simulating how it will perform when hundreds or more users visit it, you are probably writing a load test. This blogpost covers a step-by-step instruction on how to build a load test for a Ruby on Rails app with a login and post session and dynamic variables with Tsung, a distributed load testing tool.

Blog-Post

Continuous Integration mit Docker und GitLab

GitLab, 2011 als webbasierter Git-Repository-Manager gestartet, hat sich mittlerweile zu einer umfangreichen Softwareentwicklungssuite mit einer Vielzahl an Tools weiterentwickelt. Neben einem Issue-Tracker und einer Docker-Registry enthält es mittlerweile auch einen Continuous-Integration-Server mit einer optionalen Kubernetes-Integration. Der Artikel zeigt, wie eine Build- und Deployment-Pipeline aufgebaut werden kann und welche Einzelschritte ein neues Feature vom Issue-Tracker bis zur Produktionsumgebung durchläuft. Als Beispiel dient dabei eine Spring Boot 2-Anwendung, die als Docker-Image paketiert und anschließend auf einem Docker-Host deployt wird.

Blog-Post

Vertikalisierung im E-Commerce

Modellierung entlang der Customer Journey

Blog-Post

The Problem With Agility

Over twenty years ago, iterative-incremental development processes were already used. They are a forerunner of agile processes that have been around for more than fifteen years. Although agility has existed for quite some time, agile transformation is still an issue today. Often the transformation just doesn’t work. Why?

Blog-Post

Design Sprints: Technik

Über die letzten Design Sprints hinweg haben wir immer wieder am technischen Setup für die Nutzer:innen-Interviews gedreht und optimiert. Dieser Post soll einen kurzen Überblick über unsere aktuell eingesetzten Tools geben.

Blog-Post

Generierung von Regressionstests für Legacy-Code

Testfälle auf Knopfdruck?

Blog-Post

Prinzipien zur Entwicklung von unabhängigen Systemen

Viele Systeme werden aktuell mit einer Microservice-Architektur geplant und umgesetzt. Da jede Architektur Vor- und Nachteile aufweist, muss die gewählte jedoch auch zum Problem passen. Dieser Artikel zeigt, welchen primären Vorteil eine Microservice-Architektur hat und welche Prinzipien bei der Entwicklung beachtet werden sollten, um diesen Vorteil nicht zu neutralisieren.

Blog-Post

No-Principles Software Architecture

The traditional principles of software architecture often lead to problems. Understanding these challenges is the first step towards eliminating them or even avoiding them right from the start.

Blog-Post

Code Redundancy or Reuse?

Why We Must Not Focus Just on Reuse

Blog-Post

Server-sent Events in .NET mit Akka

Server-sent Events sind eine oftmals unterschätzte Technologie, wenn das Senden von Events benötigt wird. Für viele Sprachen stehen dabei fertige Bibliotheken zur Verfügung. In .NET war so gut wie keine Bibliothek zu finden, die ASP.NET Core unterstützt.

Blog-Post

Was ist ein Domain-driven Design Architektur-Kata?

Architektur-Katas sind ein sehr interaktives Trainingsformat. Sie eignen sich hervorragend, um Domain-driven Design (DDD) zu vermitteln.

Blog-Post

E-Commerce im Wandel

Zurück in die Zukunft

Blog-Post

OpenID Connect Auth-Proxy

Mit OpenID Connect kann Single Sign-On in einem verteilten System erreicht werden. Ein Auth-Proxy kapselt den Aspekt Authentifizierung in einem eigenständigen Modul. Wir schauen uns an, wie das im Detail umgesetzt werden kann.

Blog-Post

Architecture Governance mit Stereotypen

Architekturregeln mittels Stereotypen und jQAssistant beschreiben und automatisiert überprüfen

Blog-Post

Blockchain Mining: Embarrassingly Parallel?

Blog-Post

Blockchain Mining with Rust

Recently, at one of our yearly hands-on events, we took on the challenge of implementing our own blockchain. One of the core challenges of this is the mining of new blocks. In this blog post, I want to show two different approaches we tried out for this task, using the Rust programming language.

Blog-Post

Multiple Worktrees aus einem lokalen git-Repo.

Ein lokales Git-Repository auf der eigenen Festplatte kann bequem mehrere Worktrees parallel bedienen. Dieses praktische Git-Feature ist relativ unbekannt. Hier stellen wir es vor.

Blog-Post

Hast mal ein paar Euro?

Blog-Post

Understanding decomposed

I think we can all agree that having our codebases more readable and understandable would make our lives much easier. In this post, I’m trying to point out at least a few ideas that influence understanding.

Blog-Post

10 Fragen zum Arbeiten bei INNOQ

Intrinsify schlägt „10 clevere Fragen für Dein Bewerbungsgespräch” vor. Hier sind unsere Antworten.

Blog-Post

Einsatz von Containern zum Testen

Testcontainers in JUnit-Tests verwenden

Blog-Post

Technical Debt Just Happens

„Technical debt” is a great metaphor to reason about the quality of a software project. But a closer look also reveals some problems and shows approaches how to deal with software quality even better.

Blog-Post

Microservices? Or Rather Monoliths?

Microservices are a hype. Now, critics suggest to return to monoliths. But does that really help?

Blog-Post

A Playground for Testing OpenID Connect

Solving problems we wish we didn’t have

Blog-Post

Blockchain hausgemacht

120 Mitarbeiterinnen und Mitarbeiter bauen eine Blockchain in 12 Sprachen. Bei INNOQ veranstalten wir jedes Jahr einen so genannten Hands-On-Event. Dieser ist Teil unserer regulären Mitarbeiter-Events und findet typischerweise im Frühjahr statt. Wir treffen uns alle für zwei Tage an einem Ort und versuchen mit der Programmiersprache unserer Wahl in Gruppen eine definierte Aufgabe zu lösen. Optimal also, um neue Sprachen und neue Kolleginnen und Kollegen in Gruppenarbeit kennenzulernen. Die Aufgabenstellung lautete in diesem Jahr: Baue eine Blockchain!