<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Intuitively — Tiếng Việt</title><description>Những ghi chép cẩn thận về hệ thống tôi xây dựng, lỗi tôi lần theo, và các ý tưởng trở nên rõ ràng hơn khi được viết xuống.</description><link>https://intuitively.pages.dev/</link><language>vi</language><item><title>Tôi chỉ thật sự hiểu event loop khi ngừng xem nó là một vòng lặp</title><link>https://intuitively.pages.dev/vi/articles/hieu-dung-ve-event-loop/</link><guid isPermaLink="true">https://intuitively.pages.dev/vi/articles/hieu-dung-ve-event-loop/</guid><description>Một mô hình tư duy thực tế về task, microtask và thứ tự thực thi của JavaScript bất đồng bộ.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Event loop thường được minh hoạ bằng một vòng tròn liên tục kiểm tra hàng đợi. Hình ảnh đó hữu ích, nhưng lại che mất ý quan trọng nhất: &lt;strong&gt;JavaScript hoàn thành trọn vẹn một công việc, còn môi trường chạy quyết định khi nào công việc tiếp theo được bắt đầu.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Khi chuyển từ suy nghĩ về một “vòng lặp” sang các &lt;em&gt;lượt thực thi&lt;/em&gt;, thứ tự chạy trở nên dễ dự đoán hơn nhiều.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;/_astro/ec.v43l5.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame has-title&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;thu-tu.js&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;js&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;console.&lt;/span&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;log&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;&apos;đầu tiên&apos;&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line highlight mark&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#613aa9;--1:#c2a8f3&quot;&gt;queueMicrotask&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;(() &lt;/span&gt;&lt;span style=&quot;--0:#982934;--1:#fb99a3&quot;&gt;=&gt;&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; console.&lt;/span&gt;&lt;span style=&quot;--0:#613aa9;--1:#c2a8f3&quot;&gt;log&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;&apos;microtask&apos;&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;));&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;setTimeout&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;(() &lt;/span&gt;&lt;span style=&quot;--0:#BF3441;--1:#F97583&quot;&gt;=&gt;&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt; console.&lt;/span&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;log&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;&apos;task&apos;&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;--0:#005CC5;--1:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;console.&lt;/span&gt;&lt;span style=&quot;--0:#6F42C1;--1:#B392F0&quot;&gt;log&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#032F62;--1:#9ECBFF&quot;&gt;&apos;cuối cùng&apos;&lt;/span&gt;&lt;span style=&quot;--0:#24292E;--1:#E1E4E8&quot;&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;console.log(&amp;#x27;đầu tiên&amp;#x27;);queueMicrotask(() =&gt; console.log(&amp;#x27;microtask&amp;#x27;));setTimeout(() =&gt; console.log(&amp;#x27;task&amp;#x27;), 0);console.log(&amp;#x27;cuối cùng&amp;#x27;);&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Script hiện tại phải kết thúc trước. Sau đó toàn bộ microtask được xử lý. Chỉ khi ấy timer task mới có thể bắt đầu một lượt mới.&lt;/p&gt;
&lt;p&gt;Ta có thể ghi nhớ bằng ba bước:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Hoàn thành công việc hiện tại.&lt;/li&gt;
&lt;li&gt;Xử lý hết hàng đợi microtask.&lt;/li&gt;
&lt;li&gt;Để môi trường chạy chọn task tiếp theo.&lt;/li&gt;
&lt;/ol&gt;</content:encoded><category>javascript</category><category>fundamentals</category></item><item><title>Viết lại điều vừa học là một phép kiểm thử, không phải bản tóm tắt</title><link>https://intuitively.pages.dev/vi/articles/viet-de-hieu-sau-hon/</link><guid isPermaLink="true">https://intuitively.pages.dev/vi/articles/viet-de-hieu-sau-hon/</guid><description>Cách dùng việc viết để phát hiện những khoảng trống mà cảm giác ‘đã hiểu’ thường che giấu.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Đọc xong một tài liệu thường tạo ra cảm giác quen thuộc. Cảm giác đó rất dễ bị nhầm với sự hiểu biết.&lt;/p&gt;
&lt;p&gt;Viết lại ý tưởng bằng ngôn ngữ của mình tạo ra một phép kiểm thử khắt khe hơn. Nếu không thể giải thích điều kiện, giới hạn và một ví dụ phản chứng, tôi có lẽ mới chỉ nhận ra các từ khoá chứ chưa hiểu cơ chế.&lt;/p&gt;
&lt;p&gt;Tôi dùng ba câu hỏi:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cơ chế này giải quyết vấn đề gì?&lt;/li&gt;
&lt;li&gt;Điều gì phải đúng để nó hoạt động?&lt;/li&gt;
&lt;li&gt;Khi nào mô hình này không còn hữu ích?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Một ghi chú tốt không chứng minh rằng tôi biết mọi thứ. Nó chỉ chỉ ra chính xác phần nào tôi chưa biết.&lt;/p&gt;</content:encoded><category>fundamentals</category><category>practice</category></item></channel></rss>