https://unsplash.com/photos/73_kRzs9sqo

Developers need to work on people’s code in most projects; due to lots of reasons — a rewrite of the codebase could be easier to maintain (assume the developer would be working in the company for a year or 2). …


Courtesty of https://unsplash.com/photos/fSWOVc3e06w

Not all of my previous companies had the habit of code-review. Yes~ I know how important a code-review session could be (learning new techniques, re-using other member’s methodologies / ideas and more); however personally some code-reviews actually crashed the trust between team members and eventually pushed developers to leave the…


courtesy of photo: https://unsplash.com/@altumcode

Once, I heard from a developer “C++ is all I need for the rest of my career” and yet after 5 years, he needed to spend full time learning a new programming language named Java2. That was a story I heard 10 years ago, so what about now?

It wasn’t…


“import cycle not allowed”

Welcome to the #2 post of the “golang gotchas” series. Today we will talk about the “import cycle not allowed”. This series is organised as follows:

  • code samples,
  • gotchas areas, and
  • theories

We know developers are very efficient in reading blogs and sort; hence wouldn’t it be nice if we…


Photo by Brands&People on Unsplash

Elasticsearch is a great tool to gathering logs and metrics from various sources. It provides lots of default handlings for us so that the best user experience is cherished. …


Welcome to the #1 post of the “golang gotchas” series. Today we will talk about the Singleton Pattern. This series is organised as follows:

  • code samples,
  • gotchas areas, and
  • theories

We know developers are very efficient in reading blogs and sort; hence wouldn’t it be nice if we can get…


Photo by Christophe Dion on Unsplash

On the previous blog, we know that there is a special processor named as “pipeline” which acts like a function for other ingest-pipelines to invoke. Today we would look into some pipeline-processor techniques based on condition switching logics :)

Take an example, we have a field named “categoryValue”. If this…


courtesy from http://www.freepik.com by almumtazza

Hello again~ Last time we have gone through how to deploy a 3-node elasticsearch cluster + 1 kibana instance under docker. In this tutorial, we would deploy a metricbeat to monitor the health and system metrics of the running containers.

PS. if you missed the previous tutorial, click here for…


In the good old days, deploying servers usually involve a set of Metal-Box(s), also they are allocated in a very “safe” place (usually data centre) to avoid all sorts of natural or human disturbances. This is the time when the infrastructure team handles all the hardware purchases and picking up…


Education photo created by wayhomestudio — www.freepik.com

Lately when I am looking around in the kibana UI, I found an interesting thing…

devops terminal

a java / golang / flutter developer, a big data scientist, a father :)

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