Blog
Nơi mình chia sẻ nhật ký và những câu chuyện nhỏ trong hành trình làm nghề.
Beyond MapReduce — Spark, Flink và thế hệ data processing mới (DDIA)
MapReduce ghi intermediate state ra disk giữa mỗi phase — đây là điểm yếu chí tử. Spark, Flink, Tez thay thế bằng DAG pipeline, xử lý trong memory, hỗ trợ cả batch lẫn streaming.
Model Microservices — DDD & Bounded Context (Building Microservices)
Domain-Driven Design là chìa khóa để xác định ranh giới microservices. Chapter 2 nói về bounded context, ubiquitous language và cách áp dụng DDD vào thực tế.
Unix Philosophy & MapReduce — Xử Lý Batch Trong Hệ Phân Tán (DDIA)
Unix pipes là nguồn cảm hứng cho MapReduce — cách các hệ thống batch processing xử lý dữ liệu quy mô lớn với triết lý đơn giản
Table-Driven Tests trong Go — Viết test sạch, maintain dễ
Table-driven tests giúp Go tests gọn gàng, dễ thêm case mới. Học pattern này qua ví dụ thực tế và kinh nghiệm production.