<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>John Han Personal Site</title>
        <link>http://localhost:3000</link>
        <description>A short description goes here.</description>
        <lastBuildDate>Thu, 22 Feb 2024 18:15:09 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en_US</language>
        <image>
            <title>John Han Personal Site</title>
            <url>http://localhost:3000/favicon.ico</url>
            <link>http://localhost:3000</link>
        </image>
        <copyright>All rights reserved 2024, John Han</copyright>
        <item>
            <title><![CDATA[Creating Secure Password Flows With Node.js And MySQL]]></title>
            <link>http://localhost:3000/blog/test</link>
            <guid>http://localhost:3000/blog/test</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Ea culpa reprehenderit officia ad sunt ex consequat consequat deserunt fugiat. Sunt pariatur in veniam irure commodo in sint labore non laborum in enim nisi.]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[JavaScript 异步的本质]]></title>
            <link>http://localhost:3000/blog/js/async</link>
            <guid>http://localhost:3000/blog/js/async</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Event Loop 是浏览器的一种工作机制，是用来处理异步任务的方法。那么，异步的本质是什么？]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[JavaScript 基础]]></title>
            <link>http://localhost:3000/blog/js/base</link>
            <guid>http://localhost:3000/blog/js/base</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[基础不牢，地动山摇。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[JavaScript 需要理清的概念]]></title>
            <link>http://localhost:3000/blog/js/concept</link>
            <guid>http://localhost:3000/blog/js/concept</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[JS 的概念你知道，但是你真的理清了吗？]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[JS 的数据拷贝]]></title>
            <link>http://localhost:3000/blog/js/copy</link>
            <guid>http://localhost:3000/blog/js/copy</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[当年最常见的面试题，JS 的数据拷贝。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Decorator(装饰器)]]></title>
            <link>http://localhost:3000/blog/js/decorator</link>
            <guid>http://localhost:3000/blog/js/decorator</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[越来越像JAVA了，JS也有了装饰器。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[深入理解 JavaScript]]></title>
            <link>http://localhost:3000/blog/js/deep</link>
            <guid>http://localhost:3000/blog/js/deep</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[受《你不知道的 JavaScript》系列影响，想深入探索一些 JS 更加硬核的内容。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[JS 心智模型]]></title>
            <link>http://localhost:3000/blog/js/deepJs</link>
            <guid>http://localhost:3000/blog/js/deepJs</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Dan总的课程《Learn my JavaScript Mental Models》的学习笔记]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Event Loop (事件循环)]]></title>
            <link>http://localhost:3000/blog/js/event_loop</link>
            <guid>http://localhost:3000/blog/js/event_loop</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[核心中的核心，画起来，面试要问。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[JavaScript 函数的一切]]></title>
            <link>http://localhost:3000/blog/js/function</link>
            <guid>http://localhost:3000/blog/js/function</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[像空气一样重要。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[JavaScript 内存管理]]></title>
            <link>http://localhost:3000/blog/js/memory</link>
            <guid>http://localhost:3000/blog/js/memory</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[别内存泄漏就行了，其他的交给浏览器吧。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[一次性搞懂 JS 中的面向对象、继承和 Class(类)]]></title>
            <link>http://localhost:3000/blog/js/object</link>
            <guid>http://localhost:3000/blog/js/object</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[一切皆对象]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[前端必须掌握的正则知识]]></title>
            <link>http://localhost:3000/blog/js/regexp</link>
            <guid>http://localhost:3000/blog/js/regexp</guid>
            <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[一看就会，一用就懵。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[深入了解 Node.js]]></title>
            <link>http://localhost:3000/blog/nodejs/base</link>
            <guid>http://localhost:3000/blog/nodejs/base</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Node.js Buffer]]></title>
            <link>http://localhost:3000/blog/nodejs/buffer</link>
            <guid>http://localhost:3000/blog/nodejs/buffer</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Buffer 给了 Node.js 处理二进制的能力。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Express -- NodeJs 使用最广泛的 Web 框架]]></title>
            <link>http://localhost:3000/blog/nodejs/express</link>
            <guid>http://localhost:3000/blog/nodejs/express</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Express 是使用量最大的 NodeJs 框架，也是最早的 NodeJs 框架之一。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Node.js 文件系统（fs）]]></title>
            <link>http://localhost:3000/blog/nodejs/fs</link>
            <guid>http://localhost:3000/blog/nodejs/fs</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[fs 模块可用于与文件系统进行交互。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Koa]]></title>
            <link>http://localhost:3000/blog/nodejs/koa</link>
            <guid>http://localhost:3000/blog/nodejs/koa</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[为什么说下一代的 Node.js web 框架？]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Nest -- 真正的 NodeJs 框架]]></title>
            <link>http://localhost:3000/blog/nodejs/nest</link>
            <guid>http://localhost:3000/blog/nodejs/nest</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Express、Koa 显然不算 NodeJs 框架，Nest 才是。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 开发实战]]></title>
            <link>http://localhost:3000/blog/react/react_action</link>
            <guid>http://localhost:3000/blog/react/react_action</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Show me the code.]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Antd 解析]]></title>
            <link>http://localhost:3000/blog/react/react_antd</link>
            <guid>http://localhost:3000/blog/react/react_antd</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[一起探究 Antd，React 最为人所知的组件库。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[深入理解 Hooks]]></title>
            <link>http://localhost:3000/blog/react/react_hooks</link>
            <guid>http://localhost:3000/blog/react/react_hooks</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Hook 为已知的 React 概念提供了更直接的 API：props， state，context，refs 以及生命周期。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Hooks 实战]]></title>
            <link>http://localhost:3000/blog/react/react_hooksInAction</link>
            <guid>http://localhost:3000/blog/react/react_hooksInAction</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[实战出真知，今天我们来讨论下 Hooks 的实践。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 常见面试题]]></title>
            <link>http://localhost:3000/blog/react/react_interview</link>
            <guid>http://localhost:3000/blog/react/react_interview</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[不在面试中涨薪，就在面试中涨知识。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[深入理解 JSX]]></title>
            <link>http://localhost:3000/blog/react/react_jsx</link>
            <guid>http://localhost:3000/blog/react/react_jsx</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[JSX 是 React 能在众多框架中脱颖而出的一大利器。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 生命周期方法]]></title>
            <link>http://localhost:3000/blog/react/react_lifecycle</link>
            <guid>http://localhost:3000/blog/react/react_lifecycle</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[React 的 Class Component 的在 render、commit 各个执行阶段会调用特定的方法，从出生到销毁，这些方法就是 React 的生命周期方法。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 组件之间的通信]]></title>
            <link>http://localhost:3000/blog/react/react_message</link>
            <guid>http://localhost:3000/blog/react/react_message</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[组件间的通信共 4 种类：父组件 -> 子组件、子组件 -> 父组件、兄弟组件之间、无嵌套的组件间通信。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 状态管理与 Redux、 React Redux]]></title>
            <link>http://localhost:3000/blog/react/react_redux</link>
            <guid>http://localhost:3000/blog/react/react_redux</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[React 是一个 UI 库，只能做 UI 相关的工作，它没有架构、没有模板、没有设计模式、没有路由，也没有数据管理。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[一次搞懂 React Router（含源码分析）]]></title>
            <link>http://localhost:3000/blog/react/react_router</link>
            <guid>http://localhost:3000/blog/react/react_router</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[如果你的应用不止一个页面，那么，你就需要路由。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 项目中的样式处理]]></title>
            <link>http://localhost:3000/blog/react/react_style</link>
            <guid>http://localhost:3000/blog/react/react_style</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[React 官方文档中是没有任何 css 相关的处理方案的，留给大家来思考了。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[SWR 说：或许你真的不需要 Redux]]></title>
            <link>http://localhost:3000/blog/react/react_swr</link>
            <guid>http://localhost:3000/blog/react/react_swr</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Redux 确实有用，但你的需求或许用不到。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[Virtual DOM 与 Fiber]]></title>
            <link>http://localhost:3000/blog/react/react_virtualDomFiber</link>
            <guid>http://localhost:3000/blog/react/react_virtualDomFiber</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Fiber 是践行代数效应的产物。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 架构]]></title>
            <link>http://localhost:3000/blog/react/架构</link>
            <guid>http://localhost:3000/blog/react/架构</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[React17 架构可以分为三层：Scheduler（调度器）、Reconciler（协调器）、Renderer（渲染器）。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 源码(一) 整体流程]]></title>
            <link>http://localhost:3000/blog/react/源码1</link>
            <guid>http://localhost:3000/blog/react/源码1</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[知其然，知其所以然。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 目录结构]]></title>
            <link>http://localhost:3000/blog/react/源码目录结构</link>
            <guid>http://localhost:3000/blog/react/源码目录结构</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[从目录结构看 React 源码]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 理念]]></title>
            <link>http://localhost:3000/blog/react/理念</link>
            <guid>http://localhost:3000/blog/react/理念</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[React 是用于构建用户界面的 JavaScript 库，用于构建快速响应的大型 Web 应用程序的首选方式。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[深入理解 react-create-app]]></title>
            <link>http://localhost:3000/blog/react/管理react项目</link>
            <guid>http://localhost:3000/blog/react/管理react项目</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[脚手架是如何帮助我们快速构建 React 应用的？]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[React 状态复用]]></title>
            <link>http://localhost:3000/blog/react/组件状态复用</link>
            <guid>http://localhost:3000/blog/react/组件状态复用</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[状态复用可以通过 render prop、高阶组件（HOC）以及自定义 Hook 来实现。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
        <item>
            <title><![CDATA[深入 React 高阶组件]]></title>
            <link>http://localhost:3000/blog/react/高阶组件</link>
            <guid>http://localhost:3000/blog/react/高阶组件</guid>
            <pubDate>Sat, 01 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[高阶组件是一种基于 React 的组合特性而形成的设计模式。]]></description>
            <author>hello@example.com (John Han)</author>
        </item>
    </channel>
</rss>