<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Today I Learned</title><description>A place I share what I learned, probably interesting things.</description><link>https://til.vuongvu.me/</link><item><title>useDeferredValue</title><link>https://til.vuongvu.me/post/usedeferredvalue/</link><guid isPermaLink="true">https://til.vuongvu.me/post/usedeferredvalue/</guid><pubDate>Wed, 19 Mar 2025 07:02:36 GMT</pubDate></item><item><title>Laws of UX</title><link>https://til.vuongvu.me/post/laws-of-ux/</link><guid isPermaLink="true">https://til.vuongvu.me/post/laws-of-ux/</guid><pubDate>Wed, 25 Dec 2024 16:18:09 GMT</pubDate></item><item><title>JavaScript&apos;s ??= Operator</title><link>https://til.vuongvu.me/post/javascripts-operator/</link><guid isPermaLink="true">https://til.vuongvu.me/post/javascripts-operator/</guid><pubDate>Sun, 22 Dec 2024 11:49:45 GMT</pubDate></item><item><title>Self improvement notes</title><link>https://til.vuongvu.me/post/self-improvement-notes/</link><guid isPermaLink="true">https://til.vuongvu.me/post/self-improvement-notes/</guid><pubDate>Mon, 02 Dec 2024 13:11:53 GMT</pubDate></item><item><title>Clean up your package.json with `per-NODE_ENV` npm scripts.</title><link>https://til.vuongvu.me/post/clean-up-your-package-json-with-per-node_env-npm-scripts/</link><guid isPermaLink="true">https://til.vuongvu.me/post/clean-up-your-package-json-with-per-node_env-npm-scripts/</guid><pubDate>Mon, 25 Nov 2024 23:26:16 GMT</pubDate></item><item><title>Accessibility basic checklist</title><link>https://til.vuongvu.me/post/accessibility-basic-checklist/</link><guid isPermaLink="true">https://til.vuongvu.me/post/accessibility-basic-checklist/</guid><pubDate>Sun, 03 Nov 2024 19:04:31 GMT</pubDate></item><item><title>Difference Between Clearing, Resetting, and Restoring Mocks</title><link>https://til.vuongvu.me/post/difference-between-clearing-resetting-and-restoring-mocks/</link><guid isPermaLink="true">https://til.vuongvu.me/post/difference-between-clearing-resetting-and-restoring-mocks/</guid><pubDate>Sat, 26 Oct 2024 16:13:15 GMT</pubDate></item><item><title>Vitest Mocking Cheat Sheet</title><link>https://til.vuongvu.me/post/vitest-mocking-cheat-sheet/</link><guid isPermaLink="true">https://til.vuongvu.me/post/vitest-mocking-cheat-sheet/</guid><pubDate>Sat, 26 Oct 2024 15:40:37 GMT</pubDate></item><item><title>The XY Problem</title><link>https://til.vuongvu.me/post/the-xy-problem/</link><guid isPermaLink="true">https://til.vuongvu.me/post/the-xy-problem/</guid><pubDate>Sun, 13 Oct 2024 16:01:34 GMT</pubDate></item><item><title>Bulletproof React</title><link>https://til.vuongvu.me/post/bulletproof-react/</link><guid isPermaLink="true">https://til.vuongvu.me/post/bulletproof-react/</guid><pubDate>Wed, 04 Sep 2024 20:30:34 GMT</pubDate></item><item><title>Why books use serif fonts?</title><link>https://til.vuongvu.me/post/why-books-use-serif-fonts/</link><guid isPermaLink="true">https://til.vuongvu.me/post/why-books-use-serif-fonts/</guid><pubDate>Mon, 02 Sep 2024 22:00:00 GMT</pubDate></item><item><title>Freezing a page in DevTools</title><link>https://til.vuongvu.me/post/freezing-a-page-in-devtools/</link><guid isPermaLink="true">https://til.vuongvu.me/post/freezing-a-page-in-devtools/</guid><pubDate>Mon, 26 Aug 2024 16:08:55 GMT</pubDate></item><item><title>Types of Browser Storage</title><link>https://til.vuongvu.me/post/types-of-browser-storage/</link><guid isPermaLink="true">https://til.vuongvu.me/post/types-of-browser-storage/</guid><pubDate>Wed, 31 Jul 2024 22:33:07 GMT</pubDate></item><item><title>Refactoring UI keynotes (Part 2)</title><link>https://til.vuongvu.me/post/refactoring-ui-keynotes-part-2/</link><guid isPermaLink="true">https://til.vuongvu.me/post/refactoring-ui-keynotes-part-2/</guid><pubDate>Wed, 19 Jun 2024 10:30:38 GMT</pubDate></item><item><title>Refactoring UI keynotes (Part 1)</title><link>https://til.vuongvu.me/post/refactoring-ui-keynotes-part-1/</link><guid isPermaLink="true">https://til.vuongvu.me/post/refactoring-ui-keynotes-part-1/</guid><pubDate>Mon, 17 Jun 2024 08:16:26 GMT</pubDate></item><item><title>Leveraging Keys</title><link>https://til.vuongvu.me/post/leveraging-keys/</link><guid isPermaLink="true">https://til.vuongvu.me/post/leveraging-keys/</guid><pubDate>Mon, 10 Jun 2024 21:47:40 GMT</pubDate></item><item><title>Monkey patching</title><link>https://til.vuongvu.me/post/monkey-patching/</link><guid isPermaLink="true">https://til.vuongvu.me/post/monkey-patching/</guid><pubDate>Thu, 25 Apr 2024 15:33:05 GMT</pubDate></item><item><title>JSR - New package registry</title><link>https://til.vuongvu.me/post/jsr-new-package-registry/</link><guid isPermaLink="true">https://til.vuongvu.me/post/jsr-new-package-registry/</guid><pubDate>Mon, 25 Mar 2024 23:01:59 GMT</pubDate></item><item><title>Picking breakpoint values</title><link>https://til.vuongvu.me/post/picking-breakpoint-values/</link><guid isPermaLink="true">https://til.vuongvu.me/post/picking-breakpoint-values/</guid><pubDate>Mon, 12 Feb 2024 21:58:49 GMT</pubDate></item><item><title>Render different HTML tags based on its semantic meaning</title><link>https://til.vuongvu.me/post/render-different-html-tags-based-on-its-semantic-meaning/</link><guid isPermaLink="true">https://til.vuongvu.me/post/render-different-html-tags-based-on-its-semantic-meaning/</guid><pubDate>Tue, 30 Jan 2024 22:20:09 GMT</pubDate></item><item><title>SWR - React Hooks for Data Fetching</title><link>https://til.vuongvu.me/post/swr-react-hooks-for-data-fetching/</link><guid isPermaLink="true">https://til.vuongvu.me/post/swr-react-hooks-for-data-fetching/</guid><pubDate>Tue, 23 Jan 2024 14:22:02 GMT</pubDate></item><item><title>Deep cloning object</title><link>https://til.vuongvu.me/post/deep-cloning-object/</link><guid isPermaLink="true">https://til.vuongvu.me/post/deep-cloning-object/</guid><pubDate>Wed, 10 Jan 2024 23:00:00 GMT</pubDate></item><item><title>Non-breaking spaces: `&amp;nbsp;`</title><link>https://til.vuongvu.me/post/non-breaking-spaces-nbsp/</link><guid isPermaLink="true">https://til.vuongvu.me/post/non-breaking-spaces-nbsp/</guid><pubDate>Thu, 04 Jan 2024 22:55:58 GMT</pubDate></item><item><title>Multi-line ellipsis</title><link>https://til.vuongvu.me/post/multi-line-ellipsis/</link><guid isPermaLink="true">https://til.vuongvu.me/post/multi-line-ellipsis/</guid><pubDate>Sun, 31 Dec 2023 22:02:40 GMT</pubDate></item><item><title>React Wrap Balancer</title><link>https://til.vuongvu.me/post/react-wrap-balancer/</link><guid isPermaLink="true">https://til.vuongvu.me/post/react-wrap-balancer/</guid><pubDate>Tue, 26 Dec 2023 23:51:31 GMT</pubDate></item><item><title>The `useId` hook</title><link>https://til.vuongvu.me/post/the-useid-hook/</link><guid isPermaLink="true">https://til.vuongvu.me/post/the-useid-hook/</guid><pubDate>Sun, 10 Dec 2023 22:51:42 GMT</pubDate></item><item><title>Readability: The Optimal Line Length</title><link>https://til.vuongvu.me/post/readability-the-optimal-line-length/</link><guid isPermaLink="true">https://til.vuongvu.me/post/readability-the-optimal-line-length/</guid><pubDate>Sat, 09 Dec 2023 20:26:34 GMT</pubDate></item><item><title>CSS media feature: prefers-color-scheme</title><link>https://til.vuongvu.me/post/css-media-feature-prefers-color-scheme/</link><guid isPermaLink="true">https://til.vuongvu.me/post/css-media-feature-prefers-color-scheme/</guid><pubDate>Sun, 03 Dec 2023 16:28:52 GMT</pubDate></item><item><title>Use form controls in search</title><link>https://til.vuongvu.me/post/use-form-controls-in-search/</link><guid isPermaLink="true">https://til.vuongvu.me/post/use-form-controls-in-search/</guid><pubDate>Sun, 12 Nov 2023 19:19:05 GMT</pubDate></item><item><title>Caching with closures</title><link>https://til.vuongvu.me/post/caching-with-closures/</link><guid isPermaLink="true">https://til.vuongvu.me/post/caching-with-closures/</guid><pubDate>Tue, 07 Nov 2023 14:22:34 GMT</pubDate></item><item><title>Inline CSS Variables</title><link>https://til.vuongvu.me/post/inline-css-variables/</link><guid isPermaLink="true">https://til.vuongvu.me/post/inline-css-variables/</guid><pubDate>Mon, 06 Nov 2023 20:12:33 GMT</pubDate></item><item><title>Simple theming approach with CSS variables</title><link>https://til.vuongvu.me/post/simple-theming-approach-with-css-variables/</link><guid isPermaLink="true">https://til.vuongvu.me/post/simple-theming-approach-with-css-variables/</guid><pubDate>Mon, 23 Oct 2023 22:17:36 GMT</pubDate></item><item><title>JavaScript: the &quot;.call&quot;, &quot;.bind&quot;, and &quot;.apply&quot; methods</title><link>https://til.vuongvu.me/post/javascript-the-call-bind-and-apply-methods/</link><guid isPermaLink="true">https://til.vuongvu.me/post/javascript-the-call-bind-and-apply-methods/</guid><pubDate>Mon, 16 Oct 2023 13:53:30 GMT</pubDate></item><item><title>JavaScript prototype</title><link>https://til.vuongvu.me/post/javascript-prototype/</link><guid isPermaLink="true">https://til.vuongvu.me/post/javascript-prototype/</guid><pubDate>Sun, 15 Oct 2023 22:17:08 GMT</pubDate></item><item><title>Detect pointing device with media queries</title><link>https://til.vuongvu.me/post/detect-pointing-device-with-media-queries/</link><guid isPermaLink="true">https://til.vuongvu.me/post/detect-pointing-device-with-media-queries/</guid><pubDate>Sun, 15 Oct 2023 10:53:52 GMT</pubDate></item><item><title>async vs defer attributes </title><link>https://til.vuongvu.me/post/async-vs-defer-attributes/</link><guid isPermaLink="true">https://til.vuongvu.me/post/async-vs-defer-attributes/</guid><pubDate>Fri, 13 Oct 2023 10:27:59 GMT</pubDate></item><item><title>[CSS] Create a new stacking context with isolation property</title><link>https://til.vuongvu.me/post/css-create-a-new-stacking-context-with-isolation-property/</link><guid isPermaLink="true">https://til.vuongvu.me/post/css-create-a-new-stacking-context-with-isolation-property/</guid><pubDate>Thu, 05 Oct 2023 21:38:36 GMT</pubDate></item><item><title>[CSS] Use outline for focus style</title><link>https://til.vuongvu.me/post/css-use-outline-for-focus-style/</link><guid isPermaLink="true">https://til.vuongvu.me/post/css-use-outline-for-focus-style/</guid><pubDate>Tue, 03 Oct 2023 20:23:49 GMT</pubDate></item><item><title>One function for all JavaScript package managers</title><link>https://til.vuongvu.me/post/one-function-for-all-javascript-package-managers/</link><guid isPermaLink="true">https://til.vuongvu.me/post/one-function-for-all-javascript-package-managers/</guid><pubDate>Sun, 01 Oct 2023 21:18:56 GMT</pubDate></item><item><title>Responsive layout grid</title><link>https://til.vuongvu.me/post/responsive-layout-grid/</link><guid isPermaLink="true">https://til.vuongvu.me/post/responsive-layout-grid/</guid><pubDate>Tue, 19 Sep 2023 21:39:26 GMT</pubDate></item><item><title>Mobile-First Responsive Design</title><link>https://til.vuongvu.me/post/mobile-first-responsive-design/</link><guid isPermaLink="true">https://til.vuongvu.me/post/mobile-first-responsive-design/</guid><pubDate>Wed, 30 Aug 2023 22:00:00 GMT</pubDate></item><item><title>Update zsh display git default </title><link>https://til.vuongvu.me/post/update-zsh-display-git-default/</link><guid isPermaLink="true">https://til.vuongvu.me/post/update-zsh-display-git-default/</guid><pubDate>Mon, 29 May 2023 20:31:24 GMT</pubDate></item><item><title>Custom environment variables in CRA</title><link>https://til.vuongvu.me/post/cra-custom-environment-variables/</link><guid isPermaLink="true">https://til.vuongvu.me/post/cra-custom-environment-variables/</guid><pubDate>Sun, 23 Apr 2023 11:38:19 GMT</pubDate></item><item><title>Upgrade a NPM package or multiple packages with a pattern</title><link>https://til.vuongvu.me/post/upgrade-a-npm-package-or-multiple-packages-with-a-pattern/</link><guid isPermaLink="true">https://til.vuongvu.me/post/upgrade-a-npm-package-or-multiple-packages-with-a-pattern/</guid><pubDate>Mon, 27 Feb 2023 09:37:44 GMT</pubDate></item><item><title>Simple state-management: Zustand</title><link>https://til.vuongvu.me/post/simple-state-management-zustand/</link><guid isPermaLink="true">https://til.vuongvu.me/post/simple-state-management-zustand/</guid><pubDate>Mon, 02 Jan 2023 22:11:27 GMT</pubDate></item><item><title>[CSS] My Global Styles</title><link>https://til.vuongvu.me/post/css-my-global-styles/</link><guid isPermaLink="true">https://til.vuongvu.me/post/css-my-global-styles/</guid><pubDate>Wed, 21 Dec 2022 21:38:00 GMT</pubDate></item><item><title>[CSS] Use unitless number for line-height</title><link>https://til.vuongvu.me/post/css-use-unitless-number-for-line-height/</link><guid isPermaLink="true">https://til.vuongvu.me/post/css-use-unitless-number-for-line-height/</guid><pubDate>Sun, 18 Dec 2022 22:08:15 GMT</pubDate></item><item><title>Don&apos;t put &quot;outline: none&quot; unless there&apos;s a focus style</title><link>https://til.vuongvu.me/post/dont-put-outline-none-unless-theres-a-focus-style/</link><guid isPermaLink="true">https://til.vuongvu.me/post/dont-put-outline-none-unless-theres-a-focus-style/</guid><pubDate>Sun, 27 Nov 2022 22:25:54 GMT</pubDate></item><item><title>useSafeDispatch custom hook</title><link>https://til.vuongvu.me/post/usesafedispatch-custom-hook/</link><guid isPermaLink="true">https://til.vuongvu.me/post/usesafedispatch-custom-hook/</guid><pubDate>Mon, 21 Nov 2022 23:11:35 GMT</pubDate></item><item><title>[Example] useReducer</title><link>https://til.vuongvu.me/post/sample-usereducer/</link><guid isPermaLink="true">https://til.vuongvu.me/post/sample-usereducer/</guid><pubDate>Sun, 20 Nov 2022 18:38:12 GMT</pubDate></item><item><title>[Example] ErrorBoundary</title><link>https://til.vuongvu.me/post/sample-errorboundary/</link><guid isPermaLink="true">https://til.vuongvu.me/post/sample-errorboundary/</guid><pubDate>Sun, 13 Nov 2022 13:16:03 GMT</pubDate></item><item><title>yarn create vite</title><link>https://til.vuongvu.me/post/yarn-create-vite/</link><guid isPermaLink="true">https://til.vuongvu.me/post/yarn-create-vite/</guid><pubDate>Sun, 06 Nov 2022 21:53:33 GMT</pubDate></item><item><title>Code review pyramid</title><link>https://til.vuongvu.me/post/code-review-pyramid/</link><guid isPermaLink="true">https://til.vuongvu.me/post/code-review-pyramid/</guid><pubDate>Sun, 30 Oct 2022 22:00:01 GMT</pubDate></item><item><title>What error/warning solution to use</title><link>https://til.vuongvu.me/post/what-error-warning-solution-should-i-use/</link><guid isPermaLink="true">https://til.vuongvu.me/post/what-error-warning-solution-should-i-use/</guid><pubDate>Sat, 22 Oct 2022 20:26:03 GMT</pubDate></item><item><title>Show all linked modules in use</title><link>https://til.vuongvu.me/post/show-all-linked-modules-in-use/</link><guid isPermaLink="true">https://til.vuongvu.me/post/show-all-linked-modules-in-use/</guid><pubDate>Sat, 22 Oct 2022 20:20:49 GMT</pubDate></item><item><title>Avoid boolean trap in React component</title><link>https://til.vuongvu.me/post/https-spicefactory-co-blog-2019-03-26-how-to-avoid-the-boolean-trap-when-designing-react-components/</link><guid isPermaLink="true">https://til.vuongvu.me/post/https-spicefactory-co-blog-2019-03-26-how-to-avoid-the-boolean-trap-when-designing-react-components/</guid><pubDate>Fri, 21 Oct 2022 22:00:00 GMT</pubDate></item><item><title>Quickly build custom UI components with https://styled-system.com/</title><link>https://til.vuongvu.me/post/quickly-build-custom-ui-components-with-https-styled-system-com/</link><guid isPermaLink="true">https://til.vuongvu.me/post/quickly-build-custom-ui-components-with-https-styled-system-com/</guid><pubDate>Tue, 18 Oct 2022 21:36:04 GMT</pubDate></item><item><title>[Git] Check number of changes from current branch</title><link>https://til.vuongvu.me/post/git-check-number-of-changes-from-current-branch/</link><guid isPermaLink="true">https://til.vuongvu.me/post/git-check-number-of-changes-from-current-branch/</guid><pubDate>Sun, 01 May 2022 12:05:06 GMT</pubDate></item><item><title>[CSS] The :empty CSS pseudo-class</title><link>https://til.vuongvu.me/post/css-the-empty-css-pseudo-class/</link><guid isPermaLink="true">https://til.vuongvu.me/post/css-the-empty-css-pseudo-class/</guid><pubDate>Sat, 30 Apr 2022 15:18:00 GMT</pubDate></item><item><title>Strip HTML tags from markup and memoize it with weakMap()</title><link>https://til.vuongvu.me/post/strip-html-tags-from-markup-and-memoize-it-with-weakmap/</link><guid isPermaLink="true">https://til.vuongvu.me/post/strip-html-tags-from-markup-and-memoize-it-with-weakmap/</guid><pubDate>Sat, 23 Apr 2022 21:35:17 GMT</pubDate></item><item><title>Memoization with React.memo</title><link>https://til.vuongvu.me/post/memoization-with-react-memo/</link><guid isPermaLink="true">https://til.vuongvu.me/post/memoization-with-react-memo/</guid><pubDate>Sat, 02 Apr 2022 09:52:47 GMT</pubDate></item><item><title>[Jest] Avoid using data-testid in test</title><link>https://til.vuongvu.me/post/jest-avoid-using-data-testid-in-test/</link><guid isPermaLink="true">https://til.vuongvu.me/post/jest-avoid-using-data-testid-in-test/</guid><pubDate>Wed, 30 Mar 2022 18:28:13 GMT</pubDate></item><item><title>[Example] Request API hook</title><link>https://til.vuongvu.me/post/react-hooks-request-api-hook/</link><guid isPermaLink="true">https://til.vuongvu.me/post/react-hooks-request-api-hook/</guid><pubDate>Sat, 26 Mar 2022 13:16:33 GMT</pubDate></item><item><title>Avoid unnecessary CSS nesting</title><link>https://til.vuongvu.me/post/avoiding-unnecessary-css-nesting/</link><guid isPermaLink="true">https://til.vuongvu.me/post/avoiding-unnecessary-css-nesting/</guid><pubDate>Sun, 06 Mar 2022 14:05:30 GMT</pubDate></item><item><title>Random number generator with Web Crypto API</title><link>https://til.vuongvu.me/post/random-number-generator-with-web-crypto-api/</link><guid isPermaLink="true">https://til.vuongvu.me/post/random-number-generator-with-web-crypto-api/</guid><pubDate>Sat, 19 Feb 2022 12:02:55 GMT</pubDate></item><item><title>[TS] Get return type of any function</title><link>https://til.vuongvu.me/post/typescript-get-return-type-of-any-function/</link><guid isPermaLink="true">https://til.vuongvu.me/post/typescript-get-return-type-of-any-function/</guid><pubDate>Tue, 01 Feb 2022 22:49:25 GMT</pubDate></item><item><title>[CSS] Convert #hex notation to color with opacity (#rgba &amp; #rrggbbaa)</title><link>https://til.vuongvu.me/post/css-convert-hex-notation-to-color-with-opacity-rgba-rrggbbaa/</link><guid isPermaLink="true">https://til.vuongvu.me/post/css-convert-hex-notation-to-color-with-opacity-rgba-rrggbbaa/</guid><pubDate>Sun, 30 Jan 2022 10:08:05 GMT</pubDate></item><item><title>Create a focus trap area for Accessibility</title><link>https://til.vuongvu.me/post/create-a-focus-trap-area-for-accessibility/</link><guid isPermaLink="true">https://til.vuongvu.me/post/create-a-focus-trap-area-for-accessibility/</guid><pubDate>Sun, 10 Oct 2021 15:20:21 GMT</pubDate></item><item><title>[Example] React Context</title><link>https://til.vuongvu.me/post/sample-react-context-implementation/</link><guid isPermaLink="true">https://til.vuongvu.me/post/sample-react-context-implementation/</guid><pubDate>Fri, 10 Sep 2021 16:00:00 GMT</pubDate></item><item><title>How to Modal</title><link>https://til.vuongvu.me/post/how-to-modal/</link><guid isPermaLink="true">https://til.vuongvu.me/post/how-to-modal/</guid><description>This is a guide I picked up recently</description><pubDate>Sat, 31 Jul 2021 15:04:10 GMT</pubDate></item><item><title>Nullish coalescing operator (??)</title><link>https://til.vuongvu.me/post/nullish-coalescing-operator/</link><guid isPermaLink="true">https://til.vuongvu.me/post/nullish-coalescing-operator/</guid><description>A logical operator that returns its right-hand side operand when its left-hand side operand is null or undefined, and otherwise returns its left-hand side operand</description><pubDate>Sun, 18 Jul 2021 15:11:16 GMT</pubDate></item><item><title>JavaScript String.prototype.split() with &quot;limit&quot; parameter </title><link>https://til.vuongvu.me/post/javascript-string-prototype-split-with-limit-parameter/</link><guid isPermaLink="true">https://til.vuongvu.me/post/javascript-string-prototype-split-with-limit-parameter/</guid><description>Specify a limit on the number of substrings</description><pubDate>Sat, 10 Jul 2021 03:50:28 GMT</pubDate></item><item><title>Implement Memoization in JavaScript</title><link>https://til.vuongvu.me/post/implementing-memoization-in-javascript/</link><guid isPermaLink="true">https://til.vuongvu.me/post/implementing-memoization-in-javascript/</guid><description>Programs often waste time calling functions which recalculate the same results over and over again. Memoization helps to resolve this problem.</description><pubDate>Sat, 19 Jun 2021 16:31:52 GMT</pubDate></item><item><title>Implement useIsMounted hook</title><link>https://til.vuongvu.me/post/implement-useismounted-hook/</link><guid isPermaLink="true">https://til.vuongvu.me/post/implement-useismounted-hook/</guid><description>A React hook that tells if a component is mounted</description><pubDate>Wed, 26 May 2021 10:27:23 GMT</pubDate></item><item><title>Upgrade dependencies with &quot;yarn upgrade-interactive&quot;</title><link>https://til.vuongvu.me/post/upgrade-dependencies-with-yarn-upgrade-interactive/</link><guid isPermaLink="true">https://til.vuongvu.me/post/upgrade-dependencies-with-yarn-upgrade-interactive/</guid><description>An easy way to update outdated packages</description><pubDate>Wed, 12 May 2021 16:23:10 GMT</pubDate></item><item><title>RegEx Named Capture Groups</title><link>https://til.vuongvu.me/post/regex-named-capture-groups/</link><guid isPermaLink="true">https://til.vuongvu.me/post/regex-named-capture-groups/</guid><description>A useful RegEx technique the get grouped values</description><pubDate>Mon, 26 Apr 2021 15:38:19 GMT</pubDate></item><item><title>Use Google Sheets as a CMS</title><link>https://til.vuongvu.me/post/use-google-sheets-as-a-cms/</link><guid isPermaLink="true">https://til.vuongvu.me/post/use-google-sheets-as-a-cms/</guid><description>Today I know an easy way to setup a ggsheet as a CMS</description><pubDate>Tue, 20 Apr 2021 14:00:07 GMT</pubDate></item><item><title>Declarative vs Imperative Programming</title><link>https://til.vuongvu.me/post/declarative-vs-imperative-programming/</link><guid isPermaLink="true">https://til.vuongvu.me/post/declarative-vs-imperative-programming/</guid><description>Differentiate 2 programming concepts in React</description><pubDate>Sun, 18 Apr 2021 16:05:05 GMT</pubDate></item><item><title>Git commands to note</title><link>https://til.vuongvu.me/post/git-commands-to-note/</link><guid isPermaLink="true">https://til.vuongvu.me/post/git-commands-to-note/</guid><description>Some useful git commands, save for later</description><pubDate>Thu, 15 Apr 2021 15:08:45 GMT</pubDate></item><item><title>A brief introduction of front-end frameworks</title><link>https://til.vuongvu.me/post/a-brief-introduction-of-front-end-frameworks/</link><guid isPermaLink="true">https://til.vuongvu.me/post/a-brief-introduction-of-front-end-frameworks/</guid><description>Introduction of some popular front-end frameworks</description><pubDate>Tue, 13 Apr 2021 15:52:58 GMT</pubDate></item><item><title>Why React Hooks?</title><link>https://til.vuongvu.me/post/why-react-hooks/</link><guid isPermaLink="true">https://til.vuongvu.me/post/why-react-hooks/</guid><description>Learn the reason React made Hooks under the hood</description><pubDate>Sun, 11 Apr 2021 15:20:49 GMT</pubDate></item><item><title>Client-Side Rendering vs Server-Side Rendering vs Static Site Generation</title><link>https://til.vuongvu.me/post/client-side-rendering-vs-server-side-rendering-vs-static-site-generation/</link><guid isPermaLink="true">https://til.vuongvu.me/post/client-side-rendering-vs-server-side-rendering-vs-static-site-generation/</guid><description>Pros and cons of 3 ways a website can be rendered onto the browser</description><pubDate>Mon, 05 Apr 2021 15:27:17 GMT</pubDate></item><item><title>React custom hooks for later use</title><link>https://til.vuongvu.me/post/react-custom-hooks-for-later-use/</link><guid isPermaLink="true">https://til.vuongvu.me/post/react-custom-hooks-for-later-use/</guid><description>A place to keep all my custom hooks</description><pubDate>Fri, 02 Apr 2021 11:06:05 GMT</pubDate></item><item><title>Implement mediaQuery helper for styled-component</title><link>https://til.vuongvu.me/post/implement-mediaquery-helper-for-styled-component/</link><guid isPermaLink="true">https://til.vuongvu.me/post/implement-mediaquery-helper-for-styled-component/</guid><description>Helper tool for responsive design</description><pubDate>Thu, 01 Apr 2021 16:52:31 GMT</pubDate></item><item><title>Push query parameter to the URL with `useLocation`</title><link>https://til.vuongvu.me/post/push-query-parameter-to-the-url-with-uselocation/</link><guid isPermaLink="true">https://til.vuongvu.me/post/push-query-parameter-to-the-url-with-uselocation/</guid><description>A useful react-router hook</description><pubDate>Tue, 30 Mar 2021 07:23:04 GMT</pubDate></item><item><title>Highlight container when the user focuses on one of its child</title><link>https://til.vuongvu.me/post/highlight-container-when-the-user-focuses-on-one-of-its-child/</link><guid isPermaLink="true">https://til.vuongvu.me/post/highlight-container-when-the-user-focuses-on-one-of-its-child/</guid><description>Using :focus-within CSS pseudo-class</description><pubDate>Sun, 28 Mar 2021 08:08:52 GMT</pubDate></item><item><title>Implement runtime environment variables with Docker and React app</title><link>https://til.vuongvu.me/post/implement-runtime-environment-with-docker-and-react-app/</link><guid isPermaLink="true">https://til.vuongvu.me/post/implement-runtime-environment-with-docker-and-react-app/</guid><description>There is a way to inject environment variables at runtime for React app</description><pubDate>Thu, 25 Mar 2021 16:07:40 GMT</pubDate></item><item><title>Temporary email generator site</title><link>https://til.vuongvu.me/post/temporary-email-generator-site/</link><guid isPermaLink="true">https://til.vuongvu.me/post/temporary-email-generator-site/</guid><description>https://temp-mail.org</description><pubDate>Wed, 24 Mar 2021 09:43:07 GMT</pubDate></item><item><title>Free cross browser testing site</title><link>https://til.vuongvu.me/post/free-cross-browser-testing-site/</link><guid isPermaLink="true">https://til.vuongvu.me/post/free-cross-browser-testing-site/</guid><description>https://app.crossbrowsertesting.com</description><pubDate>Tue, 23 Mar 2021 06:10:20 GMT</pubDate></item><item><title>Testing library for Hooks</title><link>https://til.vuongvu.me/post/testing-library-for-hooks/</link><guid isPermaLink="true">https://til.vuongvu.me/post/testing-library-for-hooks/</guid><description>https://github.com/testing-library/react-hooks-testing-library</description><pubDate>Mon, 22 Mar 2021 15:56:43 GMT</pubDate></item><item><title>Today I learned about Today I Learned</title><link>https://til.vuongvu.me/post/today-i-learned-about-til/</link><guid isPermaLink="true">https://til.vuongvu.me/post/today-i-learned-about-til/</guid><description>Today I learned about Today I Learned</description><pubDate>Mon, 22 Mar 2021 15:34:21 GMT</pubDate></item></channel></rss>