A post by Zach Leatherman (zachleat)
Nguồn: https://www.zachleat.com/web/icon-fall. 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.
Chiến dịch npm với package 'indexed-btree' cho thấy tấn công chuỗi cung ứng đang phát …
Đang tải bình luận…
Để tránh lộ thư mục dist/ hoặc src/ trong các đường dẫn import công khai, kỹ thuật này hướng dẫn việc xuất bản chỉ nội dung thư mục build (như ./dist) lên NPM với tư cách là gốc package bằng lệnh npm publish ./dist. Phương pháp này đòi hỏi thư mục phải chứa package.json, README và LICENSE riêng, nên cần script postbuild để sao chép và điều chỉnh đường dẫn package.json. Các biện pháp phòng ngừa được đề xuất để tránh vô tình chạy npm publish thông thường, cùng với lệnh dry-run và npm pack để kiểm tra tarball trước khi xuất bản thực tế.
Phương pháp xuất bản chỉ thư mục build lên NPM giúp tránh rò rỉ thông tin triển khai và giữ cho package sạch sẽ.
Đối với các nhà làm screencast và live demo, thành phần web mở nguồn <show-keystrokes> giúp hiển thị phím tắt và phím điều hướng ngay trên màn hình, giải quyết vấn đề các ứng dụng macOS bị chặn bởi chính sách bảo mật doanh nghiệp. Component này sử dụng Popover API và CSS Anchor Positioning để render ở lớp top-layer và theo dõi con trỏ, tự động đảo vị trí khi cần thiết. Với kích thước chỉ 1.9kB sau minify, <show-keystrokes> có thể nhúng qua một script tag và tự điều chỉnh nhãn phím modifier giữa macOS/Windows/Linux cùng theme sáng/tối. Đáng chú ý là dự án còn cung cấp bookmarklet và extension Chrome cho phép inject vào mọi site, kể cả những site có CSP strict.
Lập trình viên nên đọc bài này để tìm hiểu về thành phần web tùy chỉnh <show-keystrokes> giúp hiển thị phím tắt màn hình một cách linh hoạt cho các bài trình diễn và video hướng dẫn.
Bản phát hành Bun v1.4.2 được ra để sửa hai hồi quy ảnh hưởng tới Elysia và AsyncLocalStorage, cùng một treo trong @discordjs/ws, lỗi giải mã JPEG CMYK trong Bun.Image, một trường hợp crash JIT hiếm và một lỗi GC trên hệ thống musl. Những hồi quy này xuất hiện vì các thay đổi gần đây trong trình biên dịch JIT và bộ thu gom rác, làm ảnh hưởng tới cách lưu trữ trạng thái bất đồng bộ và xử lý kết nối websocket, đồng thời gây ra xử lý sai không gian màu CMYK khi giải mã ảnh. Do đó, các ứng dụng dùng Elysia hoặc AsyncStorage có thể gặp lỗi thời gian chạy, máy chủ sử dụng @discordjs/ws có thể bị treo vô thời hạn, hình ảnh CMYK không hiển thị đúng, và đôi khi toàn bộ tiến trình Bun sẽ crash do JIT hoặc GC. Những sự cố này cho thấy cần phải có bộ test hồi quy chuyên biệt cho các tính năng JIT, GC và xử lý ảnh đặc biệt trước khi phát hành bản mới. Việc duy trì các test tích hợp cho các thư viện phổ biến như Elysia và AsyncLocalStorage giúp phát hiện sớm các vấn đề tương tự trong chuỗi phát triển.
Lập trình viên cần đọc về Bun v1.4.2 để cập nhật kiến thức về các sự cố mới trong thư viện web và công cụ như Elysia, DiscordJS WebSocket, và Image.JS, giúp tránh lỗi trong dự án khi sử dụng phiên bản cũ.
ESLint phiên bản 10.11.0 đã được phát hành, đây là công cụ linting có khả năng mở rộng và cấu hình để phát hiện và báo cáo các mẫu mã trong JavaScript. Phiên bản mới này tập trung vào cải thiện hiệu suất và trải nghiệm người dùng với các tính năng mới như auto-fix cho nhiều quy tắc phổ biến. ESLint giúp duy trì chất lượng code một cách dễ dàng nhờ hệ thống quy tắc linh hoạt và khả năng tùy chỉnh cao. Với hơn 50 quy tắc tích hợp sẵn và hỗ trợ plugins từ cộng đồng, ESLint trở thành công cụ không thể thiếu cho các dự án JavaScript quy mô lớn.
Lập trình viên nên đọc bài này để cập nhật các tính năng mới và cải tiến trong ESLint v10.11.0 giúp nâng cao chất lượng code JavaScript.
Node.js 26.8.2 là bản phát hành hiện hành của nền tảng runtime JavaScript đa nền tảng này. Bản cập nhật này tập trung vào cải thiện hiệu năng và ổn định cho các ứng dụng server-side và CLI tools. Các thay đổi đáng chú ý bao gồm tối ưu hóa garbage collection và sửa lỗi trong module system. Nếu bạn đang làm việc với dự án Node.js, việc cập nhật lên phiên bản 26.8.2 sẽ mang lại lợi ích về hiệu năng và bảo mật cho ứng dụng của mình.
Bài viết này cung cấp thông tin cập nhật và đầy đủ về phiên bản Node.js 26.8.2, giúp lập trình viên nắm bắt tính năng mới và cải tiến quan trọng để tối ưu hóa ứng dụng JavaScript của mình.
React Hooks trông đơn giản nhưng bên trong phải xử lý nhiều phức tạp. useState hoạt động qua một data structure gọi là linked list trong Fiber tree. useEffect sử dụng linked list riêng để theo d dependencies và avoid unnecessary re-renders. Hooks thay thế class-based components bằng cơ chế "call order" và "closure" để giữ state giữa renders. Hiểu implementation giúp tối ưu performance và avoid pitfalls như rules of Hooks.
Bài viết giải thích cách hoạt động bên trong của React Hooks giúp lập trình viên hiểu sâu và sử dụng chúng hiệu quả hơn.
JavaScript toolchain đang dần chuyển từ JavaScript sang ngôn ngữ khác, với nhiều dự án đang xây dựng lại các công cụ bằng Rust. Oxc nổi bật như một bộ công cụ hiệu suất cao xử lý JavaScript và TypeScript, đang thay thế các công cụ truyền thống như ESLint và Babel. Nguyên nhân là Rust mang lại hiệu năng vượt trội so với JavaScript, đặc biệt trong các tác vụ xử lý code phức tạp. Hệ quả là các nhà phát triển có thể giảm đáng kể thời gian build và tăng tốc độ xử lý. Đáng học hỏi ở đây là xu hướng chuyển đổi ngôn ngữ cho toolchain để tối ưu hóa hiệu năng trong phát triển frontend.
Oxc mang lại hiệu năng vượt trội cho công cụ JavaScript và TypeScript, giúp tối ưu hóa quy trình phát triển frontend hiện đại.
Đọ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ử