• CircuitBreaker and Retry pattern

    When building software the most important aspect to be considered is Resiliency. In the world of microservices, it’s vital to ensure that the service is resilient and has the ability to react to failure and still remain functional. Fundamentally,...
  • Spotless Automatic Code Formatter

    When working in a project with multiple contributors often times we see that code formatting in git repos is not consistent because every developer has their own style guide preferences. It’s vital that a common style guide standard is...
  • Git Commands & Use Cases

    Here are some of the git commands that I most often use are presented here with use cases. This is not an exhaustive list of git commands. Branch renaming git branch renaming options -m -> move/rename branch (fails if...
  • 9 Basic Lombok Annotations

    Java is a verbose programming language when compared to Python, Kotlin. For instance, to write a POJO we might have to add accessors, mutators explicitly. This is good if the class has less number of fields. Otherwise, adding them...
  • Maven Dependency Scopes

    Maven dependency scopes defines the scope/boundary/availability of the dependency at various contexts like compile, test, and run. There are 6 scopes. compile Default scope of dependencies in Maven. Available at compile time and runtime. When preparing self-contained fat jar,...