Blog & Artikel

Artikel

Große Systeme mit Domain-driven Design entwerfen

Wer die Konzepte von DDD richtig einzuordnen weiß, kommt mit einem strukturierten Ansatz recht einfach zu guten Ergebnissen.

Blog-Post

The (new) Software Architecture Foundation curriculum

Want to learn Software Architecture? Look no further – the recently released iSAQB Foundation Curriculum covers all your needs!

Blog-Post

Persistente fachliche Validierungen mit Rails

Teil 1 von 2: MVP

Blog-Post

iSAQB Advanced Level examination anti-patterns

As the „crowning glory” of the iSAQB(R) Advanced Certification, you have to write an approximately 40-page-long paper (AKA architectural solution) to a given problem. During our 5+ years of experience in reviewing such papers, we found several anti-patterns. This blog post aims to help future CPSA-A aspirants to avoid these nasty glitches.

Blog-Post

What’s in a Name: Qualität

Das Wort Qualität verwenden wir umgangssprachlich für etwas „Gutes” - aber wir lassen meist offen, was wir darunter genau verstehen. Der Artikel zeigt, dass wir uns in dieser Hinsicht etwas exakter ausdrücken sollten.

Blog-Post

Evidenz aus Hirnstürmen

Von Fischen und Kartoffelknödeln

Blog-Post

Just add Code (Teil 2)

Dass Web Components ein gutes Mittel sind um in sich gekapselt Logik für Progressive Enhancement an den Browser auszuliefern hatten wir uns ja schon angeschaut. In diesem Teil des Blog Posts zeige ich im Detail, wie GitHubs Catalyst uns dabei unterstützt Web Components zu entwickeln, die dem Progressive Enhancement Paradigma folgen.

Blog-Post

Is Domain-driven Design overrated?

Domain-driven design (DDD) is a useful approach that provides excellent guidelines for modeling and building systems, but it is a means to an end, not an end in itself. While the concepts are valid, you lose a lot if you limit yourself to using them only: There actually is a life beyond DDD.

Artikel

Welche Spuren hinterlassen wir mit Technologie?

Was wir von Monstern über Verantwortung lernen können: INNOQ Digital Art Edition 02

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

Während eines Kundenprojekts mussten fast durchgehend sehr umfangreiche Oberflächen mitsamt Backend implementiert werden, was zu Beginn in sehr großen Pull-Requests und Merge-Konflikten resultierte. Im Laufe der Zeit haben wir mehrere Branching-Strategien verwendet, um diese Herausforderungen in den Griff zu bekommen.

Blog-Post

Turning a group of strangers into a team

Teambuilding during COVID-19

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

Ein REST basiertes Backend und oben drauf einen Javascript-Monolithen, ist heute der de-facto Standard für Webapplikationen. Mit Hilfe von hotwire lassen sich aber auch viel leichtgewichtiger Webapplikationen bauen, die die Vorteile von SPAs mitnehmen aber deren Nachteile vermeiden. Wir wollen zeigen, was Hotwire alles bietet.

Artikel

Remote Mob Programming bei INNOQ

Wir haben vier Teams zu ihren Erfahrungen mit Remote Mob Programming befragt

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

Nachdem wir uns in der letzten Kolumne mit Grundlagen von Git auf der Kommandozeile beschäftigt haben, wollen wir uns nun einige erweiterte Konzepte, vor allem rund um die nachträgliche Manipulation der Historie, anschauen.

Artikel

Es muss nicht immer grafisch und klickbar sein

Grundlagen von Git auf der Kommandozeile

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

Die Konzepte von DDD und Bounded Context sind in der Praxis komplizierter, als es auf den ersten Blick erscheint.

Blog-Post

Innovation in the web without sacrificing accessibility

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

Die Hypertext Application Language ist als Medientyp-Erweiterung zu Plain JSON/XML nicht neu und kommt in vielen Projekten mit Hypermedia-APIs zum Einsatz.

Blog-Post

NO SOFTWARE

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.