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.

Upgrading to Spring Boot 3 Using Spring Boot Migrator

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.Even though the upgrade process for Spring Boot 3 is pretty straightforward - in case you need to migrate a more than moderately complex project (or several thereof), upgrading Spring Boot applications indeed can become quite tedious and error-prone, too. To alleviate this potential problem, and in order to automate the Spring Boot upgrade process, there's Spring Boot Migrator. Based on the terrific OpenRewrite toolkit for automated large-scale refactoring efforts, Spring Boot Migrator provides you ... Read more

Code Review Checklist and Tool Recommendations

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.Quite some time ago, both the code quality tool provider Codacy and the software architect Surender Reddy Gutha individually published useful resources on how to do effective code reviews and which tools to use for those: Code Review Checklist – To Perform Effective Code Reviews List of tools for code review engineers While unfortunately the two Pull Panda tools and ReadyforReview from the latter list are no longer available, the remaining tools as well as the ... Read more

Performing Effective Code Reviews – A Checklist

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.A few years ago, software architect Surender Reddy Gutha compiled a - still quite relevant - Code Review Checklist. All too often, when performing code reviews, we as software engineers tend to focus on minute details such as code formatting rather than the big picture, non-functional requirements, or architecture and security considerations. Perhaps, the problem already originates with the term code review: Rather than reviewing code we are - or should be - reviewing ... Read more

endoflife.date – Dataset with End-of-life Dates for Products

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.Recently, I came across endoflife.date, which is a quite useful database of product end-of-life dates. While it also includes hardware products (e.g., various iPhone models), its current main focus is software products, in particular those used in (enterprise) software development, such as Java, Spring, or Angular, or infrastructure and runtime environments like Docker or the Apache HTTP Server. A comprehensive, searchable collection of lifetimes for library and framework versions can come in handy when ... Read more

Clearing the Spring Security Context During Unit Testing

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.Last week I wrote about a minimal Spring Security Context setup for unit testing. I'd like to add just a tiny, yet depending on your use case perhaps quite important, tidbit to that: In case you need to reset a SecurityContext setup, e.g., a mocked user authentication, because, for instance, other test methods from the same unit test class verify behaviour for an unauthenticated application state and hence expect an anonymous user, you ... Read more

Minimal Spring Security Context Setup for Unit Testing

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.Creating a minimal Spring Security setup for JUnit unit tests can be a tedious as well as somewhat daunting task. With its Authentication, Principal, GrantedAuthority, and UserDetails classes Spring Security is extremely flexible and configurable and probably accommodates pretty much every authentication and authorization use case under the sun. However, in software architecture such flexibility often comes at price, the trade-off in this case being that simple use cases can require more implementation effort ... Read more

In Favour of Keeping Changelogs

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.Closely related to the art of the README, keeping a changelog can be tremendously helpful when reviewing or contributing to an existing software project or when trying to decide whether to use a new tool. keep a changelog by software developer Olivier Lacan is a website that reminds us of the benefits a "curated, chronologically ordered list of notable changes for each version of a project" provides. Moreover, the website also lists useful guidelines and ... Read more

Revisiting More Popular Posts: Angular Development Environments & Analysing the Complexity of Angular Apps

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.Just a few weeks ago, I revisited two of the most popular posts on this blog. Continuing my blog housekeeping efforts, this time around I'd like to point you to two more blog posts that have been quite popular in recent years. If you're working on at least moderately complex Angular applications, these articles might be of interest to you: Running A Local Angular Development Environment Behind A Spring Cloud Gateway Service Analysing the Complexity of ... Read more

SCuri: Automating Unit Test Boilerplate Code for Angular Components

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.As I wrote about quite some time ago in this blog post, which details my solution for managing transitive dependencies for Angular unit tests . although Angular applications in general are easily testable and unit tests are first-class citizens with the framework itself, there's still some potential for improvement when in it comes to test maintainability. In particular, listing and referencing an Angular component's dependencies (i.e. the dependencies of the system under test) such ... Read more

Hexagonal Architectures: @Column(nullable = false) vs @NotNull in Java Applications

Leider ist der Eintrag nur auf Britisches Englisch verfügbar.Recently, I came across a small and common, but all the more interesting, hands-on example of why a hexagonal architecture can help with making both the architecture and the code of an application more understandable, approachable, and maintainable. I won't be going into any details about the concept of and ideas behind hexagonal architecture here. The gist is summarised quite nicely in this quote from Tom Homberg's article on Hexagonal Architecture with Java and ... Read more
Nächste Seite »