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”

[Đọc sách] BLOCKCHAIN

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”