Storing large items with DDB and S3

When working on applications, you want to focus on your business logic rather than spending your time on the mechanics of how to persist your data. If you are working in AWS, there is a good chance you are already using Dynamo DB as your database, as it gives you…

Can I inject this class ?

One of the biggest pain points using injection in Java is that if you missed something, you will find it during runtime. Many code commits were made where everything passed the code review, and looked legit, just to find out that it doesn’t work due to a missing injection. Let…

Is it really a Singleton?

Recently, I have investigated a defect that is interesting to share. As part of our operations, we need to be able to run tools, which will invoke APIs on different AWS services. For example, one common tool is to run a certain CloudWatch query and analyze the results. The framework,…

Marking field as required when using Lombok Builder

The builder pattern is nice and useful, and using Lombok @Builder annotation instead of implementing it each time can save a lot of time. However, there is one problem with this. You can’t really define a required field. For example, Let’s assume we have this class: 123456@Value @Builder public class…

Simple item versioning with DynamoDB

Occasionally you want to store information in a database with keeping versioning, so you will be able to retrieve previous versions of the record. In this example, we will use AWS DynamoDB and take advantage of some of its features. For the example, lets take a simple record that contains…

Life got much easier – Using Lombok with Java

After more than 5 years programming in C++, recently I’ve started my first steps programming in Java. There are many differences and I’ll try to share some tips that will make your lives better 🙂 First one is Project Lombok. From their documentation: Project Lombok is a java library that…