Khái niệm Domain Model

Trong công nghệ phần mềm, domain model là một bản phác thảo các thực thể cơ bản của hệ thống và các mối quan hệ giữa chúng. Domain model tạo ra một mạng lưới các đối tượng được kết nối với nhau, trong đó mỗi đối tượng đại diện cho một số cá thể có ý nghĩa như một tập đoàn hay một dòng thông tin trên đơn đặt hàng.
Read More

Kiến trúc Domain-Driven Design

Domain-Driven Design là một design pattern ở cấp độ hệ thống được áp dụng cho các nghiệp vụ phức tạp. Nó cung cấp các khối lắp ghép chiến lược để phân tích và cấu trúc cho các vấn đề và giải pháp.
Read More

Cấu trúc dữ liệu cây Merkle (Merkle tree)

Cây Merkle là một cấu trúc dữ liệu tổng quát của danh sách băm (hash list). Nó là một cấu trúc cây trong đó mỗi node lá có giá trị là kết quả hàm băm của một block dữ liệu và mỗi node không phải node lá có giá trị là kết quả một hàm băm các node con của nó.
Read More

Blockchain là gì? Giải thích chi tiết về Blockchain

Blockchain là một hệ thống lưu trữ thông tin theo cơ chế gây khó khăn cho việc thay đổi dữ liệu, hack hoặc gian lận hệ thống. Một sổ cái kỹ thuật số (digital ledger) ghi lại các giao dịch và được sao chép, phân phối trên toàn bộ mạng lưới hệ thống máy tính của blockchain.
Read More

Cơ chế Mutual Exclusion trong lập trình Python

Mutual exclusion là một cơ chế ngăn chặn việc truy cập đồng thời vào tài nguyên được chia sẻ. Khái niệm này được sử dụng trong lập trình đồng thời cùng với critical section, quy định rằng chỉ có một tiến trình hoặc luồng chứa critical section tại một thời điểm.
Read More

Cơ chế Global Interpreter Lock trong Python

Trong ngôn ngữ lập trình Python tồn tại một cơ chế được gọi là Global Interpreter Lock (GIL). Cơ chế GIL không cho phép tăng hiệu suất của các chương trình đa luồng lên nhiều và thậm chí có thể làm giảm hiệu suất của một số chương trình đa luồng.
Read More

Kiến trúc chi tiết của mạng Hyperledger Fabric

Hyperledger Fabric là dự án blockchain được phát triển bởi Linux Foundation. Hyperledger Fabric được thiết kế như một nền tảng để phát triển các ứng dụng có kiến trúc module, cho phép nhiều tổ chức tương tác lẫn nhau trong mạng.
Read More

Lập trình đa tiến trình và lập trình đa luồng trong Python

Vấn đề đồng bộ hóa có thể được phân chia thành hai loại chính là đồng bộ hóa tài nguyên và đồng bộ hóa hoạt động. Trong khoa học máy tính, bài toán buổi ăn tối của các triết gia (Dining Philosophers Problem) thường được xem là ví dụ minh họa tốt nhất cho các vấn đề về đồng bộ hóa.
Read More

Giới thiệu tổng quát về dịch máy

Các ý tưởng về dịch máy manh nha bắt đầu xuất hiện vào thế kỷ 17. Năm 1629, René Descartes đã đề xuất lý thuyết về một ngôn ngữ tổng quát (universal language) mô tả tất cả những ý tưởng và khái niệm tương đương nhau trong các ngôn ngữ khác nhau. Tuy nhiên, mãi cho đến thế kỷ 20, những ý tưởng cụ thể đầu tiên về dịch máy mới bắt đầu được công nhận.
Read More