JavaScript to BigData

A programming blog on Emerging Tech

Jstobigdata is a Community for Programmers

The jstobigdata brings you advanced guided tutorials and articles on emerging technologies. It presentss you great tutorials with code examples. Unlike many other popular blogs, Jstobigdata focuses on practical oriented tutorials with depth knowledge. This blog is for programmers as well as technology enthusiasts. The content on this site can be broadly categoriesed as Tutorials and Blog articles.

Browse the popular Tutorials

Docker Tutorial

The #1 container, designed to make it easier to create, deploy and run applications in it.

Maven tutorial

Apache Maven Tutorial

An advanced JPA tutorial with hibernate 5.x. JPA stands for Java Persistence API. Learn in the right way with a lot of code examples.

JPA with hibernate

JPA with Hibernate

An advanced JPA tutorial with hibernate 5.x. JPA stands for Java Persistence API. Learn in the right way with a lot of code examples.


Node.js is the most successful open-source, cross-platform JavaScript runtime built on Chrome’s V8 js engine. Mostly used for server-side and desktop application programming.


Python is easy to learn, high-level, dynamic typing, interpreted programming Language. It is popular due to its applications in Machine Learning, Web and System Programming etc.


Java is a platform independent, most matured, Object Oriented, computer programming language. Popular for server-side web programming.


Progressive js framework for building user interfaces. Vue is also perfectly capable to powering sophisticated Single-page app by combining with right tools and libraries.


Most popular platform to build web, mobile or desktop applications. Angular combines with templates, dependency injection, testing tools, component-based architecture.


A framework for ambitious web developers. An MVVM framework to create scalable and complex web apps.


The only source code version-control system you need to know. Git is a free and open source distributed version control system, capable enough to handle very large projects with speed and efficiency.

Agile Methodology

Modern ways of developing software, outlined in the Agile Manifesto in 12 important principles. Popular agile methodologies are Scrum, Kanban, XP, Less, Nexus and many more.


CSS – cascading style sheets are used to control the web browsers ability to manipulate fonts, colors, shapes, and even animations. CSS is a fundamental skill for the modern web developer.

Top Blog Articles

Complete RabbitMQ Tutorial in Java

Complete RabbitMQ Tutorial in Java with Spring Boot example This is a RabbitMQ Course in Java with asynchronous messaging examples using rabbitmq-java-client, Spring Boot and Spring AMQP. This is a programming course, it focuses more on the asynchronous programming than the admin UI. I have tried to keep the tutorial up-to-date with the latest Java trends. Code Examples [Read More]

By |March 28th, 2020|Categories: RabbitMQ|Tags: , |

Advanced JPA Tutorial with Hibernate

This is an advanced JPA tutorial with hibernate 5.x. JPA stands for Java Persistence API. It is the official java specification to work with an ORM tool. Learn JPA 2.2 with Hibernate 5.x in the right way and with a lot of code examples. Prerequisites Programming knowledge in Java.Basic knowledge of JDBC programming.JDK 8 installed on your system.Apache Maven 3.3 [Read More]

By |August 27th, 2019|Categories: Hibernate, JPA|Tags: , , , |

Advanced Docker Tutorial

Advanced Docker tutorial is a complete docker tutorial with examples. This is a Zero to Hero series, to make you up and running with docker. I have created this tutorial to give you an in-depth understanding of docker and docker-compose. Docker provides a consistent way to develop, package, ship and run an application on almost any platform. You will learn [Read More]

By |August 26th, 2019|Categories: Docker|Tags: , , |

Advanced Maven Tutorial

Maven Tutorial - A complete tutorial with code examples. This tutorial is an advanced maven tutorial meant to make you a Hero in Apache maven. Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting, and documentation from a central piece of information. [Read More]

By |August 25th, 2019|Categories: Maven|Tags: , , , |

Spring @Import and @ImportResource annotations

In this tutorial, you will learn to use Spring @Import and @ImportResource annotations to import configurations from java-config class and XML configurations respectively. These annotations work well with @Configuration annotations. Make sure you have a clear understanding of the ways to do Dependency Injections in Spring and the other related concepts. Check the related article on Inversion of Control and [Read More]

By |August 6th, 2020|Categories: Spring Framework|Tags: , |

Introduction to Microservices Architecture

This is a long boring introduction to Microservices Architecture, I will try to make it as relevant and interesting as possible. You will learn the differences between Monolithic and Microservices architecture. The various strategies used to decompose a Monolithic system into Microservices based architecture. It is difficult to give you an overview of this architecture in a single article, but [Read More]

