<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Haoran Li</title><description>Notes on code, mathematics, and life.</description><link>https://www.hozen.site/</link><item><title>A new home for notes</title><link>https://www.hozen.site/blog/hello-new-site/</link><guid isPermaLink="true">https://www.hozen.site/blog/hello-new-site/</guid><description>Rebuilding this site on Astro and Cloudflare — and what it&apos;s for now.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>meta</category><category>astro</category></item><item><title>Swift 快速入门 (上)</title><link>https://www.hozen.site/zh/blog/swift-%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8-%E4%B8%8A/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/swift-%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8-%E4%B8%8A/</guid><description>本文介绍 Swift 语言的基础内容, 面向已经熟练掌握某项开发语言的开发者, 因此内容力求简洁. &quot;Swift 快速入门&quot; 上篇包括常用的数据类型、控制语句、函数, 以及 Swift 特有的闭包语法. 下篇将介绍 Swift 的结构体、类与继承以及协议等内容.</description><pubDate>Sun, 14 Apr 2024 00:00:00 GMT</pubDate><category>Swift</category></item><item><title>堆(优先队列)的实现原理</title><link>https://www.hozen.site/zh/blog/%E5%A0%86%E4%BC%98%E5%85%88%E9%98%9F%E5%88%97%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%A0%86%E4%BC%98%E5%85%88%E9%98%9F%E5%88%97%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86/</guid><description>堆(优先队列)是数据结构与算法中非常经典的结构，被广泛应用到计算机科学当中. 例如在堆排和优先级调度中堆便是核心的数据结构. 本文介绍堆的基本实现原理，力求清晰易懂.</description><pubDate>Thu, 12 Oct 2023 00:00:00 GMT</pubDate><category>数据结构</category><category>堆</category></item><item><title>Vue3 响应式(4)-Wacth 的实现原理</title><link>https://www.hozen.site/zh/blog/vue3-%E5%93%8D%E5%BA%94%E5%BC%8F4-watch-%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/vue3-%E5%93%8D%E5%BA%94%E5%BC%8F4-watch-%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86/</guid><description>前几篇文章已经构建了较为完善的响应式系统，并且实现了计算属性 computed 以及调度器、懒执行等特性。这一篇文章就来实现另外一个重要的功能—— watch 监听。</description><pubDate>Sat, 30 Sep 2023 00:00:00 GMT</pubDate><category>响应式</category><category>Vue</category></item><item><title>Vue3 响应式(3)-计算属性 computed</title><link>https://www.hozen.site/zh/blog/vue3-%E5%93%8D%E5%BA%94%E5%BC%8F3-%E8%AE%A1%E7%AE%97%E5%B1%9E%E6%80%A7computed/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/vue3-%E5%93%8D%E5%BA%94%E5%BC%8F3-%E8%AE%A1%E7%AE%97%E5%B1%9E%E6%80%A7computed/</guid><description>上文Vue3 响应式(2) 分支切换、嵌套、和无限递归解决了原有响应式系统的一些问题，实现了较为完善的数据绑定。本文在此基础上实现简单的计算属性功能 computed 。</description><pubDate>Fri, 22 Sep 2023 00:00:00 GMT</pubDate><category>响应式</category><category>Vue</category></item><item><title>Vue3 响应式(1)-基础原理</title><link>https://www.hozen.site/zh/blog/vue3-%E5%93%8D%E5%BA%94%E5%BC%8F1-%E5%9F%BA%E7%A1%80%E5%8E%9F%E7%90%86/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/vue3-%E5%93%8D%E5%BA%94%E5%BC%8F1-%E5%9F%BA%E7%A1%80%E5%8E%9F%E7%90%86/</guid><description>Vue 之所以能够实现声明式的 UI，是因为 Vue 通过响应式将数据和 UI 进行了绑定，当数据发生变化时 Vue 会自动调用相应的函数来重新渲染受到影响的 UI。本系列文章就来简单分析下 Vue 响应式系统的实现。本文先从响应式的基础原理开始，实现一个简单的响应式系统。</description><pubDate>Tue, 19 Sep 2023 00:00:00 GMT</pubDate><category>响应式</category><category>Vue</category></item><item><title>Vue3 响应式(2)-分支切换、嵌套、和无限递归</title><link>https://www.hozen.site/zh/blog/vue3-%E5%93%8D%E5%BA%94%E5%BC%8F2-%E5%88%86%E6%94%AF%E5%88%87%E6%8D%A2%E5%92%8C%E5%B5%8C%E5%A5%97/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/vue3-%E5%93%8D%E5%BA%94%E5%BC%8F2-%E5%88%86%E6%94%AF%E5%88%87%E6%8D%A2%E5%92%8C%E5%B5%8C%E5%A5%97/</guid><description>上文Vue3 响应式(1) 基础原理介绍了响应式系统的基本原理并利用 Proxy 进行了简单的实现，能够应对简单的响应式场景。但该系统仍然面临着一些问题，比如当副作用函数中既包含对响应式对象的读取操作也包含设置操作时会使系统进入无限递归的死循环、当代码分支切换时冗余的关联没有被及…</description><pubDate>Tue, 19 Sep 2023 00:00:00 GMT</pubDate><category>响应式</category><category>Vue</category></item><item><title>平凡的世界</title><link>https://www.hozen.site/zh/blog/%E5%B9%B3%E5%87%A1%E7%9A%84%E4%B8%96%E7%95%8C/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%B9%B3%E5%87%A1%E7%9A%84%E4%B8%96%E7%95%8C/</guid><description>我第一次读平凡的世界是在多年前的暑期兼职。当时在一个城中村做辅导班的数学老师，寄宿在舅舅家。每天六点钟从小城的一头骑到另一头，然后开始一整天忙碌的工作。一共六个班，每个班上一节数学课，一整天难得歇息。</description><pubDate>Tue, 12 Sep 2023 00:00:00 GMT</pubDate><category>散文</category><category>随笔</category></item><item><title>Vue3+Typescript 开发一个图片拼接 PWA</title><link>https://www.hozen.site/zh/blog/vue3+typescript-%E5%BC%80%E5%8F%91%E4%B8%80%E4%B8%AA%E5%9B%BE%E7%89%87%E6%8B%BC%E6%8E%A5-pwa/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/vue3+typescript-%E5%BC%80%E5%8F%91%E4%B8%80%E4%B8%AA%E5%9B%BE%E7%89%87%E6%8B%BC%E6%8E%A5-pwa/</guid><description>一个简单的长图拼接工具，主要应用了 Vue3 技术栈和 HTML5 的 Canvas 技术。最后包装成 PWA，可以从手机桌面直接访问。本文做一个项目回顾和总结，源码和地址附下： 线上地址: picStitch 源码: hooozen/picStitch</description><pubDate>Mon, 04 Sep 2023 00:00:00 GMT</pubDate><category>个人项目</category></item><item><title>Web性能优化——网络篇</title><link>https://www.hozen.site/zh/blog/web%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E2%80%94%E2%80%94%E7%BD%91%E7%BB%9C%E7%AF%87/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/web%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E2%80%94%E2%80%94%E7%BD%91%E7%BB%9C%E7%AF%87/</guid><description>Web 性能优化是一个复杂的问题，往往涉及从需求到维护的软件工程的各个方面。并且根据具体业务的不同也会采取不尽相同的针对性措施。本文主要针对 Web 网络性能，从问题产生的原因以及对应的一些优化措施，对 Web 的性能优化做一些简单的总结和思考。</description><pubDate>Sat, 08 Jul 2023 00:00:00 GMT</pubDate><category>性能优化</category><category>计算机网络</category></item><item><title>Hexo 的多主题自动化部署</title><link>https://www.hozen.site/zh/blog/%E9%80%9A%E8%BF%87-github-actions-%E5%AE%9E%E7%8E%B0%E9%A1%B9%E7%9B%AE%E8%87%AA%E5%8A%A8%E6%89%93%E5%8C%85%E9%83%A8%E7%BD%B2/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E9%80%9A%E8%BF%87-github-actions-%E5%AE%9E%E7%8E%B0%E9%A1%B9%E7%9B%AE%E8%87%AA%E5%8A%A8%E6%89%93%E5%8C%85%E9%83%A8%E7%BD%B2/</guid><description>“对项目进行配置化改造可以提高开发效率，让开发者将精力集中在业务开发中，减少琐碎重复工作对心情的影响。更重要的是，配置化可以减少因人工操作带来的失误，并且利于排查问题。”</description><pubDate>Wed, 05 Jul 2023 00:00:00 GMT</pubDate><category>Github Pages</category><category>配置化</category><category>Docker</category><category>Git</category></item><item><title>数学老师</title><link>https://www.hozen.site/zh/blog/%E6%95%B0%E5%AD%A6%E8%80%81%E5%B8%88/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%95%B0%E5%AD%A6%E8%80%81%E5%B8%88/</guid><description>上学时做暑期兼职，带六个年级的小学数学。从二年级到初一的数学，一天正好上满六节课，不得休息。在城中村中，工资很低，老板是一对上了年纪的夫妇，班级就设在他们的两层楼房里。孩子多来自附近村里，父母托管过来，交个饭钱，不求学到什么，直消能有个地儿管束下孩子，吃顿午饭，不影响自己上班。</description><pubDate>Sat, 15 Apr 2023 00:00:00 GMT</pubDate><category>散文</category><category>随笔</category></item><item><title>读书</title><link>https://www.hozen.site/zh/blog/%E8%AF%BB%E4%B9%A6/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E8%AF%BB%E4%B9%A6/</guid><description>身边一些朋友开始读书，我总会半调侃地说，“你有烦恼了，有烦恼的人才会想读书”。读书不是一件轻松的事，甚至枯燥。生来爱读书的人少之又少，我不是。我认识的人里，没有缘由的爱读书的大概屈指可数。这是一种我未有却能感受到的天分。</description><pubDate>Fri, 07 Apr 2023 00:00:00 GMT</pubDate><category>散文</category><category>随笔</category></item><item><title>记住两个函数轻松处理 Go 语言 OJ 输入</title><link>https://www.hozen.site/zh/blog/%E8%AE%B0%E4%BD%8F%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%E8%BD%BB%E6%9D%BE%E5%A4%84%E7%90%86-go-%E8%AF%AD%E8%A8%80-oj-%E8%BE%93%E5%85%A5/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E8%AE%B0%E4%BD%8F%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%E8%BD%BB%E6%9D%BE%E5%A4%84%E7%90%86-go-%E8%AF%AD%E8%A8%80-oj-%E8%BE%93%E5%85%A5/</guid><description>处理操作系统的标准输入输出在 Web 项目开发中并不常用，像 LeetCode 一些现代刷题平台也取消了输入输出的处理，让用户专注于算法的实现。但对于传统的 OJ 平台和算法竞赛，往往需要用户从标准输入中读取指定格式的数据，然后使用标准输出返回答案。如果平时没有经验的话，在比赛或…</description><pubDate>Wed, 29 Mar 2023 00:00:00 GMT</pubDate><category>Go</category><category>OJ</category><category>stdio</category></item><item><title>前端工程师需要知道的字体知识</title><link>https://www.hozen.site/zh/blog/%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%B8%88%E9%9C%80%E8%A6%81%E7%9F%A5%E9%81%93%E7%9A%84%E5%AD%97%E4%BD%93%E7%9F%A5%E8%AF%86/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%B8%88%E9%9C%80%E8%A6%81%E7%9F%A5%E9%81%93%E7%9A%84%E5%AD%97%E4%BD%93%E7%9F%A5%E8%AF%86/</guid><description>随着网页个性化设计和品牌特色的需要，在网页中使用特定的字体将成为越来越常见的需求。现代字体设计经历了数十年的发展，已经积累了成熟的标准和规范，但对于许多前端开发者来说可能可能还比较陌生，本文就前端开发过程中可能遇到的字体知识做一个梳理和介绍。</description><pubDate>Sat, 04 Mar 2023 00:00:00 GMT</pubDate><category>字体</category><category>性能优化</category><category>CSS</category></item><item><title>什么时候我们才能够说一个陈述是“显然的”？</title><link>https://www.hozen.site/zh/blog/%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E6%88%91%E4%BB%AC%E6%89%8D%E8%83%BD%E5%A4%9F%E8%AF%B4%E4%B8%80%E4%B8%AA%E9%99%88%E8%BF%B0%E6%98%AF%E2%80%9C%E6%98%BE%E7%84%B6%E7%9A%84%E2%80%9D/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E6%88%91%E4%BB%AC%E6%89%8D%E8%83%BD%E5%A4%9F%E8%AF%B4%E4%B8%80%E4%B8%AA%E9%99%88%E8%BF%B0%E6%98%AF%E2%80%9C%E6%98%BE%E7%84%B6%E7%9A%84%E2%80%9D/</guid><description>我们在读数学教材或者题目解析时经常能看到“显然”、“不难证”等字眼，这时往往代表其推导过程对于读者来说 应该 是足够简单的，因此被略掉了。那么当我们读到这些内容或者自己做题时，这些结论真的是“显然”的吗？如果不是，那么什么时候我们才能说一个定理或者结论是显然的呢？</description><pubDate>Wed, 21 Dec 2022 00:00:00 GMT</pubDate><category>欧几里得</category><category>质数</category><category>数学思维</category></item><item><title>多少冬天</title><link>https://www.hozen.site/zh/blog/%E5%86%AC%E5%A4%A9-2/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%86%AC%E5%A4%A9-2/</guid><description>冬天一下子就来了。一场雨，一夜风，忽然落满街巷的树叶。</description><pubDate>Wed, 30 Nov 2022 00:00:00 GMT</pubDate><category>散文</category></item><item><title>JS探幽——移位运算符 &lt;&lt;，&gt;&gt; 和 &gt;&gt;&gt;</title><link>https://www.hozen.site/zh/blog/javascript%E7%9A%84%E4%BD%8D%E7%A7%BB%E6%93%8D%E4%BD%9C%E7%AC%A6/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/javascript%E7%9A%84%E4%BD%8D%E7%A7%BB%E6%93%8D%E4%BD%9C%E7%AC%A6/</guid><description>移位运算符在数据结构与算法中有着重要的作用，很多时候可以大大提高算法性能，简化问题求解。同时也是高级语言连接计算机机器码的工具。本文介绍了 JavaScript 中移位运算符 &lt;&lt;， 和 的规范和表现。</description><pubDate>Fri, 09 Sep 2022 00:00:00 GMT</pubDate><category>ECMAScript</category><category>JS探幽</category><category>移位运算符</category></item><item><title>JS探幽——从数据类型到包装器对象</title><link>https://www.hozen.site/zh/blog/%E4%BB%8Ejavascript%E7%9A%84%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E5%88%B0%E5%AF%B9%E8%B1%A1%E5%8C%85%E8%A3%85%E5%99%A8/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E4%BB%8Ejavascript%E7%9A%84%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E5%88%B0%E5%AF%B9%E8%B1%A1%E5%8C%85%E8%A3%85%E5%99%A8/</guid><description>本文介绍了 JavaScript 的数据类型、基本数据类的包装器对象，以及对应的“装箱”机制，对一些违反直觉的语言表现进行了解释和查证。</description><pubDate>Tue, 06 Sep 2022 00:00:00 GMT</pubDate><category>ECMAScript</category><category>JS探幽</category><category>包装器对象</category></item><item><title>如何从零开发一款微信小程序</title><link>https://www.hozen.site/zh/blog/%E5%A6%82%E4%BD%95%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%8F%91%E4%B8%80%E6%AC%BE%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%A6%82%E4%BD%95%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%8F%91%E4%B8%80%E6%AC%BE%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/</guid><description>最近开发了一款小程序，本文将介绍这款小程序在两周之内从立项到上线的全部流程，为个人开发者开发自己的第一款微信小程序简单指南。</description><pubDate>Fri, 02 Sep 2022 00:00:00 GMT</pubDate><category>个人项目</category><category>微信小程序</category><category>全栈</category></item><item><title>一致最小方差无偏估计 UMVUE 的求法归纳</title><link>https://www.hozen.site/zh/blog/umvue%E7%9A%84%E6%B1%82%E6%B3%95/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/umvue%E7%9A%84%E6%B1%82%E6%B3%95/</guid><description>一致最小方差无偏估计估计 UMVUE 是参数估计中的重难点内容，也是很多高校考研专业课喜欢考察的问题. 但在很多教材中的介绍并不全面，主要问题在于本科生教材浅尝辄止，研究生教材有些晦涩，所以我归纳整理了求解 UMVUE 的背景知识和常用解法，供大家参阅批评.</description><pubDate>Sat, 04 Dec 2021 00:00:00 GMT</pubDate><category>数理统计</category><category>UMVUE</category></item><item><title>使用 Web 前端技术开发一个 Wallpaper Engine 壁纸</title><link>https://www.hozen.site/zh/blog/%E4%BD%BF%E7%94%A8-web-%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF%E5%BC%80%E5%8F%91%E4%B8%80%E4%B8%AA-wallpaper-engine-%E5%A3%81%E7%BA%B8/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E4%BD%BF%E7%94%A8-web-%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF%E5%BC%80%E5%8F%91%E4%B8%80%E4%B8%AA-wallpaper-engine-%E5%A3%81%E7%BA%B8/</guid><description>本文基于实例介绍使用 Web 技术开发一个实用的 Wallpaper Engine 壁纸.</description><pubDate>Sat, 07 Aug 2021 00:00:00 GMT</pubDate><category>个人项目</category><category>Wallpaper Engine</category></item><item><title>多 Git 仓库的 SSH-key 配置</title><link>https://www.hozen.site/zh/blog/%E5%A4%9A-git-%E4%BB%93%E5%BA%93%E7%9A%84-ssh-key-%E9%85%8D%E7%BD%AE/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%A4%9A-git-%E4%BB%93%E5%BA%93%E7%9A%84-ssh-key-%E9%85%8D%E7%BD%AE/</guid><description>本文介绍了在一个设备上配置多个 SSH key 以用于不同的远程 Git 仓库的方法.</description><pubDate>Mon, 02 Aug 2021 00:00:00 GMT</pubDate><category>Tools</category><category>Git</category></item><item><title>熵与信息量</title><link>https://www.hozen.site/zh/blog/%E4%BF%A1%E6%81%AF%E7%86%B5%E4%B8%8E%E4%BF%A1%E6%81%AF%E9%87%8F/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E4%BF%A1%E6%81%AF%E7%86%B5%E4%B8%8E%E4%BF%A1%E6%81%AF%E9%87%8F/</guid><description>本文主要结合公式和定义解释了信息熵（Entropy）和信息量（Quantities of information）的含义和联系.</description><pubDate>Tue, 22 Jun 2021 00:00:00 GMT</pubDate><category>信息熵</category><category>信息量</category></item><item><title>Swift 函数作为参数的写法</title><link>https://www.hozen.site/zh/blog/swift-%E5%87%BD%E6%95%B0%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0%E7%9A%84%E5%86%99%E6%B3%95/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/swift-%E5%87%BD%E6%95%B0%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0%E7%9A%84%E5%86%99%E6%B3%95/</guid><description>本文主要介绍 Swift 中函数作为参数传递的几种写法.</description><pubDate>Sat, 03 Apr 2021 00:00:00 GMT</pubDate><category>swift</category></item><item><title>数据结构基础（4）线性表的顺序存储结构——顺序表</title><link>https://www.hozen.site/zh/blog/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80-4/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80-4/</guid><description>本文主要介绍了线性表的顺序存储结构，以及基于 C++ 的具体实现.</description><pubDate>Sat, 13 Mar 2021 00:00:00 GMT</pubDate><category>数据结构</category><category>线性表</category><category>顺序表</category><category>C++</category></item><item><title>数据结构基础（2）算法及算法分析</title><link>https://www.hozen.site/zh/blog/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80-2/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80-2/</guid><description>本文主要讲述了算法的基本概念和算法的分析方法，主要包括算法的时间复杂度分析.</description><pubDate>Mon, 08 Mar 2021 00:00:00 GMT</pubDate><category>数据结构</category><category>时间复杂度</category></item><item><title>数据结构基础（3）线性表的逻辑结构</title><link>https://www.hozen.site/zh/blog/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80-3/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80-3/</guid><description>本文主要介绍了线性结构的典型代表——线性表的逻辑结构和抽象数据结构.</description><pubDate>Mon, 08 Mar 2021 00:00:00 GMT</pubDate><category>数据结构</category><category>线性表</category></item><item><title>数据结构基础（1）数据结构的基本概念</title><link>https://www.hozen.site/zh/blog/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80-1/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80-1/</guid><description>本文主要讲述了数据结构的基本概念及相关的理论基础，是“由远及近”认识数据结构的简要浏览.</description><pubDate>Fri, 05 Mar 2021 00:00:00 GMT</pubDate><category>数据结构</category></item><item><title>冬天</title><link>https://www.hozen.site/zh/blog/%E5%86%AC%E5%A4%A9/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%86%AC%E5%A4%A9/</guid><description>列车从南国缓缓驶入家乡时，我第一次得以突然进入北国的冬天。当窗外长青的树木和纵横的水道变为嶙峋的杨树和苍茫的黄土地，我突然意识到今年的冬天此刻方至。</description><pubDate>Sat, 23 May 2020 00:00:00 GMT</pubDate><category>散文</category></item><item><title>机器学习基础-“逻辑”回归(logistic regression)的数学原理</title><link>https://www.hozen.site/zh/blog/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80-%E2%80%9C%E9%80%BB%E8%BE%91%E2%80%9D%E5%9B%9E%E5%BD%92logistic-regression%E7%9A%84%E6%95%B0%E5%AD%A6%E5%8E%9F%E7%90%86/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80-%E2%80%9C%E9%80%BB%E8%BE%91%E2%80%9D%E5%9B%9E%E5%BD%92logistic-regression%E7%9A%84%E6%95%B0%E5%AD%A6%E5%8E%9F%E7%90%86/</guid><description>通过使用 logistic regression 处理一个二分类问题来简要分析其中的数学原理。</description><pubDate>Tue, 11 Feb 2020 00:00:00 GMT</pubDate><category>ML</category></item><item><title>机器学习基础-BP(Error Back Propagation)算法的数学原理</title><link>https://www.hozen.site/zh/blog/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80-bperror-back-propagation%E7%AE%97%E6%B3%95%E7%9A%84%E6%95%B0%E5%AD%A6%E5%8E%9F%E7%90%86/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80-bperror-back-propagation%E7%AE%97%E6%B3%95%E7%9A%84%E6%95%B0%E5%AD%A6%E5%8E%9F%E7%90%86/</guid><description>本文就 coursera 上斯坦福大学吴恩达教授的《机器学习》课程中的误差反向传播算法（Error Back Propagation）进行推导证明</description><pubDate>Tue, 11 Feb 2020 00:00:00 GMT</pubDate><category>ML</category></item><item><title>编写一个自动推送 Git Page 的 nodejs 脚本</title><link>https://www.hozen.site/zh/blog/%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E8%87%AA%E5%8A%A8%E6%8E%A8%E9%80%81-git-page-%E7%9A%84-nodejs-%E8%84%9A%E6%9C%AC/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E8%87%AA%E5%8A%A8%E6%8E%A8%E9%80%81-git-page-%E7%9A%84-nodejs-%E8%84%9A%E6%9C%AC/</guid><description>背景 写了一个简单的个人主页，由于使用了一些 CSS3 的属性，考虑到浏览器兼容性问题，就使用了 webpack 的一些 loader 给这些属性加前缀。所以简单的静态单页面用了 webpack，又因为这个页面要放在 Github Pages 上，每次打包后还得手动切换分支推送到…</description><pubDate>Mon, 03 Feb 2020 00:00:00 GMT</pubDate><category>Node.js</category><category>Git</category><category>Github page</category></item><item><title>经济学的旁听生-张晓风</title><link>https://www.hozen.site/zh/blog/%E7%BB%8F%E6%B5%8E%E5%AD%A6%E7%9A%84%E6%97%81%E5%90%AC%E7%94%9F/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E7%BB%8F%E6%B5%8E%E5%AD%A6%E7%9A%84%E6%97%81%E5%90%AC%E7%94%9F/</guid><description>“什么是经济学呢？”他站在讲台上，戴眼镜，灰西装，声音平静，典型的中年学者。 台下坐的是大学一年级的学生，而我，是置身在这二百人大教室里偷偷旁听的一个。</description><pubDate>Tue, 19 Mar 2019 00:00:00 GMT</pubDate><category>摘抄</category><category>散文</category></item><item><title>在 Windows 上真机调试 iPhone(iOS) Safari Web 页面</title><link>https://www.hozen.site/zh/blog/%E5%9C%A8-windows-%E4%B8%8A%E7%9C%9F%E6%9C%BA%E8%B0%83%E8%AF%95-iphoneios-safari-web-%E9%A1%B5%E9%9D%A2/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%9C%A8-windows-%E4%B8%8A%E7%9C%9F%E6%9C%BA%E8%B0%83%E8%AF%95-iphoneios-safari-web-%E9%A1%B5%E9%9D%A2/</guid><description>在移动端页面开发中，需要处理 Android 和 iOS 的兼容性问题。在 Chrome DevTools 中选择手机模式，可以一定程度上模拟移动端的页面，但更多的只是方便进行页面布局的调试和兼容。一些移动端的特性与表现，在真机和模拟情况下还是有存在很大差别的（比如软键盘的弹出等…</description><pubDate>Mon, 18 Mar 2019 00:00:00 GMT</pubDate><category>Tools</category></item><item><title>日记-下雨天</title><link>https://www.hozen.site/zh/blog/%E6%97%A5%E8%AE%B0-%E4%B8%8B%E9%9B%A8%E5%A4%A9/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%97%A5%E8%AE%B0-%E4%B8%8B%E9%9B%A8%E5%A4%A9/</guid><description>写篇日记吧。 今天是 3 月 7 号，这个城市难得的没下雨的日子。</description><pubDate>Thu, 07 Mar 2019 00:00:00 GMT</pubDate><category>散文</category></item><item><title>Nginx 配置前端 HTML5 History 路由</title><link>https://www.hozen.site/zh/blog/nginx-%E9%85%8D%E7%BD%AE%E5%89%8D%E7%AB%AF-html5-history-%E8%B7%AF%E7%94%B1/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/nginx-%E9%85%8D%E7%BD%AE%E5%89%8D%E7%AB%AF-html5-history-%E8%B7%AF%E7%94%B1/</guid><description>由于 Vue、React 等现代前端框架的前端 History 路由，在服务端并没有实际对应的物理路径和文件，所以使用 Nginx 的默认配置直接访问路由或刷新路由时，会导致 404 错误。</description><pubDate>Wed, 16 Jan 2019 00:00:00 GMT</pubDate><category>Server</category><category>Nginx</category></item><item><title>IndexedDB 中文教程（2）基本使用</title><link>https://www.hozen.site/zh/blog/indexeddb-%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B2%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/indexeddb-%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B2%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8/</guid><description>IndexedDB 中文教程（1）介绍 IndexedDB 中文教程（2）基本使用</description><pubDate>Mon, 26 Nov 2018 00:00:00 GMT</pubDate><category>ClientScript</category><category>indexedDB</category></item><item><title>IndexedDB 中文教程（1）介绍</title><link>https://www.hozen.site/zh/blog/indexeddb-%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B1%E4%BB%8B%E7%BB%8D/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/indexeddb-%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B1%E4%BB%8B%E7%BB%8D/</guid><description>IndexedDB 中文教程（1）介绍 IndexedDB 中文教程（2）基本使用 教程持续更新中……</description><pubDate>Sat, 10 Nov 2018 00:00:00 GMT</pubDate><category>ClientScript</category><category>indexedDB</category></item><item><title>秋天的味道</title><link>https://www.hozen.site/zh/blog/%E7%A7%8B%E5%A4%A9%E7%9A%84%E5%91%B3%E9%81%93/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E7%A7%8B%E5%A4%A9%E7%9A%84%E5%91%B3%E9%81%93/</guid><description>前一天有人问我“什么时候会让你感觉到夏天结束了”的时候，我还答不上来。第二天早晨，我从衣柜翻出外套将要穿在身上时，才突然醒悟，喃喃道：“这就是秋天的味道”。</description><pubDate>Sun, 23 Sep 2018 00:00:00 GMT</pubDate><category>散文</category></item><item><title>Web 开发中如何终止一个 Http 请求</title><link>https://www.hozen.site/zh/blog/%E5%A6%82%E4%BD%95%E7%BB%88%E6%AD%A2%E4%B8%80%E4%B8%AA-web-%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%A6%82%E4%BD%95%E7%BB%88%E6%AD%A2%E4%B8%80%E4%B8%AA-web-%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82/</guid><description>在前端开发中，终止一个已经开始的网路请求是有一定应用场景的。尤其是在 SPA (Signal Page Web Application) 单页面 Web 应用中，路由的跳转或场景的切换并不会像多页面跳转一样终止之前未被响应的网络请求。此时就可能会发生数据请求发生时的场景已经不存在…</description><pubDate>Mon, 27 Aug 2018 00:00:00 GMT</pubDate><category>ClientScript</category><category>XHR</category><category>Fetch API</category><category>Axios</category></item><item><title>webpack4 打包“块”的分离</title><link>https://www.hozen.site/zh/blog/webpack4-%E6%89%93%E5%8C%85%E2%80%9C%E5%9D%97%E2%80%9D%E7%9A%84%E5%88%86%E7%A6%BB/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/webpack4-%E6%89%93%E5%8C%85%E2%80%9C%E5%9D%97%E2%80%9D%E7%9A%84%E5%88%86%E7%A6%BB/</guid><description>当不使用外部插件时，webpack 会把 webpack.config.js 配置文件里每个入口打包一个 [entry].js 文件，这意味着单页面应用（单入口）最终只会打包生成一个 js 文件。而很多情况下，这种处理并不是最佳的处理方式。比如会造成单个 js 文件体积过大，并且…</description><pubDate>Thu, 26 Jul 2018 00:00:00 GMT</pubDate><category>Node.js</category><category>webpack4</category><category>splitChunksPlugin</category></item><item><title>Git 子模块 submodule 的使用</title><link>https://www.hozen.site/zh/blog/git-%E5%AD%90%E6%A8%A1%E5%9D%97-submodule-%E7%9A%84%E4%BD%BF%E7%94%A8/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/git-%E5%AD%90%E6%A8%A1%E5%9D%97-submodule-%E7%9A%84%E4%BD%BF%E7%94%A8/</guid><description>Git 子模块具有一定的应用场景。 比如在一个项目 P 中，该项目被分为两部分，由 A 和 B 两个团队并行开发。而 B 团队开发的内容属于公共支持类的项目，不止会被该项目使用，其他项目也可能会使用。因此 B 团队开发的内容不可能和团队 A 共用一个仓库。因为这样的话别人拉取该公…</description><pubDate>Sun, 15 Jul 2018 00:00:00 GMT</pubDate><category>Tools</category><category>Git</category></item><item><title>别君去兮何时还</title><link>https://www.hozen.site/zh/blog/%E5%88%AB%E5%90%9B%E5%8E%BB%E5%85%AE%E4%BD%95%E6%97%B6%E8%BF%98/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E5%88%AB%E5%90%9B%E5%8E%BB%E5%85%AE%E4%BD%95%E6%97%B6%E8%BF%98/</guid><description>一 我要毕业了。 从这个学期还没开始，我就因这件事的逼近而惶惶不可终日。我从未对毕业有过如此惶恐的感觉。</description><pubDate>Fri, 08 Jun 2018 00:00:00 GMT</pubDate><category>散文</category></item><item><title>我们为什么构建React</title><link>https://www.hozen.site/zh/blog/%E6%88%91%E4%BB%AC%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9E%84%E6%9E%B6react/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%88%91%E4%BB%AC%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9E%84%E6%9E%B6react/</guid><description>现在已经存在很多 JavaScript MVC 框架了，为什么我们还要创建 React 并且你为什么会去用它？</description><pubDate>Thu, 07 Jun 2018 00:00:00 GMT</pubDate><category>转载</category><category>React</category></item><item><title>捕梦 - 尼尔·盖曼</title><link>https://www.hozen.site/zh/blog/%E6%8D%95%E6%A2%A6-%E5%B0%BC%E5%B0%94%C2%B7%E7%9B%96%E6%9B%BC/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%8D%95%E6%A2%A6-%E5%B0%BC%E5%B0%94%C2%B7%E7%9B%96%E6%9B%BC/</guid><description>有个和尚独居在山腰上的寺庙旁。庙很小，和尚很年轻，这山也算不上日本的名山峻峰。 和尚打理着寺庙，生活宁静安闲。直到有一天，一个狐狸和一只狸猫从庙旁经过，看到和尚正耕种着他赖以为生的一小块山药地。 狸猫看着和尚和寺庙，开口道：“让我们打个赌。我们中要是有谁能把这和尚从庙里赶走，就可…</description><pubDate>Thu, 03 May 2018 00:00:00 GMT</pubDate><category>摘抄</category><category>小说</category><category>奇幻</category></item><item><title>JavaScript设计模式(1)——单例模式</title><link>https://www.hozen.site/zh/blog/post-javascript%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F-1-%E2%80%94%E2%80%94%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/post-javascript%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F-1-%E2%80%94%E2%80%94%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/</guid><description>在 JavaScript 中单例模式的应用场景还是比较多的，实现起来也比较简单。大体思路无非就是，第一次调用构造函数时，实例化示例并保存起来。再次调用时直接将第一次实例化的对象返回即可。</description><pubDate>Fri, 20 Apr 2018 00:00:00 GMT</pubDate><category>ECMAScript</category><category>设计模式</category><category>单例模式</category></item><item><title>为DOM2级事件函数传参——bind的应用</title><link>https://www.hozen.site/zh/blog/post%E4%B8%BAdom2%E7%BA%A7%E4%BA%8B%E4%BB%B6%E5%87%BD%E6%95%B0%E4%BC%A0%E5%8F%82%E2%80%94%E2%80%94bind%E7%9A%84%E5%BA%94%E7%94%A8/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/post%E4%B8%BAdom2%E7%BA%A7%E4%BA%8B%E4%BB%B6%E5%87%BD%E6%95%B0%E4%BC%A0%E5%8F%82%E2%80%94%E2%80%94bind%E7%9A%84%E5%BA%94%E7%94%A8/</guid><description>在复杂的 web 开发中，我们应采用 DOM 2 级事件来绑定和移除函数。即使用 addEventListener 和 removeEventListener 方法为 DOM 节点绑定和解绑函数。因为 DOM 1 级事件不支持多个函数的绑定。这意味着，当你使用 DOM 1 级为 …</description><pubDate>Sat, 07 Apr 2018 00:00:00 GMT</pubDate><category>ClientScript</category><category>DOM事件</category></item><item><title>requestAnimationFrame——HTML5动画利器</title><link>https://www.hozen.site/zh/blog/requestanimationframe%E2%80%94%E2%80%94html5-%E5%8A%A8%E7%94%BB%E5%88%A9%E5%99%A8/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/requestanimationframe%E2%80%94%E2%80%94html5-%E5%8A%A8%E7%94%BB%E5%88%A9%E5%99%A8/</guid><description>requestAnimationFrame 是 window 对象中的一个新方法，是专门为了网页动画而生的。</description><pubDate>Sat, 07 Apr 2018 00:00:00 GMT</pubDate><category>ClientScript</category><category>HTML5</category><category>requestAnimationFrame</category></item><item><title>我与明二</title><link>https://www.hozen.site/zh/blog/%E6%88%91%E4%B8%8E%E6%98%8E%E4%BA%8C/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%88%91%E4%B8%8E%E6%98%8E%E4%BA%8C/</guid><description>一 我与明二初见是一年多之前的事情了，那时候我刚刚上大学，还未成年。这很关键，未成年使得我和明二早早相遇。</description><pubDate>Thu, 05 Apr 2018 00:00:00 GMT</pubDate><category>校园</category><category>散文</category></item><item><title>排序算法（二）——交换排序（冒泡排序+快速排序）</title><link>https://www.hozen.site/zh/blog/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95%E4%BA%8C%E2%80%94%E2%80%94%E4%BA%A4%E6%8D%A2%E6%8E%92%E5%BA%8F%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F+%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95%E4%BA%8C%E2%80%94%E2%80%94%E4%BA%A4%E6%8D%A2%E6%8E%92%E5%BA%8F%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F+%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F/</guid><description>冒泡排序 算法分析 冒泡排序可能是排序算法中最简单最好理解的算法了。</description><pubDate>Wed, 04 Apr 2018 00:00:00 GMT</pubDate><category>Algorithm</category><category>冒泡排序</category><category>排序算法</category><category>快速排序</category></item><item><title>排序算法（一）——插入排序（直接插入+希尔排序）</title><link>https://www.hozen.site/zh/blog/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95%E4%B8%80%E2%80%94%E2%80%94%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F%E7%9B%B4%E6%8E%A5%E6%8F%92%E5%85%A5-%E5%B8%8C%E5%B0%94%E6%8E%92%E5%BA%8F/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95%E4%B8%80%E2%80%94%E2%80%94%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F%E7%9B%B4%E6%8E%A5%E6%8F%92%E5%85%A5-%E5%B8%8C%E5%B0%94%E6%8E%92%E5%BA%8F/</guid><description>思路 插入排序的基本思路是，每次将一个待排序的记录按照其关键码的大小插入到已经排好序的有序序列中，直到记录全部有序。</description><pubDate>Sun, 01 Apr 2018 00:00:00 GMT</pubDate><category>Algorithm</category><category>排序算法</category><category>希尔排序</category></item><item><title>CentOS 下使用 certbot 配置 Let&apos;s Encrypt SSL证书</title><link>https://www.hozen.site/zh/blog/centos-%E4%B8%8B%E4%BD%BF%E7%94%A8-certbot-%E9%85%8D%E7%BD%AE-let-s-encrypt-ssl%E8%AF%81%E4%B9%A6/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/centos-%E4%B8%8B%E4%BD%BF%E7%94%A8-certbot-%E9%85%8D%E7%BD%AE-let-s-encrypt-ssl%E8%AF%81%E4%B9%A6/</guid><description>certbot 是一个提供命令行来自动配置网站 SSL 证书的工具。访问其官网可以获得不同操作系统以及不同 Web 服务器下的使用教程。</description><pubDate>Sat, 24 Mar 2018 00:00:00 GMT</pubDate><category>Server</category><category>SSL</category><category>HTTPS</category></item><item><title>为 CentOS 添加回收站功能</title><link>https://www.hozen.site/zh/blog/%E4%B8%BA-centos-%E6%B7%BB%E5%8A%A0%E5%9B%9E%E6%94%B6%E7%AB%99%E5%8A%9F%E8%83%BD/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E4%B8%BA-centos-%E6%B7%BB%E5%8A%A0%E5%9B%9E%E6%94%B6%E7%AB%99%E5%8A%9F%E8%83%BD/</guid><description>在 centos 中删除文件时会使用 rm rf 命令，然而该命令往往造成不可挽回的后果，比如手抖删错目录然后过段时间再想恢复几乎时不可能的。在很多桌面发行版本中已经有了回收站功能，在服务器端的 centos 中这个功能更为重要。</description><pubDate>Tue, 20 Mar 2018 00:00:00 GMT</pubDate><category>Server</category><category>CentOS</category><category>bash</category></item><item><title>谨以此文祭奠我的前博客</title><link>https://www.hozen.site/zh/blog/%E8%B0%A8%E4%BB%A5%E6%AD%A4%E6%96%87%E7%A5%AD%E5%A5%A0%E6%88%91%E7%9A%84%E5%89%8D%E5%8D%9A%E5%AE%A2/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/%E8%B0%A8%E4%BB%A5%E6%AD%A4%E6%96%87%E7%A5%AD%E5%A5%A0%E6%88%91%E7%9A%84%E5%89%8D%E5%8D%9A%E5%AE%A2/</guid><description>当我在云服务器控制台重装了 CentOS，部署完崭新的博客系统，在网站首页再次写下“积跬步以至千里，积小流以成江海”这句话时，我知道我兢兢业业积累了六个多月，近百篇涉猎甚广的博客已经一去不返了。</description><pubDate>Tue, 20 Mar 2018 00:00:00 GMT</pubDate><category>Server</category><category>运维</category></item><item><title>CSS 实现水平垂直居中布局</title><link>https://www.hozen.site/zh/blog/centering-in-css/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/centering-in-css/</guid><description>居中的实现是 CSS 布局中很典型（poster child）的问题。本文试图从不同的应用场景（水平居中、垂直居中、水平垂直居中）入手，尽可能列举常见的解决方案。</description><pubDate>Sat, 16 Sep 2017 00:00:00 GMT</pubDate><category>CSS</category><category>CSS 布局</category></item><item><title>CSS3 制作常见几何图形</title><link>https://www.hozen.site/zh/blog/irregular-graph-css/</link><guid isPermaLink="true">https://www.hozen.site/zh/blog/irregular-graph-css/</guid><description>通过 CSS3 提供一些新的属性和标准，可以实现一些常见的几何图形。避免使用贴图等其他手段，减少网络请求和资源大小，同时自适应和缩放效果会更好。</description><pubDate>Sat, 16 Sep 2017 00:00:00 GMT</pubDate><category>CSS</category><category>CSS 特效</category></item></channel></rss>