<?xml version="1.0" encoding="UTF-8" ?>
<rss
    version="2.0"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:webfeeds="http://webfeeds.org/rss/1.0"
    xmlns:media="http://search.yahoo.com/mrss/"
    >
    <channel>
        <title>Atfrontend Tag - Viblo</title>
        <link>https://viblo.asia/rss</link>
        <description><![CDATA[Free service for technical knowledge sharing]]></description>
        <atom:link href="https://viblo.asia/rss/tags/atfrontend.rss" rel="self"></atom:link>
                <copyright>Sun* Inc.</copyright>
                                                <webfeeds:logo>https://viblo.asia/logo_full.svg</webfeeds:logo>
        <image>
            <url>https://viblo.asia/logo_full.svg</url>
            <title>Atfrontend Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-08-10T19:59:15+07:00</lastBuildDate>
                <item>
            <title><![CDATA[Làm chủ OpenSeadragon Bài 2: Kiến trúc dữ liệu Deep Zoom (DZI) - Cách cắt một bức ảnh Gigapixel thành hàng ngàn mảnh nhỏ (tiles) bằng các công cụ như VIPS.]]></title>
                        <link>https://viblo.asia/p/lam-chu-openseadragon-bai-2-kien-truc-du-lieu-deep-zoom-dzi-cach-cat-mot-buc-anh-gigapixel-thanh-hang-ngan-manh-nho-tiles-bang-cac-cong-cu-nhu-vips-1QLxnEMg4Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/lam-chu-openseadragon-bai-2-kien-truc-du-lieu-deep-zoom-dzi-cach-cat-mot-buc-anh-gigapixel-thanh-hang-ngan-manh-nho-tiles-bang-cac-cong-cu-nhu-vips-1QLxnEMg4Aw</guid>
            <description><![CDATA[Chào mừng bạn đến với Bài 2 của series. Ở bài trước, chúng ta đã biết OpenSeadragon cần một cấu trúc "kim tự tháp" để có thể render mượt mà các bức ản...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-08-07 23:21:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải mã thuộc tính role trong HTML: Khi thẻ tầm thường hóa thành &quot;siêu anh hùng&quot; trợ năng]]></title>
                        <link>https://viblo.asia/p/giai-ma-thuoc-tinh-role-trong-html-khi-the-tam-thuong-hoa-thanh-sieu-anh-hung-tro-nang-kNLr3r6qVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-ma-thuoc-tinh-role-trong-html-khi-the-tam-thuong-hoa-thanh-sieu-anh-hung-tro-nang-kNLr3r6qVgA</guid>
            <description><![CDATA[Chào anh em!

Tiếp nối chuỗi bài mổ xẻ các thuộc tính HTML từ type cho đến placeholder, hôm nay chúng ta sẽ bước sang một vùng đất mới, cao cấp hơn và...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-24 22:58:46</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bóc trần thuộc tính placeholder: Trợ thủ đắc lực hay &quot;cú lừa&quot; UI/UX kinh điển?]]></title>
                        <link>https://viblo.asia/p/boc-tran-thuoc-tinh-placeholder-tro-thu-dac-luc-hay-cu-lua-uiux-kinh-dien-Nj4vgnMqJ6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/boc-tran-thuoc-tinh-placeholder-tro-thu-dac-luc-hay-cu-lua-uiux-kinh-dien-Nj4vgnMqJ6r</guid>
            <description><![CDATA[Chào anh em!

Nối tiếp chủ đề về thẻ <input>, hôm nay chúng ta sẽ bàn về một thuộc tính "nhỏ nhưng có võ" và cũng là nạn nhân bị lạm dụng nhiều nhất t...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-23 22:56:57</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[&quot;Tắc kè hoa&quot; của HTML: Khám phá sức mạnh vô cực của thuộc tính type trong thẻ ]]></title>
                        <link>https://viblo.asia/p/tac-ke-hoa-cua-html-kham-pha-suc-manh-vo-cuc-cua-thuoc-tinh-type-trong-the-input-y0VGwXP5VPA</link>
            <guid isPermaLink="true">https://viblo.asia/p/tac-ke-hoa-cua-html-kham-pha-suc-manh-vo-cuc-cua-thuoc-tinh-type-trong-the-input-y0VGwXP5VPA</guid>
            <description><![CDATA[Chào anh em!

Trong thế giới HTML, nếu phải bình chọn ra một thẻ (tag) có khả năng "biến hình" vi diệu nhất, đa năng nhất và được sử dụng nhiều nhất, ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-25 12:37:59</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Tuyệt kỹ xử lý giao diện trống với data-empty-text: Khi CSS &quot;gánh&quot; còng lưng JavaScript]]></title>
                        <link>https://viblo.asia/p/tuyet-ky-xu-ly-giao-dien-trong-voi-data-empty-text-khi-css-ganh-cong-lung-javascript-13VM9YRmVY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/tuyet-ky-xu-ly-giao-dien-trong-voi-data-empty-text-khi-css-ganh-cong-lung-javascript-13VM9YRmVY7</guid>
            <description><![CDATA[Chào anh em!

Khi xây dựng các ứng dụng Web, chúng ta thường xuyên phải đối mặt với bài toán Empty State (Trạng thái rỗng). Đó là khi người dùng chưa ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-21 21:53:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Kế thừa giao diện trong Laravel: Giải ngố @section() và nghệ thuật &quot;lắp ráp&quot; của Blade]]></title>
                        <link>https://viblo.asia/p/ke-thua-giao-dien-trong-laravel-giai-ngo-atsection-va-nghe-thuat-lap-rap-cua-blade-kNLr3r6oVgA</link>
            <guid isPermaLink="true">https://viblo.asia/p/ke-thua-giao-dien-trong-laravel-giai-ngo-atsection-va-nghe-thuat-lap-rap-cua-blade-kNLr3r6oVgA</guid>
            <description><![CDATA[Chào anh em Viblo, lại là mình đây!

Mặc dù anh em chúng ta mang tiếng là dân Backend, chuyên trị API và Database, nhưng chắc chắn khi làm việc với La...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-21 17:39:47</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Bóc trần &quot;ma thuật&quot; z-index trong CSS: Tại sao 99999 vẫn bị chìm nghỉm?]]></title>
                        <link>https://viblo.asia/p/boc-tran-ma-thuat-z-index-trong-css-tai-sao-99999-van-bi-chim-nghim-AWVpXvr5V05</link>
            <guid isPermaLink="true">https://viblo.asia/p/boc-tran-ma-thuat-z-index-trong-css-tai-sao-99999-van-bi-chim-nghim-AWVpXvr5V05</guid>
            <description><![CDATA[Cơn ác mộng mang tên z-index và những cú lừa

Hôm nay chúng ta sẽ tạm gác lại những câu chuyện về Database hay Backend để chuyển sang một chủ đề Front...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-21 16:51:15</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[javascript:void(0);: Khi thủ thuật &quot;cứu cánh&quot; ngày xưa trở thành &quot;tội đồ&quot; của hiện tại]]></title>
                        <link>https://viblo.asia/p/javascriptvoid0-khi-thu-thuat-cuu-canh-ngay-xua-tro-thanh-toi-do-cua-hien-tai-yZJZlDoQVjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/javascriptvoid0-khi-thu-thuat-cuu-canh-ngay-xua-tro-thanh-toi-do-cua-hien-tai-yZJZlDoQVjm</guid>
            <description><![CDATA[Chào anh em Viblo, lại là mình đây!

Nếu anh em nào đã từng trải qua cái thời kỳ "nguyên thủy" của Frontend, cái thời mà jQuery vẫn còn là vị vua thốn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-16 11:44:58</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Series Chinh phục Vercel | Bài 3: Next.js &amp; Dashboard - &quot;Trung tâm chỉ huy&quot; cho hệ thống Metro]]></title>
                        <link>https://viblo.asia/p/series-chinh-phuc-vercel-bai-3-nextjs-dashboard-trung-tam-chi-huy-cho-he-thong-metro-bA468gBxLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-chinh-phuc-vercel-bai-3-nextjs-dashboard-trung-tam-chi-huy-cho-he-thong-metro-bA468gBxLKv</guid>
            <description><![CDATA[Tại sao lại là Next.js? Vì nó là "đứa con cưng" của Vercel. Next.js không chỉ là một Frontend Framework, nó là một Full-stack framework. Nó cho phép b...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-11 18:24:15</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Frontend UX] Hàm hideWaitme(): &quot;Nút thoát&quot; cho những trải nghiệm chờ đợi mượt mà]]></title>
                        <link>https://viblo.asia/p/frontend-ux-ham-hidewaitme-nut-thoat-cho-nhung-trai-nghiem-cho-doi-muot-ma-1QLxnogO4Aw</link>
            <guid isPermaLink="true">https://viblo.asia/p/frontend-ux-ham-hidewaitme-nut-thoat-cho-nhung-trai-nghiem-cho-doi-muot-ma-1QLxnogO4Aw</guid>
            <description><![CDATA[Chào anh em! Trong các hệ thống Backend phức tạp hoặc các module quản lý dữ liệu lớn, việc "đóng băng" màn hình trong lúc dữ liệu được tải về là cực k...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-05 21:26:46</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Series Chinh phục Vercel | Bài 1: Vercel là gì? Tư duy &quot;Edge Network&quot; và Web hiện đại]]></title>
                        <link>https://viblo.asia/p/series-chinh-phuc-vercel-bai-1-vercel-la-gi-tu-duy-edge-network-va-web-hien-dai-oW4oeo9kLml</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-chinh-phuc-vercel-bai-1-vercel-la-gi-tu-duy-edge-network-va-web-hien-dai-oW4oeo9kLml</guid>
            <description><![CDATA[Hãy tưởng tượng hệ thống AFC của bạn có một trang Web dành cho hành khách kiểm tra lịch trình tàu hoặc nạp tiền vào thẻ. Nếu dùng Heroku, bạn phải thu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-11 18:23:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Series Leaflet Tutorials | Bài 3: Bùng nổ dữ liệu - Quản lý hàng nghìn thiết bị với MarkerCluster]]></title>
                        <link>https://viblo.asia/p/series-leaflet-tutorials-bai-3-bung-no-du-lieu-quan-ly-hang-nghin-thiet-bi-voi-markercluster-pPLkNOddJRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-leaflet-tutorials-bai-3-bung-no-du-lieu-quan-ly-hang-nghin-thiet-bi-voi-markercluster-pPLkNOddJRZ</guid>
            <description><![CDATA[Khi làm hệ thống bản đồ cho Metro, bạn sẽ quản lý hàng ngàn thiết bị đầu cuối tại 14 trạm (hoặc nhiều hơn). Nếu hiển thị tất cả cùng lúc, bản đồ sẽ bị...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-10 17:21:44</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[&quot;TypeScript Gymnastics&quot;: Đoạn code khiến tôi mất ngủ và sự giác ngộ về infer]]></title>
                        <link>https://viblo.asia/p/typescript-gymnastics-doan-code-khien-toi-mat-ngu-va-su-giac-ngo-ve-infer-gjLN06a9432</link>
            <guid isPermaLink="true">https://viblo.asia/p/typescript-gymnastics-doan-code-khien-toi-mat-ngu-va-su-giac-ngo-ve-infer-gjLN06a9432</guid>
            <description><![CDATA[Chào anh em thiện lành! Nếu anh em đã theo dõi những bài trước của mình về Architecture, Authz hay Caching, thì hôm nay chúng ta sẽ đổi gió một chút. ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-10 21:29:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Phân quyền tầng View: Giữa &quot;Bảo mật&quot; và &quot;Trải nghiệm người dùng&quot; (UX), bạn đang làm đúng hay sai?]]></title>
                        <link>https://viblo.asia/p/phan-quyen-tang-view-giua-bao-mat-va-trai-nghiem-nguoi-dung-ux-ban-dang-lam-dung-hay-sai-2vJPdn18JeK</link>
            <guid isPermaLink="true">https://viblo.asia/p/phan-quyen-tang-view-giua-bao-mat-va-trai-nghiem-nguoi-dung-ux-ban-dang-lam-dung-hay-sai-2vJPdn18JeK</guid>
            <description><![CDATA[Chào anh em! Vẫn là series những câu chuyện "bóc phốt" bản thân sau hơn 5 năm đi code dạo.

Nếu anh em làm Frontend, chắc chắn công việc hàng ngày khô...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-30 22:31:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Đừng trả về cục HTML qua AJAX nữa! Đã đến lúc Backend của bạn cần được &quot;giải thoát&quot;.]]></title>
                        <link>https://viblo.asia/p/dung-tra-ve-cuc-html-qua-ajax-nua-da-den-luc-backend-cua-ban-can-duoc-giai-thoat-7Z4DE7wnJnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/dung-tra-ve-cuc-html-qua-ajax-nua-da-den-luc-backend-cua-ban-can-duoc-giai-thoat-7Z4DE7wnJnX</guid>
            <description><![CDATA[Chào anh em thiện lành! Dạo này lướt Viblo thấy anh em bàn nhiều về Microservices, Kafka, K8s... nghe đao to búa lớn quá. Hôm nay, mình xin phép rủ an...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-07-08 11:30:05</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Dẹp ngay đống if(role == 'admin') đi! Đây là cách Frontend Master xử lý Phân quyền (Authz)]]></title>
                        <link>https://viblo.asia/p/dep-ngay-dong-ifrole-admin-di-day-la-cach-frontend-master-xu-ly-phan-quyen-authz-k74a9QEr4eO</link>
            <guid isPermaLink="true">https://viblo.asia/p/dep-ngay-dong-ifrole-admin-di-day-la-cach-frontend-master-xu-ly-phan-quyen-authz-k74a9QEr4eO</guid>
            <description><![CDATA[Chào anh em thiện lành! Nếu bài trước mình đã chém gió về backend với Service Provider, thì hôm nay mình xin mạn phép đổi gió sang một góc nhìn mang đ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-29 16:02:44</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[series Axios Bài 5: Xử Lý File Dung Lượng Lớn Và Tuyệt Kỹ Theo Dõi Tiến Độ Thời Gian Thực]]></title>
                        <link>https://viblo.asia/p/series-axios-bai-5-xu-ly-file-dung-luong-lon-va-tuyet-ky-theo-doi-tien-do-thoi-gian-thuc-gjLN0688432</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-axios-bai-5-xu-ly-file-dung-luong-lon-va-tuyet-ky-theo-doi-tien-do-thoi-gian-thuc-gjLN0688432</guid>
            <description><![CDATA[Trong JavaScript gốc, việc tính toán xem một file đã upload được bao nhiêu phần trăm là một cực hình vì bạn phải tính toán số byte gửi đi qua các sự k...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-30 15:33:19</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[series Axios Bài 4: Kiểm Soát Dòng Chảy Mạng - Tuyệt Chiêu Hủy Request Thừa Bằng AbortController]]></title>
                        <link>https://viblo.asia/p/series-axios-bai-4-kiem-soat-dong-chay-mang-tuyet-chieu-huy-request-thua-bang-abortcontroller-ZoJjelMy4Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-axios-bai-4-kiem-soat-dong-chay-mang-tuyet-chieu-huy-request-thua-bang-abortcontroller-ZoJjelMy4Y7</guid>
            <description><![CDATA[Trong các phiên bản Axios cũ, chúng ta thường dùng CancelToken. Tuy nhiên, bước sang kỷ nguyên hiện đại, CancelToken đã bị chính thức khai tử (depreca...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-30 14:58:37</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[series Axios Bài 3: Axios Interceptors - Bộ Đánh Chặn &quot;Quyền Lực&quot; Và Chiến Lược Tự Động Refresh Token]]></title>
                        <link>https://viblo.asia/p/series-axios-bai-3-axios-interceptors-bo-danh-chan-quyen-luc-va-chien-luoc-tu-dong-refresh-token-OQJwzwEO4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/series-axios-bai-3-axios-interceptors-bo-danh-chan-quyen-luc-va-chien-luoc-tu-dong-refresh-token-OQJwzwEO4MP</guid>
            <description><![CDATA[Hãy tưởng tượng Axios Interceptors giống như một trạm kiểm soát cửa khẩu (Customs Checkpoint) đặt ngay tại biên giới.

* Khi một gói tin chuẩn bị rời ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-30 13:05:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[React] Đừng dùng React Toastify như một tay mơ - Kiến trúc Notification chuẩn Enterprise]]></title>
                        <link>https://viblo.asia/p/react-dung-dung-react-toastify-nhu-mot-tay-mo-kien-truc-notification-chuan-enterprise-bNVQGoy1JvR</link>
            <guid isPermaLink="true">https://viblo.asia/p/react-dung-dung-react-toastify-nhu-mot-tay-mo-kien-truc-notification-chuan-enterprise-bNVQGoy1JvR</guid>
            <description><![CDATA[anh em mình dân Backend, hệ thống, kiến trúc (architecture) lúc nào cũng đặt lên hàng đầu. Nhưng đôi khi "đá sân" sang Frontend hoặc review code của m...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-26 15:55:27</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Kịch Bản 15 Phút: Múa Màn Refresh Token Mượt Như Lụa Cùng Axios Interceptor]]></title>
                        <link>https://viblo.asia/p/kich-ban-15-phut-mua-man-refresh-token-muot-nhu-lua-cung-axios-interceptor-yZJZlvQZVjm</link>
            <guid isPermaLink="true">https://viblo.asia/p/kich-ban-15-phut-mua-man-refresh-token-muot-nhu-lua-cung-axios-interceptor-yZJZlvQZVjm</guid>
            <description><![CDATA[1. Chiến thuật "Song Kiếm Hợp Bích" (Hai Token)

Khi user đăng nhập thành công, API Login không trả về 1, mà trả về 2 cái token:

1. Access Token: Dùn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-15 15:01:12</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải Phóng Đôi Tay: Múa Phím Bằng Emmet CSS &amp; Tư Duy &quot;Code Mờ Ảo&quot;]]></title>
                        <link>https://viblo.asia/p/giai-phong-doi-tay-mua-phim-bang-emmet-css-tu-duy-code-mo-ao-lZL9XeADJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-phong-doi-tay-mua-phim-bang-emmet-css-tu-duy-code-mo-ao-lZL9XeADJQK</guid>
            <description><![CDATA[Chắc hẳn 99% anh em dùng VS Code đều biết gõ ! rồi bấm Tab để sinh ra bộ khung HTML, hoặc gõ ul>li*5 để tạo danh sách. Đó là Emmet cho HTML.

Nhưng có...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-15 07:01:10</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Khủng Hoảng HEIC: Khi Apple Bắt Trình Duyệt Phải &quot;Khóc&quot; &amp; Cách Giải Cứu Bằng Code]]></title>
                        <link>https://viblo.asia/p/khung-hoang-heic-khi-apple-bat-trinh-duyet-phai-khoc-cach-giai-cuu-bang-code-13VM9qP0VY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/khung-hoang-heic-khi-apple-bat-trinh-duyet-phai-khoc-cach-giai-cuu-bang-code-13VM9qP0VY7</guid>
            <description><![CDATA[Câu chuyện muôn thuở: Một buổi chiều thứ Sáu, team CSKH báo lên: "Anh ơi, có khách hàng VIP dùng iPhone 15 Pro Max phàn nàn là tải ảnh chứng minh thư ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-14 22:34:04</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[Web 3D 101] Three.js là gì? Phép thuật mang cả không gian 3D lên trình duyệt]]></title>
                        <link>https://viblo.asia/p/web-3d-101-threejs-la-gi-phep-thuat-mang-ca-khong-gian-3d-len-trinh-duyet-18J2e8ge4YK</link>
            <guid isPermaLink="true">https://viblo.asia/p/web-3d-101-threejs-la-gi-phep-thuat-mang-ca-khong-gian-3d-len-trinh-duyet-18J2e8ge4YK</guid>
            <description><![CDATA[Trình duyệt web của chúng ta thực ra rất mạnh. Nó có một API chuẩn gọi là WebGL giúp render đồ họa 2D và 3D tận dụng sức mạnh của Card màn hình (GPU)....]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-07 07:24:58</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Học Frontend nên chọn theo hướng nào ?]]></title>
                        <link>https://viblo.asia/p/hoc-frontend-nen-chon-theo-huong-nao-pgjLNKRPV32</link>
            <guid isPermaLink="true">https://viblo.asia/p/hoc-frontend-nen-chon-theo-huong-nao-pgjLNKRPV32</guid>
            <description><![CDATA[Javascript đã và đang làm mưa làm gió trên các diễn đàn Frontend và cả backend ngày nay. Vì sao lại như vậy ? Vì cho tới thời điểm hiện tại, các trình...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thanh Cao</dc:creator>
            <pubDate>2025-01-03 13:12:05</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Xử lý API response với Typescript với mọi ngôn ngữ frontend]]></title>
                        <link>https://viblo.asia/p/xu-ly-api-response-voi-typescript-voi-moi-ngon-ngu-frontend-E1XVObnELMz</link>
            <guid isPermaLink="true">https://viblo.asia/p/xu-ly-api-response-voi-typescript-voi-moi-ngon-ngu-frontend-E1XVObnELMz</guid>
            <description><![CDATA[Với 1 frontend developer, việc xử lý API là 1 tác vụ quan trọng trong xử lý thông tin giữa logic component và backend.2 nhiệm vụ chính của việc xử lý ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Đỗ Tú</dc:creator>
            <pubDate>2024-06-18 16:43:29</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Cách thức tối ưu hoá PageSpeed tăng trải nghiệm cho Users]]></title>
                        <link>https://viblo.asia/p/cach-thuc-toi-uu-hoa-pagespeed-tang-trai-nghiem-cho-users-GAWVpaa3405</link>
            <guid isPermaLink="true">https://viblo.asia/p/cach-thuc-toi-uu-hoa-pagespeed-tang-trai-nghiem-cho-users-GAWVpaa3405</guid>
            <description><![CDATA[Từ các yếu tố trên, Google đã tổng hợp ra 2 Metric để đánh giá một trang website đã đạt hoặc chưa đạt PageSpeed bao gồm:
* First Contentful Paint (FCP...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jennie Pham</dc:creator>
            <pubDate>2023-12-21 09:38:07</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[ES6 JavaScript: Tổng hợp các tính năng nổi bật]]></title>
                        <link>https://viblo.asia/p/es6-javascript-tong-hop-cac-tinh-nang-noi-bat-zOQJwx6kLMP</link>
            <guid isPermaLink="true">https://viblo.asia/p/es6-javascript-tong-hop-cac-tinh-nang-noi-bat-zOQJwx6kLMP</guid>
            <description><![CDATA[Chúc mừng năm mới! Chúc cho mọi người một năm mới an khang, thịnh vượng và hạnh phúc. Mong rằng mọi điều tốt lành sẽ đến với bạn và gia đình. Chúc cho...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyen Le Than</dc:creator>
            <pubDate>2024-02-10 21:02:37</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Sử dụng HttpClient trong Angular thực hiện các yêu cầu HTTP đến các API server]]></title>
                        <link>https://viblo.asia/p/su-dung-httpclient-trong-angular-thuc-hien-cac-yeu-cau-http-den-cac-api-server-y3RL1n7pVao</link>
            <guid isPermaLink="true">https://viblo.asia/p/su-dung-httpclient-trong-angular-thuc-hien-cac-yeu-cau-http-den-cac-api-server-y3RL1n7pVao</guid>
            <description><![CDATA[HttpClient là một class trong Angular cung cấp cho chúng ta các method để thực hiện các yêu cầu HTTP đến các API server. Đây là một trong những class ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vũ Mạnh Tuấn</dc:creator>
            <pubDate>2023-05-05 10:54:44</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Placeholder và Data-placeholder ?]]></title>
                        <link>https://viblo.asia/p/placeholder-va-data-placeholder-x7Z4DDgy4nX</link>
            <guid isPermaLink="true">https://viblo.asia/p/placeholder-va-data-placeholder-x7Z4DDgy4nX</guid>
            <description><![CDATA[Placehodel: Trình dữ chỗ ( theo từ điển).
Thuộc placeholde tính chỉ định một gợi ý ngắn mô tả giá trị dự kiến của trường đầu vào (ví dụ: giá trị mẫu h...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vân Yume</dc:creator>
            <pubDate>2022-12-30 14:06:10</pubDate>
                                                                                                        </item>
            </channel>
</rss>
