Xem nhiều
Tìm kiếm bài viết trong Xem nhiều
Lấy HTML từ máy chủ: Hướng dẫn chi tiết từ backend đến frontend
Trong thời đại phát triển hướng máy chủ, việc gửi mã HTML đến client từ các template trên server là rất cần thiết. Bài viết này sẽ hướng dẫn các cách chính để thực hiện điều này bằng JavaScript, đồng
0 0 1
Hướng dẫn tạo trợ lý Chat AI tích hợp từ Gemini API
Gemini API mang lại nhiều lợi ích vượt trội, không chỉ giúp nâng cao trải nghiệm người dùng mà còn tăng khả năng tự động hóa, tiết kiệm thời gian và chi phí. Với khả năng hiểu sâu và xử lý nhiều loại
0 0 1
Part 2: Tại sao không nên dùng Filter hay GenericFilterBean trong JWT authentication, và nên dùng OncePerRequestFilter
Chào Mọi người,. Tiếp nối từ Part 1, tại sao nên dùng OncePerRequestFilter để triển khai xác thực JWT.
0 0 1
Giao tiếp giữa các thành phần trong kiến trúc Microfrontend
Hello các bạn lại là mình đây . Tiếp tục với series Chập chững làm quen với Microfrontend, ở bài hôm nay chúng ta sẽ cùng tìm hiểu cách để các Microfrontend giao tiếp với nhau như thế nào nhé.
0 0 1
Microservices: Tương lai của Kiến trúc có thể mở rộng
Bài viết này sẽ giúp các bạn hiểu rõ hơn về Microservices và các định nghĩa, khái niệm liên quan. Hãy cùng bắt đầu nhé.
0 0 1
Node.js là cái quái quỷ gì? Vì sao các Coder nên biết về nó
Giới thiệu. Bạn đã bao giờ tự hỏi làm thế nào mà một số ứng dụng web phổ biến có thể xử lý hàng ngàn yêu cầu cùng một lúc mà không gặp sự cố? Bí quyết thường liên quan đến Node.
0 0 1
Chọn Giải pháp Tối ưu cho Vector Database trong RAG
Trong hệ thống Retrieval-Augmented Generation (RAG), mình thấy rằng vector database đóng vai trò cực kỳ quan trọng trong việc lưu trữ và truy vấn các embeddings. Việc chọn đúng vector database sẽ ảnh
0 0 1
Kỹ thuật Infinite Scroll tối ưu hóa hiệu năng với GraphQL
I. Giới thiệu. Infinite Scroll là gì. Tại sao kết hợp Infinite Scroll với GraphQL.
0 0 1
AI: Cơ Hội và Thách Thức
Lợi thế của AI và khả năng thay thế lập trình viên. Trí tuệ nhân tạo (AI) đang phát triển với tốc độ chóng mặt và mang lại nhiều tiềm năng trong việc thay đổi ngành công nghiệp phần mềm.
0 0 1
Xây dựng ứng dụng fullstack với Angular, .NET Core Web API và ứng dụng triển khai phần mềm bằng CI/CD, Docker và Nginx (phần 1)
Giới thiệu. Trong bối cảnh phát triển ứng dụng hiện đại, việc tách riêng giao diện người dùng (frontend) và xử lý nghiệp vụ (backend) mang lại nhiều lợi ích vượt trội như khả năng mở rộng, bảo trì dễ
0 0 1
Các Cách Tiếp Cận Trong Giải Thuật - Hướng Dẫn Dễ Hiểu Cho Lập Trình Viên
Khi viết code, đôi khi chúng ta phải tìm cách giải quyết một bài toán sao cho nhanh chóng và hiệu quả nhất. Có nhiều cách tiếp cận trong giải thuật, mỗi cách có ưu và nhược điểm riêng.
0 0 1
Deep into Transaction
Hầu như tất cả những ai đọc bài này hẳn cũng biết transaction sinh ra để làm gì, đó là: Đảm bảo 1 process được thực hiện hoàn chỉnh từ bước đầu đến bước cuối, rollback trạng thái dữ liệu nếu xảy ra lỗ
0 0 1
[Phần 1] Hướng dẫn CRUD với Elasticsearch
Elasticsearch là một công cụ tìm kiếm siêu nhanh, giúp bạn lưu trữ và truy vấn dữ liệu một cách thần tốc. Nó cực kỳ hữu ích cho việc tìm kiếm full-text, phân tích dữ liệu và xử lý log.
0 0 1
Bí mật hàm mũi tên JavaScript: ()=>{} vs ()=>() - Khi nào nên dùng?
Hàm mũi tên (arrow function) đã trở thành một phần không thể thiếu trong JavaScript hiện đại. Tuy nhiên, sự khác biệt giữa hai cú pháp ()=>{} và ()=>() lại thường gây nhầm lẫn cho các lập trình viên,
0 0 1
Cursor và Windsurf so sánh và đánh giá
So sánh Cursor và Windsurf. Cursor và Windsurf là hai công cụ chỉnh sửa mã nguồn tích hợp AI nổi bật trong năm 2025, nhưng chúng phục vụ các nhu cầu khác nhau và có những điểm mạnh riêng.
0 0 1
JavaScript đang làm bạn bị chậm lại? Thử ngay 10 mẹo sau
JavaScript có thể là người bạn đồng hành tuyệt vời – hoặc cũng có thể là cơn ác mộng đối với nhiều lập trình viên. Đôi khi, nó giống như là điều kỳ diệu, nhưng lại có lúc khiến bạn chỉ biết nhìn chằm
0 0 1
Python Reverse Engineering: Bạn có thể crack được gì trong 2025?
Bạn đã bao giờ muốn lật ngược thế cờ trước những phần mềm phức tạp? Trong năm 2025, Reverse Engineering bằng Python không chỉ dành cho hacker—mà còn là một kỹ thuật mạnh mẽ giúp nhà phát triển, chuyên
0 0 1
Tấn công hàm băm (hash attack) - Tấn công xung đột băm (hash collision attack)
I. Hash attack.
0 0 1
Chương 3: Thiết kế và Ứng dụng Dự án Kafka
Chương 3: Thiết kế và Ứng dụng Dự án Kafka ️. Chương này tập trung vào cách thiết kế và triển khai một dự án Kafka thực tế.
0 0 1