Bài đăng

⚡ Rebuild CSS/JS sau khi chỉnh giao diện Laravel Breeze 🛠️

Đây là dấu hiệu của việc Laravel Breeze đang chạy ở chế độ DEV bằng Vite : <script type="module" src="http://[::1]:5173/@vite/client"></script> <link rel="stylesheet" href="http://[::1]:5173/resources/css/app.css" /> <script type="module" src="http://[::1]:5173/resources/js/app.js"></script> [::1]:5173 = Vite dev server localhost. Khi upload host thật thì server không có chạy: npm run dev nên CSS/JS không load 😅 ✅ Cách fix đúng cho Laravel Breeze Production 🔧 Bước 1: build assets Ở máy local: npm install npm run build Sau đó Laravel sẽ tạo: public/build/ gồm: css js manifest.json ✅ Bước 2: upload thư mục build Upload nguyên thư mục: public/build lên host. ✅ Bước 3: kiểm tra Blade còn dùng @vite Trong: resources/views/layouts/guest.blade.php hoặc: resources/views/layouts/app.blade.php phải có: @vite(['resources/css/app.css', 'resources/js/app.js']) Laravel tự detect: DEV → dùng l...

👥Hướng dẫn cài đặt và sử dụng forum Flarum trong 1h⏱️

🧩Cài đặt p/S: nếu định làm subdomain kiểu: forum.abc.vn thì tạo ngay từ đầu + test nslookup đảm bảo tên subdomain phân giải  →  IP thành công. ( subdomain buộc phải dùng bản cài trong📁 public root ???) ✅cách 1: dùng composer  (nếu host có hỗ trợ) ✅cách 2: tạo📁chứa forum → 📤upload source lên host (📥download bản no public dir ) trước khi cài đặt vào Control Panel \ Account Manager \ Databases tạo database rỗng (phpmyAdmin k đủ quyền) → chú ý xem host cho tạo bao nhiêu databases. 🎉Sử dụng 1️⃣🔑  Admin dashboard 2️⃣🛠️ Configuration file 3️⃣🏷️Tạo chuyên mục (~5 phút) Admin: Dashboard → Tags → Create Tag Ví dụ: 📢 Thông báo 💻 Lập trình 📈 Chứng khoán 🎮 Game ❓ Hỏi đáp ━━━━━━━━━━━━━━━━━━  4️⃣👥Phân quyền (~5 phút) Vào: Permissions Thiết lập: 🔓 Khách xem bài? ✍️ Thành viên đăng bài? 🗑️ Xóa bài? 👑 Moderator? ━━━━━━━━━━━━━━━━━━ 5️⃣🎨Đổi giao diện (~5 phút) Admin: Appearance Có thể đổi: 🌙 Dark mode 🎨 Màu chủ đạo 🖼️ Logo 📱 Favicon ━━━━━━━━━━━━━━...

🔎 Search bằng giọng nói📢

Trình duyệt hiện nay hỗ trợ Speech Recognition API (Chrome, Edge khá ổn).  Có thể thêm nút 🎤 cạnh ô search, khi bấm sẽ tự chuyển giọng nói → text. Ví dụ sửa HTML như này: <nav> <!-- xử lý JS dòng 227x --> <a class="nav-link" data-widget="navbar-search" href="#" role="button"> <i class="fas fa-search"></i> </a> <div class="navbar-search-block navbar-dark" style="display:none;"> <form class="form-inline"> <div class="input-group input-group-sm"> <input class="form-control form-control-navbar" id="navbarSearchInput" type="search" placeholder="🔍 Search hoặc 🎤 nói..." autocomplete="off"> <div id="navbarSu...

🧭Guided Tour cho trang web🧩

