Photo by Joshua Aragon on Unsplash


I am working on a backend microservices project which adopted tech stack like MongoDB, Express Framework, RabbitMQ and etc. And recently, I am assigned to develop a pretty big feature which involving changes and the logic flow across different microservices. I drafted down the flow in the screenshot below.

Photo by Mariko margetson on Unsplash


Once upon a time, I am having a conversation with Joe regarding setting up a migration script repository for microservice-based architecture. Here is how the conversation goes:

Me: Hey Joe, we’re using Sequelize in our code. But how about our migration? Since we’re using microservice-based architecture if we write our migration file in each service, wouldn’t it hard to manage, and the scripts are scattered everywhere.

Joe: Erm… You probably right. How about we set up a repository called migrations. Where we will centralize all the migration scripts in that repo. So we could have an overview of all the…

Photo by Gary Bendig on Unsplash


Hello folks. Welcome back to another article.

In this post, I will share with you steps to enable a RabbitMQ Plugin using RabbitMQ CLI tools.

Here are some prerequisites required to have before you continue:

  • You must already have RabbitMQ installed.
  • RabbitMQ CLI tools are working.

Without further ado, let’s start.

Step by Step Guide

Here is the concise version of How to Enable RabbitMQ Plugin:

  1. Run command rabbitmq-plugins list to list all the available plugins.
  2. Find the name of the desired plugin from the list.
  3. Enable the plugin using the command rabbitmq-plugins enable plugin_name.
  4. If a plugin is not found from the list…


The above screenshot is the Git client — Fork which I used daily basis for commit code, writing my commit message, and etc.

  1. Right-click a branch
  2. Choose “Rename”.
  3. Type in your new desired branch name
  4. Just tick the checkbox and it helped you change your local branch name and remote branch name. ( Like the screenshot above )

However, I am wondering how the branch rename works under the hood. Is it as easier as what the UI flow showed us or what we saw was just the abstract of the complex work?

If you were interested in what is…

Photo by Oskar Yildiz on Unsplash


The story begins with a developer starting to feel bored and tiring of the development workflow and trying his best to at least improve a single part of the workflow and feel more productive.

If you’re tired of creating merge requests using the Gitlab website and you want to do it in a faster & simple way, then this post could be what you’re looking for. Without further ado, let’s start.

Step-by-Step Guide

Before we dive deep into the step-by-step guide, let’s define the outcome we would like to achieve first.


This is the ultimate outcome we would like to have.

  • Create…

Photo by Green Chameleon on Unsplash

I am decided to take my AWS Certified Cloud Developer Associate exam in the coming March 2021. Thus, I am taking a course now on Udemy and prepare myself for the exam.

This post summarized the key points of learning on AWS Regions and Availability Zones. Besides, I have also made a mind map for easier revision afterward. Without further ado, let’s start.


What is Region?

AWS introduced the concept of the region where it is actually a cluster group of data centers in a certain location

For example, we have regions such as Asia Pacific Southeast (Singapore), US East (Ohio) and etc.

Why AWS introduces so many regions?


Imagine you’re a DevOps engineer and you are responsible to grant access to the database, which could be known as Database Administrator as well.

However, it’s a new year and your company management decided to restructure the team. Someone from the team trying to change his role. For example, “ devA” from the backend team would like to try to do different stuff in his career and he decides to switch to the frontend team.

The management informs you to revoke his database privileges as he previously offered access to the database. …


Imagine you’re a DevOps engineer and you are responsible to grant access to the database, which could be known as Database Administrator as well.

However, it’s a new year and your company management decided to promote some of the potential team members to become the team leaders. 🎉🎉🎉

As you all known:

With great responsibility comes great power. — Mark Manson

The management informs you to update their database privileges as they previously offered read-only access to the database. If you’re interested in how to create a read-only role for MongoDB, please read the post here. …

Photo by Luiza Braun on Unsplash

This post discussed how to create a read-only role in the MongoDB database. Without further ado, let’s start.


Imagine you’re a DevOps engineer or the team leader for the Backend team, normally these roles are the role to grant access to the database.

There are two newly hired developers who just joined your team and the management decided to provide a read-access only to the database in the staging environment in order to ease the debugging workflow. Let's call them Developer A and Developer B.

Here is the list of Mongo databases that is available.

Photo by Christina Rumpf on Unsplash

This post talked about one of my experiences in code review and ultimately lead me to the discovery of the difference between Array.isArray and Lodash _.isArray. Without further ado, let’s start the story.


The story starts by beginning sending a merge request for review in Gitlab. It is similar to the pull request you known in Github.

In the code itself, I am using lodash isArray to check the variable. Refer the below code snippet.

const { isArray } = require('lodash');​const requiredFields = getRequiredFields();​if (isArray(requiredFields)) {
return requiredFields;
} else {
// do something else

At this…

Tek Loon

Coder and Writer. Read my blog —

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