Blog & Artikel

Artikel

Welche Spuren hinterlassen wir mit Technologie?

Bei INNOQ setzen wir uns immer mehr mit KI und Machine Learning auseinander, allerdings mit ihrem sinnvollen Einsatz bei unseren Kunden und Projekten. Beste Voraussetzungen also für einen spannenden Diskurs.

Blog-Post

Just add Code (Teil 1)

Will man in einer Webapplikation auf dem Browser Logik ausführen, so bieten sich mittlerweile Web Components an um mit sinnvollem Scoping Code und Markup zu senden. In den üblichen Beispielen führt das leider dazu, dass man im Browser ohne JavaScript nichts sieht, weil der gesamte Inhalt der Web Component in JavaScript generiert wird.

Blog-Post

Kurzlebige Branches in Git

Weniger ist manchmal mehr

Blog-Post

Turning a group of strangers into a team

A testimonial how five foreigners became a team via Remote Mob Programming in less than a day.

Blog-Post

Defect Analysis using pandas

Defect Analysis is a classic analysis technique to get insights into how buggy your system might be. In this blog post, we explore how Defect Analysis works and how we can implement it with a standard data analysis tool from Python: pandas.

Blog-Post

Progressive Enhancement mit Hotwire

Die endgültige Renaissance von Server-side Rendering?

Artikel

Remote Mob Programming bei INNOQ

Bei INNOQ nutzen einige Teams die Arbeitsmethode Remote Mob Programming erfolgreich in Kundenprojekten, teilweise sogar schon seit über zwei Jahren. Wir haben vier Teams gefragt, wie ihre Erfahrungen mit dieser besonderen Arbeitsmethodik sind und waren.

Blog-Post

Der INNOQ Technology Day

Am 09. Dezember 2020 fand unsere erste Online-Konferenz statt. In diesem Blog-Post möchten wir einen kleinen Rückblick geben und unsere „lessons learned” teilen.

Artikel

Mit Git die Vergangenheit manipulieren

Git auf der Kommandozeile

Artikel

Es muss nicht immer grafisch und klickbar sein

In dieser Kolumne geht es um Git. Genauer gesagt die Benutzung von Git auf der Kommandozeile. Neben Grundeinstellungen und vielen Kommandos wird hier und da auch ein Trick vorgestellt, um die Benutzung zu erleichtern.

Blog-Post

Deploying a WebAssembly smart contract on Oasis Ethereum

One of the cornerstones of Ethereum 2.0 is the migration from the „classic” EVM to a WebAssembly-based virtual machine. In this post, I explain how to deploy a compiled WebAssembly contract to the Oasis Ethereum chain.

Artikel

Domain-driven Design und Bounded Context

Eigentlich ganz einfach, oder?

Blog-Post

Innovation in the web without sacrificing accessibility

We’ve truly stretched the boundaries of what is possible on the web. However, to do this we’ve sacrificed semantic HTML and made our applications inaccessible to a huge amount of different users. Instead of breaking the foundation of the web, we should consider this as an opportunity: how can we implement applications in a way that works for any user who might come along and want to interact with it?

Artikel

The art of software reviews

Auch in erfolgreichen Softwaresystemen lauern praktisch immer Probleme. Durch systematische Reviews können Sie diese Probleme zielgerichtet identifizieren – und damit eine robuste Grundlage für zukünftige Verbesserungen schaffen. Der Artikel stellt die Breitensuche als den zentralen Ansatz methodischer Software-Reviews vor und beleuchtet einige der wesentlichen Untersuchungsansätze.

Artikel

RESTful HAL APIs

Pragmatische Küchentricks

Blog-Post

NO SOFTWARE

Technische Lösungen und digitale Transformation prägen das Geschäftsleben mehr denn je. Könnte manchmal NO SOFTWARE die bessere Lösung sein?

Artikel

Smart Contracts in Rust

Ethereum ist die erste öffentliche Kryptoplattform, die das Konzept der Smart Contracts popularisiert hat, und auch immer noch die erfolgreichste. Doch die gängige Programmiersprache Solidity leidet unter einer ganzen Reihe von systematischen Problemen, die des Öfteren zu spektakulären Sicherheitslücken führen. Eine neue Generation von Sprachen schickt sich an, diese Mankos auszugleichen. Besonders interessant ist dabei die – derzeit noch experimentelle – Möglichkeit, WebAssembly als Bytecode-Format für Smart Contracts zu benutzen. Passend dazu eignet sich Rust als Hochsprache, die WASM-Code erzeugen kann. Wir schauen uns an, wie das intern funktioniert und solche Verträge implementiert werden können.

Artikel

Die VENOM Story

Strategische Anwendungsmodernisierung mit Split+Extract Strategien

Blog-Post

Tests Granularity

In two previous posts we discussed the benefits of automated tests and the properties of a good test. So far we were trying to avoid differentiating the tests in any way. This time we want to address one way how tests can be classified: tests granularity.

Artikel

MLOps: You train it, you run it!

Data Science, Machine Learning (ML) und Artificial Intelligence haben in den letzten Jahren einen wahren Hype ausgelöst und viel Aufmerksamkeit in der Industrie bekommen. Man versucht mit Machine Learning Methoden entweder die Produktivität der Nutzer oder die Interaktivität der Applikation zu steigern. Zahlreiche Data Science Teams verbringen ihre Zeit damit Machine Learning Modelle zu trainieren. Allerdings beobachten wir zwei Arten von Problemen, die in der Praxis entstehen. Entweder schafft es die Mehrheit der ML Modelle nicht in ein Softwareprodukt eingebunden zu werden oder das Model Deployment nimmt zu viel Zeit in Anspruch.

Artikel

Software Reviews

Mehr als nur Clean Code

Blog-Post

Good arguments for SPA frameworks

I love SPAs when they are used with a clear purpose. I hate them when they are not. This blog post tries to explain my personal conflict.

Artikel

Gut gesiebt

Für die komplexe Infrastruktur großer Microservice-Umgebungen versprechen Service Meshes eine einfache Lösung. Aber nur mit dem Blick für die richtigen Eigenschaften lässt sich der beste Ansatz für die eigene Architektur finden.

Artikel

Modernes funktionales Programmieren in Java

Blog-Post

Anatomy of a Good Test

In our last post, we focused on why we should write tests and what value they provide. This time we will go far more technical and take a look at a single test. We will show what makes a test a good one and describe desired and unwanted properties. Interestingly enough, all those properties hold, no matter how isolated or integrated the test is. This already gives us a hint that all tests are alike, we should remember that. Unfortunately, as the topic is very broad, we will have to skip some aspects that play a role when we’re talking about test suites. We will get back to them in one of our next posts.