MonkeyTips

Những mẹo lập trình ngắn gọn, đã kiểm chứng — kèm code chạy được, sơ đồ và thử thách.
Phần lớn nội dung, kỹ thuật và bước hướng dẫn của các tip được phát triển với sự hỗ trợ của AI.
shape
shape
shape
shape
shape
shape
shape
shape

Laravel Trung bình

Idempotency Key: Chặn Charge Trùng Trong Hệ Thống Phân Tán

Vì sao idempotency key quan trọng với API thanh toán, cách triển khai an toàn với database-backed store, với mấy lỗi thường gặp kiểu race condition với đụng key.

PHP 8.4
Sơ đồ
6 phút đọc · 91 Đọc tip
Database Khó

Deadlock Trong Database: Phát Hiện, Chẩn Đoán Với Phòng Tránh

Database dùng wait-for graph để phát hiện deadlock ra sao, vì sao nó xảy ra, với mấy kỹ thuật thực tế để phòng tránh trong hệ thống concurrency cao.

Postgresql 13+
Sơ đồ
8 phút đọc · 155 Đọc tip
Database Khó

Distributed Locking Với Redis: Hiểu Thuật Toán Redlock

Đào sâu vô thuật toán Redlock để lock phân tán an toàn qua nhiều node Redis - mấy kiểu lỗi thường gặp, chuyện lệch đồng hồ, với cách vá bằng fencing token.

Redis 7.x
Sơ đồ
10 phút đọc · 279 Đọc tip
DevOps Trung bình

Git Interactive Rebase: Dọn Lại Lịch Sử Commit Trước Khi Mở PR

Học cách xài git rebase -i để gộp, sắp lại thứ tự với sửa message commit, giúp pull request của mình kể một câu chuyện gọn gàng, dễ review.

Git 2.40+
Sơ đồ
7 phút đọc · 304 Đọc tip
Database Trung bình

Chiến Lược Cache Redis: Cache-Aside Với Write-Through, Chọn Sao Cho Đúng

So sánh cache-aside với write-through khi xài Redis - trade-off về consistency, cách đặt TTL, với khi nào nên chọn cái nào.

Redis 7.x
Sơ đồ
7 phút đọc · 240 Đọc tip
JavaScript Trung bình

TypeScript Utility Types: Pick, Omit Với Partial Xài Sao Cho Đúng

Đừng copy-paste interface cho từng biến thể nhỏ nhỏ nữa. Pick, Omit với Partial giúp mình dẫn xuất type mới từ một nguồn duy nhất - đây là lúc nào nên xài cái nào.

TypeScript 5.x
Sơ đồ
4 phút đọc · 257 Đọc tip
Bảo Mật Trung bình

Rate Limiting API - Token Bucket Hay Sliding Window

Fixed window để client burst gấp đôi ngay ranh giới. Xem token bucket với sliding window hoạt động thiệt sự ra sao, kèm cách làm với Redis và mấy cái bẫy hay dính khi lên production.

Redis 6.x+ Node 18.x+
Sơ đồ
3 phút đọc · 262 Đọc tip
Next.js Trung bình

Next.js App Router - Server Components vs Client Components, Xài Sao Cho Chuẩn

Server Component chỉ chạy trên server; Client Component mới hydrate ở trình duyệt. Coi Next.js App Router render hai loại này ra sao, và khi nào mới thiệt sự cần 'use client'.

Next 14.x - 15.x React 18.x - 19.x
Sơ đồ
5 phút đọc · 1,127 Đọc tip
JavaScript Trung bình

Debounce vs Throttle Trong JavaScript - Xài Cái Nào Cho Đúng

Scroll, resize, and keystroke events fire dozens of times a second. Learn how debounce and throttle rate-limit them — and which one to reach for.

JavaScript ES6+
Sơ đồ
4 phút đọc · 1,054 Đọc tip
Database Trung bình

Database Index - Biến Full Scan Thành Tra Cứu Tức Thì

Coi vì sao query hổng có index phải quét từng dòng, index biến nó thành tra cứu lẹ làng cỡ nào, và cách đọc EXPLAIN để phân biệt.

SQL ANSI / MySQL 8+
Sơ đồ Thử thách
3 phút đọc · 1,843 Đọc tip
PHP Dễ

Chống SQL Injection Trong PHP - Đừng Để Dính Bẫy

Học mấy kỹ thuật quan trọng để bảo vệ ứng dụng PHP khỏi mấy đòn SQL injection.

PHP 8.0+
Sơ đồ Thử thách
2 phút đọc · 1,017 Đọc tip
DevOps Trung bình

Docker Multi-Stage Build - Giảm Size Image Ngọt Xớt

Giảm size Docker image xuống ngọt xớt bằng multi-stage build, học liền tay nè.

Docker 20.10+
Sơ đồ Thử thách
2 phút đọc · 2,194 Đọc tip
PHP Trung bình

PHP 8.4 Property Hooks - Xài Sao Cho Ngon

Khám phá property hooks - tính năng mới toanh của PHP 8.4 giúp gắn logic vào property gọn gàng, đỡ mất công viết magic method.

PHP 8.4
Thử thách
2 phút đọc · 1,364 Đọc tip
Laravel Trung bình

Tối Ưu Query Laravel Với Eager Loading

Học cách tối ưu truy vấn database trong Laravel bằng eager loading để né vụ N+1 query cho gọn nhẹ, mượt mà.

Laravel 11.x PHP 8.2+
Sơ đồ Thử thách
3 phút đọc · 1,664 Đọc tip
JavaScript Dễ

Async/Await Trong JavaScript - Xài Cho Đúng Bài

Nắm vững async/await trong JavaScript qua mấy best practice này, tránh dính mấy lỗi hay gặp.

JavaScript ES2017+
Sơ đồ Thử thách
2 phút đọc · 2,205 Đọc tip