Thuật toán đồng thuận trong hệ thống phân tán – Raft, Zookeeper Atomic Broadcast

1. Bài toán toán đồng thuận trong hệ thống phân tán Bài toán đồng thuận trong hệ thống phân toán cho phép nhiều process đạt được đồng thuận trên cùng một giá trị. Theo định lí FLP, trong một hệ thống bất đồng bộ không thể đạt được trạng thái đồng thuận trong một khoảng … Continue reading Thuật toán đồng thuận trong hệ thống phân tán – Raft, Zookeeper Atomic Broadcast

Ý tưởng về 6 bậc cách biệt và mô hình đồ thị (6 degrees of Separation and Graph model)

Bài này dành cho mấy đứa cô đơn để mấy đứa thấy thể giới bé cỡ nào, mùa đông nhưng thấy bạn bè mình nhiều đứa chia tay quá. 🙂 “I read somewhere that everybody on this planet is separated by only six other people. Six degrees of separation. Between us and everybody else on … Continue reading Ý tưởng về 6 bậc cách biệt và mô hình đồ thị (6 degrees of Separation and Graph model)

Dynamic Programming-Ví dụ giải một số bài toán trong thực tế

Trong bài lần trước - Dynamic Programming - Quy hoạch động trong lập trình mình đã giới thiệu định nghĩa và nêu ra các bước để giải một bài toán bằng Dynamic Programming. Trong bài này mình sẽ trình bày một số ví dụ về việc áp dụng quy hoạch động để giải các bài toán … Continue reading Dynamic Programming-Ví dụ giải một số bài toán trong thực tế

Khả năng mở rộng và hiệu năng hệ thống lưu trữ

Khả năng mở rộng Hệ thống hoạt động ổn định hôm nay không đồng nghĩa với việc nó sẽ hoạt động ổn định trong tương lai. Một lí do đơn giản cho nhận xét này vì theo thời gian tải của hệ thống cũng sẽ tăng lên. Trang web có 10000 user truy cập đồng … Continue reading Khả năng mở rộng và hiệu năng hệ thống lưu trữ

Một số thuật toán tối ưu cơ bản trong deep learning – Basic Optimization Algorithms (Part 1 – Introduction)

HN.20201101.me Trong series này, chúng ta sẽ khảo sát về một số thuật toán tối ưu được sử dụng phổ biến trong các mô hình deep learning. Để mô hình deep learning có thể học được từ dữ liệu đầu vào, ta cần định nghĩa có mô hình một hàm mất mát - loss function. … Continue reading Một số thuật toán tối ưu cơ bản trong deep learning – Basic Optimization Algorithms (Part 1 – Introduction)

Dynamic Programming-Quy hoạch động trong lập trình

Dynamic Programming-Quy hoạch động là gì?Dynamic programming là một phương pháp được sử dụng trong lĩnh vực tối ưu toán học và lập trình máy tính. Được phát triển bởi nhà toán học ứng dụng nổi tiếng người Mỹ Richard E. Bellman trong những năm 1950 Richard Ernest Bellman 1920-1984 Dynamic Programming có ý tưởng … Continue reading Dynamic Programming-Quy hoạch động trong lập trình

CI/CD Với Gitlab Runner/Jenkins và Docker Compose (phần 2): sử dụng Jenkins Pipeline

Jenkins là gì?Jenkins là một công cụ mã nguồn mở hỗ trợ tự động hóa server, là một trong những phần mềm được sử dụng rộng rãi nhất hiện nay bởi các lập trình viên trong CI/CD, thường được kết hợp cùng với Git, Docker. Jenkins tự động phát hiện thay đổi trong mã code … Continue reading CI/CD Với Gitlab Runner/Jenkins và Docker Compose (phần 2): sử dụng Jenkins Pipeline

CI/CD Với Gitlab Runner/Jenkins và Docker Compose (phần 1): tạo script cho việc sử dụng docker cho project

Hôm nay mình sẽ làm một bài viết để giới thiệu về việc tạo CI/CD kết hợp Gitlab Runner và Docker Compose cho các bạn mới tìm hiểu Trong bài này mình sẽ tạo CI/CD trên một project ngôn ngữ java 8 sử dụng framework Maven Các khái niệm liên quan như CI, CD, Docker … Continue reading CI/CD Với Gitlab Runner/Jenkins và Docker Compose (phần 1): tạo script cho việc sử dụng docker cho project