<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Web Developer &amp; Software Engineer | Eric Khanh</title><description>Eric Khanh is a full-stack web developer specializing in modern, high-performance applications using Next.js, NestJS, and TypeScript. Helping businesses and teams build scalable digital solutions.</description><link>https://khanhdang.name/</link><item><title>Method of Real-Time Communication</title><link>https://khanhdang.name/blog/software/method-of-real-time-communication/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/method-of-real-time-communication/</guid><description>An overview of methods for implementing real-time communication in web applications.</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Scaling a System from Zero</title><link>https://khanhdang.name/blog/system/scaling-a-system-from-zero/</link><guid isPermaLink="true">https://khanhdang.name/blog/system/scaling-a-system-from-zero/</guid><description>Scaling a system from zero to millions of users requires a clear roadmap.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Implement i18n Configuration for Next.js Project</title><link>https://khanhdang.name/blog/nextjs/i18n-configuration-for-nextjs-project/</link><guid isPermaLink="true">https://khanhdang.name/blog/nextjs/i18n-configuration-for-nextjs-project/</guid><description>A comprehensive guide to setting up internationalization (i18n) in a Next.js project, enabling support for multiple languages and locales.</description><pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Necessary setup for a new Nextjs project</title><link>https://khanhdang.name/blog/guide/init-nextjs-project/</link><guid isPermaLink="true">https://khanhdang.name/blog/guide/init-nextjs-project/</guid><description>A necessary setup for a Nextjs project.</description><pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Non-blocking I/O in JavaScript</title><link>https://khanhdang.name/blog/javascript/non-blocking-io/</link><guid isPermaLink="true">https://khanhdang.name/blog/javascript/non-blocking-io/</guid><description>To understand what is non-blocking I/O in JavaScript and keep it in mind while coding.</description><pubDate>Mon, 18 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Internet and Web Version</title><link>https://khanhdang.name/blog/software/internet-and-web-version/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/internet-and-web-version/</guid><description>Introduction to the internet and web version includes web1.0, web2.0, web3.0, and web4.0</description><pubDate>Wed, 02 Apr 2025 00:00:00 GMT</pubDate></item><item><title>React Pattern Overview</title><link>https://khanhdang.name/blog/react/react-pattern/</link><guid isPermaLink="true">https://khanhdang.name/blog/react/react-pattern/</guid><description>Overview of React Pattern</description><pubDate>Fri, 28 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Optimize parallel processing in React application</title><link>https://khanhdang.name/blog/react/web-worker-pattern/</link><guid isPermaLink="true">https://khanhdang.name/blog/react/web-worker-pattern/</guid><description>Optimize parallel processing in React application by using Scatter-Gather pattern, Work-stealing pattern</description><pubDate>Tue, 25 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Optimizing Web Worker performance</title><link>https://khanhdang.name/blog/react/web-worker/</link><guid isPermaLink="true">https://khanhdang.name/blog/react/web-worker/</guid><description>Web Worker</description><pubDate>Mon, 24 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Authentication models</title><link>https://khanhdang.name/blog/software/authentication-models/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/authentication-models/</guid><description>The summary of authentication models which help you to make decision with authentication to your project.</description><pubDate>Thu, 07 Nov 2024 00:00:00 GMT</pubDate></item><item><title>The comparison of Vite build, SWC, and TSC in NestJS</title><link>https://khanhdang.name/blog/guide/comparison-vite-tsc-swc/</link><guid isPermaLink="true">https://khanhdang.name/blog/guide/comparison-vite-tsc-swc/</guid><description>Comparison of build tools when coding with Typescript.</description><pubDate>Mon, 15 Jul 2024 00:00:00 GMT</pubDate></item><item><title>String compression</title><link>https://khanhdang.name/blog/algo/string-compression/</link><guid isPermaLink="true">https://khanhdang.name/blog/algo/string-compression/</guid><description>Solutions for String Compression.</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Singleton</title><link>https://khanhdang.name/blog/design-pattern/singleton/</link><guid isPermaLink="true">https://khanhdang.name/blog/design-pattern/singleton/</guid><description>Singleton pattern - Create only one instance on the application lifecycle.</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Design pattern</title><link>https://khanhdang.name/blog/design-pattern/design-pattern/</link><guid isPermaLink="true">https://khanhdang.name/blog/design-pattern/design-pattern/</guid><description>Overview design pattern - OOP design.</description><pubDate>Sun, 23 Jun 2024 00:00:00 GMT</pubDate></item><item><title>[Structural] Bridge</title><link>https://khanhdang.name/blog/design-pattern/bridge/</link><guid isPermaLink="true">https://khanhdang.name/blog/design-pattern/bridge/</guid><description>A method to connect multiple standalone objects</description><pubDate>Sat, 22 Jun 2024 00:00:00 GMT</pubDate></item><item><title>[Structural] Composite</title><link>https://khanhdang.name/blog/design-pattern/composite/</link><guid isPermaLink="true">https://khanhdang.name/blog/design-pattern/composite/</guid><description>A way to structure a group of objects</description><pubDate>Sat, 22 Jun 2024 00:00:00 GMT</pubDate></item><item><title>[Structural] Adapter</title><link>https://khanhdang.name/blog/design-pattern/adapter/</link><guid isPermaLink="true">https://khanhdang.name/blog/design-pattern/adapter/</guid><description>Create a layer to connect an old layer to a new layer</description><pubDate>Thu, 20 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Arrow function vs Regular Function</title><link>https://khanhdang.name/blog/javascript/arrow-function-vs-regular-function/</link><guid isPermaLink="true">https://khanhdang.name/blog/javascript/arrow-function-vs-regular-function/</guid><description>The different between regular function and arrow function.</description><pubDate>Wed, 19 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Deep copy vs Shallow copy</title><link>https://khanhdang.name/blog/javascript/deep-copy-vs-shadow-copy/</link><guid isPermaLink="true">https://khanhdang.name/blog/javascript/deep-copy-vs-shadow-copy/</guid><description>The summarize of copy method in javascript.</description><pubDate>Wed, 19 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Prototype pattern</title><link>https://khanhdang.name/blog/design-pattern/prototype/</link><guid isPermaLink="true">https://khanhdang.name/blog/design-pattern/prototype/</guid><description>An object needs to be cloned from an existing object.</description><pubDate>Sun, 02 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Builder Pattern</title><link>https://khanhdang.name/blog/design-pattern/builder/</link><guid isPermaLink="true">https://khanhdang.name/blog/design-pattern/builder/</guid><description>There are many variations for one type; instead of passing parameters to the constructor, using a builder is more convenient.</description><pubDate>Sat, 01 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Abstract Factory</title><link>https://khanhdang.name/blog/design-pattern/abstract-factory/</link><guid isPermaLink="true">https://khanhdang.name/blog/design-pattern/abstract-factory/</guid><description>Using the Factory Method Pattern to add many types within the same family is considered an Abstract Factory.</description><pubDate>Fri, 31 May 2024 00:00:00 GMT</pubDate></item><item><title>Factory Method</title><link>https://khanhdang.name/blog/design-pattern/factory-method/</link><guid isPermaLink="true">https://khanhdang.name/blog/design-pattern/factory-method/</guid><description>If there is only one factory for all Products, it is no longer the Factory Method but a Simple Factory.</description><pubDate>Thu, 30 May 2024 00:00:00 GMT</pubDate></item><item><title>[SOLID] Dependencies Inversion Princple</title><link>https://khanhdang.name/blog/software/solid-dependencies-inversion-principle/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/solid-dependencies-inversion-principle/</guid><description>Use it when you anticipate that a class or module will have many variations and will be used in multiple places.</description><pubDate>Thu, 08 Feb 2024 00:00:00 GMT</pubDate></item><item><title>[SOLID] Interface Segregation Principle</title><link>https://khanhdang.name/blog/software/solid-interface-segregation-principle/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/solid-interface-segregation-principle/</guid><description>Used to break down large interfaces into smaller ones for easier maintenance and extension.</description><pubDate>Tue, 06 Feb 2024 00:00:00 GMT</pubDate></item><item><title>[SOLID] Liskov Substitution Principle</title><link>https://khanhdang.name/blog/software/solid-liskov-principle/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/solid-liskov-principle/</guid><description>When adhering to this principle, derived classes should be substitutable for their base classes without altering the correctness of the program.</description><pubDate>Sun, 04 Feb 2024 00:00:00 GMT</pubDate></item><item><title>[SOLID] Open-Close Principle</title><link>https://khanhdang.name/blog/software/solid-open-close-principle/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/solid-open-close-principle/</guid><description>The Open-Closed Principle (OCP) is used to achieve an extensible design for maintaining modules or classes. The principle itself applies to both classes and modules.</description><pubDate>Sat, 03 Feb 2024 00:00:00 GMT</pubDate></item><item><title>[SOLID] Single responsibility Principle</title><link>https://khanhdang.name/blog/software/solid-single-responsibility-principle/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/solid-single-responsibility-principle/</guid><description>Use when you estimate the class can be reused in many places and has the potential for extension.</description><pubDate>Fri, 02 Feb 2024 00:00:00 GMT</pubDate></item><item><title>Operator (??, ||, !!, ??=, &amp;&amp;=) - Nullish coalesing, logical operator</title><link>https://khanhdang.name/blog/javascript/nullish-coalesing-vs-logical-operator/</link><guid isPermaLink="true">https://khanhdang.name/blog/javascript/nullish-coalesing-vs-logical-operator/</guid><description>The different between ??, ||, !!, ??=, &amp;&amp;= ...</description><pubDate>Thu, 01 Feb 2024 00:00:00 GMT</pubDate></item><item><title>Immutable in Javascrip</title><link>https://khanhdang.name/blog/javascript/immutable-in-js/</link><guid isPermaLink="true">https://khanhdang.name/blog/javascript/immutable-in-js/</guid><description>An immutable value is a variable&apos;s value that cannot be changed without creating an entirely new value.</description><pubDate>Thu, 25 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Coupling vs Cohesion</title><link>https://khanhdang.name/blog/software/coupling-vs-cohesion/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/coupling-vs-cohesion/</guid><description>Distinguish Coupling and Cohesion.</description><pubDate>Thu, 25 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Horizontal vs Vertical scale</title><link>https://khanhdang.name/blog/software/horizontal-vs-vertical-scale/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/horizontal-vs-vertical-scale/</guid><description>Horizontal scaling can be understood as scaling out by duplicating, while vertical scaling involves upgrading the resources of the individual instance.</description><pubDate>Thu, 25 Jan 2024 00:00:00 GMT</pubDate></item><item><title>4 Principles of Object-Oriented Programming</title><link>https://khanhdang.name/blog/software/4-principle-of-oop/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/4-principle-of-oop/</guid><description>The 4 Principles of Object-Oriented Programming must be remember.</description><pubDate>Tue, 23 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Identify Monoliths, microservices and serverless</title><link>https://khanhdang.name/blog/software/monoliths-microservice-serverless/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/monoliths-microservice-serverless/</guid><description>The different between horizontal scale and vertical scale.</description><pubDate>Tue, 23 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Access Modifiers</title><link>https://khanhdang.name/blog/javascript/access-modifier/</link><guid isPermaLink="true">https://khanhdang.name/blog/javascript/access-modifier/</guid><description>Access modifier - using getter, setter to access property in typescript.</description><pubDate>Mon, 22 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Execution Context</title><link>https://khanhdang.name/blog/javascript/execution-context/</link><guid isPermaLink="true">https://khanhdang.name/blog/javascript/execution-context/</guid><description>Execution context is the environment where code is executed, consisting of three main contexts...</description><pubDate>Tue, 16 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Garbage collection</title><link>https://khanhdang.name/blog/javascript/garbage-collection/</link><guid isPermaLink="true">https://khanhdang.name/blog/javascript/garbage-collection/</guid><description>The mechanism of garbage collection in javascript.</description><pubDate>Tue, 16 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Commit convention</title><link>https://khanhdang.name/blog/git/commit-convension/</link><guid isPermaLink="true">https://khanhdang.name/blog/git/commit-convension/</guid><description>Using commit conventions makes it easy to read, easy to find, and reading commit content can also understand the scope and content of code changes.</description><pubDate>Thu, 28 Dec 2023 00:00:00 GMT</pubDate></item><item><title>SOLID Principle</title><link>https://khanhdang.name/blog/software/solid-principle/</link><guid isPermaLink="true">https://khanhdang.name/blog/software/solid-principle/</guid><description>The overview of SOLID.</description><pubDate>Thu, 07 Dec 2023 00:00:00 GMT</pubDate></item></channel></rss>