my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

A Simple Yet Powerful Tool: Decision Tables

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, techniques, and best practices for using decision ... Read more

Beautiful Presentation of Code Snippets

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: Carbon Source Code Shots With 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

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 Prevent It? (April 16, 2017) Less Is More ... Read more

Using Maven Failsafe With Spring Boot

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 caused this error for all of the ... Read more

Tools for Working With CSS Grid Layouts and Flexbox

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 column), and therefore essentially is a one-dimensional ... Read more

Mock Data Generators for Tabular Data

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 data. Another vital ingredient is the data ... Read more

API-First Development with Spring Boot and Swagger at Reflectoring

When I recently had to look into some of the specifics of using Swagger and OpenAPI for designing an API specification and generating a Spring Boot application skeleton from that specification (using OpenAPI Generator) I came across this very useful and comprehensive article on the subject on the Reflectoring blog: API-First Development with Spring Boot and Swagger From creating an API specification with the Swagger editor to generating code (with the OpenAPI Generator Maven plugin, specifically) and implementing the generated interfaces the article ... Read more

Debugging for Mobile Browsers

Occasionally, web developers need to debug a web app's behaviour in a specific browser on a specific device or class of devices. For desktop devices this usually isn't a problem because every modern browser nowadays provides a console, where application errors and custom console.log statements pile up. However, on mobile browsers there's usually no browser console, or browser development tools, for that matter. Analysing browser logs is still possible via vendors' development tools like Apple's Xcode, for example. Still, that process often ... Read more

My Curated Collection of Angular Design Patterns, Best Practices, and Other Resources

This is my personal, non-exhaustive collection of Angular design patterns, best practices, and otherwise useful Angular resources: General Angular Coding Style Guide Angular Cheat Sheet Top 15 Angular INDEPTH articles of 2019 JSON Schema to TypeScript declarations: Keeping Client and Server Models in Sync with Spring Data REST and Typescript Angular ng-template, ng-container and ngTemplateOutlet - The Complete Guide To Angular Templates The Missing Introduction to Angular and Modern Design Patterns Custom Validators in Angular Testing Dependency Management for Angular Unit Tests Using TestModuleMetadata Using Page Objects with Protractor and Cucumber in ... Read more

API Security Best Practices by Expedited Security

For everyone dealing with web-based APIs, both as a provider and a consumer, web app security service supplier Expedited Security (known for Expedited SSL, among other products) has compiled a vast, extensive compendium on API security best practices. The importance of secure APIs and best practices that help has make APIs more secure and dependable can't be emphasised enough. Covering each possible attack vector and adopting every best practice out there can seem like a truly daunting task. Guides like this one help ... Read more
Next Page »