<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>TechDaily</title>
    <link>https://tuanquynh.com</link>
    <description>Tin tức, phân tích và hướng dẫn chuyên sâu về web, mobile, AI và phần cứng máy tính.</description>
    <language>vi</language>
    <lastBuildDate>Tue, 08 Sep 2026 04:00:58 GMT</lastBuildDate>
    <atom:link href="https://tuanquynh.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Thiết kế ứng dụng LLM: context window, tool use và chi phí token</title>
      <link>https://tuanquynh.com/topic/ai/thiet-ke-ung-dung-llm-context-tool-use-chi-phi</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/ai/thiet-ke-ung-dung-llm-context-tool-use-chi-phi</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <category>ai</category>
      <description>Phần khó của một ứng dụng LLM không phải là gọi API. Nó nằm ở việc quyết định cái gì được đưa vào context, ai được gọi tool, và mỗi request tốn bao nhiêu.</description>
      <enclosure url="https://tuanquynh.com/images/articles/ai/thiet-ke-ung-dung-llm-context-tool-use-chi-phi/cover.svg" type="image/*" />
    </item>
    <item>
      <title>Server Components thay đổi cách chia dữ liệu trong ứng dụng React</title>
      <link>https://tuanquynh.com/topic/react/server-components-thay-doi-cach-chia-du-lieu</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/react/server-components-thay-doi-cach-chia-du-lieu</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <category>react</category>
      <description>Server Components không chỉ là tối ưu bundle. Chúng dịch chuyển đường biên giữa dữ liệu và tương tác, và đó là quyết định kiến trúc bạn phải chủ động đưa ra.</description>
      <enclosure url="https://tuanquynh.com/images/articles/react/server-components-thay-doi-cach-chia-du-lieu/cover.svg" type="image/*" />
    </item>
    <item>
      <title>Dialog, popover và details: bộ ba HTML thay thế modal viết bằng JavaScript</title>
      <link>https://tuanquynh.com/topic/html/dialog-popover-details-thay-the-modal-javascript</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/html/dialog-popover-details-thay-the-modal-javascript</guid>
      <pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate>
      <category>html</category>
      <description>Ba tính năng HTML đã đủ chín để bạn xoá phần lớn code modal, dropdown và accordion tự viết: thẻ dialog, thuộc tính popover và thẻ details.</description>
      <enclosure url="https://tuanquynh.com/images/articles/html/dialog-popover-details-thay-the-modal-javascript/cover.svg" type="image/*" />
    </item>
    <item>
      <title>Container query: viết layout theo component thay vì theo viewport</title>
      <link>https://tuanquynh.com/topic/css/container-query-layout-theo-component</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/css/container-query-layout-theo-component</guid>
      <pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate>
      <category>css</category>
      <description>Media query hỏi trình duyệt về cửa sổ. Container query hỏi về không gian mà component thực sự có — và đó là câu hỏi đúng cho một design system.</description>
      <enclosure url="https://tuanquynh.com/images/articles/css/container-query-layout-theo-component/cover.svg" type="image/*" />
    </item>
    <item>
      <title>Từ Object.groupBy tới Temporal: JavaScript hiện đại bớt phụ thuộc thư viện</title>
      <link>https://tuanquynh.com/topic/js/javascript-hien-dai-bot-phu-thuoc-thu-vien</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/js/javascript-hien-dai-bot-phu-thuoc-thu-vien</guid>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <category>js</category>
      <description>Một loạt tính năng ngôn ngữ và web API đã thay thế những thư viện mà gần như dự án nào cũng cài: lodash cho gom nhóm, moment cho ngày tháng, uuid cho id.</description>
      <enclosure url="https://tuanquynh.com/images/articles/js/javascript-hien-dai-bot-phu-thuoc-thu-vien/cover.svg" type="image/*" />
    </item>
    <item>
      <title>Test runner, watch mode và permission model: Node.js tự lo phần việc trước đây cần thư viện</title>
      <link>https://tuanquynh.com/topic/nodejs/nodejs-test-runner-watch-permission-model</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/nodejs/nodejs-test-runner-watch-permission-model</guid>
      <pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate>
      <category>nodejs</category>
      <description>Node.js hiện đại có test runner, watch mode, đọc .env và một permission model ngay trong core. Với nhiều service, đó là ba dependency và một file config bị xoá.</description>
      <enclosure url="https://tuanquynh.com/images/articles/nodejs/nodejs-test-runner-watch-permission-model/cover.svg" type="image/*" />
    </item>
    <item>
      <title>New Architecture của React Native: Fabric, TurboModules và chi phí nâng cấp thực tế</title>
      <link>https://tuanquynh.com/topic/react-native/new-architecture-fabric-turbomodules-chi-phi-nang-cap</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/react-native/new-architecture-fabric-turbomodules-chi-phi-nang-cap</guid>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <category>react-native</category>
      <description>New Architecture bỏ bridge bất đồng bộ để gọi native trực tiếp qua JSI. Lợi ích rõ, nhưng chi phí nằm ở các thư viện native mà dự án của bạn đang dùng.</description>
      <enclosure url="https://tuanquynh.com/images/articles/react-native/new-architecture-fabric-turbomodules-chi-phi-nang-cap/cover.svg" type="image/*" />
    </item>
    <item>
      <title>Impeller và Dart hiện đại: vì sao Flutter bớt giật ở frame đầu tiên</title>
      <link>https://tuanquynh.com/topic/flutter/impeller-dart-3-flutter-muot-hon</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/flutter/impeller-dart-3-flutter-muot-hon</guid>
      <pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate>
      <category>flutter</category>
      <description>Vấn đề jank khét tiếng của Flutter phần lớn đến từ việc biên dịch shader lúc chạy. Impeller giải quyết tận gốc bằng cách dựng shader trước khi app khởi động.</description>
      <enclosure url="https://tuanquynh.com/images/articles/flutter/impeller-dart-3-flutter-muot-hon/cover.svg" type="image/*" />
    </item>
    <item>
      <title>Property hooks và lazy objects: PHP 8.4 xoá bớt boilerplate trong model</title>
      <link>https://tuanquynh.com/topic/php/php-property-hooks-lazy-objects-bot-boilerplate</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/php/php-property-hooks-lazy-objects-bot-boilerplate</guid>
      <pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate>
      <category>php</category>
      <description>Property hooks cho phép getter và setter sống ngay trong khai báo property, còn lazy objects đưa cơ chế proxy của ORM vào chính ngôn ngữ.</description>
      <enclosure url="https://tuanquynh.com/images/articles/php/php-property-hooks-lazy-objects-bot-boilerplate/cover.svg" type="image/*" />
    </item>
    <item>
      <title>Core Web Vitals với INP: điều gì thực sự ảnh hưởng tới điểm số</title>
      <link>https://tuanquynh.com/topic/web-technology/core-web-vitals-inp-anh-huong-diem-so</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/web-technology/core-web-vitals-inp-anh-huong-diem-so</guid>
      <pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate>
      <category>web-technology</category>
      <description>INP đo toàn bộ thời gian từ lúc người dùng chạm tới lúc khung hình cập nhật. Nó phạt đúng những thứ mà FID trước đây bỏ qua.</description>
      <enclosure url="https://tuanquynh.com/images/articles/web-technology/core-web-vitals-inp-anh-huong-diem-so/cover.svg" type="image/*" />
    </item>
    <item>
      <title>Máy cho developer: bao nhiêu nhân, bao nhiêu RAM là đủ</title>
      <link>https://tuanquynh.com/topic/pc-news/may-cho-developer-cpu-ram-nvme</link>
      <guid isPermaLink="true">https://tuanquynh.com/topic/pc-news/may-cho-developer-cpu-ram-nvme</guid>
      <pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate>
      <category>pc-news</category>
      <description>Ngân sách nên đổ vào đâu phụ thuộc việc bạn build code, chạy container, hay chạy model cục bộ — và ba trường hợp đó cần ba cấu hình khác nhau.</description>
      <enclosure url="https://tuanquynh.com/images/articles/pc-news/may-cho-developer-cpu-ram-nvme/cover.svg" type="image/*" />
    </item>
  </channel>
</rss>
