Demystified CQRS

…and why it should be a fundamental principle of application design

Some incredibly useful principles or patterns for software design are ignored because of the misconceptions around them, e.g. that they are not useful, too theoretical or their implementation is too complex.

CQRS (Command Query Responsibility Segregation) seems to be one of them. Though being extremely powerful in LOB and collaborative contexts, architects and developers often think that it isn’t useful and easily applicable to their application. But the biggest obstacle for them seems to be the paradigm shift, not the technology.
The reason for this aversion is that this fundamentally very simple pattern is spoiled by many overcomplicating discussions and special technical solutions that are not the pattern’s initial purpose. This short article tries to clear up the misunderstandings and aims to show why CQRS should in fact be a fundamental pattern of almost every non-trivial application that handles the writing and reading of data.

(read more…)

Nino Martincevic

What you have to deal with when you work with AppDynamics – or other APM tools

For many years now I have been working with Application Performance Management (APM) tools in the Java realm. Compared to other performance analyzing tools as for example profilers, APM tools are monitoring as well as analyzing tools. They provide a better overview over distributed applications and can offer a direct connection between user actions, users’ performance experiences and technical processes.
(read more…)

Dr. Raymond Georg Snatzke

The Machinery behind Machine Learning – Part 2

Machine Learning is one of the hottest topic on the web. But how do machines learn? And do they learn at all? The answer in most cases is: Machines do not learn, they optimize.
This is part 2 of the series, and after all the preparation it definitely is time to do the first numerical experiments. You can find the respective R code here.

(read more…)

Stefan Kühn