[Docker] Basic commands

Docker is a platform for developers and sysadmins to develop, deploy, and run applications with containers. The use of Linux containers to deploy applications is called containerization. Containers are not new, but their use for easily deploying applications is

First touch

Ensure you’ve installed Docker already by the command:

docker --version

Run a docker image

docker container run httpd:2.4

Note: while httpd is the image name, “2.4” is the version of this image

Continue reading “[Docker] Basic commands”

Stack vs Heap

The Stack

What is the stack? It’s a special region of your computer’s memory that stores temporary variables created by each function (including the functionmain()). The stack is a “LIFO” (last in, first out) data structure, that is managed and optimized by the CPU quite closely. Every time a function declares a new variable, it is “pushed” onto the stack. Then every time a function exits, all of the variables pushed onto the stack by that function, are freed (that is to say, they are deleted). Once a stack variable is freed, that region of memory becomes available for other stack variables.

Continue reading “Stack vs Heap”

Celery – Introduction

Task Queue?

Task queues are used as a mechanism to distribute work across threads or machines. The task is appended to the queue that calls task queue. Dedicated worker processes constantly monitor task queues for new work to perform.

Celery communicates via messages, usually using a broker to mediate between clients and workers. To initiate a task the client adds a message to the queue, the broker then delivers that message to a worker.

A Celery system can consist of multiple workers and brokers, giving way to high availability and horizontal scaling.

Continue reading “Celery – Introduction”


BLockchain là gì?

  • Blockchain là một công nghệ giống cơ sở dữ liệu, là một hình thức lưu trữ hồ sơ và giao dịch. Mọi thứ hầu như đều có thể lưu trữ trên blockchain
  • Công nghệ blockchain loại bỏ sự cần thiết của một đơn vị trung gian, cho phép mọi người giao dịch trực tiếp với nhau.
  • Hàng tỷ  người trên thế giới không tin vào các đơn vị trung gian như ngân hàng, chính phủ và hệ thống pháp luật trong việc thực hiện giao dịch cũng như lưu trữ hồ sơ.
  • Bitcoin là hệ thống xây dựng trên nền tảng Blockchain.

Continue reading “[Đọc sách] BLOCKCHAIN”

[RabbitMQ – P.1] Cài đặt RabbitMQ Server trên Ubuntu 16.04 & 14.04

RabbitMQ là một message broker sử dụng nhiều giao thức và phổ biến là giao thức AMQP – Advanced Message Queue Protocol.  Được lập trình bằng ngôn ngữ Erlang, RabbitMQ cung cấp cho developer một service trung gian để giao tiếp giữa nhiều thành phần trong một hệ thống. RabbitMQ sẽ nhận message đến từ các thành phần khác nhau trong hệ thống (Producer), lưu trữ chúng an toàn trước khi đẩy đến đích (Consumer).

Continue reading “[RabbitMQ – P.1] Cài đặt RabbitMQ Server trên Ubuntu 16.04 & 14.04”

[Đọc sách] Effective Code Reviews

The author must trust and respect the reviewers enough to be receptive to their comments. Similarly, the reviewers must show respect for the author’s talent and hard work. Reviewers should thoughtfully select the words they use to raise an issue, focusing on what they observed about the product. Saying, “I didn’t see where these variables were initialized” is likely to elicit a constructive response, whereas “You didn’t initialize these variables” might get the author’s hackles up.
Continue reading “[Đọc sách] Effective Code Reviews”