Jenkins Integration with SonarQube

In this article, we will look at Jenkins integration with SonarQube. Let’s look at the steps below Outcome expected is that when changes are made in code & gets committed, then Jenkins build will automatically do the build with Sonar scan analysis. Step 1: Install required prerequisites Step 2: Install Sonar Scanner plugin Under Manage

Triggering Build Automatically through Jenkins Job

In this article, we will look at triggering the build automatically through Jenkins job when GIT push happens. Below are the steps Step 1: Install the required prerequisites. Step 2: Configure Jenkins .  Maven ->Add MAVEN_HOME variable value (i.e. path of the maven file on your system) . Java -> Add JAVA_HOME variable value Step

Test Driven Development (TDD)

In this article, we will look at the basics of Test-Driven Development (TDD) and look at one example of how to write unit test using TDD concept. Extreme programming is one of the Agile Development Processes and TDD is one of the core practices of extreme programming. Test Driven Development also referred as ‘Test First

BASE Concepts

In this article we will look at concepts of BASE. BASE means Basically Available Soft State Eventual consistency. It’s used in distributed computing to achieve high availability. BASE properties explained below Data is available most of the time Replicas are not consistent all the time Data will become consistent eventually with no guarantee by when

Creating Rest API using Spring Boot Application

In this article, we will look at creating rest API using spring boot in Java. Prerequisites : Below are the steps Step 1 : In Spring Initialzr ( https://start.spring.io/) , do the below for creating project Step 2 :             Unzip the downloaded file and open it using IntelliJ community edition. New API named ‘Welcome’

CAP Theorem

In this article, we will look at the basics of CAP Theorem. CAP stands for Consistency, Availability, Partition Tolerance. It’s also called Brewer’s theorem and at best only 2 will be followed & 1 will be sacrificed. Let’s take a look the details below Consistency: User should be able to see the same data irrespective

Distributed ACID Transactions

ACID means Atomicity, Consistency, Isolation and Durability.  Let’s look at each of these properties below Atomicity – Each transaction is all or nothing Consistency – Data should be valid according to all defined rules & remains in consistent state Isolation – Transactions don’t affect each other Durability – Committed data would not be lost, even

Horizontal & Vertical Scalability

In this article, we will look at the details of horizontal and vertical scaling. Scalability describes the ability of the system to adapt to changes and demand. We can scale up, down and out accordingly. Application success mostly rely on the handling traffic during peaktime and we underestimate them during early stages which will result

Comparison of SQL, NoSQL, NewSQL and Distributed SQL

In this article, we will look at the comparison of different databases.   Below table illustrates the comparisons Feature SQL NoSQL NewSQL Distributed SQL Schema Relational Schema-less Both Both Scalability Vertical Horizontal Horizontal Horizontal Consistency Strong Eventual Strong Strong Availability Low High Low High Distributed No Yes Yes Yes ACID Yes No (BASE) Yes Yes

ACID Properties

ACID means Atomicity, Consistency, Isolation and Durability.  Lets look at each of these properties with examples below Atomicity: Each transaction is all or nothing Example: When user purchases any item and does payment, let’s assume we have two transactions. If first transaction fails, then next one will also be a failure. Both will happen together

-->