Bài đăng

Đang hiển thị bài đăng từ Tháng 12, 2025

🔍Search DOM navbar

Cái search bar trong AdminLTE sidebar này không phải form submit thường , mà được xử lý 100% bằng JavaScript của AdminLTE thông qua data-widget="sidebar-search" . Tôi bóc code gốc + cơ chế hoạt động  từng lớp 👇 1️⃣ HTML gốc (chỉ là “móc” – không xử lý logic) <div class="input-group" data-widget="sidebar-search"> <input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search"> <div class="input-group-append"> <button class="btn btn-sidebar"> <i class="fas fa-search fa-fw"></i> </button> </div> </div> 👉 Không có action, không submit , chỉ là UI + attribute data-widget . 2️⃣ JavaScript gốc của AdminLTE (quan trọng nhất) 📍 File ( AdminLTE 3.x): dist/js/adminlte.js hoặc dist/js/adminlte.min.js 3️⃣ Class xử lý: SidebarSearch AdminLTE dùng class ...

Laravel🤝Symfony

🤝 VÌ SAO LARAVEL LẠI THẤY CHỮ SYMFONY ? ✅ Trả lời ngắn gọn Laravel được xây dựng trên rất nhiều component của Symfony Laravel ≠ Symfony Laravel DÙNG Symfony làm nền 🧬 MỐI QUAN HỆ THẬT SỰ Symfony = bộ máy (engine, linh kiện) Laravel = xe hoàn chỉnh (UX, tiện nghi) Laravel chọn: Dùng component tốt nhất của Symfony Bọc lại bằng cú pháp dễ dùng hơn 🧩 NHỮNG THỨ LARAVEL MƯỢN TỪ SYMFONY Bạn sẽ thấy trong vendor/ : Component Symfony Laravel dùng để làm gì symfony/http-foundation Request / Response symfony/routing Routing symfony/console Artisan symfony/event-dispatcher Event symfony/process Chạy process symfony/error-handler Xử lý lỗi symfony/var-dumper dd() 👉 Vì vậy mới thấy: Symfony\Component\HttpFoundation\Request 🧠 TẠI SAO LARAVEL KHÔNG VIẾT TỪ ĐẦU? Taylor Otwell (cha đẻ Laravel): “Don’t reinvent the wheel” Symfony đã chuẩn – ổn định – battle-tested Laravel tập trung: Developer Experience API đẹp Tốc độ phát triển ⚖️ SO SÁNH VAI TRÒ Symfony Laravel Framework lõi Framework tr...

📍Đọc log trong Laravel

Laravel có log riêng , không nằm lẫn với log Apache/Nginx. 📍 LOG CỦA LARAVEL NẰM Ở ĐÂU? ✅ VỊ TRÍ MẶC ĐỊNH storage/logs/laravel.log 👉 99% lỗi Laravel nằm ở đây 🔍 CÁCH XEM LOG NHANH NHẤT 🖥️ Trên terminal (host / VPS) tail -f storage/logs/laravel.log Hoặc xem 50 dòng cuối: tail -n 50 storage/logs/laravel.log 📝 Mở trực tiếp bằng editor File Manager → storage/logs/laravel.log Mở bằng VSCode / Notepad++ 🚨 NẾU KHÔNG THẤY FILE laravel.log ? 1️⃣ Chưa có lỗi nào xảy ra 👉 Laravel chỉ tạo log khi có lỗi 2️⃣ Quyền thư mục sai (RẤT HAY GẶP TRÊN HOST) Cần quyền: storage/ bootstrap/cache/ 👉 Thường set: chmod -R 775 storage bootstrap/cache (hoặc 777 nếu host khó) ⚙️ KIỂM TRA CẤU HÌNH LOG .env LOG_CHANNEL=stack LOG_LEVEL=debug 👉 Sau khi đổi .env : php artisan config:clear 🧪 TEST LOG CÓ HOẠT ĐỘNG KHÔNG Trong bất kỳ controller nào: \Log::info('Test log Laravel OK'); 👉 Mở storage/logs/laravel.log sẽ thấy dòng log mới. 🧠 LOG KHÁC GÌ ERROR 500? Loại Ở đâu Laravel error storage/logs/lara...