By |August 26th, 2020|Categories: Architecture|Tags: |

The API Gateway Pattern in Microservices

An API Gateway acts as a proxy between the Client Apps and the microservices endpoints. I have explained in the previous article (Introduction to Microservices Architecture), that each microservice exposes a set of fine-grained endpoints. Each of these services can be hosted on a different server, hence exposing different host URLs. In this article, we will explore the need for [Read More]

By |January 28th, 2021|Categories: Architecture|Tags: |

Service Discovery Patterns in Microservices

In a real-world situation, due to various reasons like auto-scaling and fault tolerance mechanisms, often you will need to spin up and spin down various applications (containers). Because of this, their locations like IP addresses, Hostnames, etc may change. For this reason, DNS - with its time-to-live expiration values - may be a poor fit for service discovery and location. [Read More]

By |July 25th, 2022|Categories: Architecture|Tags: |

Circuit Breaker Pattern in Microservices

The way one service talks to another service in the Microservices world, is via network calls like gRPC, HTTP, or event-driven mechanisms. One major difference between in-memory calls and network calls (remote calls) is that the remote calls can fail, and the remote server may not even respond until a timeout happens. Just imagine someone placing an order on an [Read More]

By |July 28th, 2022|Categories: Architecture|Tags: |

Direct Exchange in AMQP – RabbitMQ

This article focuses on the Direct Exchange type (amq.direct) in RabbitMQ. You will learn to bind a Queue with an Exchange using a routing key. You have already learned about Exchanges and Queues in the Elements of RabbitMQ. The diagram here explains a producer sends a message to my-direct-exchange , there are 3 Queues bound to this exchange with 3 [Read More]

By |March 20th, 2020|Categories: RabbitMQ|Tags: , |

Add Newly Created Partitions Programmatically into AWS Athena schema

Problem Statement Amazon Athena uses a managed Data Catalog to store information and schemas about the databases and tables that you create for your data stored in Amazon S3. In the case of tables partitioned on one or more columns, when new data is loaded in S3, the metadata store does not get updated with the new partitions. You need [Read More]

By |May 16th, 2020|Categories: Big Data|Tags: , |

A high-level introduction to Spring Framework

What is the Spring Framework? The age-old answer to this question is, "Spring is a Dependency Injection Framework". In reality, it is much more than that. Spring is the most popular Java Enterprise application development framework, it comes with many tools and libraries to solve almost any problem in the java world. May it be microservices or a simple database-driven [Read More]

By |January 4th, 2020|Categories: Spring Framework|Tags: , |

Exchange to Exchange binding in RabbitMQ

It is possible to bind an Exchange to another Exchange just like Exchanges to Queues bindings. An exchange can be bound with another exchange with the source routing rules. The destination exchange finally routes the messages to the Queues bound to it. We will take 2 Exchanges as an example, home-direct-exchange as source and linked-direct-exchange as the destination exchange. The [Read More]

By |March 26th, 2020|Categories: RabbitMQ|Tags: |

Headers Exchange in AMQP – RabbitMQ

Headers Exchange Type is the most powerful exchange type in AMQP (RabbitMQ). Headers exchanges route a message based on the message headers matching, they ignore routing keys. The diagram here represents 3 Queues (HealthQ, SportsQ, and EducationQ) are bound to the Headers Exchange (my-header-exchange) with JSON like headers. We will discuss each of these headers below in detail. The flow [Read More]

By |March 25th, 2020|Categories: RabbitMQ|Tags: , |

Default Exchange in AMQP – RabbitMQ

Default Exchange in RabbitMQ is not a special type of Exchange in RabbitMQ like Direct Exchange or Topic Exchange. It is a special Direct Exchange with an empty name. In the Elements of AMQP article, you have sent a message directly to a Queue using the empty Exchange name. This is where Default Exchange comes to play. The below image [Read More]

By |March 25th, 2020|Categories: RabbitMQ|Tags: |

RabbitMQ with Spring AMQP and Spring Boot

In this tutorial, we will explore the use of Spring AMQP to communicate with the RabbitMQ messaging middleware. All the previous article code examples are based on the RabbitMQ-Java-Client library. Spring AMQP also makes use of the same library, however, it provides a practical oriented approach to communicate with RabbitMQ. If you are already familiar with Spring stack, then you [Read More]

By |March 31st, 2020|Categories: RabbitMQ, Spring Framework|Tags: , |

Keep Learning with us… Happy Coding!

Go to Top