Writing constant-time cryptography code in C++ requires fighting the compiler's own optimizations. Compilers like Clang can recognize branchless idioms, such as masking tricks for conditional selection, and 'optimize' them back into branches on architectures without a conditional move instruction, like RISC-V, which breaks the constant-time guarantee. The fix is the 'value barrier': an empty inline assembly block (asm("" : "+r"(mask))) that severs dataflow analysis so the compiler can't prove facts about a value. BoringSSL, used in Chromium and Android, relies on this trick. The value barrier can also block auto-vectorization, turning a 256-byte AVX512 loop load into an 8-byte scalar load. Clang 22 is planned to add a __builtin_ct_select intrinsic that lowers to cmov or csel.
Nguồn: https://mcyoung.xyz/2025/12/15/value-barriers. 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.
Đọ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ửIn this article, we’ll look at the architecture behind Scion.
Trải nghiệm hoàn thành thành công migration của design system trong sự nghiệp của tác giả mang lại niềm vui lớn khi áp dụng các phương pháp tính toán mới cho các dự án rewrite lớn. Sự thay đổi này cho rằng việc quản lý technical debt có thể được kiểm soát hiệu quả khi áp dụng các phương pháp tiếp cận có hệ thống. Các dự án rewrite lớn trước đây thường bị cho là quá rủi ro và tốn kém, nhưng bây giờ có thể được tính toán chi tiết hơn. Bài viết này cung cấp góc nhìn thực tế về cách tiếp cận và toán học đằng sau các quyết định rewrite, điều mà các lập trình viên nên tham khảo để tối ưu hóa chiến lược kỹ thuật.
Bài chia sẻ này sẽ mang lại góc nhìn mới về cách tiếp cận dự án lớn và chiến lược giảm thiểu nợ kỹ thuật hiệu quả.
On October 23, 2026, the unthinkable happened. It was supposed to be a mere formality: C++26 was up for a vote by the ISO National Bodi...
Blender đang tuyển dụng vị trí Software và DevOps Engineer cho các lập trình viên đam mê công nghệ 3D. Công ty cần bổ sung nhân sự để phát triển các dự án như Geometry Nodes và Blender Engine. Các ứng viên sẽ làm việc với công nghệ cụ thể như OpenGL, C++ và Python để cải thiện core functionality của phần mềm. Đây là cơ hội tốt cho những ai muốn đóng góp trực tiếp vào một dự án open-source nổi tiếng toàn cầu. Bạn sẽ được làm việc trong môi trường phát triển năng động và có tác động lớn đến cộng đồng người dùng Blender.
Bài viết này giúp lập trình viên khám phá cơ hội làm việc tại Blender, nơi họ có thể góp sức vào dự án phần mềm mã nguồn mở 3D hàng đầu thế giới.
What happens if you await something that never finishes? Does the method sit in memory until the heat death of the universe (or all the other possible scenarios)? Does it leak? Let's find out, and then do some things you should definitely 100% legit do in production.
Bumpy is an MIT-licensed, TypeScript tool for version management and changelogs in monorepos. It follows the changesets workflow, using markdown bump files, and adds support for workspace and catalog
James Hague lists five memorable programming books that shaped his thinking beyond the usual classics. They are 'Zen of Assembly Language' by Michael Abrash (1990), 'Scientific Forth' by Julian Noble (1992), 'Fractals, Visualization, and J' by Clifford Reiter (2000), 'Programmers At Work' by Susan Lammers (1986), and 'Thinking Forth' by Leo Brodie (1984). He praises Noble and Reiter's books for using niche languages to solve real problems instead of toy examples, and notes that 'Thinking Forth' is one of the few books about how to decompose problems and structure code. He notes Julian Noble died in 2007.
C++ liên tục bị các cơ quan như NSA và EU's Cyber Resilience Act đánh dấu là ngôn ngữ không an toàn về bộ nhớ. Bài phân tích ví dụ kiểm tra palindrome trên LinkedIn cho thấy nhiều vi phạm Core Guidelines và rủi ro kỹ thuật như truy cập chỉ mục không được kiểm tra. Dù được viết lại thành hàm is_palindrome() tổng quát hơn, mã vẫn không thể đảm bảo 100% an toàn. Bài viết chứng minh rằng "biên dịch và chạy được" không đồng nghĩa với "an toàn", và phần tiếp theo sẽ đề xuất giải pháp C++ hiện đại hơn.
Bài viết này giúp lập trình viên C++ nhận ra những lỗi bảo mật tiềm ẩn ngay cả trong code "đạt chuẩn" và hiểu sự khác biệt giữa code hoạt động và code an toàn.
Đang tải bình luận…