🧭CRUD CHUẨN LARAVEL

Errors log: Cài  Laravel  trên host nhưng k phù hợp  php  version Dùng lệnh  artisan  trong  Terminal  nhưng chưa đứng trong thư mục chứa source  Laravel Lỗi  ABCController not found  khi chạy artisan -> do thiếu khai báo namespace ở đầu file web.php Dưới đây là 👉 LỘ TRÌNH 3 NGÀY – CRUD CHUẨN LARAVEL Thiết kế cho người đã có nền tảng lập trình , học để làm thật , không lan man. 🧭 MỤC TIÊU SAU 3 NGÀY ✔ Hiểu chuẩn luồng Laravel ✔ Tự tay xây CRUD hoàn chỉnh ✔ Code đọc được – mở rộng được – không bừa ✔ Sẵn sàng làm app nội bộ / dashboard / CMS 📅 NGÀY 1 – NỀN TẢNG & CRUD CƠ BẢN (80%) ⏱️ ~2–3 giờ 🎯 Mục tiêu ngày 1 Hiểu luồng MVC Làm CRUD chạy được Không cần đẹp – chỉ cần đúng 🧩 1️⃣ Tạo project CRUD mẫu Ví dụ: Post (id, title, content, status) php artisan make:model Post -mcr ➡️ Tạo: Model: app/Models/Post.php Migration Controller resource 🧱 2️⃣ Migration – Tạo bảng Gõ đoạn code sau để tạo bảng trong file databa...

📝Ghi chú cuối trang khi gõ văn bản

Nếu muốn ghi chú / chú thích , có 3 cách phổ biến (tùy mục đích ghi chú cho mình hay cho người khác): 📝 1️⃣ Ghi Ghi chú (Comment) – giống Word 👉 Dùng khi muốn đánh dấu, nhận xét, nhắc việc 🔹 Cách vào: Bôi đen đoạn văn cần ghi chú Vào menu: Review → New Comment Hoặc chuột phải → Add Comment Phím tắt: Ctrl + Alt + M 📌 Ghi chú sẽ hiện ở lề phải tài liệu ✅ Phù hợp: Soát thảo Ghi nhớ ý tưởng Trao đổi khi làm chung 📎 2️⃣ Ghi Chú thích cuối trang (Footnote / Endnote) 👉 Dùng cho tài liệu học thuật, luận văn, báo cáo 🔹 Cách vào: Đặt con trỏ tại từ / câu cần chú thích Vào: References → Insert Footnote hoặc References → Insert Endnote 📌 Footnote: hiện cuối trang 📌 Endnote: hiện cuối tài liệu ✅ Phù hợp: Giải thích thuật ngữ Dẫn nguồn Viết nghiên cứu 🗒️ 3️⃣ Ghi chú riêng cho mình (Text Box / Sticky note giả lập) 👉 Khi muốn ghi chú không in ra 🔹 Cách làm: Vào: Insert → Text Box Gõ nội dung ghi chú Có thể: Đổi màu nền 🟨 Giảm độ trong suốt Đặt ra mép trang 📌 Khi in: có thể ẩn hoặc xó...

👉Laravel - Ưu và Nhược điểm

