<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title><![CDATA[Hieu's Blog]]></title>
    <description><![CDATA[A blog about web development, backend engineering, and the craft of building for the web.]]></description>
    <link>http://localhost:3000</link>
    <atom:link href="http://localhost:3000/rss.xml" rel="self" type="application/rss+xml"/>
    <language>en-us</language>
    <lastBuildDate>Sat, 04 Apr 2026 15:43:51 GMT</lastBuildDate>
    
    <item>
      <title><![CDATA[TiDB: A Raft-based HTAP Database]]></title>
      <description><![CDATA[A write up about TiDB’s Raft-based HTAP architecture: exploring multi-Raft storage, learner replicas, DeltaTree columnar engine, MVCC transactions, read optimizations, and how TiKV and TiFlash deliver scalable, consistent, and isolated OLTP + real-time OLAP in one system.]]></description>
      <link>http://localhost:3000/blog/tidb-a-raft-based-htap-database</link>
      <guid isPermaLink="true">http://localhost:3000/blog/tidb-a-raft-based-htap-database</guid>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Percolator: Large-scale Incremental Processing Using Distributed Transactions and Notifications]]></title>
      <description><![CDATA[An engineer’s walkthrough of Google Percolator: from MapReduce to incremental processing, exploring transactions, lazy lock cleanup, observers, and performance optimizations on Bigtable.]]></description>
      <link>http://localhost:3000/blog/percolator-large-scale-incremental-processing-using-distributed-transactions-and-notifications</link>
      <guid isPermaLink="true">http://localhost:3000/blog/percolator-large-scale-incremental-processing-using-distributed-transactions-and-notifications</guid>
      <pubDate>Sun, 01 Feb 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Multi-version Concurrent Control]]></title>
      <description><![CDATA[A practical deep dive into MVCC: concurrency protocols, version storage, garbage collection, and index design.]]></description>
      <link>http://localhost:3000/blog/multi-version-concurrent-control</link>
      <guid isPermaLink="true">http://localhost:3000/blog/multi-version-concurrent-control</guid>
      <pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Google Spanner: Google’s Globally-Distributed Database]]></title>
      <description><![CDATA[Explore how Google Spanner combines SQL, global distribution, TrueTime, and Paxos to deliver externally consistent transactions at planet scale.]]></description>
      <link>http://localhost:3000/blog/google-spanner-google-s-globally-distributed-database</link>
      <guid isPermaLink="true">http://localhost:3000/blog/google-spanner-google-s-globally-distributed-database</guid>
      <pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[SegCache: A memory-efficient and scalable in-memory key-value cache for small objects]]></title>
      <description><![CDATA[SegCache is an in-memory key–value cache built for small objects, improving memory efficiency, throughput, and multi-core scalability with TTL-bucketed segments, compact hash metadata (bulk chaining), and segment-level proactive expiration plus merge-based eviction.]]></description>
      <link>http://localhost:3000/blog/segcache-a-memory-efficient-and-scalable-in-memory-key-value-cache-for-small-objects</link>
      <guid isPermaLink="true">http://localhost:3000/blog/segcache-a-memory-efficient-and-scalable-in-memory-key-value-cache-for-small-objects</guid>
      <pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Google MapReduce: Simplified Data Processing on Large Clusters]]></title>
      <description><![CDATA[A clear, concise walkthrough of Google’s MapReduce, explaining how it simplified large-scale data processing while revealing its key design insights and limitations.]]></description>
      <link>http://localhost:3000/blog/google-mapreduce-simplified-data-processing-on-large-clusters</link>
      <guid isPermaLink="true">http://localhost:3000/blog/google-mapreduce-simplified-data-processing-on-large-clusters</guid>
      <pubDate>Fri, 31 Oct 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Distributed Transaction At Scale In Amazon DynamoDB]]></title>
      <description><![CDATA[How DynamoDB delivers ACID at scale: timestamp ordering instead of locks, a distributed 2PC, writeless reads, buffered writes, and recovery that keeps latency predictable.]]></description>
      <link>http://localhost:3000/blog/distributed-transaction-at-scale-in-amazon-dynamodb</link>
      <guid isPermaLink="true">http://localhost:3000/blog/distributed-transaction-at-scale-in-amazon-dynamodb</guid>
      <pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service]]></title>
      <description><![CDATA[A practical tour of DynamoDB’s architecture: how it partitions data, controls throughput with GAC, balances hot spots, and keeps availability and durability high.]]></description>
      <link>http://localhost:3000/blog/amazon-dynamodb-a-scalable-predictably-performant-and-fully-managed-nosql-database-service</link>
      <guid isPermaLink="true">http://localhost:3000/blog/amazon-dynamodb-a-scalable-predictably-performant-and-fully-managed-nosql-database-service</guid>
      <pubDate>Sat, 18 Oct 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Google Bigtable: A Distributed Storage System for Structured Data]]></title>
      <description><![CDATA[Understand Bigtable end-to-end: sparse data model, tablet assignment and lookup (root→metadata→user), Chubby coordination, GFS/SSTables, compactions, caching, Bloom filters, commit logs, and recovery.]]></description>
      <link>http://localhost:3000/blog/google-bigtable-a-distributed-storage-system-for-structured-data</link>
      <guid isPermaLink="true">http://localhost:3000/blog/google-bigtable-a-distributed-storage-system-for-structured-data</guid>
      <pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Wormhole: Reliable Pub-Sub to support Geo-replicated Internet Services]]></title>
      <description><![CDATA[Explore how Facebook’s Wormhole powers real-time data propagation at massive scale. This post breaks down its core design - flows, caravans, data-markers, and multi-datacenter failover, and explains how it achieves trillions of reliable, in-order updates daily with millisecond latency.]]></description>
      <link>http://localhost:3000/blog/wormhole-reliable-pub-sub-to-support-geo-replicated-internet-services</link>
      <guid isPermaLink="true">http://localhost:3000/blog/wormhole-reliable-pub-sub-to-support-geo-replicated-internet-services</guid>
      <pubDate>Fri, 10 Oct 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Introduction To ZooKeeper]]></title>
      <description><![CDATA[A practical tour of ZooKeeper’s data model, common recipes (locks, barriers, group membership), and the internals (ZAB, snapshots) that make it reliable.]]></description>
      <link>http://localhost:3000/blog/introduction-to-zookeeper</link>
      <guid isPermaLink="true">http://localhost:3000/blog/introduction-to-zookeeper</guid>
      <pubDate>Sat, 04 Oct 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
    </item>
    <item>
      <title><![CDATA[Chubby: Lock Service For Loosely-Coupled Distributed Systems]]></title>
      <description><![CDATA[Chubby explained: why a lock service (not a library), how caching/invalidations work, master failover and sessions, plus partitioning, proxies, and name-service use]]></description>
      <link>http://localhost:3000/blog/chubby-lock-service-for-loosely-coupled-distributed-systems</link>
      <guid isPermaLink="true">http://localhost:3000/blog/chubby-lock-service-for-loosely-coupled-distributed-systems</guid>
      <pubDate>Sat, 27 Sep 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Inside Meta’s Migration: From InnoDB to MyRocks]]></title>
      <description><![CDATA[A deep dive into how Meta migrated UDB from InnoDB to MyRocks, cutting storage in half while tackling isolation differences, tombstones, and large-scale correctness checks.]]></description>
      <link>http://localhost:3000/blog/inside-meta-s-migration-from-innodb-to-myrocks</link>
      <guid isPermaLink="true">http://localhost:3000/blog/inside-meta-s-migration-from-innodb-to-myrocks</guid>
      <pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Unveiling the Efficiency and Simplicity of SIEVE: A Game-Changing Cache Eviction Algorithm]]></title>
      <description><![CDATA[Unveiling the Efficiency and Simplicity of SIEVE: A Game-Changing Cache Eviction Algorithm]]></description>
      <link>http://localhost:3000/blog/unveiling-the-efficiency-and-simplicity-of-sieve-a-game-changing-cache-eviction-algorithm</link>
      <guid isPermaLink="true">http://localhost:3000/blog/unveiling-the-efficiency-and-simplicity-of-sieve-a-game-changing-cache-eviction-algorithm</guid>
      <pubDate>Thu, 31 Jul 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[TinyLFU: Highly Efficient Cache Admission Policy]]></title>
      <description><![CDATA[Discover how TinyLFU improves cache efficiency by filtering out low-value items using approximate frequency tracking, optimizing both hit ratio and memory usage.]]></description>
      <link>http://localhost:3000/blog/tinylfu-highly-efficient-cache-admission-policy</link>
      <guid isPermaLink="true">http://localhost:3000/blog/tinylfu-highly-efficient-cache-admission-policy</guid>
      <pubDate>Wed, 30 Apr 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
    </item>
    <item>
      <title><![CDATA[TAO: Facebook’s Distributed Data Store for the Social Graph]]></title>
      <description><![CDATA[A deep dive into TAO, Facebook’s distributed data store for the social graph. Learn how it overcomes MySQL and memcache limitations with a graph-aware cache, eventual consistency, and a scalable, fault-tolerant architecture.]]></description>
      <link>http://localhost:3000/blog/tao-facebook-s-distributed-data-store-for-the-social-graph</link>
      <guid isPermaLink="true">http://localhost:3000/blog/tao-facebook-s-distributed-data-store-for-the-social-graph</guid>
      <pubDate>Sat, 19 Apr 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Scaling Memcache at Facebook]]></title>
      <description><![CDATA[Explore how Facebook scaled Memcache to serve billion of requests]]></description>
      <link>http://localhost:3000/blog/scaling-memcache-at-facebook</link>
      <guid isPermaLink="true">http://localhost:3000/blog/scaling-memcache-at-facebook</guid>
      <pubDate>Sat, 01 Mar 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Cuckoo Hashing: A Clever Way to Resolve Collisions]]></title>
      <description><![CDATA[Discover how Cuckoo Hashing efficiently resolves hash collisions using multiple hash functions and an eviction strategy. Learn how it ensures O(1) worst-case lookups, supports deletions, and outperforms traditional collision resolution techniques in high-performance applications.]]></description>
      <link>http://localhost:3000/blog/cuckoo-hashing-a-clever-way-to-resolve-collisions</link>
      <guid isPermaLink="true">http://localhost:3000/blog/cuckoo-hashing-a-clever-way-to-resolve-collisions</guid>
      <pubDate>Sat, 22 Feb 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
    </item>
    <item>
      <title><![CDATA[Distributed Consensus: Paxos]]></title>
      <description><![CDATA[Dive into the fundamentals of Paxos, one of the most influential distributed consensus algorithms. Learn how Paxos ensures fault-tolerant decision-making in distributed systems, its key phases, challenges, and why it's the foundation for modern consensus protocols like Raft and Multi-Paxos]]></description>
      <link>http://localhost:3000/blog/distributed-consensus-paxos</link>
      <guid isPermaLink="true">http://localhost:3000/blog/distributed-consensus-paxos</guid>
      <pubDate>Fri, 14 Feb 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Distributed System]]></category>
      <category><![CDATA[Paper Notes]]></category>
    </item>
    <item>
      <title><![CDATA[Redis internal: Understand underlying data structures used in Redis]]></title>
      <description><![CDATA[Discover the powerful internal data structures that make Redis a blazing-fast in-memory data store. This comprehensive guide explores how Redis uses SDS for strings, quicklists for lists, and skiplists for sorted sets, ensuring optimal performance, memory efficiency, and scalability. Perfect for developers and enthusiasts looking to deepen their understanding of Redis’s inner workings. Learn why Redis is the go-to choice for caching, real-time analytics, and more!]]></description>
      <link>http://localhost:3000/blog/redis-internal-understand-underlying-data-structures-used-in-redis</link>
      <guid isPermaLink="true">http://localhost:3000/blog/redis-internal-understand-underlying-data-structures-used-in-redis</guid>
      <pubDate>Sat, 28 Dec 2024 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
    </item>
    <item>
      <title><![CDATA[Spring: Let’s build our own IoC Container]]></title>
      <description><![CDATA[Spring: Let’s build our own IoC Container]]></description>
      <link>http://localhost:3000/blog/spring-let-s-build-our-own-ioc-container</link>
      <guid isPermaLink="true">http://localhost:3000/blog/spring-let-s-build-our-own-ioc-container</guid>
      <pubDate>Tue, 11 Jun 2024 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Roaring Bitmaps: The Powerful Bitmap Compression Format]]></title>
      <description><![CDATA[Roaring Bitmaps offer a dynamic and efficient way to manage large sets of integers, balancing compression, speed, and versatility. This blog delves into their unique structure, dynamic adaptation, and applications in database indexing, real-time analytics, and more.]]></description>
      <link>http://localhost:3000/blog/roaring-bitmaps-the-powerful-bitmap-compression-format</link>
      <guid isPermaLink="true">http://localhost:3000/blog/roaring-bitmaps-the-powerful-bitmap-compression-format</guid>
      <pubDate>Mon, 29 Apr 2024 00:00:00 GMT</pubDate>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[You don’t know JWT]]></title>
      <description><![CDATA[Explore the essentials and advanced nuances of JSON Web Tokens (JWT) in our blog series "You Don't Know JWT." Learn about JWT security, implementation, and common challenges.]]></description>
      <link>http://localhost:3000/blog/you-don-t-know-jwt</link>
      <guid isPermaLink="true">http://localhost:3000/blog/you-don-t-know-jwt</guid>
      <pubDate>Tue, 23 Apr 2024 00:00:00 GMT</pubDate>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[LMAX Disruptor: A Superior Alternative to Bounded Queues for exchanging data between concurrent threads]]></title>
      <description><![CDATA[LMAX Disruptor: High performance alternative to bounded queues for exchanging data between concurrent threads]]></description>
      <link>http://localhost:3000/blog/lmax-disruptor-a-superior-alternative-to-bounded-queues-for-exchanging-data-between-concurrent-t</link>
      <guid isPermaLink="true">http://localhost:3000/blog/lmax-disruptor-a-superior-alternative-to-bounded-queues-for-exchanging-data-between-concurrent-t</guid>
      <pubDate>Sun, 03 Mar 2024 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
    </item>
    <item>
      <title><![CDATA[Spring Security: Authentication using JWT]]></title>
      <description><![CDATA[Spring Security: Authentication using JWT]]></description>
      <link>http://localhost:3000/blog/spring-security-authentication-using-jwt</link>
      <guid isPermaLink="true">http://localhost:3000/blog/spring-security-authentication-using-jwt</guid>
      <pubDate>Tue, 13 Feb 2024 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Some concepts that I don’t deeply understand that harm my React App performance]]></title>
      <description><![CDATA[Some concepts that I don’t deeply understand that harm my React App performance]]></description>
      <link>http://localhost:3000/blog/some-concepts-that-i-don-t-deeply-understand-that-harm-my-react-app-performance</link>
      <guid isPermaLink="true">http://localhost:3000/blog/some-concepts-that-i-don-t-deeply-understand-that-harm-my-react-app-performance</guid>
      <pubDate>Sat, 27 Aug 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[React]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[How does NodeJS handle thousands of requests while it’s single-thread?]]></title>
      <description><![CDATA[How does NodeJS handle thousands of requests while it’s single-thread?]]></description>
      <link>http://localhost:3000/blog/how-does-nodejs-handle-thousands-of-requests-while-it-s-single-thread</link>
      <guid isPermaLink="true">http://localhost:3000/blog/how-does-nodejs-handle-thousands-of-requests-while-it-s-single-thread</guid>
      <pubDate>Sat, 13 Aug 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[You don’t know event handling in ReactJS]]></title>
      <description><![CDATA[You don’t know event handling in ReactJS]]></description>
      <link>http://localhost:3000/blog/you-don-t-know-event-handling-in-reactjs</link>
      <guid isPermaLink="true">http://localhost:3000/blog/you-don-t-know-event-handling-in-reactjs</guid>
      <pubDate>Sun, 17 Apr 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[React: Buggy with closure]]></title>
      <description><![CDATA[React: Buggy with closure]]></description>
      <link>http://localhost:3000/blog/react-buggy-with-closure</link>
      <guid isPermaLink="true">http://localhost:3000/blog/react-buggy-with-closure</guid>
      <pubDate>Sat, 09 Apr 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Some thoughts about Virtual DOM]]></title>
      <description><![CDATA[Some thoughts about Virtual DOM and why React uses it]]></description>
      <link>http://localhost:3000/blog/some-thoughts-about-virtual-dom</link>
      <guid isPermaLink="true">http://localhost:3000/blog/some-thoughts-about-virtual-dom</guid>
      <pubDate>Fri, 25 Mar 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Backend Engineering 4: Symmetric & Asymmetric Encryption]]></title>
      <description><![CDATA[Backend Engineering 4: Symmetric & Asymmetric Encryption]]></description>
      <link>http://localhost:3000/blog/backend-engineering-4-symmetric-asymmetric-encryption</link>
      <guid isPermaLink="true">http://localhost:3000/blog/backend-engineering-4-symmetric-asymmetric-encryption</guid>
      <pubDate>Thu, 24 Mar 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
    </item>
    <item>
      <title><![CDATA[Backend Engineering 3: HTTP]]></title>
      <description><![CDATA[Backend Engineering: HTTP]]></description>
      <link>http://localhost:3000/blog/backend-engineering-3-http</link>
      <guid isPermaLink="true">http://localhost:3000/blog/backend-engineering-3-http</guid>
      <pubDate>Mon, 14 Mar 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
    </item>
    <item>
      <title><![CDATA[Backend Engineering 1: OSI Model]]></title>
      <description><![CDATA[Backend Engineering: OSI Model]]></description>
      <link>http://localhost:3000/blog/backend-engineering-1-osi-model</link>
      <guid isPermaLink="true">http://localhost:3000/blog/backend-engineering-1-osi-model</guid>
      <pubDate>Sun, 13 Mar 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
    </item>
    <item>
      <title><![CDATA[Backend Engineering 2: TCP vs UDP]]></title>
      <description><![CDATA[Backend Engineering 2: TCP vs UDP]]></description>
      <link>http://localhost:3000/blog/backend-engineering-2-tcp-vs-udp</link>
      <guid isPermaLink="true">http://localhost:3000/blog/backend-engineering-2-tcp-vs-udp</guid>
      <pubDate>Sun, 13 Mar 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[Backend]]></category>
    </item>
    <item>
      <title><![CDATA[Some thoughts about React Context]]></title>
      <description><![CDATA[Some thoughts about React Context]]></description>
      <link>http://localhost:3000/blog/some-thoughts-about-react-context</link>
      <guid isPermaLink="true">http://localhost:3000/blog/some-thoughts-about-react-context</guid>
      <pubDate>Sun, 13 Mar 2022 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Javascript: Promises and mistakes]]></title>
      <description><![CDATA[Javascript: Promises and mistakes]]></description>
      <link>http://localhost:3000/blog/javascript-promises-and-mistakes</link>
      <guid isPermaLink="true">http://localhost:3000/blog/javascript-promises-and-mistakes</guid>
      <pubDate>Sat, 04 Dec 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Confident with your front-end knowledge? Try answer these questions!]]></title>
      <description><![CDATA[Confident with your front-end knowledge? Try answer these questions!]]></description>
      <link>http://localhost:3000/blog/confident-with-your-front-end-knowledge-try-answer-these-questions</link>
      <guid isPermaLink="true">http://localhost:3000/blog/confident-with-your-front-end-knowledge-try-answer-these-questions</guid>
      <pubDate>Wed, 10 Nov 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[CSS]]></category>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Build a Facebook story creator using ReactJS and FabricJS]]></title>
      <description><![CDATA[Build a Facebook story creator using ReactJS and FabricJS]]></description>
      <link>http://localhost:3000/blog/build-a-facebook-story-creator-using-reactjs-and-fabricjs</link>
      <guid isPermaLink="true">http://localhost:3000/blog/build-a-facebook-story-creator-using-reactjs-and-fabricjs</guid>
      <pubDate>Sat, 09 Oct 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[CSS]]></category>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Synchronized executions in Javascript]]></title>
      <description><![CDATA[Synchronized executions in Javascript]]></description>
      <link>http://localhost:3000/blog/synchronized-executions-in-javascript</link>
      <guid isPermaLink="true">http://localhost:3000/blog/synchronized-executions-in-javascript</guid>
      <pubDate>Fri, 24 Sep 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[JavaScript]]></category>
    </item>
    <item>
      <title><![CDATA[Shorten your imports in Visual Studio Code in React App with this trick]]></title>
      <description><![CDATA[Shorten your imports in Visual Studio Code in React App with this trick]]></description>
      <link>http://localhost:3000/blog/shorten-your-imports-in-visual-studio-code-in-react-app-with-this-trick</link>
      <guid isPermaLink="true">http://localhost:3000/blog/shorten-your-imports-in-visual-studio-code-in-react-app-with-this-trick</guid>
      <pubDate>Sat, 18 Sep 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[You don't know useEffect]]></title>
      <description><![CDATA[Dive deep into useEffect hooks in React]]></description>
      <link>http://localhost:3000/blog/you-don-t-know-useeffect</link>
      <guid isPermaLink="true">http://localhost:3000/blog/you-don-t-know-useeffect</guid>
      <pubDate>Fri, 13 Aug 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Javascript Interview Questions (Part 2)]]></title>
      <description><![CDATA[Javascript Interview Questions (Part 2)]]></description>
      <link>http://localhost:3000/blog/javascript-interview-questions-part-2</link>
      <guid isPermaLink="true">http://localhost:3000/blog/javascript-interview-questions-part-2</guid>
      <pubDate>Fri, 30 Jul 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Interview]]></category>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Câu hỏi phỏng vấn Javascript (Phần 1)]]></title>
      <description><![CDATA[Một số câu hỏi phỏng vấn Javascript mà mình sư tầm được]]></description>
      <link>http://localhost:3000/blog/cau-hoi-phong-van-javascript-phan-1</link>
      <guid isPermaLink="true">http://localhost:3000/blog/cau-hoi-phong-van-javascript-phan-1</guid>
      <pubDate>Tue, 29 Jun 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Interview]]></category>
      <category><![CDATA[JavaScript]]></category>
    </item>
    <item>
      <title><![CDATA[ReactJS Interview Questions (Part 2)]]></title>
      <description><![CDATA[Some ReactJS Interview Question I've been asked]]></description>
      <link>http://localhost:3000/blog/reactjs-interview-questions-part-2</link>
      <guid isPermaLink="true">http://localhost:3000/blog/reactjs-interview-questions-part-2</guid>
      <pubDate>Sun, 06 Jun 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Interview]]></category>
      <category><![CDATA[JavaScript]]></category>
    </item>
    <item>
      <title><![CDATA[ReactJS Interview Questions (Part 1)]]></title>
      <description><![CDATA[Some ReactJS Interview Question which I've been asked]]></description>
      <link>http://localhost:3000/blog/reactjs-interview-questions-part-1</link>
      <guid isPermaLink="true">http://localhost:3000/blog/reactjs-interview-questions-part-1</guid>
      <pubDate>Tue, 01 Jun 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Interview]]></category>
      <category><![CDATA[JavaScript]]></category>
    </item>
    <item>
      <title><![CDATA[Tired of the slowness of map ? Go for Policy Hash Table!]]></title>
      <description><![CDATA[A very powerful built in data structure that I think you should know.]]></description>
      <link>http://localhost:3000/blog/tired-of-the-slowness-of-map-go-for-policy-hash-table</link>
      <guid isPermaLink="true">http://localhost:3000/blog/tired-of-the-slowness-of-map-go-for-policy-hash-table</guid>
      <pubDate>Thu, 13 May 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[C++]]></category>
      <category><![CDATA[Competitive Programing]]></category>
    </item>
    <item>
      <title><![CDATA[Responsive Images : Make your app faster!]]></title>
      <description><![CDATA[An overview for responsive image which is used to improve performance across different devices]]></description>
      <link>http://localhost:3000/blog/responsive-images-make-your-app-faster</link>
      <guid isPermaLink="true">http://localhost:3000/blog/responsive-images-make-your-app-faster</guid>
      <pubDate>Mon, 10 May 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[CSS Tricks For Beginners (Part 1)]]></title>
      <description><![CDATA[Some tricks I wish I knew when I was a newbie.]]></description>
      <link>http://localhost:3000/blog/css-tricks-for-beginners-part-1</link>
      <guid isPermaLink="true">http://localhost:3000/blog/css-tricks-for-beginners-part-1</guid>
      <pubDate>Fri, 07 May 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[CSS]]></category>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[Code Javascript like a Guru with these tricks]]></title>
      <description><![CDATA[Frequently Asked JavaScript Interview Questions and Answers for Freshers and Experienced]]></description>
      <link>http://localhost:3000/blog/code-javascript-like-a-guru-with-these-tricks</link>
      <guid isPermaLink="true">http://localhost:3000/blog/code-javascript-like-a-guru-with-these-tricks</guid>
      <pubDate>Sat, 01 May 2021 00:00:00 GMT</pubDate>
      <category><![CDATA[Front-end]]></category>
      <category><![CDATA[Interview]]></category>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
  </channel>
</rss>