Kiến thức framework dùng chung, không gắn với project cụ thể nào.
N+1, chunk/cursor/lazy, cache, queue, opcache, Octane, Livewire — được gì mất gì.
LaravelTruyền model vào view có gì nguy hiểm, khi nào cần DTO, Collection vs array, và bẫy Livewire snapshot.
Kiến trúcChỗ nghẽn thật là pm.max_children. Cách tính worker, 502 vs 504, và 7 cái bẫy khi lên nhiều node.
Laravel4 tầng phòng thủ: khoá nút, idempotency key, lock, unique index. Chỗ Livewire tự lo và chỗ nó bỏ trống.
LaravelSET NX GET chạy thế nào, design tên key ra sao, và vì sao allkeys-lru âm thầm tạo đơn trùng.
Kiến trúcSKIP LOCKED, retry_after làm job chạy 2 lần, bloat bảng jobs, và 10 cái bẫy khi thêm VM chạy worker.
Kiến trúcĐo thật 50 process: remember gọi DB 50 lần, lock làm đuôi 2,7 s, flexible không chống cold start. Bloom filter, CAS chống cache cũ.
Kiến trúcModular monolith bằng 15 dòng, ranh giới module do test 27 dòng canh, base class nào nên và nào đừng. Đo thật: 31 module không làm app chậm hơn.
Kiến trúcBộ 7 câu hỏi chấm điểm /10 để quyết một nghiệp vụ có thành domain riêng không. Chia đủ 6 domain cho LMS admin, 6 ca khó, ma trận ai gọi ai. Vì sao không có domain Student.
Design patternStrategy + Adapter đã nằm sẵn trong Laravel Notification. 4 mức "ai quyết định kênh", và bẫy chết người: gửi đồng bộ, một kênh throw là các kênh sau không chạy.
Kiến trúcMonolith chung DB vs mail service riêng qua queue. Outbox, dedupe key, fencing token. Đo thật: afterCommit vẫn mất mail, SMTP timeout gửi trùng.
Kiến trúcSổ cái + chặn hạn trong câu INSERT, assignment publish/phúc khảo, 1 video 1 lúc bằng Redis, điểm để trống không thành 0. Đồng bộ với trường bằng version tới khi kết thúc khoá.
Kiến trúcSnapshot người nhận, chunk 500, claim bằng UPDATE, limiter chung, SES SendBulkEmail. Đo thật: queue chung Redis với cache mất sạch job, Redis::throttle cho lọt gấp đôi, index trên status làm ghi chậm gần 2 lần.
Kiến trúcĐo thật 500k dòng: get() 734MB, lazyById 28MB, chunk OFFSET chậm 5 lần và mất dòng, Laravel Excel 100k dòng 610MB. Stream bị cắt ra file thiếu dòng mà vẫn 200. Queue + chống trùng bằng unique index + signed URL, worker OOM exit 137 trên PHP 8.4.27.