/ home
Hi, and welcome to my site.
My name is Henry Brown, and I am head of development at Grapevine Interactive based in Cape Town, South Africa.
On this site, I capture some of my thoughts on Software Development especially as it relates to things that affect or are affected by the JVM.
Please note that all views and opinions expressed are my own and does not represent the views of my employer.
Posts
-
Spring Boot's @ConstructorBinding: Immutable Classes and Default Value Strategies
In Spring Boot, the
@ConstructorBinding
annotation is part of the Spring Framework that supports configuration properties binding. This annotation is particularly useful when you want to bind your configuration properties to an immutable class using a constructor. Traditionally, Spring Boot binds configuration properties to beans through setter methods or directly to fields. However, with@ConstructorBinding
, you can ensure that your configuration properties are immutable once set, enhancing the safety and integrity of your application configuration. -
Property Delegation in Kotlin – A Comprehensive Guide
Property delegation is a powerful feature of the Kotlin language that allows developers to abstract away the logic related to getter and setter methods. This feature helps to create more easily maintainable code and can reduce boilerplate code. In this blog post, we’ll look at how property delegation works in Kotlin and how you can use it to your advantage.
-
Getting Started with Reactive Programming using Project Reactor: Kotlin Mono Examples
If you were convinced by my last post: “Why you may want to consider building your next API reactively” you may be interested to step up you reactive game by learning a reactive library. In this post, I would like to start that journey by looking at Project Reactor, one of the most popular reactive implementations in the Java World. It is also the default reactive library for the Spring framework.
-
Why you may want to consider building your next API reactively
In my last post, I looked at RSocket and one of the items I glossed over was the use of the reactive type:
Mono
. As I mentioned in the accompanying video, reactive programming can take some getting used to if you have not done it before. -
Developing a RSocket Server with Spring Boot: From Zero to AWS EC2 deployment
In this article I would like to show you how simple it is to create a RSocket server with Spring Boot and deploy the server to the world on an AWS EC2 instance. While I assume that if you are reading this, you already have at least a basic idea of what RSocket is, I want to give you the one-liner from the website in case you don’t.
-
Age calculation using Kotlin extension function with JUnit 5 Tests
Recently, I was given another opportunity to implement an age calculator in a project I was working on. While, I have been fortunate enough to be given plenty of opportunities to implement date calculations over my career, it was the first time I had been given the opportunity to solve this problem using Kotlin.
-
Git Reset: Using git reset to squash your first commit
If you have ever (prematurely) pushed your first commit to a remote git repository and then realised that you would like to have that commit back before pushing it then this one is for you.
Produced by: henry.g.brown@hey.com