⌨️👨‍💻 🧠

  • Các loại Tests thiết yếu cho Front-End : Unit Tests, Performance Tests, Visual Regression Tests

    Các loại Tests thiết yếu cho Front-End : Unit Tests, Performance Tests, Visual Regression Tests

    🏛️ Vai trò kiểm soát chất lượng của Frontend Architect 🐛 Các loại lỗi (regressions) có thể xảy ra khi có code mới 🔔 Hậu quả chung:Tất cả các lỗi trên đều dẫn đến mất doanh thu. 🧪 Giải pháp chung cho các loại lỗi: Testing! 📝 Nguyên tắc lập kế hoạch test coverage 🌟…

  • Cách RedHat.com xây dựng hệ thống với thiết kế “super” clean cho Front End

    Cách RedHat.com xây dựng hệ thống với thiết kế “super” clean cho Front End

    1. Modular design là gì? Và vì sao thất bại? Ban đầu, team xây dựng website RedHat.com không hề có khái niệm “modular design”. Mỗi “band” (khối nội dung – content block) được viết theo kiểu top-down – nghĩa là style CSS được gắn rất cụ thể vào từng cấu trúc markup, ví dụ: Hệ…

  • Viết E2E test cho Angular bằng Cypress

    Viết E2E test cho Angular bằng Cypress

    Lý do viết E2E test 🛠️ 1. Thiết lập Cypress và viết test đầu tiên ✅ Các bước chính: 🧪 Viết test đầu tiên: // src/support/app.po.tsexport const getHeaderTitle = () => cy.get(‘.toolbar__title’);// src/e2e/app.cy.tsdescribe(‘ng-cypress-starter’, () => { beforeEach(() => cy.visit(‘/’)); it(‘should display the correct header title’, () => { getHeaderTitle().should(‘contain.text’,’Your first Cypress test in Angular’); });});…

  • Cách Team Lead ở Google dùng để dẫn dắt

    Cách Team Lead ở Google dùng để dẫn dắt

    📋 TL;DR – Bản tóm tắt bullet “xương sống” cho người bận rộn ❌ Đừng làm: ✅ Nên làm: Không có team nào hoạt động hiệu quả nếu thiếu người lãnh đạo. Ở Google – nơi mọi kỹ sư đều làm việc nhóm – vai trò lãnh đạo là bắt buộc. Nhưng Google chia rõ…

  • Quản lý State bên trong Angular bằng NgRx

    Quản lý State bên trong Angular bằng NgRx

    NgRx là hệ sinh thái quản lý state reactive trong Angular. Chương này giúp bạn nắm vững cách sử dụng các phần chính của NgRx để xây dựng ứng dụng có cấu trúc rõ ràng, dễ kiểm soát và mở rộng. Các kỹ thuật được trình bày: ✅ 1. Store đầu tiên với Actions &…

  • Data-Intensive Application: Lựa chọn mô hình dữ liệu and ngôn ngữ truy vấn

    Data-Intensive Application: Lựa chọn mô hình dữ liệu and ngôn ngữ truy vấn

    📘 Tư tưởng chủ đạo: Wittgenstein nói: “The limits of my language mean the limits of my world”. Trong hệ thống dữ liệu, mô hình dữ liệu chính là “ngôn ngữ” mô tả thế giới đó. Việc chọn mô hình nào sẽ ảnh hưởng lớn đến cách ta tư duy, thiết kế và tối ưu…

  • Angular & RxJS: Sự kết hợp lý tưởng

    Angular & RxJS: Sự kết hợp lý tưởng

    Bài này cung cấp nhiều công thức (recipes) thực chiến về cách sử dụng kết hợp Angular và RxJS để xử lý dữ liệu theo mô hình reactive. Các kỹ thuật bao gồm gọi HTTP tuần tự/ song song, xử lý nhiều stream cùng lúc, tránh memory leak, dùng async pipe, transform dữ liệu với…

  • AI Agents – Phần 4 – Orchestration

    AI Agents – Phần 4 – Orchestration

    Orchestration là quá trình giúp AI agent lựa chọn, kết hợp và thực thi các kỹ năng (skills) để xử lý các tác vụ phức tạp. Nếu chương trước nói về cách xây dựng skill, thì chương này trả lời câu hỏi: “Làm sao để agent sử dụng đúng skill, theo đúng thứ tự, để…

  • AI Agents – Phần 3 – Skills của một AI

    AI Agents – Phần 3 – Skills của một AI

    📌 Tổng quan Skills là những năng lực cụ thể cho phép AI agent thực hiện tác vụ, ra quyết định, và tương tác hiệu quả với môi trường. Chúng được xem như “năng lực hành nghề” của một chuyên gia con người. Một skill có thể là: Xem lại phần 2 tại: AI Agents…

  • Kỹ năng học nhanh bất kỳ kỹ năng nào

    Kỹ năng học nhanh bất kỳ kỹ năng nào

    🧠 1. Giới thiệu & Sai lầm chết người: Theory Overload Tác giả đã dành hơn 10 năm nghiên cứu cách học kỹ năng nhanh và dễ nhất. Trong quá trình dạy và đọc các nghiên cứu, tác giả phát hiện một sai lầm khiến gần như 100% người học thất bại: 👉 “Theory Overload”…