Javascript – Difference Between var, let and const

ES6 introduced 2 new ways of declaring variables: let and const. There are a couple of main differences between these variable declaration methods and they still seem to confuse people. Let me very briefly explain the differences between var, let

Read More Javascript – Difference Between var, let and const

Some examples of async functions instroduced in ES8

Introduced in ES2017 (ES8) asynchronous functions are functions which operate asynchronously via the event loop, using an “implicit” Promise to return its result. Syntax and structure of your code using async functions will be much more like using standard synchronous functions. I am not going to write explanations

Read More Some examples of async functions instroduced in ES8

metadata.labels, selector.matchLabels, template.metadata.labels – Kubernetes Deployments Explained

There are a lot of label and selectors being placed all around deployment yaml files inside Kubernetes deployments and this gets people confused. Let me try to shed some light on this and clear your confusion. Let’s start with an

Read More metadata.labels, selector.matchLabels, template.metadata.labels – Kubernetes Deployments Explained

TLS Termination Types in OpenShift Routes

There are 3 types of TLS Termination types to select from when you are creating a route in OpenShift. These are: – EDGE – Passthrough – Reencrypt These TLS Termination types define which part of the communication from the client up

Read More TLS Termination Types in OpenShift Routes

In-Memory ActiveMQ and SpringBoot Example Project

SpringBoot is the trending way of building applications and microservices. ActiveMQ is one of the most popular message brokers. Did you know that with SpringBoot you can have embedded ActiveMQ instances? In this In-Memory ActiveMQ and SpringBoot Example Project, I

Read More In-Memory ActiveMQ and SpringBoot Example Project

Spring AOP, @Transactional Annotation and Proxying

spring transactional annotation

Spring, by default, uses runtime weaving (unlike AspectJ – see this) for aspects. In runtime weaving, a proxy class is generated for your “adviced” classes and they are decorated with the advices at runtime. @Transaction annotation works the same way. In

Read More Spring AOP, @Transactional Annotation and Proxying

Introduction to Persistent Storage In OpenShift

openshift persistent volumes

Not all the containers in your cluster will be non-persistent or ephemeral. Most of the time you will need persistent containers running all around the place to hold some sort of data. To store the data independent of the lifetime

Read More Introduction to Persistent Storage In OpenShift

Spring MVC Workflow – Understanding How Spring MVC Mechanism Works

Let’s start by observing the figure below:   First, the request is received by the DispatcherServlet. DispatcherServlet is a front controller. It is like a super controller who redirects all the requests to the corresponding handler methods inside the controller classes.

Read More Spring MVC Workflow – Understanding How Spring MVC Mechanism Works

Continuous Integration, Continuous Delivery and Continuous Deployment with Red Hat OpenShift

openshift persistent volumes

In this post, I want to briefly explain the differences between Continuous Integration, Continuous Delivery, and Continuous Deployment. I will keep this very brief and try to make it as easy to understand as possible.   What is Continuous Integration

Read More Continuous Integration, Continuous Delivery and Continuous Deployment with Red Hat OpenShift