Phone

+84-969-772-069

Skype

nguyenminhduy8101996

Address

Ho Chi Minh City, Vietnam

Social

Blogs

Coding with .NET, Angular and much more!

Just a personal space where I share what I learn, what I build, and everything in between.

Jun 11, 2026 • 4 min read
Value type và Reference type khác nhau như thế nào trong C#?

Đây có lẽ là một trong những kiến thức “nhập môn” nhất của C#. Nhưng cũng là thứ rất nhiều người dùng hằng ngày mà chưa thật sự hiểu rõ phía dưới runtime đang xảy ra chuyện gì.

Jun 01, 2026 • 5 min read
Điều gì xảy ra trước khi Controller được gọi?

Rất nhiều người nghĩ, flow của ASP.NET Core chỉ đơn giản: HTTP Request -> Controller -> Return JSON. Thực tế, trước khi request đụng được Action bên trong Controller, nó phải đi qua khá nhiều tầng xử lý khác nhau dưới framework, đã được nhắc ở bài viết cũ, "Controller hoạt động thế nào?". Trong đó, Middleware và Filter là hai thứ dễ bị nhầm nhất. Vì nhìn qua, cả hai đều có thể log, validate, bắt exception hay xử lý before/after request. Nhưng thực tế nó nằm ở hai pipeline hoàn toàn khác nhau.

May 27, 2026 • 6 min read
IEnumerable và IQueryable khác nhau ở đâu?

LINQ trong .NET khiến việc query dữ liệu trong C# trở nên quá "mượt". Chỉ cần .Where(), .Select(), .OrderBy() là mọi thứ nhìn rất đơn giản. Và cũng vì syntax quá giống nhau nên rất nhiều người lầm tưởng IEnumerable và IQueryable giống nhau, chỉ khác mỗi "chỗ chạy"

May 25, 2026 • 6 min read
Cú lừa của Dependency Injection

Mỗi ngày sử dụng AddScoped, AddSingleton, constructor injection đã trở thành phản xạ vô điều kiện. Chỉ cần khai báo dependency trong constructor, ASP.NET Core sẽ tự "nhét" object vào đúng chỗ nó cần. Sự tiện lợi này khiến nhiều người nghĩ Dependency Injection đơn giản là framework tự new object chính mình. Nhưng phía dưới constructor injection là một hệ thống build dependency graph, cache object theo lifetime, resolve đệ quy và quản lý dòng đời phức tạp hơn tưởng tượng rất nhiều.

May 21, 2026 • 8 min read
Controller hoạt động như thế nào?

Khi code code API, việc tạo một class kế thừa ControllerBase, gắn vài cái [HttpGet], [HttpPost] rồi return Ok(data) đã trở thành phản xạ vô điều kiện. Mọi thứ quá trơn tru khiến chúng ta nghĩ framework chỉ có như thế.

May 20, 2026 • 4 min read
Pipeline của ASP.NET Core chạy ra sao?

Hỏi Middleware là gì, hầu hết ai cũng biết: "Nó là một đường ống Pipeline, request đi vào rồi response đi ra". Đúng, nhưng dừng ở đây vẫn chưa đủ. Bài này sẽ tóm tắt cơ bản nhất về Middleware, sau đó "lặn" xuống xem .NET dùng cơ chế gì để móc nối các component này thành một chuỗi liền mạch.

May 19, 2026 • 4 min read
Khi await giải phóng Thread, ai đang chạy đoạn code còn lại?

Tiếp nối bài trước, khi gặp await, Thread sẽ được giải phóng mang đi phục vụ request khác. Nhưng một câu hỏi đặt ra: "Nếu Thread bị thu hồi, CPU buông tay, thì ứng dụng dùng cái gì để duy trì kết nối và chờ dữ liệu kết quả trả về? Câu trả lời ngắn gọn: không có cái Thread nào ở đây cả.

May 18, 2026 • 4 min read
Async và await đã làm gì bên dưới?

Một lập trình viên khi bắt đầu làm quen với C#, chắc hẳn có lúc hay ngày nào cũng gõ async/await như một thói quen, nhưng đôi khi vô tình không để ý hoặc không hiểu thật sự cơ chế đằng sau nó. Bài này mình sẽ nói về luồng chạy thực tế của hai keyword này, để xem trình biên dịch nó sẽ chạy như thế nào?!