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.

Clearing the Spring Security Context During Unit Testing

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 can clear the SecurityContext (for example, in your ... Read more

Minimal Spring Security Context Setup for Unit Testing

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 than one would expect. One such use case ... Read more

Guest Post on the AWS Open Source Blog: Using PostgreSQL with Spring Boot on AWS

Last week, another two-part article by Tom Hombergs, Philip Riecks, and me was published on the AWS Open Source Blog. Thanks a lot to Ricardo Sueiras for making this possible. This time around we wrote about how to use a PostgreSQL database with Amazon RDS and Spring Boot: Using PostgreSQL with Spring Boot on AWS — Part 1 Using PostgreSQL with Spring Boot on AWS — Part 2 These articles draw upon the chapter Connecting to a Database with Amazon RDS from our eBook Stratospheric ... Read more

Now Available as a Kindle Edition, Too: “Stratospheric – From Zero to Production with Spring Boot and AWS”

Stratospheric – From Zero to Production with Spring Boot and AWS is now available as a Kindle edition on Amazon, too. Read more

Recording of the Stratospheric Release Party

The recording of the release party for the content-complete version 1.0 of Stratospheric – From Zero to Production with Spring Boot and AWS is available here: Read more

Stratospheric – In Orbit Now: Content-complete Version 1.0

Last week, we released version 1.0 of our eBook "Stratospheric - From Zero to Production with Spring Boot and AWS"! We hope you like this now content-complete release version of Stratospheric. Thanks to everyone who showed their trust in this project during its early stages! Here are some key facts about this project and the application we built as part of the book: 445 pages eBook with practical hands-on advice for running production-ready Spring Boot applications on AWS three main modules: "Deploying with AWS", "Spring ... Read more

Keeping a Record of Software Architecture Decisions

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 a digital record of decisions, the decision ... Read more

Working Across Timezones in Remote Work Settings and Distributed Environments

When working in a distributed environment or remote work environment, as is increasingly - and quite fortunately - becoming the default for knowledge workers, and the software industry in particular, chances are, rather sooner than later you'll be collaborating across timezones. I'm currently collaborating with people from EDT, GMT, CEST, MYT, JST, and AEST timezones, for instance. Asynchronous communication is crucial in a remote work setting already when no time differences are involved. It becomes absolutely vital when people from different timezones depend ... Read more

Blogumentation Revisited

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 that instead of documenting something just for ... Read more

CORS: What It Is and How It Works

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 https://bjoernkw.com:80 (port 80 is the default port ... Read more
Next Page »