I write about technology, system design and architecture, along with random guffs.
-
Maven archetypes are invaluable for quickly bootstrapping projects with consistent structure. Here’s a practical guide to using them effectively. What are Maven Archetypes? Think of archetypes as project templates. They provide a standardized way to create new projects with predefined structures and dependencies. This ensures consistency across your team and saves considerable setup time. Common […]
-
Quorum in Distributed Systems
Distributed systems are the backbone of many modern applications, from cloud storage solutions to global databases. Ensuring data consistency, fault tolerance, and high availability across multiple nodes is challenging, especially when dealing with network partitions or node failures. One common strategy to address these issues is Quorum. What is a Quorum? A quorum in a […]
-
Consistent Hashing
In distributed computing, managing resources efficiently across multiple servers or nodes is a common challenge. One of the main problems is how to distribute and retrieve data efficiently, especially as nodes are added and removed. This is where consistent hashing comest into play. Consistent hashing is a strategy used to evenly distribute data across a […]
-
Running a single test with Maven
We can test just one class with maven by providing the test class as follows $ mvn -Dtest=com.abc.package.xyz.TestClass test or just one test $ mvn -Dtest=com.abc.package.xyz.TestClass#TestMethod Saves a lot of time when you want to skip all the tests but one.
-
Disabling Cache in Tests
Disable Caching in your test in your Spring boot application by adding following properties in application.properties file in your test resources folder spring.cache.type = none This will disable the cache in your tests.
-
Changing Springboot Properties at runtime in tests
So you have different tests that have different properties requirements and you want to change the springboot properties at runtime for some of the tests. The simplest way to do that is to set the properties using @TestPropertySource annotation.
-
Using Docker to build Software
Sometimes, we need a lot of dependencies and libraries to build a software and sometimes we need different version of same library and dependency. It is easier to install these dependencies when the list is small, but this list can grow out of hand very quickly and we need to install a lot of dependencies […]
-
Creating Code Coverage reports with JaCoCo Maven Plugin
Oh Boy! Setting up Coverage for a project, Yes it is quite daunting task and getting everything right will take some tweaking and planning. In this post we will explore on how we can use JaCoCo maven plugin to create code coverage for both Unit Tests and Integration Tests.
-
Uploading artifact to Nexus without Maven
There are several ways to upload an artifact to nexus with or without using maven. This will be helpful when your code is not written in java or language that does not work well with maven. Or you just want to upload a file to nexus from command line as a part of build process. […]
-
Generating CSR for SSL Certificate
Generating Certificate Signing Request is essentially the first step towards installing SSL certificate. This post is about generating a CSR using Openssl on Linux system. Prerequisites You need openssl installed on your system, depending on your distribution you can install openssl from the package manager of compile it from the source.