Vì Laravel   không phải framework nhanh nhất ,  không nhẹ nhất , nhưng lại là  framework được giới lập trình viên ưu chuộng nhất  trong thế giới PHP. 👉 Lý do nằm ở  triết lý + trải nghiệm + hiệu quả thực tế . 🔥 VÌ SAO LẬP TRÌNH VIÊN CHỌN LARAVEL? 🧠 1️⃣ Triết lý “Developer Happiness” (cực kỳ quan trọng) Laravel sinh ra  không chỉ để chạy , mà để: 👉  lập trình viên cảm thấy thoải mái khi viết code So sánh nhanh: Framework Cảm giác PHP thuần Tự do nhưng hỗn loạn CodeIgniter Nhẹ nhưng cũ Symfony Chuẩn nhưng nặng Laravel Cân bằng – dễ thở – có tổ chức 📌  Viết Laravel = code như suy nghĩ 🧩 2️⃣ MVC + Convention over Configuration Laravel  quy định rõ : Model ở đâu Controller làm gì View làm gì ➡️  Không cần nghĩ “đặt file đâu” , chỉ tập trung nghiệp vụ. 📌 Người mới vào team  học rất nhanh ⚙️ 3️⃣ Eloquent ORM – “vũ khí hủy diệt” của Laravel $users = User::where('status', 1)->get(); So với SQL thuần: SELECT * FROM users WHERE sta...

⏱️ LỘ TRÌNH 1 GIỜ LÀM CHỦ CẤU TRÚC LARAVEL

Với chỉ 1 giờ để nắm Laravel 11.47 ( PHP 8.2 ) , nên tập trung đúng chỗ – đúng file – đúng luồng chạy .  Dưới đây là bản đồ tinh gọn nhất dành cho người đã có nền tảng lập trình 👍 ⏱️ LỘ TRÌNH 1 GIỜ LÀM CHỦ CẤU TRÚC LARAVEL ⏱️ 0–10 phút: Hiểu kiến trúc tổng thể (MVC) Laravel dùng MVC mở rộng : Request → Route → Controller → Model → DB ↓ View (Blade) 📌 Bạn cần nhớ 5 thứ cốt lõi : Route (định tuyến) Controller (xử lý logic) Model (làm việc với DB) View (giao diện) Config & .env ⏱️ 10–30 phút: Cấu trúc thư mục QUAN TRỌNG NHẤT 🔑 1️⃣ routes/ – Điểm vào của mọi request routes/ ├── web.php 👉 route cho web (HTML, Blade) ├── api.php 👉 route cho API (JSON) 📌 Ví dụ: Route::get('/', function () { return view('welcome'); }); ➡️ Laravel 11: Không còn Kernel.php , middleware gắn trực tiếp trong route / bootstrap. 🔑 2️⃣ app/ – Trái tim logic app/ ├── Models/ 👉 Model (Eloquent ORM) ├── Http/ │ ├── Controll...

⚡Lấy ảnh Windows Spotlight⚡

p/S : thực tế bấm👉 Tìm hiểu Ảnh này sẽ nhảy ra link web →👉 Nhấn F12 → tab Network - lọc 🖼️ img - mở ra tab🆕... Tải ảnh màn hình Welcome/Lock Screen của Windows (Windows Spotlight) có 2 cách chuẩn nhất để lấy file gốc từ máy Windows. 🟦 CÁCH 1 — LẤY ẢNH TỪ THƯ MỤC ẨN (Windows Spotlight) Windows lưu ảnh Spotlight trong 1 folder bí mật. 👉 Bước 1: Mở thư mục chứa ảnh Spotlight Dán đường dẫn này vào File Explorer: %localappdata%\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets 👉 Bước 2: Copy toàn bộ file trong đó ra Desktop Trong folder này không có phần mở rộng (đuôi file) , tất cả đều là ảnh. 👉 Bước 3: Đổi tên file sang .jpg Ví dụ: 7c3cfe... → đổi thành 7c3cfe.jpg Sau khi đổi tên, ảnh sẽ hiển thị được. Trong số đó sẽ có ảnh Coricancha mà Tiến sĩ M cần. 🟩 CÁCH 2 — DÙNG APP “Spotlight Wallpaper” (dễ nhất) Nếu muốn tự động tải về toàn bộ ảnh Windows Spotlight theo ngày: 🔧 App miễn phí trên Microsoft Store: Spotlight Wallp...