Guru on Rails

if you don’t sacrifice for your dream then your dream becomes your sacrifice.
Will Nguyen

Wed 01 Jan 2020

AngularJS Javascript Ruby on Rails

Imagine that we have a rails application which have been running for more than six year. Suddenly, we have a requirement about realtime feature. We have two choices. The first one is using third pa...

Mon 30 Dec 2019


This is my perspective about Leadership. I have joined many companies so far and I do understand that Leadership is a very important factor making impacts to the company's culture. So why I said th...

Thu 18 Jul 2019

Best Practices Performance SQL

If we work on a complex system, queries are pretty complex with a ton of subqueries, we would encounter the problem of optimization of query. In order to achieve a goal, we have many ways to do. So...

Tue 02 Jul 2019

AngularJS Javascript Problem Solving MERN Stack

Below is Angular code but you can do it simple, just focusing on the encodeURIComponent. Read the link below to get to know the reason.  get html() { return this.viewTrustDocx; } private get viewTr...

Thu 27 Jun 2019


Actually, in my opinion there is nothing best. Anything has its own advantages and disadvantages. It depends on the context we apply the proper technology, design patterns, best practices etc. Some...

Tue 25 Jun 2019

Javascript Design Patterns

Observer The Observable pattern is one that allows an object, called subject, to keep track of other objects, called observers, interested in the subject state. When the subject state changes, it n...

Tue 11 Jun 2019

Design Patterns

Have you ever heard Template Method pattern? We thought we know it but we might be wrong. I just found a secret, a meaning of this pattern. Template method supported by inheritance. So what is temp...

Tue 26 Feb 2019


Requirement: Check if the input string has balanced chars. More details please have a look at the "Result" section below. This a an interview challenge in "XYZ" company. 1. Solution. I apply single...

Sun 24 Feb 2019


1. Searching the products which have duplicated names."name, count(*) as num").group(:name).having("num > 1") SELECT name, COUNT(*) FROM products GROUP BY name HAVING COUNT(*) &g...

Sun 17 Feb 2019


This is a challenge from "XYZ" company. My solution is using message queue for "POST". For "GET", it's just a challenge, not applying in real project. Because pub/sub system would be better than de...

Total: 61