Father || Coder || Engineer || Learner || Reader || Writer || Dreamer

Welcome to my profile page!

I am a father to one gorgeous daughter, who was born last year.

By profession, I am an IT professional from India. Working for MNC , Started my career in 2011.

I have completed my Bachelors in Technology (B.Tech) in 2011, specialisation in Computer Science and Engineering. I speak English and Hindi, and I would love to learn French too.

My hobbies include reading, recently I started exploring my writing skills and I am quite passionate about coding.

Thats all about me !!!

Get in touch


Sharing my thoughts about Elixir’s pattern matching feature and how it works.

Photo by Chris Fowler on Unsplash

What is Pattern Matching?

The = operator in Elixir is actually a match operator and we used = operator to assign variables.

$ iex -S mix
> x = 1
1
> 1 = x
1
> 2 = x
** (MatchError) no match of right hand side value: 1

In the above syntax, elixir assigns value 1 to x in the first statement. In second statement it compares the x value with the 1 and in the third, it assert as 2 = 1 is not returning a truthy value.

Let’s…


This article will help Elixir beginners in learning Elixir and setting up a basic Phoenix framework-based application that will integrate with Kafka and broadcast the messages to all the browser channels accessed by the user.

Why Elixir?

  • Scalability
  • Functionality
  • Concurrency
  • Interactivity
  • Fault tolerance

I found that Elixir is a good choice for highly scalable microservices applications, for any situation where performance and scalability are at a premium, including web applications and IoT development projects. Elixir is a powerful and dynamic programming language that builds on the strength of predecessors such as Ruby and Erlang. (Just my thoughts.)


Jib builds containers without using a Dockerfile or requiring a Docker installation.

What is Containerization?

Containerization is the process of packaging software code, its required dependencies, configurations, and other detail to be easily deployed in the same or another computing environment.

containerization is the encapsulation of an application and its required environment.

To package up apps so they could be run on production systems. To do this we need some kind of virtualization layer that would allow anything to be run. …


This article will help developer to understand the web-request flow and why they should not invoke HttpRequest or RequestContextHolder from inside the Async functions.

Photo by Nick Brookenheimer on Unsplash

Recently, One of the developer reported one issue related to missing some of the basic user information in the request in few of the service class. It was a strange as on production environment we had not received any incident.

After putting Sherlock Hat, I identified that some junior developer added @Async annotation before couple of services without understanding its impact.

Thanks to our automation test suite we identified this issue on our lower environment.

Here…


This article will help you in integrating Debezium to capture the changes in the data events, as well as it could help you in identifying the way to decompose monolithic applications.

Photo by Margaret Weir on Unsplash

I am writing this article to explain the recent problem I encountered while decomposing a monolithic application to an event-driven architecture based micro-services application for one of our clients.

The application is a vastly used E-commerce product and customer based increase exponentially in the last few years.


Photo by Pankaj Patel on Unsplash

Here I will be explaining steps to set up your own Gitlab Runner on your on-premise Gitlab. For demo I have created one docker based application which I will build and deployed using Gitlab CI/CD pipeline.

Pre-requisite

  • Basic knowledge of Docker , Docker-compose and maven project
  • Should know about Gitlab CI/CD and Gitlab Runner’s purpose.

Refer sample code from https://gitlab.com/ritresh.girdhar/docker-image-test

Let’s understand gitlab pipeline — .gitlab-ci.yml

image: docker:latest
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay
SPRING_PROFILES_ACTIVE: gitlab-ci
stages:
- build-microservice1
- build-microservice2
- package-microservice1
- package-microservice2

build-microservice1:
image: maven:3-jdk-8
stage: build-microservice1
script: "mvn clean install -f microservice1/pom.xml"
artifacts:
paths:
- microservice1/target/*.jar
build-microservice2:
image: maven:3-jdk-8
stage: build-microservice2…


Here, For the beginners I explained about “How to implement Azure DevOps Pipeline”

Image Copied from Azure

Introduction

Using tools like Jenkins does not mean you follow CI/CD.

Continuous Integration (CI) is a development practice. In which developers integrate code into a shared repository frequently, preferably several times a day. An automated build or automated tests should verify each integration build.

Mostly, we follow below flow for CI/CD.


“The Art of War” is the book that could help one to be a great leader in various aspects of the real world.

Recently, I have completed this book and tried to compare the challenges we faced while monitoring software applications with the one “Sun Tzu” has mentioned in this book for being a great ruler.

In this article, I will cover the Application monitoring with the Lesson- ”The Use of Spies” (will cover the rest lessons in another article)

Sun Tzu explained the importance of spies in the life of a Ruler or War General. To continue one’s dynasty…


Yeee!!! It’s a girl 🥳🥳🥳🥳

Photo by Bonnie Kittle on Unsplash

Unlike my other articles this one is a non technical.

Recently, we were blessed with a baby girl. We named her Tridha.

Here, we would like to share our parenting experience so far. I believe those who have already gone through this golden time period they would agree with me. If one follows the below considering it will be a boon, especially for the new parents who don’t have any idea what these little angels asking for.

Private Social media account

Ritresh Girdhar

Father || Coder || Engineer || Learner || Reader || Writer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store