Object Creation: Builder vs. Constructor vs. Setter

When we create new objects, we are basically confronted with the need to provide at least one construction pattern. Of course depending on the language we have more or less three ways to go that are commonly available. Traditionally in OO it was mandatory to write setters and getters. In C++ or Java they really …

Share Button

MapStruct

In the Java sphere we often develop the same data class several times. Each layer has its own variant and they are named almost the same, with some prefix or suffix or just the package name to distinguish. The set of attributes is the same (or almost the same), they have setters and getters. Or …

Share Button

Remote Work

A lot of IT guys have to work at home (in German, but not in English it is called „Homeoffice“) now or are at least encouraged to do so. Btw. „home schooling“ is a different abstract concept, it not only replaces the school building by the home, but also the teachers by the parents, often …

Share Button

ScalaUA 2020

I like visiting ScalaUA conference in Kiev every year in March or April. I did so in 2017, 2018 and 2019. So for 2020 it was kind of difficult to perform a regular conference. So there are two options, either it could have been cancelled or it could have been postponed. That is what all …

Share Button

Apple giving up on information technology

Apple has reinvented itself radically many times and done so when things were still going well. This is part of the companies success story. And the CEO Tim Cook apparently plans to continue with this strategy. Major reinventions where: Moving from the Apple II to Macintosh Dropping System 9 and replacing it by the totally …

Share Button

Skillsmatter working again

The original Skillsmatter company has gone into administration and will be closed down, once all claims have been settled. Now investors have bought assets of this old company, apparently including the name and the brand, and are now operating und the same name and webdomain skillmatter.com. This is a new company with new management and …

Share Button

Pagination of Database Query Results

This article is highly inspired by the blog post We need tool support for keyset pagination. Please consider reading the original first and then my interpretation and additional thoughts about this idea. We have a typical database base backed web application. It can be a rich client. It can be a NoSQL database. Whatever, but …

Share Button

Perl Scripts for editing

Even though we do have IDEs with quite powerful refactoring mechanisms for many languages, it is still sometimes useful, to have another automated editing mechanism. Why would that be the case? Some examples: In some cases there was an SQL script to create the database tables, which had been written first. From that classes and …

Share Button

JSON instead of Java Serialization: The solution?

We start recognizing that Serialization is not such a good idea. It is cool and can really work on a wide range of objects, even including complex and cyclic reference graphs. And it was essential for some older Java frameworks like EJB and RMI, which allowed remote access to Java objects and classes. But it …

Share Button

Project-local Libraries

Many projects have these „project-local“ or „company-local“ libraries, that can be used optionally or are even strongly imposed on developers. They may be called something like core toolkit toolbox base platform utils lib common framework baselib sdk tools or even with a meaningful good name. Generally there is nothing wrong with such libraries, if they …

Share Button