You can’t pass interviews at Google or Facebook without knowing anything about the algorithm. So why not learning now.

I am a programmer with over 15 years of experience. In my first years (from high school), I learned and worked a lot on algorithms. Until I graduated, I always studied and had a passion for it. After graduating, I started to study abroad and followed the research path.

However, after working for 3 years, I prefer to do products/software rather than research. I turned to technology/engineering instead of algorithms. However, I personally think that understanding algorithms is still something quite important for developers. …

Something interesting from Facebook

Image for post
Image for post

Although Facebook and Messenger apps are terrible, they have extremely cute stickers. I have tried downloading, but there is no way to download them as a gif file. Inspecting the element, we will see it appears as a sprite sheet set to background-image and use background-position to change the frame.

Iterate through each element of a “set of elements” is a very normal operation. JavaScript provides us with a lot of methods to do that.

However, in this article, we will not fall in love with those methods. Instead, we will explore the mechanism behind it all, which are the concepts: iterable, iterator, generator.

Image for post
Image for post
Photo by Caspar Camille Rubin on Unsplash


An object is called iterable if it has the installed iterable protocol (talk later). These iterable objects can often use element browsing methods, for example for..of.

In JavaScript, Arrayis iterable.

for (let v of [1, 2, 3, 4]) console.log(v)
// 1
// 2
// 3
// 4

In addition, many other built-in objects are iterable, such as String:

for (let v of 'hello') console.log(v)
// h
// e
// l
// l
// o

If an object represents a “set of elements”, then we can completely use for..of to loop through its elements. …

Linux is not Unix … but a clone version of Unix

Image for post
Image for post

Before we start going into the story of Linux & Unix. You need to know a few things.

  • I don’t master Linux or Unix. I’m just trying to write down what I know, learning about the world of Linux. Because I always think that writing down the knowledge I have learned will help me understand and remember them better. Hopefully my article about Linux will be useful for many of you and get a lot of positive feedback.
  • In this story, I will not dig deeply into technical issues of Linux. But instead, I will tell you the story of its development history, as well as the relationship between Linux and another famous operating system Unix. …

Feature Flag benefits & use cases

Image for post
Image for post

In Application Development, sometimes We get a situation like this:

Deadline is 04/04/2020, and today is 01/04/2020 (just 2 days before the deadline) mobile app is already finished, needs to submit to Store (Google Play or App Store) for reviewing but back-end is still under development (it may be done or not). So What do we do now? How to make sure your application is still working whether backend is released or not.

That’s when we need Feature Flag.

What Is Feature Flag?

Feature Flag is a technique that allows developers to change the way apps work without modifying code. …

What is Docker, what it can help us, why it should be used and who is using it.

Image for post
Image for post

Docker — Hello buddy

When you join a new company. You must clone and install a new project. Yeah, problem comes. You need to install Java, Spring boot, Mysql, Kafka, then try to run … Build Failed. You check error log: missing Redis. Ok then install Redis. But you use Windows and installing Redis on Windows is harder than Ubuntu, or Linus. So you decide to … use Ubuntu.

That evening you install Ubuntu. Build. Oke, fail again. You ask the leader for help => missing some environment variables. But you ask him again if you need something else before running project. “Did you run `mvn install` for installing packages” — No, of course I didn’t. Alright, build last time … no, it’s not the last time. It’s failed. Some errors about Mysql, may be mismatch version. Mysql used in project is mysq5.7. But you already install MySQL 8…. …

Top articles, authors, tags, and publications based on data analysis

Image for post
Image for post
Photo by Jon Tyson on Unsplash

I have known about Medium since 2015. If I needed some sources to read technology articles, I found them on Medium. It has almost everything I need: technology news, knowledge, tutorials, predictions, comments, etc. About four months ago, I suddenly had the idea of becoming a writer on Medium. I’ve gotten quite a lot from it, and now it’s time to pay back.

I wrote my first article three months ago. In the first month, my stories got only minimal views and zero claps. The sad thing is, a lot of writers on Medium get the same. How do I know this? …

Bitcoin’s success is a necessary but not sufficient condition for the entire digital asset ecosystem to grow. So what else do we need?

Image for post
Image for post
Photo by Aleksi Räisä

Bitcoin’s success is a necessary but not sufficient condition for the entire digital asset ecosystem to grow. However, playing the role of the king of cryptocurrencies, the way Bitcoin manifests in the next 6–12 months will be the main driving force to answer the question, whether the cryptocurrency market has made strides to raise awareness. awake, acceptability, price, or will return like the crypto winter, gloomy and sad.

This is not an article that draws you a pink picture of the cryptocurrency market, but it will contain the honesty and objectivity. Things you need to survive and succeed. …

How many people were online today? How many people have registered? How many registered people yesterday come back? …

Those are frequently questions of many online to offline systems. These questions are often used to measure system health indicators such as DAU (Daily Active User), NRU (New Registered User), RR (Retention Rate), etc.

Our problem, however, is not how meaningful these numbers are but how they are calculated. And this article will be an approach to this common problem from a genuine engineer.

Image for post
Image for post
Source: Sharon McCutcheon,


First of all, please give me some claps immediately for the efforts I put into this article.

Secondly, I hope that you understand the idea of this article: You may not need to understand how it works, but you must understand its use under what circumstances and for what purpose. The entire article will not mention in detail any algorithmic structure or anything that requires super mathematical knowledge. …

Personal data Security today is also an important issue. Each year, more than a dozen companies, big and small, expose user data.

Image for post
Image for post
Image source:

Encrypt data in the database can minimize the risk of information leakage when data is stolen, but lose the important feature of the DB is searching and organizing. Here is an example for easy to understand, I encrypt the same text AAAA 10 times with the same secret using AES.

With 10 times of encryption, we will get 10 different results. You can run back a few dozen times and see the results are still different. If you want to search, it is impossible to find a string similar to the encrypted string to search. …


Itchishiki Satoshi

Just a code lover. Technical leader at Paypay Japan.

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