my blog. for you.

Reden wir über Digitales.

Ich bin selbständiger IT Berater und Unternehmer in der Internet und Software Branche. Ich beschäftige mich mit Design, Enterprise Applikationen, Web Apps und SaaS Produkten. Ich entwerfe und entwickle Business Lösungen und Anwendungen. Ich helfe Unternehmen in Sachen Software Qualität und Wissenstransfer, z.B. mit Angular und Spring Boot.

Keeping a Record of Software Architecture Decisions

Leider ist der Eintrag nur auf English verfügbar.The need for asynchronous communication in organisations has become particularly obvious since 2020, when remote work and distributed work environments rapidly became the default setting for knowledge workers. Asynchronous communication essentially means that instead of exclusively communicating objectives, goals and the way by which to achieve them in-person (i.e. synchronously with everyone involved present at the same time - whether on-site or in a virtual space such as Slack or Zoom) we try and keep ... Read more

Blogumentation Revisited

Leider ist der Eintrag nur auf English verfügbar.Some time ago I wrote about a process called "blogumentation": Derived from the insight that arguably the best way to learn something and to internalise knowledge is to write about it and to try and explain that knowledge to others, blogumentation essentially means writing about a subject matter (e.g. a solution to a particular programming problem or a new practice you've just learned about) that you consider worth documenting and publishing the result. It means ... Read more

CORS: What It Is and How It Works

Leider ist der Eintrag nur auf English verfügbar.Expanding on last week's article on best practices for REST API Design I'd like to point to a specific aspect working REST APIs frequently entails: A browser security feature called "Cross-Origin Resource Sharing (CORS)". This feature allows you to define which resources provided by a web application are supposed to be accessible from which origin, which in turn typically is comprised of protocol, host / domain name and port. This website's origin for example is ... Read more

REST API Design: Best Practices

Leider ist der Eintrag nur auf English verfügbar.It's probably safe to say that REST (REpresentational State Transfer - originally described by Roy Fielding) is the most widely used architectural pattern when it comes to APIs in web application contexts. From statelessness, to self-descriptive messages, and hypermedia as the engine of application state (HATEOAS) REST comes with quite a few principles, constraints, patterns, and flavours, not all of which are used or applied consistently with each REST API. REST often is a rather ... Read more

A Simple Yet Powerful Tool: Decision Tables

Leider ist der Eintrag nur auf English verfügbar.Decision tables are a tool for specifying which actions to perform given a number of conditions. They represent business logic in terms of rules for connecting actions with required conditions for those actions. While they might appear deceptively simple and trivial they can be a tremendously powerful tool for defining business logic and certain types of software requirements. This article on Decision Table Patterns by Hillel Wayne describes the general concept as well as patterns, ... Read more

Beautiful Presentation of Code Snippets

Leider ist der Eintrag nur auf English verfügbar.In case you need to document and present source code and would like to do so in a visually appealing manner these tools might come in handy: Ray.so Carbon Source Code Shots With Ray.so being the most recent one and arguably also the one with the most stylish output, all of those generate decent-looking images of your source code snippets for embedding into documentation, blog posts, or eBooks, for example. Read more

Five Articles on Software Quality and Design Patterns

Leider ist der Eintrag nur auf English verfügbar.This week I'd like to point you to five articles I previously posted on this blog and from which I think that they're as relevant as they were at the time. The first three are about general software design principles, software architecture and software quality while the final two refer to specific best practices and common design patterns for Angular: Writing Disposable Code, Not Reusable Code (November 06, 2016) What Causes Over-engineering and How Can You ... Read more

Using Maven Failsafe With Spring Boot

Leider ist der Eintrag nur auf English verfügbar.Maven Failsafe is a Maven plugin designed to be used in conjunction with the Maven Surefire Plugin. While the former plugin is intended for running integration tests the latter's purpose is to run unit tests. These plugins are tremendously useful for partitioning tests in Maven-based Java applications in order to make tests and builds run faster. When recently using Maven Failsafe with a Spring Boot application, though, I encountered a somewhat gnarly problem. Running mvn verify ... Read more

Tools for Working With CSS Grid Layouts and Flexbox

Leider ist der Eintrag nur auf English verfügbar.CSS Grid Layout and CSS Flexible Box Layout, commonly known as Flexbox, are powerful techniques for implementing flexible grid and column- or row-based layouts with CSS. These two techniques enable designers and web developers to accurately and fluidly position elements and content on web pages and web applications. While Flexbox (see A Complete Guide to Flexbox by CSS-Tricks) predominantly works along a single principal dimension, called the main axis or flex direction (either row or ... Read more

Mock Data Generators for Tabular Data

Leider ist der Eintrag nur auf English verfügbar.Developing a JavaScript-based web front-end, e.g. with frameworks such as Angular, at some point - especially during the prototype phase - often requires working with data supplied by a back-end data source. Tools such as JSON Server enable you to spin up such a data source as a REST API server in no time with zero coding involved. However, running a back-end server is only part of the equation that is testing a front-end against actual ... Read more
« Vorherige SeiteNächste Seite »