Software design
Demo:
- Giới thiệu hệ thống demo và quy trình phát triển
- EventStorming: Giới thiệu lý thuyết
- EventStorming: Áp dụng Big Picture (1)
- EventStorming: Áp dụng Big Picture (2)
- Thiết kế kiến trúc (1) - Decisions
- Thiết kế kiến trúc (2) - Sơ đồ tĩnh, động, và triển khai
Bài toán mẫu: Tìm tài xế cho đơn hàng
Chính sách (policy) của hệ thống phần mềm
Domain-Driven Design (DDD):
DDD - Part 6: Domain Event (1)
DDD - Part 7: Domain Event (2)
DDD - Part 8: Domain Event (3)
Offline Concurrency Control:
Offline Concurrency Control - Phần 1: Hiện tượng
Offline Concurrency Control - Phần 2: Optimistic - "Lời xin lỗi"
Offline Concurrency Control - Phần 3: Optimistic và Inconsistent Read
Offline Concurrency Control - Phần 4: Triển khai Optimistic trong Hexagonal
Hexagonal Architecture:
Hexagonal Architecture - Phần 1: Động lực chuyển đổi
Hexagonal Architecture - Phần 2: Từng bước chuyển đổi một Layered sang Hexagonal
Hexagonal Architecture - Phần 3: Quá trình tạo mới và cơ chế Validate Domain Entity
Hexagonal Architecture - Phần 4: Hoàn thiện quá trình chuyển đổi
Nguyên lý thiết kế class:
DIP - Chữ "D" trong SOLID (part 1)
DIP - Chữ "D" trong SOLID (part 2)
Logic Business Patterns:
Nguyên lý thiết kế module:
Common Closure Principle - CCP
Reuse/Release Equivalence Principle - REP
Saga Pattern:
Event-Driven Microservices:
Event-Driven Microservices - Giới thiệu chung
Bàn về Monolith và Event-Driven Microservices
Transactional Outbox
Database design
Relational Database và Normal Forms
Hai mục đích chính của chuẩn hóa Normal Forms
Update Anomalies trong mô hình phi chuẩn
Phụ thuộc hàm - Functional dependency