What is Middleware in Express and How It Works A checkpoint between request and response Every request that hits an Express server doesn’t go straight from “arrived” to “answered.” In …
Nguồn: https://towardsdev.com/what-is-middleware-in-express-and-how-it-works-26a0dc40ef8c. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Bài viết mô tả cách xây dựng phiên trò chuyện video tạm thời trên trình duyệt bằng WebRTC, WebSockets và Node.js, với mục tiêu giảm thiểu dữ liệu lưu trữ sau khi cuộc gọi kết thúc. Nó giải thích việc tách luồng média ra khỏi kênh tín hiệu, yêu cầu quyền truy cập camera/mic chỉ khi người dùng thực hiện hành động, và sử dụng máy chủ để ghép phiên dựa trên thông báo qua WebSocket. Khi thiết lập kết nối peer‑to‑peer, bài viết chi tiết quá trình trao đổi SDP offer/answer và ứng viên ICE, lý do STUN thường không đủ và cần TURN làm phương án dự phòng để vượt qua NAT/firewall. Các phiên được mô hình như máy trạng thái rõ ràng, đảm bảo việc ngắt kết nối đúng cách bao gồm đóng RTCPeerConnection, dừng các MediaTrack và xóa trạng thái phiên ở phía server để tránh rò rỉ tài nguyên. Ngoài ra, bài viết đề xuất thêm các hook kiểm duyệt, giám sát trạng thái kết nối và deliberately test các đường dẫn lỗi (mất ICE, thất bại TURN) để nâng cao độ ổn định và bảo mật của hệ thống chat video tạm thời.
Đang tải bình luận…
pnpm 11.21 và 11.22 thay đổi cách pnpm install xử lý lockfile, cập nhật nó trực tiếp thay vì giải quyết lại toàn bộ đồ thị phụ thuộc cho hầu hết các thay đổi thường ngày. Điều này được thực hiện bằng cách tắt ghi lại SSH URLs trong lockfile, giúp tránh lỗi cài đặt trên CI khi các URL đó không thể truy cập. Đồng thời, các cài đặt toàn cầu được thực hiện nguyên tử và các cập nhật tương tác toàn cầu теперь chọn toàn bộ nhóm cài đặt, đồng thời thêm lệnh pnpm cache path để truy cập nhanh vào thư mục cache. Tuy nhiên, bản cập nhật cũng loại bỏ khả năng di chuyển trạng thái máy của pnpm qua pnpm-workspace.yaml, giới hạn sự linh hoạt trong cấu hình workspace. Từ những thay đổi này, lập trình viên nên lưu ý đến chiến lược quản lý lockfile, tránh sử dụng SSH URLs trong môi trường CI và cân nhắc tác động của việc không thể di chuyển trạng thái máy khi thiết kế workspace.
Bài viết này giúp bạn hiểu những cải tiến quan trọng trong pnpm 11.21-11.22, từ tối ưu hóa hiệu suất cài đặt đến tăng cường độ ổn định cho môi trường CI.
Bài viết so sánh chi phí thực tế giữa WebSocket, SSE và Long Polling qua các số liệu đo lường như dung lượng dữ liệu truyền tải trên dây (wire bytes) cho mỗi sự kiện, độ trễ ở vòng lặp 50 ms, và tác động của HTTP/2 lên từng phương thức.
Một lập trình viên nên đọc bài này để hiểu rõ cách chọn giữa WebSocket, SSE và Long Polling khi cần tối ưu hóa hiệu suất mạng, giảm chi phí băng thông và latency trong ứng dụng thực tế với hàng ngàn sự kiện.
OpenPubkey SSH (OPKSSH) là công cụ cho phép đăng nhập SSH bằng single sign‑on (OpenID Connect) thay vì quản lý khóa SSH dài hạn, và vừa được mã nguồn mở dưới giấy phép Apache 2.0 sau khi Cloudflare tặng код từ việc mua lại BastionZero cho dự án OpenPubkey. Công cụ hoạt động bằng cách nhúng OpenID ID Token, mở rộng bằng khóa công khai qua giao thức OpenPubkey, vào trường mở rộng của chứng chỉ SSH, chỉ cần thay đổi hai dòng trong sshd_config sử dụng AuthorizedKeysCommand mà không cần sửa mã khách hàng hoặc máy chủ. Thay thế khóa SSH tĩnh bằng khóa tạm thời, hết hạn và gắn liền với danh tính (ví dụ: địa chỉ email) thay vì khóa công khai thô, OPKSSH nâng cao bảo mật, dễ sử dụng và khả năng truy vết truy cập. Điều này cho thấy việc tích hợp SSO vào SSH có thể đạt được với cấu hình tối thiểu, mang lại lợi ích về quản lý danh tính và giảm rủi ro từ khóa vĩnh viễn. Đồng quyên góp công cụ nội bộ dưới giấy phép cho phép mở rộng cộng đồng và thúc đẩy việc áp dụng rộng rãi các phương pháp xác thực hiện đại.
OPKSSH giúp đăng nhập SSH đơn giản hóa bằng single sign-on thay vì quản lý khóa SSH dài hạn, nâng cao bảo mật và khả năng hiển thị quyền truy cập.
Bài viết thảo luận về những thách thức khi triển khai Single Sign-On (SSO) trong môi trường self-hosted, đặc biệt là vấn đề bảo mật và rủi ro tiềm ẩn khi hệ thống gặp sự cố.
Lập trình viên tự host nên đọc bài này để hiểu cách quản lý các vấn đề về quyền riêng tư và thuế liên quan đến dịch vụ đăng nhập đơn lẻ (SSO) khi triển khai hệ thống riêng của mình.
npm 12 mặc định tắt cài đặt scripts trong quá trình cài đặt package, buộc người dùng phải cho phép rõ ràng khi chạy scripts. Thay đổi này nhằm tăng cường bảo mật khi registry npm chuyển sang mô hình tin cậy minh bạch.
Lập trình viên nên đọc bài này vì npm 12 thay đổi cơ chế bảo mật bằng cách cắt bỏ mặc định quyền chạy script từ các gói npm, giúp giảm rủi ro từ các cuộc tấn công thông qua các lệnh tự động chạy trong dự án.
Bài viết mô tả cách nhanh chóng triển khai một máy chủ OAuth 2.0 bằng Keycloak để dùng trong quá trình phát triển và kiểm thử API. Quy trình bao gồm tạo realm, định nghĩa client với redirect URI và secret, sau đó bật các grant type cần thiết (authorization code, client credentials) – tất cả thực hiện trong giao diện admin của Keycloak trong vòng 3‑4 bước. Sau khi cấu hình xong, tác giả hướng dẫn sử dụng Bruno – công cụ test API dựa trên collection – để gửi request lấy access token và gọi các endpoint bảo vệ, minh họa bằng ví dụ thực tế với mã trạng thái 200 và payload JSON. Kết quả là nhà phát triển có thể tự động hóa việc lấy token trong các test script của Bruno, giảm thời gian thiết lập môi trường và tăng độ tin cậy của các kiểm thử tích hợp. Bài học chính là việc tách lớp xác thực ra khỏi mã ứng dụng và sử dụng công cụ test API như Bruno để mô phỏng luồng OAuth 2.0 thực tế, từ đó dễ dàng phát hiện lỗi cấu hình trước khi triển khai production.
Bài viết hướng dẫn bạn cách nhanh chóng thiết lập và kiểm thử OAuth 2.0 với Keycloak và Bruno chỉ trong vài bước đơn giản.
Bài viết hướng dẫn cách tối ưu hiệu suất cho ứng dụng Vue.js khi sử dụng Server‑Side Rendering (SSR), bắt đầu từ lý do tại sao SSR cần được tối ưu để giảm thời gian đầu trang và cải thiện trải nghiệm người dùng. Nó phân tích các nguyên nhân kỹ thuật phổ biến như quá trình render trên server tốn thời gian, hydration côté client không hiệu quả và thiếu cơ chế lưu trữ hoặc stream dữ liệu. Khi không khắc phục, ứng dụng sẽ gặp phải TTFB cao, Time‑to‑Interactive dài và tiêu thụ bandwidth không cần thiết, làm giảm điểm số LCP và FID trong các công cụ đo performance. Bài cung cấp các ví dụ mã và sơ đồ minh họa về cách áp dụng caching ở mức trang hoặc thành phần, sử dụng streaming SSR để gửi HTML dần dần, và triển khai selective hydration hoặc code‑splitting để giảm lượng JavaScript cần thực thi ở client. Từ những kỹ thuật này, nhà phát triển có thể rút ra bài học là cần kết hợp các chiến lược caching, streaming và hydration thông minh để đạt được ứng dụng Vue SSR nhanh hơn mà không phải 희생 tính năng.
Hướng dẫn tối ưu hóa hiệu suất Vue SSR này cung cấp chiến lược thực tế từ cơ bản đến nâng cao giúp tăng tốc độ ứng dụng của bạn.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000+ bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thử