Đó là một pattern UI khá phổ biến gọi là “feature tour / guided tour / onboarding highlight” — kiểu hướng dẫn trực quan ngay trên giao diện web 👍 Nó thường làm 3 việc chính: 🧭 Cơ chế hoạt động 🔦 Làm tối toàn bộ màn hình (overlay) ✨ Highlight 1 vùng (element) cần chú ý 👉 Hiện tooltip + con trỏ giả (fake cursor) để hướng dẫn thao tác 🧩 Cách người ta implement ⚙️ Cách 1: Dùng thư viện có sẵn (nhanh – chuẩn – đẹp) Một số lib phổ biến: Intro.js Shepherd.js Driver.js 👉 Ví dụ dùng Driver.js (rất gọn): <link rel="stylesheet" href="https://unpkg.com/driver.js@0.9.8/dist/driver.min.css"> <script src="https://unpkg.com/driver.js@0.9.8/dist/driver.min.js"></script> <script> window.onload = function(){ const driver = new Driver(); driver.defineSteps([ { element: '#btnLinks', popover: { title: 'Liên kết ngoài', description:...

🎯Live Photo dùng để làm gì?

Chế độ Live (Live Photos) trên iPhone không chỉ chụp một tấm ảnh tĩnh — mà nó ghi lại khoảng 1.5 giây trước và sau khi bạn bấm nút chụp .  Kết quả là một “ảnh động nhẹ” (mini video + ảnh). 🎯 Live Photo dùng để làm gì? 🎥 1. Ghi lại khoảnh khắc “có hồn” Không chỉ là ảnh đứng im Có chuyển động + âm thanh ngắn 👉 Ví dụ: chụp trẻ con cười, sóng biển, gió thổi tóc... 🧠 2. Chọn lại khoảnh khắc đẹp nhất (Key Photo) Sau khi chụp → bạn có thể tua lại và chọn frame đẹp nhất làm ảnh chính 👉 Cực hữu ích khi: Người nhắm mắt 😴 Biểu cảm chưa đẹp 😅 🎨 3. Tạo hiệu ứng đặc biệt iPhone cho phép biến Live Photo thành: Loop (lặp lại như GIF) Bounce (chạy tới lui) Long Exposure (phơi sáng giả lập – kiểu nước mịn, đèn kéo vệt) 🔊 4. Có âm thanh đi kèm Live Photo ghi luôn âm thanh xung quanh 👉 Xem lại sẽ “có cảm giác thật” hơn 🖼️ 5. Làm hình nền động (Lock Screen) Có thể đặt làm wallpaper → nhấn giữ để ảnh “chạy” ⚠️ Khi nào nên TẮT Live? Muốn tiết kiệm dung lượng (Live nặng hơn ảnh thường) Chụ...

🚀Lỗi file tài nguyên không update bản mới📌

📦 Các file tài nguyên như .css , .js , .json khi thay đổi trên host ➡️ máy user chưa update ngay lập tức ❗ Nguyên nhân: browser vẫn dùng cache cũ 🛠️ Khắc phục: 🔧 Cách 01: Tắt cache bằng DevTools 👉 Mở Developer Tool ( Ctrl + Shift + I ) 👉 Tab Network 👉 Tick ✅ Disable cache 📌 p/s: ❌ Phải làm thủ công từng máy 💀 Không khả thi nếu có hàng ngàn / triệu user 🔁 Cách 02: Versioning file (khuyên dùng) 👉 Sửa link file để “đánh lừa” browser là file mới 💡 Ví dụ: drM.css → drM.css?ver=1.0 📈 Khi update: drM.css?ver=1.1 → 2.0 → 3.0... 📌 p/s: ✅ Chỉ cần sửa link 1 lần trên server 🔥 Cách này chuẩn production ⏱️ Cách 03: Gắn timestamp (Date.now) 👉 Tương tự cách 02 nhưng dùng thời gian: drM.css?time=1710000000 📌 p/s: ⚠️ Nhược điểm: 🔄 Mỗi lần user refresh → browser luôn nghĩ là file mới (do chuỗi Date.now phía sau luôn thay đổi) 🐢 → Load lại toàn bộ → app chậm 🎯 Kết luận nhanh: 🔢 ⚙️ Phương pháp 💡 Đánh giá 1️⃣ Disable cache ❌ Dev only 2️⃣ Version file ✅ Best practice 3️⃣ Timestamp ⚠️ D...

🎮Chia loại game🎮

Hình ảnh
Nghe “AAA game” mà gán cho Liên Quân Mobile thì… hơi lệch chuẩn một chút 😄.  Game này rất thành công , nhưng xét theo phân loại “AAA” truyền thống thì chưa hẳn đúng.  Để rõ ràng, mình phân loại game theo chuẩn ngành + dễ hiểu + có ví dụ cụ thể : 🎮 PHÂN LOẠI GAME & CÁC KHÁI NIỆM QUAN TRỌNG 🏆 1. AAA (Triple-A Game) 👉 Game “bom tấn” – ngân sách cực lớn, marketing khủng, chất lượng cao Đặc điểm: 💰 Chi phí: hàng chục → hàng trăm triệu USD 👨‍💻 Đội dev lớn (100–1000+ người) 🎬 Đồ họa, gameplay, cốt truyện cực kỳ đầu tư 📢 Quảng cáo toàn cầu Ví dụ: Grand Theft Auto V The Witcher 3: Wild Hunt Call of Duty: Modern Warfare 👉 ✔️ Chuẩn AAA thường là PC / Console , không phải mobile 💎 2. AA (Double-A Game) 👉 Game tầm trung – không khủng như AAA nhưng vẫn chất lượng Đặc điểm: 💰 Ngân sách vừa phải 👨‍💻 Team nhỏ hơn AAA 🎮 Gameplay tốt, nhưng không quá “cinematic” Ví dụ: A Plague Tale: Innocence Hellblade: Senua's Sacrifice 🧠 3. Indie Game 👉 Game độc lập – sáng tạo là chính ...