NTM Solutions

Thứ Sáu, 31 tháng 7, 2026

🚀 Laravel 12 (2026) — Bài 22 — Login

Ở bài trước, chúng ta đã cài đặt Laravel Breeze và có thể đăng ký, đăng nhập vào hệ thống.

Tuy nhiên, khi người dùng nhập Email và Password rồi nhấn Login, phía sau Laravel đã thực hiện những công việc gì?

Trong bài này, chúng ta sẽ tìm hiểu quy trình đăng nhập, Session và cách lấy thông tin người dùng đang đăng nhập để sử dụng trong ứng dụng.


Login là gì?

Login (Đăng nhập) là quá trình xác thực người dùng.

Người dùng cung cấp:

  • Email

  • Password

Laravel sẽ kiểm tra thông tin này với dữ liệu trong cơ sở dữ liệu.

Nếu hợp lệ:

  • Tạo Session 

  • Ghi nhớ người dùng.

  • Cho phép truy cập các trang được bảo vệ.

Nếu không hợp lệ:

  • Trả về trang đăng nhập.

  • Hiển thị thông báo lỗi.

Thứ Năm, 30 tháng 7, 2026

🚀 Laravel 12 (2026) — Bài 21 — Laravel Breeze

Errors log:

Sau khi cài Breeze file route bị ghi đè (mất dữ liệu)

-> sửa lại thêm middleware (để Breeze xác thực mới cho vào link)

Ví dụ:

use App\Http\Controllers\PostController;
use App\Http\Controllers\CategoryController;

Route::middleware('auth')->group(function () {

    Route::resource('posts', PostController::class);

    Route::resource('categories', CategoryController::class);

});

và giữ lại:

require __DIR__.'/auth.php';

ở cuối file.


Đến thời điểm này, chúng ta đã có thể xây dựng một Blog CMS với các chức năng như:

  • Quản lý Post

  • Category

  • Tag

  • Relationship

  • Form

  • Validation

  • Upload File

Tuy nhiên, ứng dụng vẫn còn thiếu một thành phần rất quan trọng:

Hệ thống đăng nhập và quản lý người dùng.

Laravel cung cấp một giải pháp chính thức để xây dựng Authentication hiện đại mang tên Laravel Breeze.

Thứ Hai, 27 tháng 7, 2026

🚀 Node.js LTS (2026) — Bài 11: Callback - Nền tảng của lập trình bất đồng bộ 🔄

"Trước khi có Promise và Async/Await, Callback chính là cách Node.js xử lý các tác vụ bất đồng bộ. Hiểu Callback sẽ giúp bạn hiểu vì sao JavaScript hiện đại được thiết kế như ngày nay."


🎯 Mục tiêu bài học

Sau bài này bạn sẽ:

  • Hiểu Callback là gì.

  • Phân biệt Callback đồng bộ và bất đồng bộ.

  • Biết cách truyền Callback vào hàm.

  • Hiểu Callback Hell là gì.

  • Biết khi nào nên dùng Callback.

  • Hiểu vì sao Promise và Async/Await ra đời.

🎯Web Layout 2026 - Phần 2 # Bài 05 — CSS Reset: Đồng bộ giao diện trên mọi trình duyệt

Sau khi hoàn thành phần HTML5 Enterprise, chúng ta đã có thể xây dựng cấu trúc website chuẩn. Tuy nhiên, nếu mở cùng một trang trên Chrome, Firefox, Edge hoặc Safari, bạn sẽ thấy giao diện có thể không giống nhau.

Nguyên nhân là mỗi trình duyệt đều có một bộ CSS mặc định (User Agent Stylesheet) riêng.

Để giải quyết vấn đề này, lập trình viên thường bắt đầu dự án bằng CSS Reset.


🎯 Mục tiêu bài học

Sau bài này bạn sẽ:

  • Hiểu CSS Reset là gì.

  • Biết vì sao cần Reset CSS.

  • Phân biệt CSS Reset và Normalize CSS.

  • Tự xây dựng một bộ Reset hiện đại.

  • Chuẩn bị nền tảng cho Responsive Design và Design System.


CSS Reset là gì?

CSS Reset là tập hợp các quy tắc CSS giúp đưa tất cả các trình duyệt về một điểm xuất phát giống nhau.

Ví dụ:

Chrome có thể đặt:

body {
    margin: 8px;
}

Trong khi trình duyệt khác có thể xử lý khoảng cách hoặc kích thước mặc định khác nhau.

Điều này khiến cùng một mã HTML hiển thị không đồng nhất.

Chủ Nhật, 26 tháng 7, 2026

🎯Web Layout 2026 - Phần 1 # Bài 04 — Accessibility & ARIA: Xây dựng Website thân thiện với mọi người dùng

Một website chuyên nghiệp không chỉ đẹp và nhanh, mà còn phải dễ sử dụng đối với tất cả mọi người, bao gồm:

  • Người khiếm thị.

  • Người khiếm thính.

  • Người lớn tuổi.

  • Người gặp khó khăn về vận động.

  • Người chỉ sử dụng bàn phím.

  • Người dùng thiết bị di động.

Đó chính là mục tiêu của Accessibility (A11y).

HTML5 đã hỗ trợ rất nhiều tính năng Accessibility, và khi kết hợp với ARIA (Accessible Rich Internet Applications), chúng ta có thể xây dựng các website thân thiện với mọi người dùng.

Facebook Youtube RSS