<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Zlog</title>
  <subtitle>A personal blog about technology, programming, and more.</subtitle>
  <link href="https://zephyr110.github.io/feed.xml" rel="self" />
  <link href="https://zephyr110.github.io" />
  <updated>2026-08-16T00:00:00.000Z</updated>
  <id>https://zephyr110.github.io/</id>
  <author>
    <name>Zephyr110</name>
  </author>
  
  <entry>
    <id>https://zephyr110.github.io/posts/zlog-deployment-guide</id>
    <title>Zlog 部署指南（一）：三种方式怎么选</title>
    <link href="https://zephyr110.github.io/posts/zlog-deployment-guide" />
    <published>2026-08-16T00:00:00.000Z</published>
    <updated>2026-08-16T00:00:00.000Z</updated>
    <summary type="html">本地使用、Turso 云端同步、一键发布 Vercel——三种方式怎么选？一张对比表 + 决策树，5 分钟上手。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>本地使用、Turso 云端同步、一键发布 Vercel——三种方式怎么选？一张对比表 + 决策树，5 分钟上手。</p>
        <p><a href="https://zephyr110.github.io/posts/zlog-deployment-guide">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="Zlog" />
    <category term="指南" />
    <category term="部署" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/zlog-deployment-guide-sync</id>
    <title>Zlog 部署指南（二）：Turso 云端同步</title>
    <link href="https://zephyr110.github.io/posts/zlog-deployment-guide-sync" />
    <published>2026-08-16T00:00:00.000Z</published>
    <updated>2026-08-16T00:00:00.000Z</updated>
    <summary type="html">把博客数据同步到 Turso 云端库：注册建库、桌面端填入连接串、验证同步，数据安全与多端一致。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>把博客数据同步到 Turso 云端库：注册建库、桌面端填入连接串、验证同步，数据安全与多端一致。</p>
        <p><a href="https://zephyr110.github.io/posts/zlog-deployment-guide-sync">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="Zlog" />
    <category term="指南" />
    <category term="Turso" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/zlog-deployment-guide-vercel</id>
    <title>Zlog 部署指南（三）：一键部署到 Vercel，发布公网</title>
    <link href="https://zephyr110.github.io/posts/zlog-deployment-guide-vercel" />
    <published>2026-08-16T00:00:00.000Z</published>
    <updated>2026-08-16T00:00:00.000Z</updated>
    <summary type="html">注册 Vercel、生成 Token、桌面端一键部署——无需 Git 和命令行，2-5 分钟把博客发布成公开网站。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>注册 Vercel、生成 Token、桌面端一键部署——无需 Git 和命令行，2-5 分钟把博客发布成公开网站。</p>
        <p><a href="https://zephyr110.github.io/posts/zlog-deployment-guide-vercel">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="Zlog" />
    <category term="指南" />
    <category term="Vercel" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/zlog-deployment-guide-en</id>
    <title>Zlog Deployment Guide (1/3): Which Mode Should You Choose?</title>
    <link href="https://zephyr110.github.io/posts/zlog-deployment-guide-en" />
    <published>2026-08-16T00:00:00.000Z</published>
    <updated>2026-08-16T00:00:00.000Z</updated>
    <summary type="html">Local use, Turso cloud sync, or one-click Vercel publish? A comparison table and a decision tree to get started in 5 minutes.</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Local use, Turso cloud sync, or one-click Vercel publish? A comparison table and a decision tree to get started in 5 minutes.</p>
        <p><a href="https://zephyr110.github.io/posts/zlog-deployment-guide-en">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="Zlog" />
    <category term="guide" />
    <category term="deploy" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/zlog-deployment-guide-sync-en</id>
    <title>Zlog Deployment Guide (2/3): Turso Cloud Sync</title>
    <link href="https://zephyr110.github.io/posts/zlog-deployment-guide-sync-en" />
    <published>2026-08-16T00:00:00.000Z</published>
    <updated>2026-08-16T00:00:00.000Z</updated>
    <summary type="html">Sync your blog to a Turso cloud database: sign up, create a DB, paste the connection URL into the desktop app, and verify.</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Sync your blog to a Turso cloud database: sign up, create a DB, paste the connection URL into the desktop app, and verify.</p>
        <p><a href="https://zephyr110.github.io/posts/zlog-deployment-guide-sync-en">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="Zlog" />
    <category term="guide" />
    <category term="Turso" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/zlog-deployment-guide-vercel-en</id>
    <title>Zlog Deployment Guide (3/3): One-Click Deploy to Vercel</title>
    <link href="https://zephyr110.github.io/posts/zlog-deployment-guide-vercel-en" />
    <published>2026-08-16T00:00:00.000Z</published>
    <updated>2026-08-16T00:00:00.000Z</updated>
    <summary type="html">Sign up for Vercel, create a token, and one-click deploy from the desktop app — no Git or terminal, public in 2–5 minutes.</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Sign up for Vercel, create a token, and one-click deploy from the desktop app — no Git or terminal, public in 2–5 minutes.</p>
        <p><a href="https://zephyr110.github.io/posts/zlog-deployment-guide-vercel-en">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="Zlog" />
    <category term="guide" />
    <category term="Vercel" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/llm-learning-guide</id>
    <title>大模型学习路线</title>
    <link href="https://zephyr110.github.io/posts/llm-learning-guide" />
    <published>2026-08-04T00:00:00.000Z</published>
    <updated>2026-08-09T00:00:00.000Z</updated>
    <summary type="html">零机器学习背景学习大模型的 GitHub 开源路线：深度学习基础、Transformer 与注意力、LLM 原理、RAG/Agent 应用、微调部署。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>零机器学习背景学习大模型的 GitHub 开源路线：深度学习基础、Transformer 与注意力、LLM 原理、RAG/Agent 应用、微调部署。</p>
        <p><a href="https://zephyr110.github.io/posts/llm-learning-guide">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="llm" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-offscreancanvas</id>
    <title>OffscreenCanvas</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-offscreancanvas" />
    <published>2025-12-10T00:00:00.000Z</published>
    <updated>2025-12-10T00:00:00.000Z</updated>
    <summary type="html">MDN-OffscreenCanvas</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>MDN-OffscreenCanvas</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-offscreancanvas">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-service-weoker</id>
    <title>Service Worker</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-service-weoker" />
    <published>2024-05-28T00:00:00.000Z</published>
    <updated>2026-08-10T00:00:00.000Z</updated>
    <summary type="html">Web worker 是一种在浏览器中运行的后台脚本，它可以在独立的线程中执行任务，而不会阻塞主线程的执行。Web worker 的主要作用是处理耗时的计算任务，例如图片处理、文本分析、数据处理等，以避免阻塞主线程，提高页面的响应性能</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Web worker 是一种在浏览器中运行的后台脚本，它可以在独立的线程中执行任务，而不会阻塞主线程的执行。Web worker 的主要作用是处理耗时的计算任务，例如图片处理、文本分析、数据处理等，以避免阻塞主线程，提高页面的响应性能</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-service-weoker">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-framework-vue-tour</id>
    <title>vue-tour二次封装</title>
    <link href="https://zephyr110.github.io/posts/frontend-framework-vue-tour" />
    <published>2023-07-22T00:00:00.000Z</published>
    <updated>2023-07-22T00:00:00.000Z</updated>
    <summary type="html">npm install vue-tour</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>npm install vue-tour</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-framework-vue-tour">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-framework" />
    <category term="frontend-vue" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-web-component</id>
    <title>Web Components</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-web-component" />
    <published>2023-01-01T00:00:00.000Z</published>
    <updated>2023-01-01T00:00:00.000Z</updated>
    <summary type="html">Web components 是原生的组件化开发技术，它可以让我们创建自定义的 HTML 元素，并且功能和样式都会封装在组件内部，不影响其它的元素。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Web components 是原生的组件化开发技术，它可以让我们创建自定义的 HTML 元素，并且功能和样式都会封装在组件内部，不影响其它的元素。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-web-component">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-design-pattern-facade</id>
    <title>Facade</title>
    <link href="https://zephyr110.github.io/posts/frontend-design-pattern-facade" />
    <published>2021-12-26T00:00:00.000Z</published>
    <updated>2026-08-02T00:00:00.000Z</updated>
    <summary type="html">外观模式：就是提供一个统一的接口去访问多个子系统的多个不同的接口，为子系统中的一组接口提供统一的高层接口。使得子系统更容易使用，不仅简化类中的接口，而且实现调用者和接口的解耦。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>外观模式：就是提供一个统一的接口去访问多个子系统的多个不同的接口，为子系统中的一组接口提供统一的高层接口。使得子系统更容易使用，不仅简化类中的接口，而且实现调用者和接口的解耦。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-design-pattern-facade">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="designpattern" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-design-pattern-sigleton</id>
    <title>Singleton</title>
    <link href="https://zephyr110.github.io/posts/frontend-design-pattern-sigleton" />
    <published>2021-12-26T00:00:00.000Z</published>
    <updated>2021-12-26T00:00:00.000Z</updated>
    <summary type="html">单例模式：就是在整个运行时域，一个类只有一个实例对象。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>单例模式：就是在整个运行时域，一个类只有一个实例对象。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-design-pattern-sigleton">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="designpattern" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-function-overloading</id>
    <title>Function Overloading</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-function-overloading" />
    <published>2021-12-19T00:00:00.000Z</published>
    <updated>2021-12-19T00:00:00.000Z</updated>
    <summary type="html">函数名相同，函数的参数列表不同（参数个数、参数类型），根据参数的不同之行不同的操作。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>函数名相同，函数的参数列表不同（参数个数、参数类型），根据参数的不同之行不同的操作。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-function-overloading">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-css-stylelint</id>
    <title>Stylelint</title>
    <link href="https://zephyr110.github.io/posts/frontend-css-stylelint" />
    <published>2021-12-12T00:00:00.000Z</published>
    <updated>2021-12-12T00:00:00.000Z</updated>
    <summary type="html">JS 代码有 ESLint 等格式化工具来校验、格式化，相对的，CSS 也有格式化工具。本文就主流 CSS 格式化工具 Stylelint 以及我们为什么要做 CSS 样式格式化略作介绍。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>JS 代码有 ESLint 等格式化工具来校验、格式化，相对的，CSS 也有格式化工具。本文就主流 CSS 格式化工具 Stylelint 以及我们为什么要做 CSS 样式格式化略作介绍。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-css-stylelint">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-css" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-lazy-loading</id>
    <title>JS惰性载入函数</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-lazy-loading" />
    <published>2021-11-21T00:00:00.000Z</published>
    <updated>2021-11-21T00:00:00.000Z</updated>
    <summary type="html">惰性载入函数： 函数执行时会根据不同的判断分支最终选择合适的方案执行，但这样的分支判断仅会发生一次，后面的其他同类执行都不会再分支判断。提高了 JS 执行效率性能。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>惰性载入函数： 函数执行时会根据不同的判断分支最终选择合适的方案执行，但这样的分支判断仅会发生一次，后面的其他同类执行都不会再分支判断。提高了 JS 执行效率性能。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-lazy-loading">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-yeilding-processes</id>
    <title>Yeilding Processes</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-yeilding-processes" />
    <published>2021-11-21T00:00:00.000Z</published>
    <updated>2021-11-21T00:00:00.000Z</updated>
    <summary type="html">与桌面应用可以动态调整运行所需内存和处理器时间不同的是，运行在浏览器中的 JavaScript 都被分配了一个确定数量的资源，是有严格限制的。当 JavaScript 代码运行超过特定的时间或者语句数量就会被阻止继续执行，但实际开发中难免会遇到过长、过深嵌套的函数调用或者大数组的循环处理，为了解决这些问题就有了定时器及分块的解决方案。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>与桌面应用可以动态调整运行所需内存和处理器时间不同的是，运行在浏览器中的 JavaScript 都被分配了一个确定数量的资源，是有严格限制的。当 JavaScript 代码运行超过特定的时间或者语句数量就会被阻止继续执行，但实际开发中难免会遇到过长、过深嵌套的函数调用或者大数组的循环处理，为了解决这些问题就有了定时器及分块的解决方案。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-yeilding-processes">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/scriptable</id>
    <title>Scriptable</title>
    <link href="https://zephyr110.github.io/posts/scriptable" />
    <published>2021-10-03T00:00:00.000Z</published>
    <updated>2026-08-08T00:00:00.000Z</updated>
    <summary type="html">iOS Scriptable 脚本合集：提醒事项同步日历、快捷指令自动化、新闻小组件等。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>iOS Scriptable 脚本合集：提醒事项同步日历、快捷指令自动化、新闻小组件等。</p>
        <p><a href="https://zephyr110.github.io/posts/scriptable">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="summary-scriptable" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/gear-picgo</id>
    <title>PicGo + Github + jsDelivr搭建图床</title>
    <link href="https://zephyr110.github.io/posts/gear-picgo" />
    <published>2021-10-01T00:00:00.000Z</published>
    <updated>2021-10-01T00:00:00.000Z</updated>
    <summary type="html">之前一直用 iPic 自带的新浪免费图床保存博客图片，期间有一些图片丢失了，另外就是因为 iPic 默认会给透明背景的图片加上一个白色背景，导致博客在暗黑模式下加载的图片有一个很难看的白边，对于有强迫症的我来说忍无可忍，所以就尝试了 PicGo + Github 搭建图床，问题完美解决。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>之前一直用 iPic 自带的新浪免费图床保存博客图片，期间有一些图片丢失了，另外就是因为 iPic 默认会给透明背景的图片加上一个白色背景，导致博客在暗黑模式下加载的图片有一个很难看的白边，对于有强迫症的我来说忍无可忍，所以就尝试了 PicGo + Github 搭建图床，问题完美解决。</p>
        <p><a href="https://zephyr110.github.io/posts/gear-picgo">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="gear-tools" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-performance</id>
    <title>WEB性能优化</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-performance" />
    <published>2021-08-01T00:00:00.000Z</published>
    <updated>2021-08-01T00:00:00.000Z</updated>
    <summary type="html">内容分发网络 （Content Delivery Network）利用全局负载均衡和缓存系统</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>内容分发网络 （Content Delivery Network）利用全局负载均衡和缓存系统</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-performance">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-framework-react-lifecycle-methods</id>
    <title>React生命周期</title>
    <link href="https://zephyr110.github.io/posts/frontend-framework-react-lifecycle-methods" />
    <published>2021-07-25T00:00:00.000Z</published>
    <updated>2021-07-25T00:00:00.000Z</updated>
    <summary type="html">当组件实例被创建并插入 DOM 节点时，其生命周期调用顺序如下：</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>当组件实例被创建并插入 DOM 节点时，其生命周期调用顺序如下：</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-framework-react-lifecycle-methods">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-framework" />
    <category term="frontend-react" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/backend-python-scrapy</id>
    <title>Scrapy</title>
    <link href="https://zephyr110.github.io/posts/backend-python-scrapy" />
    <published>2021-06-02T00:00:00.000Z</published>
    <updated>2021-06-02T00:00:00.000Z</updated>
    <summary type="html">或者用 Anaconda（安装略）下载 Scrapy</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>或者用 Anaconda（安装略）下载 Scrapy</p>
        <p><a href="https://zephyr110.github.io/posts/backend-python-scrapy">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend" />
    <category term="backend-python" />
    <category term="scrapy" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/backend-server-mysql</id>
    <title>MySQL</title>
    <link href="https://zephyr110.github.io/posts/backend-server-mysql" />
    <published>2021-05-19T00:00:00.000Z</published>
    <updated>2021-05-19T00:00:00.000Z</updated>
    <summary type="html">集成化开发环境内置，或者官网下载单独安装</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>集成化开发环境内置，或者官网下载单独安装</p>
        <p><a href="https://zephyr110.github.io/posts/backend-server-mysql">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend-server" />
    <category term="database" />
    <category term="gear-tools" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/mysql</id>
    <title>MySQL</title>
    <link href="https://zephyr110.github.io/posts/mysql" />
    <published>2021-05-19T00:00:00.000Z</published>
    <updated>2021-05-19T00:00:00.000Z</updated>
    <summary type="html">MySQL 常用操作与使用笔记。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>MySQL 常用操作与使用笔记。</p>
        <p><a href="https://zephyr110.github.io/posts/mysql">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend-db" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/summary-vpn</id>
    <title>Virtual Private Network</title>
    <link href="https://zephyr110.github.io/posts/summary-vpn" />
    <published>2021-05-14T00:00:00.000Z</published>
    <updated>2021-05-14T00:00:00.000Z</updated>
    <summary type="html">Visit http://aws.amazon.com/free/ and complete the signup. If you already have an Amazon AWS account then please login and follow on.</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Visit http://aws.amazon.com/free/ and complete the signup. If you already have an Amazon AWS account then please login and follow on.</p>
        <p><a href="https://zephyr110.github.io/posts/summary-vpn">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend-application" />
    <category term="summary-summary" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-typescript-class</id>
    <title>类</title>
    <link href="https://zephyr110.github.io/posts/frontend-typescript-class" />
    <published>2021-05-02T00:00:00.000Z</published>
    <updated>2021-05-02T00:00:00.000Z</updated>
    <summary type="html">类</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>类</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-typescript-class">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-typescript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-typescript-declare</id>
    <title>声明文件</title>
    <link href="https://zephyr110.github.io/posts/frontend-typescript-declare" />
    <published>2021-05-02T00:00:00.000Z</published>
    <updated>2021-05-02T00:00:00.000Z</updated>
    <summary type="html">实际开发中需要引入第三方库，但这些库不能使用 TS 的类型检查等特性方法，所以需要将这些库里的函数和方法体去掉后只保留导出类型声明，而产生了一个描述 JavaScript 库和模块信息的声明文件。通过引用这个声明文件，就可以借用 TypeScript 的各种特性来使用库文件了。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>实际开发中需要引入第三方库，但这些库不能使用 TS 的类型检查等特性方法，所以需要将这些库里的函数和方法体去掉后只保留导出类型声明，而产生了一个描述 JavaScript 库和模块信息的声明文件。通过引用这个声明文件，就可以借用 TypeScript 的各种特性来使用库文件了。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-typescript-declare">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-typescript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-typescript-enum</id>
    <title>enum枚举类型的注意点</title>
    <link href="https://zephyr110.github.io/posts/frontend-typescript-enum" />
    <published>2021-05-02T00:00:00.000Z</published>
    <updated>2021-05-02T00:00:00.000Z</updated>
    <summary type="html">enum枚举类型的注意点</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>enum枚举类型的注意点</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-typescript-enum">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-typescript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-typescript-generic</id>
    <title>泛型</title>
    <link href="https://zephyr110.github.io/posts/frontend-typescript-generic" />
    <published>2021-05-02T00:00:00.000Z</published>
    <updated>2021-05-02T00:00:00.000Z</updated>
    <summary type="html">定义一个创建数组的方法, 可以创建出指定长度的数组, 并且可以用任意指定的内容填充这个数组。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>定义一个创建数组的方法, 可以创建出指定长度的数组, 并且可以用任意指定的内容填充这个数组。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-typescript-generic">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-typescript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-typescript-interface</id>
    <title>接口</title>
    <link href="https://zephyr110.github.io/posts/frontend-typescript-interface" />
    <published>2021-05-02T00:00:00.000Z</published>
    <updated>2021-05-02T00:00:00.000Z</updated>
    <summary type="html">接口是一系列抽象方法的声明，是一些方法特征的集合，这些方法都应该是抽象的，需要由具体的类去实现，然后第三方就可以通过这组抽象方法调用，让具体的类执行具体的方法。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>接口是一系列抽象方法的声明，是一些方法特征的集合，这些方法都应该是抽象的，需要由具体的类去实现，然后第三方就可以通过这组抽象方法调用，让具体的类执行具体的方法。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-typescript-interface">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-typescript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-typescript-type-assertion</id>
    <title>类型断言</title>
    <link href="https://zephyr110.github.io/posts/frontend-typescript-type-assertion" />
    <published>2021-05-02T00:00:00.000Z</published>
    <updated>2021-05-02T00:00:00.000Z</updated>
    <summary type="html">类型断言可以手动指定一个变量的类型，即允许一个变量从一个类型转换到另一个类型。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>类型断言可以手动指定一个变量的类型，即允许一个变量从一个类型转换到另一个类型。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-typescript-type-assertion">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-typescript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-typescript-variable-declaration</id>
    <title>数组｜元组类型变量声明</title>
    <link href="https://zephyr110.github.io/posts/frontend-typescript-variable-declaration" />
    <published>2021-05-02T00:00:00.000Z</published>
    <updated>2021-05-02T00:00:00.000Z</updated>
    <summary type="html">TS中的元祖类型其实就是数组类型的扩展,元祖用于保存定长定数据类型的数据</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>TS中的元祖类型其实就是数组类型的扩展,元祖用于保存定长定数据类型的数据</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-typescript-variable-declaration">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-typescript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/automator-appium</id>
    <title>Appium之android app自动化测试</title>
    <link href="https://zephyr110.github.io/posts/automator-appium" />
    <published>2021-04-21T00:00:00.000Z</published>
    <updated>2021-04-21T00:00:00.000Z</updated>
    <summary type="html">Genymotion + Appium + Python 是主流的移动端 App 自动化测试解决方案之一，本文记录该方案的 Android App 自动化测试环境搭建 (macOS-11.x) 及 demo 演示。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Genymotion + Appium + Python 是主流的移动端 App 自动化测试解决方案之一，本文记录该方案的 Android App 自动化测试环境搭建 (macOS-11.x) 及 demo 演示。</p>
        <p><a href="https://zephyr110.github.io/posts/automator-appium">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="automator-automator" />
    <category term="automator-testing" />
    <category term="frontend-framework" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/automator-jest</id>
    <title>Jest</title>
    <link href="https://zephyr110.github.io/posts/automator-jest" />
    <published>2021-04-21T00:00:00.000Z</published>
    <updated>2021-04-21T00:00:00.000Z</updated>
    <summary type="html">由 Facebook 开源的 JS 测试框架 ( 单元测试 ) ，集成了断言、覆盖率报告等工具，开箱即用。其用例并行执行，且只执行发生改变的文件对应的测试，所以性能较优。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>由 Facebook 开源的 JS 测试框架 ( 单元测试 ) ，集成了断言、覆盖率报告等工具，开箱即用。其用例并行执行，且只执行发生改变的文件对应的测试，所以性能较优。</p>
        <p><a href="https://zephyr110.github.io/posts/automator-jest">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="automator-automator" />
    <category term="automator-testing" />
    <category term="frontend-framework" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-regular-expression</id>
    <title>正则表达式</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-regular-expression" />
    <published>2021-04-18T00:00:00.000Z</published>
    <updated>2021-04-18T00:00:00.000Z</updated>
    <summary type="html">正则表达式常用的基本操作</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>正则表达式常用的基本操作</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-regular-expression">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/gear-eslint</id>
    <title>ESLint</title>
    <link href="https://zephyr110.github.io/posts/gear-eslint" />
    <published>2021-04-18T00:00:00.000Z</published>
    <updated>2021-04-18T00:00:00.000Z</updated>
    <summary type="html">JavaScript 是一种动态的弱类型解释型语言，没有编译程序，所以一些错误只有在代码执行的时候才能暴露出来，而不像 C/C++ （内置 gcc/g++编译程序）等编译型语言那样，在编译阶段就可以发现问题。因此 Nicholas C. Zakas 于 2013 年 6 月创建了开源项目 ESLint，使得原来在执行阶段才能暴露的问题提前到代码编写阶段暴露。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>JavaScript 是一种动态的弱类型解释型语言，没有编译程序，所以一些错误只有在代码执行的时候才能暴露出来，而不像 C/C++ （内置 gcc/g++编译程序）等编译型语言那样，在编译阶段就可以发现问题。因此 Nicholas C. Zakas 于 2013 年 6 月创建了开源项目 ESLint，使得原来在执行阶段才能暴露的问题提前到代码编写阶段暴露。</p>
        <p><a href="https://zephyr110.github.io/posts/gear-eslint">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="gear-tools" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-framework-vue-reload</id>
    <title>Vue刷新页面的三种方式</title>
    <link href="https://zephyr110.github.io/posts/frontend-framework-vue-reload" />
    <published>2021-02-01T00:00:00.000Z</published>
    <updated>2021-02-01T00:00:00.000Z</updated>
    <summary type="html">location.reload()；</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>location.reload()；</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-framework-vue-reload">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-framework" />
    <category term="frontend-vue" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-extends</id>
    <title>继承</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-extends" />
    <published>2020-12-14T00:00:00.000Z</published>
    <updated>2020-12-14T00:00:00.000Z</updated>
    <summary type="html">继承：就是利用原型让一个引用类型继承另一个引用类型的属性和方法。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>继承：就是利用原型让一个引用类型继承另一个引用类型的属性和方法。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-extends">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-create-obj</id>
    <title>创建对象</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-create-obj" />
    <published>2020-11-27T00:00:00.000Z</published>
    <updated>2020-11-27T00:00:00.000Z</updated>
    <summary type="html">构造函数模式 + 原型模式 组成的组合模式是创建自定义类型的最常见方法。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>构造函数模式 + 原型模式 组成的组合模式是创建自定义类型的最常见方法。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-create-obj">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-framework-vue</id>
    <title>Vue响应式原理及2.x和3.x的区别</title>
    <link href="https://zephyr110.github.io/posts/frontend-framework-vue" />
    <published>2020-11-01T00:00:00.000Z</published>
    <updated>2020-11-01T00:00:00.000Z</updated>
    <summary type="html">Vue响应式原理及2.x和3.x的区别</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Vue响应式原理及2.x和3.x的区别</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-framework-vue">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-framework" />
    <category term="frontend-vue" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-es6</id>
    <title>ES6</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-es6" />
    <published>2020-10-26T00:00:00.000Z</published>
    <updated>2020-10-26T00:00:00.000Z</updated>
    <summary type="html">Set 对象允许存储任何类型对唯一值（不重复）</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Set 对象允许存储任何类型对唯一值（不重复）</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-es6">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-array-flat</id>
    <title>数组扁平化</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-array-flat" />
    <published>2020-10-23T00:00:00.000Z</published>
    <updated>2020-10-23T00:00:00.000Z</updated>
    <summary type="html">将多维数组转换成一个一维数组 [1, [2, 3, [4, 5]]] ------&gt; [1, 2, 3, 4, 5]</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>将多维数组转换成一个一维数组 [1, [2, 3, [4, 5]]] ------> [1, 2, 3, 4, 5]</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-array-flat">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/gear-yarn</id>
    <title>yarn.lock与package-lock.json互转</title>
    <link href="https://zephyr110.github.io/posts/gear-yarn" />
    <published>2020-08-18T00:00:00.000Z</published>
    <updated>2020-08-18T00:00:00.000Z</updated>
    <summary type="html">npm install -g synp</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>npm install -g synp</p>
        <p><a href="https://zephyr110.github.io/posts/gear-yarn">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="gear-tools" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-debounce-throttle</id>
    <title>防抖和节流</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-debounce-throttle" />
    <published>2020-07-14T00:00:00.000Z</published>
    <updated>2020-07-14T00:00:00.000Z</updated>
    <summary type="html">如下 input 输入 keyup 监听</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>如下 input 输入 keyup 监听</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-debounce-throttle">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-framework-vue-hooks</id>
    <title>Vue生命周期</title>
    <link href="https://zephyr110.github.io/posts/frontend-framework-vue-hooks" />
    <published>2020-07-05T00:00:00.000Z</published>
    <updated>2020-07-05T00:00:00.000Z</updated>
    <summary type="html">Vue 生命周期即 Vue 实例从创建-&gt;运行-&gt;销毁过程中暴露出来的一系列函数，也称 Vue 钩子（函数）</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Vue 生命周期即 Vue 实例从创建->运行->销毁过程中暴露出来的一系列函数，也称 Vue 钩子（函数）</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-framework-vue-hooks">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-framework" />
    <category term="frontend-vue" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/miniprogram-mini-program</id>
    <title>微信小程序云开发</title>
    <link href="https://zephyr110.github.io/posts/miniprogram-mini-program" />
    <published>2020-06-09T00:00:00.000Z</published>
    <updated>2020-06-09T00:00:00.000Z</updated>
    <summary type="html">:link:  Demo 代码</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>:link:  Demo 代码</p>
        <p><a href="https://zephyr110.github.io/posts/miniprogram-mini-program">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="miniprogram-miniprogram" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/mac-install-mongodb</id>
    <title>Mac安装MongoDB</title>
    <link href="https://zephyr110.github.io/posts/mac-install-mongodb" />
    <published>2020-05-21T00:00:00.000Z</published>
    <updated>2020-05-21T00:00:00.000Z</updated>
    <summary type="html">macOS 上安装 MongoDB 的步骤与配置说明。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>macOS 上安装 MongoDB 的步骤与配置说明。</p>
        <p><a href="https://zephyr110.github.io/posts/mac-install-mongodb">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend-db" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/backend-server-nginx</id>
    <title>Nginx反向代理</title>
    <link href="https://zephyr110.github.io/posts/backend-server-nginx" />
    <published>2020-05-20T00:00:00.000Z</published>
    <updated>2020-05-20T00:00:00.000Z</updated>
    <summary type="html">Nginx反向代理</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Nginx反向代理</p>
        <p><a href="https://zephyr110.github.io/posts/backend-server-nginx">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend-server" />
    <category term="backend-nginx" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/linux-node-crawler</id>
    <title>Linux服务器运行Node脚本爬取数据</title>
    <link href="https://zephyr110.github.io/posts/linux-node-crawler" />
    <published>2020-05-20T00:00:00.000Z</published>
    <updated>2020-05-20T00:00:00.000Z</updated>
    <summary type="html">在 Linux 服务器上部署 Node 脚本定时爬取数据的实践记录。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>在 Linux 服务器上部署 Node 脚本定时爬取数据的实践记录。</p>
        <p><a href="https://zephyr110.github.io/posts/linux-node-crawler">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend-node" />
    <category term="backend-linux" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/nginx-reverse-proxy</id>
    <title>Nginx反向代理</title>
    <link href="https://zephyr110.github.io/posts/nginx-reverse-proxy" />
    <published>2020-05-20T00:00:00.000Z</published>
    <updated>2020-05-20T00:00:00.000Z</updated>
    <summary type="html">Nginx 反向代理配置实战与踩坑记录。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Nginx 反向代理配置实战与踩坑记录。</p>
        <p><a href="https://zephyr110.github.io/posts/nginx-reverse-proxy">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend-nginx" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/backend-python-python-skill</id>
    <title>Python常用技巧</title>
    <link href="https://zephyr110.github.io/posts/backend-python-python-skill" />
    <published>2020-05-19T00:00:00.000Z</published>
    <updated>2020-05-19T00:00:00.000Z</updated>
    <summary type="html">⚠️注意，当存在同名健值对，后面的会覆盖掉前面的，因为dict类型不允许有同名键，而且键只能是不可变类型（数字、字符串、元组），列表就不能作为键使用。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>⚠️注意，当存在同名健值对，后面的会覆盖掉前面的，因为dict类型不允许有同名键，而且键只能是不可变类型（数字、字符串、元组），列表就不能作为键使用。</p>
        <p><a href="https://zephyr110.github.io/posts/backend-python-python-skill">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend" />
    <category term="backend-python" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/backend-python-request</id>
    <title>Request</title>
    <link href="https://zephyr110.github.io/posts/backend-python-request" />
    <published>2020-05-19T00:00:00.000Z</published>
    <updated>2020-05-19T00:00:00.000Z</updated>
    <summary type="html">Request</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Request</p>
        <p><a href="https://zephyr110.github.io/posts/backend-python-request">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend" />
    <category term="backend-python" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/gear-terminal</id>
    <title>Mac终端命令不可用的解决办法</title>
    <link href="https://zephyr110.github.io/posts/gear-terminal" />
    <published>2020-05-16T00:00:00.000Z</published>
    <updated>2020-05-16T00:00:00.000Z</updated>
    <summary type="html">export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin</p>
        <p><a href="https://zephyr110.github.io/posts/gear-terminal">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="gear-tools" />
    <category term="gear-terminal" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/backend-python-decorator</id>
    <title>Decorator(装饰器)</title>
    <link href="https://zephyr110.github.io/posts/backend-python-decorator" />
    <published>2020-04-19T00:00:00.000Z</published>
    <updated>2020-04-19T00:00:00.000Z</updated>
    <summary type="html">输出小于10000的所有质数，并打印程序执行耗时</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>输出小于10000的所有质数，并打印程序执行耗时</p>
        <p><a href="https://zephyr110.github.io/posts/backend-python-decorator">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend" />
    <category term="backend-python" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/backend-python-lambda</id>
    <title>Lambda表达式</title>
    <link href="https://zephyr110.github.io/posts/backend-python-lambda" />
    <published>2020-04-19T00:00:00.000Z</published>
    <updated>2020-04-19T00:00:00.000Z</updated>
    <summary type="html">在python里面，如果一个函数只有一句话的话，可以用一种叫lambda表达式的东西代替。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>在python里面，如果一个函数只有一句话的话，可以用一种叫lambda表达式的东西代替。</p>
        <p><a href="https://zephyr110.github.io/posts/backend-python-lambda">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="backend" />
    <category term="backend-python" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/gear-webstorm</id>
    <title>WebStorm 2019.3</title>
    <link href="https://zephyr110.github.io/posts/gear-webstorm" />
    <published>2020-03-28T00:00:00.000Z</published>
    <updated>2020-03-28T00:00:00.000Z</updated>
    <summary type="html">WebStorm 2019.3</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>WebStorm 2019.3</p>
        <p><a href="https://zephyr110.github.io/posts/gear-webstorm">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="gear-tools" />
    <category term="ide" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/gear-ish</id>
    <title>iSH</title>
    <link href="https://zephyr110.github.io/posts/gear-ish" />
    <published>2020-03-21T00:00:00.000Z</published>
    <updated>2020-03-21T00:00:00.000Z</updated>
    <summary type="html">iSH :link:  ish.app  模拟的是 x86 i686（32 位）的 Linux 系统，使用的 Linux 系统镜像是 Alpine Linux。作为一个 x86 仿真和系统调用转换程序，虽然不能完全取代真正的 x86 架构的 Linux 系统，但是用来做轻量开发、写代码、学习等等是可以满足的。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>iSH :link:  ish.app  模拟的是 x86 i686（32 位）的 Linux 系统，使用的 Linux 系统镜像是 Alpine Linux。作为一个 x86 仿真和系统调用转换程序，虽然不能完全取代真正的 x86 架构的 Linux 系统，但是用来做轻量开发、写代码、学习等等是可以满足的。</p>
        <p><a href="https://zephyr110.github.io/posts/gear-ish">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="gear-tools" />
    <category term="gear-terminal" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/gear-iterm</id>
    <title>iTerm2</title>
    <link href="https://zephyr110.github.io/posts/gear-iterm" />
    <published>2020-03-21T00:00:00.000Z</published>
    <updated>2020-03-21T00:00:00.000Z</updated>
    <summary type="html">:link:  下载地址：</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>:link:  下载地址：</p>
        <p><a href="https://zephyr110.github.io/posts/gear-iterm">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="gear-tools" />
    <category term="gear-terminal" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-requireauth</id>
    <title>登陆请求拦截</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-requireauth" />
    <published>2020-03-02T00:00:00.000Z</published>
    <updated>2020-03-02T00:00:00.000Z</updated>
    <summary type="html">在定义路由的时候多添加一个字段 requireAuth， 用于判断该路由的访问是否需要登录，若用户已登录，则顺利进入路由，否则跳转至登录页面</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>在定义路由的时候多添加一个字段 requireAuth， 用于判断该路由的访问是否需要登录，若用户已登录，则顺利进入路由，否则跳转至登录页面</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-requireauth">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-validate</id>
    <title>Proxy实现表单拦截校验</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-validate" />
    <published>2020-03-02T00:00:00.000Z</published>
    <updated>2020-03-02T00:00:00.000Z</updated>
    <summary type="html">Proxy实现表单拦截校验</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Proxy实现表单拦截校验</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-validate">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-protocol-all-protocol</id>
    <title>All Protocol</title>
    <link href="https://zephyr110.github.io/posts/frontend-protocol-all-protocol" />
    <published>2020-03-02T00:00:00.000Z</published>
    <updated>2020-03-02T00:00:00.000Z</updated>
    <summary type="html">All Protocol</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>All Protocol</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-protocol-all-protocol">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend-protocol" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-protocol-browser</id>
    <title>浏览器缓存</title>
    <link href="https://zephyr110.github.io/posts/frontend-protocol-browser" />
    <published>2020-03-02T00:00:00.000Z</published>
    <updated>2020-03-02T00:00:00.000Z</updated>
    <summary type="html">HTTP Cookie（也叫 Web Cookie 或者浏览器 Cookie）是服务器发送到用户浏览器并保存在本地的一小块数据，他会在浏览器下次向同一服务器再发起请求时被携发送到服务器上。通常，它用于告知服务器两个请求是否来自同浏览器，如保护用户的登录状态。Cookie 使基于无状态的HTTP协议记录稳定的状态信息成为可能。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>HTTP Cookie（也叫 Web Cookie 或者浏览器 Cookie）是服务器发送到用户浏览器并保存在本地的一小块数据，他会在浏览器下次向同一服务器再发起请求时被携发送到服务器上。通常，它用于告知服务器两个请求是否来自同浏览器，如保护用户的登录状态。Cookie 使基于无状态的HTTP协议记录稳定的状态信息成为可能。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-protocol-browser">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="cookie" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-protocol-http-1-2</id>
    <title>浏览器页面渲染及Http1.x/2.x</title>
    <link href="https://zephyr110.github.io/posts/frontend-protocol-http-1-2" />
    <published>2020-03-02T00:00:00.000Z</published>
    <updated>2020-03-02T00:00:00.000Z</updated>
    <summary type="html">浏览器页面渲染及Http1.x/2.x</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>浏览器页面渲染及Http1.x/2.x</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-protocol-http-1-2">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend-protocol" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-protocol-http-cache</id>
    <title>Http缓存</title>
    <link href="https://zephyr110.github.io/posts/frontend-protocol-http-cache" />
    <published>2020-03-02T00:00:00.000Z</published>
    <updated>2020-03-02T00:00:00.000Z</updated>
    <summary type="html">&amp;emsp;&amp;emsp; 当用户开始访问一个网站时，浏览器会从目标服务器获取一些资源用以构建最终的 web 页面，比如 CSS、JS、HTML 等静态文件。当 PV 量很大的候，每次都直接从服务器请求数据，就会很耗费服务端的性能，为了提升数据交换性能、缓解服务器或数据库压力，HTTP 协议给出了一个优化方案，简述如下：</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>&emsp;&emsp; 当用户开始访问一个网站时，浏览器会从目标服务器获取一些资源用以构建最终的 web 页面，比如 CSS、JS、HTML 等静态文件。当 PV 量很大的候，每次都直接从服务器请求数据，就会很耗费服务端的性能，为了提升数据交换性能、缓解服务器或数据库压力，HTTP 协议给出了一个优化方案，简述如下：</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-protocol-http-cache">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend-protocol" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-protocol-osi-tcp-ip</id>
    <title>OSI七层和TCP/IP模型</title>
    <link href="https://zephyr110.github.io/posts/frontend-protocol-osi-tcp-ip" />
    <published>2020-03-02T00:00:00.000Z</published>
    <updated>2020-03-02T00:00:00.000Z</updated>
    <summary type="html">+ TCP属于传输层，提供可靠的字节流服务。所谓的字节流，其实就类似于信息切割，分片传输。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>+ TCP属于传输层，提供可靠的字节流服务。所谓的字节流，其实就类似于信息切割，分片传输。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-protocol-osi-tcp-ip">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend-protocol" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-protocol-tcp-udp</id>
    <title>TCP &amp; UDP</title>
    <link href="https://zephyr110.github.io/posts/frontend-protocol-tcp-udp" />
    <published>2020-03-02T00:00:00.000Z</published>
    <updated>2020-03-02T00:00:00.000Z</updated>
    <summary type="html">+ TCP 是面向连接的，UDP 是面向无连接的</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>+ TCP 是面向连接的，UDP 是面向无连接的</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-protocol-tcp-udp">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend-protocol" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-jsonp</id>
    <title>Jsonp封装</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-jsonp" />
    <published>2020-03-01T00:00:00.000Z</published>
    <updated>2020-03-01T00:00:00.000Z</updated>
    <summary type="html">Jsonp封装</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Jsonp封装</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-jsonp">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/components-npm-publish</id>
    <title>组件发布到 NPM</title>
    <link href="https://zephyr110.github.io/posts/components-npm-publish" />
    <published>2020-02-28T00:00:00.000Z</published>
    <updated>2020-02-28T00:00:00.000Z</updated>
    <summary type="html">基于 vue-cli 3.0 开发，已发布到 npm 上的 UI 组件 ——  :link:   ti-ui-self</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>基于 vue-cli 3.0 开发，已发布到 npm 上的 UI 组件 ——  :link:   ti-ui-self</p>
        <p><a href="https://zephyr110.github.io/posts/components-npm-publish">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-vue" />
    <category term="components-components" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-css-grid</id>
    <title>Grid</title>
    <link href="https://zephyr110.github.io/posts/frontend-css-grid" />
    <published>2020-02-21T00:00:00.000Z</published>
    <updated>2020-02-21T00:00:00.000Z</updated>
    <summary type="html">Grid 布局是将容器划分成&quot;行&quot;和&quot;列&quot;，产生单元格，然后指定&quot;项目所在&quot;的单元格，可以看作是二维布局，比Flex布局更加强大。采用网格布局的区域，称为&quot;容器&quot;（container），容器内部采用网格定位的子元素，称为&quot;项目&quot;（item）。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Grid 布局是将容器划分成"行"和"列"，产生单元格，然后指定"项目所在"的单元格，可以看作是二维布局，比Flex布局更加强大。采用网格布局的区域，称为"容器"（container），容器内部采用网格定位的子元素，称为"项目"（item）。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-css-grid">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-css" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-css-pseudo-classes</id>
    <title>pseudo classes(伪类)</title>
    <link href="https://zephyr110.github.io/posts/frontend-css-pseudo-classes" />
    <published>2020-01-19T00:00:00.000Z</published>
    <updated>2020-01-19T00:00:00.000Z</updated>
    <summary type="html">a:x 有序生效 link -&gt; visited -&gt; hover -&gt; active</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>a:x 有序生效 link -> visited -> hover -> active</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-css-pseudo-classes">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-css" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-clonedeep</id>
    <title>Js浅拷贝和深拷贝</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-clonedeep" />
    <published>2020-01-01T00:00:00.000Z</published>
    <updated>2020-01-01T00:00:00.000Z</updated>
    <summary type="html">Js浅拷贝和深拷贝</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Js浅拷贝和深拷贝</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-clonedeep">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-new</id>
    <title>new</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-new" />
    <published>2020-01-01T00:00:00.000Z</published>
    <updated>2020-01-01T00:00:00.000Z</updated>
    <summary type="html">创建类的新实例，必须调用 new 操作符，以这种方式调用构造函数实际经历了四步：</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>创建类的新实例，必须调用 new 操作符，以这种方式调用构造函数实际经历了四步：</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-new">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-css-bfc</id>
    <title>BFC</title>
    <link href="https://zephyr110.github.io/posts/frontend-css-bfc" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">BFC 是块级格式化上下文 （Block Formatting Context） 的缩写。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>BFC 是块级格式化上下文 （Block Formatting Context） 的缩写。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-css-bfc">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-css" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-css-css-rule</id>
    <title>CSS书写规范</title>
    <link href="https://zephyr110.github.io/posts/frontend-css-css-rule" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">CSS书写规范</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>CSS书写规范</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-css-css-rule">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-css" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-css-position</id>
    <title>position</title>
    <link href="https://zephyr110.github.io/posts/frontend-css-position" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">.top 元素距离其在正常文档流中的位置  top: 10px</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>.top 元素距离其在正常文档流中的位置  top: 10px</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-css-position">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-css" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-css-unit</id>
    <title>Unit</title>
    <link href="https://zephyr110.github.io/posts/frontend-css-unit" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">|  单位      |描述       |</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>|  单位      |描述       |</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-css-unit">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-css" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-framework-vue-cli</id>
    <title>Vue-cli</title>
    <link href="https://zephyr110.github.io/posts/frontend-framework-vue-cli" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">1. 新建目录：mkdir vue-cli2</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>1. 新建目录：mkdir vue-cli2</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-framework-vue-cli">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-framework" />
    <category term="frontend-vue" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-array-accessor-methods</id>
    <title>数组的访问方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-array-accessor-methods" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">arr.concat(value1[, value2[, ...[, valueN]]])</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>arr.concat(value1[, value2[, ...[, valueN]]])</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-array-accessor-methods">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-array-iteration-methods</id>
    <title>数组的迭代方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-array-iteration-methods" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">arr.entries()</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>arr.entries()</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-array-iteration-methods">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-array-mutator-methods</id>
    <title>数组的修改方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-array-mutator-methods" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">arr.copyWithin(target[, start[, end]])</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>arr.copyWithin(target[, start[, end]])</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-array-mutator-methods">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-array</id>
    <title>数组</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-array" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">在 MDN 的基础上附加一些想法及常用示例。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>在 MDN 的基础上附加一些想法及常用示例。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-array">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-arrow-function</id>
    <title>箭头函数</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-arrow-function" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">箭头函数表达式的语法比函数表达式更简洁，并且没有自己的 this、arguments、super 和 new.target。箭头函数更适用于本来应该需要匿名函数的地方，并且它们不能用作构造函数。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>箭头函数表达式的语法比函数表达式更简洁，并且没有自己的 this、arguments、super 和 new.target。箭头函数更适用于本来应该需要匿名函数的地方，并且它们不能用作构造函数。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-arrow-function">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-can-not-read-property-of-undefined-or-null</id>
    <title>无法访问 undefined、null 的属性</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-can-not-read-property-of-undefined-or-null" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">而访问另外三个原始类型（Number、String、Number）则不会存在问题。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>而访问另外三个原始类型（Number、String、Number）则不会存在问题。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-can-not-read-property-of-undefined-or-null">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-error</id>
    <title>Error 类型</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-error" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">代表了一个关于 eval 函数的错误，但不在当前 ECMAScript 规范中使用，因此不会被 JavaScript 抛出，但是 EvalError 对象仍然保持兼容。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>代表了一个关于 eval 函数的错误，但不在当前 ECMAScript 规范中使用，因此不会被 JavaScript 抛出，但是 EvalError 对象仍然保持兼容。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-error">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-function-methods</id>
    <title>对象的构造函数方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-function-methods" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">func.apply(thisArg, [argsArray])</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>func.apply(thisArg, [argsArray])</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-function-methods">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-implicit-coercion</id>
    <title>隐式转换</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-implicit-coercion" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">::: tip 默认的 falsy</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>::: tip 默认的 falsy</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-implicit-coercion">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-invocation-expression</id>
    <title>调用表达式</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-invocation-expression" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">当对调用表达式进行求值的时候，首先计算函数表达式，然后计算参数表达式，得到一组参数值。如果函数表达式的值不是一个可调用对象，则抛出一个类型错误异常（所有的函数都是可调用的，即使宿主对象不是函数它也有可能被调用）。然后，实参的值将依次赋值给形参，这些形参是定义函数时指定的，接下来开始执行函数体。如果函数使用 return 语句给出一个返回值，那么这个返回值就是整个调用表达式的值。否则，调用表达...</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>当对调用表达式进行求值的时候，首先计算函数表达式，然后计算参数表达式，得到一组参数值。如果函数表达式的值不是一个可调用对象，则抛出一个类型错误异常（所有的函数都是可调用的，即使宿主对象不是函数它也有可能被调用）。然后，实参的值将依次赋值给形参，这些形参是定义函数时指定的，接下来开始执行函数体。如果函数使用 return 语句给出一个返回值，那么这个返回值就是整个调用表达式的值。否则，调用表达...</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-invocation-expression">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-invoking-functions</id>
    <title>函数调用</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-invoking-functions" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">函数定义从 function 关键字开始，构成函数主体的 JavaScript 代码在定义之时并不会执行，只有调用该函数时，它们才会执行。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>函数定义从 function 关键字开始，构成函数主体的 JavaScript 代码在定义之时并不会执行，只有调用该函数时，它们才会执行。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-invoking-functions">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-object-constructor-methods-freeze</id>
    <title>对象构造函数冻结方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-object-constructor-methods-freeze" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">Object.freeze(obj)</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Object.freeze(obj)</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-object-constructor-methods-freeze">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-object-constructor-methods-property</id>
    <title>对象构造函数属性方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-object-constructor-methods-property" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">Object.defineProperty(obj, prop, descriptor)</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Object.defineProperty(obj, prop, descriptor)</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-object-constructor-methods-property">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-object-constructor-methods</id>
    <title>对象的构造函数方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-object-constructor-methods" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">在 ES5 时存在三种：</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>在 ES5 时存在三种：</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-object-constructor-methods">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-object-instance-methods</id>
    <title>对象的实例函数方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-object-instance-methods" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">obj.hasOwnProperty(prop)</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>obj.hasOwnProperty(prop)</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-object-instance-methods">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-resolve-function-call-in-jsx</id>
    <title>处理 JSX 中函数调用</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-resolve-function-call-in-jsx" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">虽然期望的是传递函数引用，然而实际上是函数调用，为了解决这个问题通常存在一些解决方案。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>虽然期望的是传递函数引用，然而实际上是函数调用，为了解决这个问题通常存在一些解决方案。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-resolve-function-call-in-jsx">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-scope-and-closures</id>
    <title>作用域与闭包</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-scope-and-closures" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">尽管 JavaScript 被划分到 “动态” 或 “解释型” 语言的范畴，但是其实他是一个编译型语言。它不像许多传统意义上的编译型语言那样预先被编译好，编译的结果也不能在各种不同的分布式系统间移植。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>尽管 JavaScript 被划分到 “动态” 或 “解释型” 语言的范畴，但是其实他是一个编译型语言。它不像许多传统意义上的编译型语言那样预先被编译好，编译的结果也不能在各种不同的分布式系统间移植。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-scope-and-closures">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-statements-and-expressions</id>
    <title>语句和表达式</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-statements-and-expressions" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">一种常见的现象是，开发者们假定“语句（statement）”和“表达式（expression）”是大致等价的，而实际上在 JavaScript 中它们存在一些非常重要的区别。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>一种常见的现象是，开发者们假定“语句（statement）”和“表达式（expression）”是大致等价的，而实际上在 JavaScript 中它们存在一些非常重要的区别。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-statements-and-expressions">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-string-concat</id>
    <title>字符串拼接方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-string-concat" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">str.concat(string2, string3[, ..., stringN])</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>str.concat(string2, string3[, ..., stringN])</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-string-concat">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-string-format</id>
    <title>字符串格式化方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-string-format" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">str.toLowerCase()</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>str.toLowerCase()</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-string-format">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-string-query</id>
    <title>字符串查询方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-string-query" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">str.charAt(index)</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>str.charAt(index)</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-string-query">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-string-regexp</id>
    <title>字符串正则方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-string-regexp" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">str.match(regexp)</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>str.match(regexp)</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-string-regexp">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-string-substring</id>
    <title>字符串截取方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-string-substring" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">str.replace(regexp|substr, newSubStr|function)</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>str.replace(regexp|substr, newSubStr|function)</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-string-substring">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-this-identifier</id>
    <title>this 关键字</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-this-identifier" />
    <published>2019-12-28T00:00:00.000Z</published>
    <updated>2019-12-28T00:00:00.000Z</updated>
    <summary type="html">虽然 this 可能经常看起来是与 “面向对象模式” 有关的，但在 JavaScript 中 this 是一个不同的概念。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>虽然 this 可能经常看起来是与 “面向对象模式” 有关的，但在 JavaScript 中 this 是一个不同的概念。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-this-identifier">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-array-methods</id>
    <title>常用数组方法及分类</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-array-methods" />
    <published>2019-10-19T00:00:00.000Z</published>
    <updated>2019-10-19T00:00:00.000Z</updated>
    <summary type="html">| 方法                               | 作用                                                                                                                                                              ...</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>| 方法                               | 作用                                                                                                                                                              ...</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-array-methods">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-type-conversation</id>
    <title>隐式类型转换的妙用</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-type-conversation" />
    <published>2019-10-19T00:00:00.000Z</published>
    <updated>2019-10-19T00:00:00.000Z</updated>
    <summary type="html">隐式类型转换的妙用</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>隐式类型转换的妙用</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-type-conversation">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-cross-site</id>
    <title>跨域及几种解决方法</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-cross-site" />
    <published>2019-10-14T00:00:00.000Z</published>
    <updated>2019-10-14T00:00:00.000Z</updated>
    <summary type="html">跨域：指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的，是浏览器对 javascript 施加的安全限制。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>跨域：指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的，是浏览器对 javascript 施加的安全限制。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-cross-site">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/gear-webpack-theory</id>
    <title>Webpack原理浅析</title>
    <link href="https://zephyr110.github.io/posts/gear-webpack-theory" />
    <published>2019-08-18T00:00:00.000Z</published>
    <updated>2019-08-18T00:00:00.000Z</updated>
    <summary type="html">webpack 是一个模块打包机制，将根据文件间的依赖关系对其进行静态分析，然后将这些模块按指定规则生成静态资源。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>webpack 是一个模块打包机制，将根据文件间的依赖关系对其进行静态分析，然后将这些模块按指定规则生成静态资源。</p>
        <p><a href="https://zephyr110.github.io/posts/gear-webpack-theory">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="gear-tools" />
    <category term="frontend-webpack" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/gear-webpack</id>
    <title>Webpack4.0</title>
    <link href="https://zephyr110.github.io/posts/gear-webpack" />
    <published>2019-08-18T00:00:00.000Z</published>
    <updated>2019-08-18T00:00:00.000Z</updated>
    <summary type="html">npm install webpack webpack-cli -g</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>npm install webpack webpack-cli -g</p>
        <p><a href="https://zephyr110.github.io/posts/gear-webpack">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="gear-tools" />
    <category term="frontend-webpack" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-garbage-collection</id>
    <title>Js垃圾收集机制原理</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-garbage-collection" />
    <published>2019-08-17T00:00:00.000Z</published>
    <updated>2019-08-17T00:00:00.000Z</updated>
    <summary type="html">&amp;emsp;&amp;emsp;垃圾收集器按照预定的时间间隔，重复执行回收未使用变量所占用的内存。</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>&emsp;&emsp;垃圾收集器按照预定的时间间隔，重复执行回收未使用变量所占用的内存。</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-garbage-collection">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
  <entry>
    <id>https://zephyr110.github.io/posts/frontend-javascript-tostring-string</id>
    <title>Js之 toString() 和 String() 的区别</title>
    <link href="https://zephyr110.github.io/posts/frontend-javascript-tostring-string" />
    <published>2019-07-05T00:00:00.000Z</published>
    <updated>2019-07-05T00:00:00.000Z</updated>
    <summary type="html">Js之 toString() 和 String() 的区别</summary>
    <content type="html" xml:base="https://zephyr110.github.io">
      <![CDATA[
        <p>Js之 toString() 和 String() 的区别</p>
        <p><a href="https://zephyr110.github.io/posts/frontend-javascript-tostring-string">Read more</a></p>
      ]]>
    </content>
    <author>
      <name>Zephyr110</name>
    </author>
    <category term="frontend" />
    <category term="frontend-javascript" />
  </entry>
</feed>