<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Lruihao - 作者 | 菠菜眾長</title><link>https://lruihao.cn/authors/lruihao/</link><description>Hugo FixIt 作者，喜欢瞎折腾、造轮子、写东西，分享一些前端开发中的所见、所闻、所思。</description><generator>Hugo 0.167.0 &amp; FixIt v1.0.0-beta-mukxzari</generator><language>zh-CN</language><managingEditor>1024@lruihao.cn (Lruihao)</managingEditor><webMaster>1024@lruihao.cn (Lruihao)</webMaster><copyright>本站内容采用 CC BY-NC-SA 4.0 国际许可协议。</copyright><lastBuildDate>Sun, 27 Sep 2026 07:23:02 +0000</lastBuildDate><atom:link href="https://lruihao.cn/authors/lruihao/index.xml" rel="self" type="application/rss+xml"/><item><title>一个轻量化 Tooltip 组件。</title><link>https://lruihao.cn/projects/lruihao/cell-tooltip/</link><pubDate>Fri, 06 Mar 2026 06:58:23 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/cell-tooltip/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="cell-tooltip" data-decreased&gt;&lt;span&gt;cell-tooltip&lt;/span&gt;&#10; &lt;a href="#cell-tooltip" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;一个基于 TypeScript + Vite 的轻量化 Tooltip 组件，交互模型参考 Bootstrap &lt;code&gt;tooltip.js&lt;/code&gt;，保留常用能力并尽量减少体积与依赖。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="特性"&gt;&lt;span&gt;特性&lt;/span&gt;&#10; &lt;a href="#%e7%89%b9%e6%80%a7" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;支持触发方式：&lt;code&gt;hover&lt;/code&gt; / &lt;code&gt;focus&lt;/code&gt; / &lt;code&gt;click&lt;/code&gt; / &lt;code&gt;manual&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;支持位置：&lt;code&gt;top&lt;/code&gt; / &lt;code&gt;bottom&lt;/code&gt; / &lt;code&gt;left&lt;/code&gt; / &lt;code&gt;right&lt;/code&gt; / &lt;code&gt;auto&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;支持延迟配置（&lt;code&gt;show&lt;/code&gt; / &lt;code&gt;hide&lt;/code&gt;）&lt;/li&gt;&#10;&lt;li&gt;支持 &lt;code&gt;data-ct-*&lt;/code&gt; 属性初始化&lt;/li&gt;&#10;&lt;li&gt;支持实例方法：&lt;code&gt;show&lt;/code&gt; / &lt;code&gt;hide&lt;/code&gt; / &lt;code&gt;toggle&lt;/code&gt; / &lt;code&gt;update&lt;/code&gt; / &lt;code&gt;dispose&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;支持动画：&lt;code&gt;scale&lt;/code&gt; / &lt;code&gt;fade&lt;/code&gt; / &lt;code&gt;shift-away&lt;/code&gt; / &lt;code&gt;none&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;支持交互式 tooltip（&lt;code&gt;interactive&lt;/code&gt;）&lt;/li&gt;&#10;&lt;li&gt;支持自动清理（&lt;code&gt;autoDispose&lt;/code&gt;）&lt;/li&gt;&#10;&lt;li&gt;支持事件回调（&lt;code&gt;onShow&lt;/code&gt; / &lt;code&gt;onHide&lt;/code&gt;）&lt;/li&gt;&#10;&lt;li&gt;支持 Escape 键关闭和点击外部关闭&lt;/li&gt;&#10;&lt;li&gt;支持 CSS 自定义属性（&lt;code&gt;--tooltip-duration&lt;/code&gt;）&lt;/li&gt;&#10;&lt;li&gt;内置箭头与基础样式，无第三方依赖&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 class="heading-element" id="本地运行"&gt;&lt;span&gt;本地运行&lt;/span&gt;&#10; &lt;a href="#%e6%9c%ac%e5%9c%b0%e8%bf%90%e8%a1%8c" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;pnpm install&#10;pnpm dev&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;构建库产物：&lt;/p&gt;</description></item><item><title>Command line tool for generating a changelog from git tags and commit history</title><link>https://lruihao.cn/projects/lruihao/auto-changelog-plus/</link><pubDate>Sat, 30 Aug 2025 15:40:19 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/auto-changelog-plus/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="auto-changelog-plus" data-decreased&gt;&lt;span&gt;auto-changelog-plus&lt;/span&gt;&#10; &lt;a href="#auto-changelog-plus" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;中文 | &lt;a href="https://raw.githubusercontent.com/Lruihao/auto-changelog-plus/refs/heads/main./README.en.md" target="_blank" rel="external nofollow noopener noreferrer"&gt;English&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;从 git 提交历史自动生成 changelog 的命令行工具。&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;基于 &lt;a href="https://github.com/CookPete/auto-changelog" target="_blank" rel="external nofollow noopener noreferrer"&gt;auto-changelog&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 和 &lt;a href="https://www.conventionalcommits.org/zh-hans/v1.0.0/" target="_blank" rel="external nofollow noopener noreferrer"&gt;约定式提交&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 规范。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;&lt;a href="https://www.npmjs.com/package/auto-changelog-plus" target="_blank" rel="external nofollow noopener noreferrer"&gt;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/auto-changelog-plus_4237762794776635499.svg' alt="npm version"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="-安装"&gt;&lt;span&gt;📦 安装&lt;/span&gt;&#10; &lt;a href="#-%e5%ae%89%e8%a3%85" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;npm install -g auto-changelog-plus&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="-用法"&gt;&lt;span&gt;🚀 用法&lt;/span&gt;&#10; &lt;a href="#-%e7%94%a8%e6%b3%95" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;在 git 仓库根目录运行 &lt;code&gt;auto-changelog-plus&lt;/code&gt; 或者 &lt;code&gt;acp&lt;/code&gt;。工具会在后台运行 &lt;code&gt;git log&lt;/code&gt; 来解析提交历史。&lt;/p&gt;</description></item><item><title>让 Mermaid 图表自动跟随系统深浅色</title><link>https://lruihao.cn/posts/mermaid-theming/</link><pubDate>Sat, 16 Aug 2025 12:37:49 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/mermaid-theming/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;Mermaid 是目前最流行的「文本即图表」渲染库，但它对「系统深浅色自动切换」的支持一直暧昧不明。官方 Roadmap 里偶有提及，却始终没有一个简单、稳定、文档化的 API。&lt;br&gt;&#10;不过社区里已有大量站点（mermaid.live、Obsidian、Notion-like 产品等）实现了丝滑的 Light/Dark 自适应。本文把目前能落地的三条路线一次性梳理出来，并给出最小可运行示例，方便你按需取用。&lt;/p&gt;</description></item><item><title>黑盒出关・三把钥匙定江湖</title><link>https://lruihao.cn/posts/wc-01-prologue/</link><pubDate>Tue, 05 Aug 2025 11:31:52 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/wc-01-prologue/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><category domain="https://lruihao.cn/categories/html/">HTML</category><description>&lt;p&gt;江湖传言，西土浏览器界有隐世高人，名曰“原生老祖”。老祖膝下三徒，各执一柄钥匙，开得了黑盒，锁得住乾坤。今日大话，诸位英雄且把耳洞放大，听我一一道来！&lt;/p&gt;</description></item><item><title>Code Playground</title><link>https://lruihao.cn/posts/code-playground/</link><pubDate>Mon, 04 Aug 2025 11:37:24 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/code-playground/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;p&gt;以下是常见的在线代码演示和开发环境服务，适合不同场景使用：&lt;/p&gt;</description></item><item><title>A custom web component that embeds caniuse.com browser compatibility data for a specific feature.</title><link>https://lruihao.cn/projects/lruihao/caniuse-embed-element/</link><pubDate>Tue, 22 Jul 2025 03:40:45 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/caniuse-embed-element/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="caniuse-embed-element" data-decreased&gt;&lt;span&gt;&lt;code&gt;&amp;lt;caniuse-embed&amp;gt;&lt;/code&gt; Element&lt;/span&gt;&#10; &lt;a href="#caniuse-embed-element" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://www.npmjs.com/package/@cell-x/caniuse-embed-element" target="_blank" rel="external nofollow noopener noreferrer"&gt;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/caniuse-embed-element_16073117672299718149.svg' alt="npm version"&gt;&lt;/a&gt;&#10;&lt;a href="https://github.com/Lruihao/caniuse-embed-element/blob/main/LICENSE" target="_blank" rel="external nofollow noopener noreferrer"&gt;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/caniuse-embed-element_9055600485129263458.svg' alt="License"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;English | &lt;a href="https://raw.githubusercontent.com/Lruihao/caniuse-embed-element/refs/heads/main./README.zh-cn.md" target="_blank" rel="external nofollow noopener noreferrer"&gt;简体中文&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;A lightweight, customizable web component that embeds &lt;a href="https://caniuse.com" target="_blank" rel="external nofollow noopener noreferrer"&gt;caniuse.com&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; browser compatibility data for specific web features. Built with &lt;a href="https://lit.dev/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Lit&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; and designed to seamlessly integrate into any web project.&lt;/p&gt;</description></item><item><title>A custom element for viewing and interacting with JSON data.</title><link>https://lruihao.cn/projects/lruihao/json-viewer-element/</link><pubDate>Sat, 19 Jul 2025 07:05:07 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/json-viewer-element/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="json-viewer-element" data-decreased&gt;&lt;span&gt;&amp;lt;json-viewer&amp;gt; Element&lt;/span&gt;&#10; &lt;a href="#json-viewer-element" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;简体中文 | &lt;a href="https://raw.githubusercontent.com/Lruihao/json-viewer-element/refs/heads/main./README.en.md" target="_blank" rel="external nofollow noopener noreferrer"&gt;English&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;🌈 一个轻量、现代的 JSON 可视化与交互 Web 组件&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="功能特性"&gt;&lt;span&gt;功能特性&lt;/span&gt;&#10; &lt;a href="#%e5%8a%9f%e8%83%bd%e7%89%b9%e6%80%a7" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;🌟 &lt;strong&gt;Web 组件&lt;/strong&gt;：原生，无框架依赖&lt;/li&gt;&#10;&lt;li&gt;🎨 &lt;strong&gt;主题&lt;/strong&gt;：支持明暗模式&lt;/li&gt;&#10;&lt;li&gt;📦 &lt;strong&gt;盒装&lt;/strong&gt;：可选边框与内边距&lt;/li&gt;&#10;&lt;li&gt;📋 &lt;strong&gt;可复制&lt;/strong&gt;：一键复制 JSON&lt;/li&gt;&#10;&lt;li&gt;🔑 &lt;strong&gt;排序&lt;/strong&gt;：支持键排序&lt;/li&gt;&#10;&lt;li&gt;🔍 &lt;strong&gt;展开深度&lt;/strong&gt;：可控初始展开层级&lt;/li&gt;&#10;&lt;li&gt;🧩 &lt;strong&gt;自定义复制按钮&lt;/strong&gt;：slot 插槽支持&lt;/li&gt;&#10;&lt;li&gt;🧬 &lt;strong&gt;类型高亮&lt;/strong&gt;：多种类型高亮&lt;/li&gt;&#10;&lt;li&gt;🛠️ &lt;strong&gt;自定义事件&lt;/strong&gt;：支持 copy/toggle 事件监听&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 class="heading-element" id="使用方法"&gt;&lt;span&gt;使用方法&lt;/span&gt;&#10; &lt;a href="#%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 class="heading-element" id="安装"&gt;&lt;span&gt;安装&lt;/span&gt;&#10; &lt;a href="#%e5%ae%89%e8%a3%85" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;npm install json-viewer-element&lt;/code&gt;&lt;/pre&gt;&lt;h3 class="heading-element" id="引入"&gt;&lt;span&gt;引入&lt;/span&gt;&#10; &lt;a href="#%e5%bc%95%e5%85%a5" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;h4 class="heading-element" id="作为模块"&gt;&lt;span&gt;作为模块&lt;/span&gt;&#10; &lt;a href="#%e4%bd%9c%e4%b8%ba%e6%a8%a1%e5%9d%97" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;import &amp;#39;json-viewer-element&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;h4 class="heading-element" id="umd-cdn"&gt;&lt;span&gt;UMD (CDN)&lt;/span&gt;&#10; &lt;a href="#umd-cdn" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;script src=&amp;#34;https://unpkg.com/json-viewer-element/dist/json-viewer-element.umd.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 class="heading-element" id="基本用法"&gt;&lt;span&gt;基本用法&lt;/span&gt;&#10; &lt;a href="#%e5%9f%ba%e6%9c%ac%e7%94%a8%e6%b3%95" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;手动绑定 value：&lt;/p&gt;</description></item><item><title>CSS @layer：构建更高效、更可维护的样式层级</title><link>https://lruihao.cn/posts/at-layer/</link><pubDate>Wed, 18 Jun 2025 10:35:47 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/at-layer/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;在现代前端开发中，CSS 的样式管理一直是一个令人头疼的问题。随着项目的不断扩展，样式规则的冲突、覆盖以及维护成本的增加，都给开发者带来了巨大的挑战。幸运的是，CSS 的 &lt;code&gt;@layer&lt;/code&gt; 规则为我们提供了一种全新的解决方案，帮助我们更好地管理样式层级，提升代码的可维护性和可读性。本文将深入探讨 &lt;code&gt;@layer&lt;/code&gt; 的背景、作用以及语法，带你一探究竟。&lt;/p&gt;</description></item><item><title>Vue.js History 模式下的 NGINX 配置与 API 代理</title><link>https://lruihao.cn/posts/vue-build/</link><pubDate>Wed, 11 Jun 2025 10:05:36 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/vue-build/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;!-- 本文由 Poe AI 提供 --&gt;&#10;&lt;p&gt;在使用 Vue.js 开发前端应用时，开启 history 模式可以让你的路由更加友好。然而，在部署应用时，需要正确配置 NGINX，以支持前端路由和 API 请求。本文将详细介绍如何配置 NGINX，使其能够处理 Vue 应用的 history 模式，并设置 API 代理。&lt;/p&gt;</description></item><item><title>The webfont package for the MMT typeface.</title><link>https://lruihao.cn/projects/lruihao/mmt-webfont/</link><pubDate>Thu, 10 Apr 2025 08:35:34 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/mmt-webfont/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="mmt-webfont-package" data-decreased&gt;&lt;span&gt;MMT webfont package&lt;/span&gt;&#10; &lt;a href="#mmt-webfont-package" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;The webfont package for the &lt;a href="https://github.com/Lruihao/mmt" target="_blank" rel="external nofollow noopener noreferrer"&gt;MMT&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; typeface.&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="demo"&gt;&lt;span&gt;Demo&lt;/span&gt;&#10; &lt;a href="#demo" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://lruihao.github.io/mmt-webfont/" target="_blank" rel="external nofollow noopener noreferrer"&gt;MMT typeface online demo&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>API proxies powered by Vercel.</title><link>https://lruihao.cn/projects/lruihao/vercel-proxy/</link><pubDate>Wed, 09 Apr 2025 02:13:22 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/vercel-proxy/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="vercel-api-proxy" data-decreased&gt;&lt;span&gt;&lt;a href="https://github.com/Lruihao/vercel-proxy" target="_blank" rel="external nofollow noopener noreferrer"&gt;Vercel API Proxy&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#vercel-api-proxy" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;blockquote&gt;&#10;&lt;p&gt;API proxies powered by Vercel.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;[toc]&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="hosts"&gt;&lt;span&gt;Hosts&lt;/span&gt;&#10; &lt;a href="#hosts" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://api.lruihao.cn" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://api.lruihao.cn&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://cell-api.vercel.app" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://cell-api.vercel.app&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 class="heading-element" id="api-list"&gt;&lt;span&gt;API List&lt;/span&gt;&#10; &lt;a href="#api-list" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Go to the &lt;a href="https://cell-api.vercel.app" target="_blank" rel="external nofollow noopener noreferrer"&gt;Vercel API Proxy&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; and select the API you want to use.&lt;/p&gt;</description></item><item><title>CSS Flexbox 布局指南</title><link>https://lruihao.cn/posts/flexbox/</link><pubDate>Mon, 20 Jan 2025 15:56:38 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/flexbox/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;本指南完整解释了弹性盒子（Flexible Box）的所有内容，重点介绍了父元素（弹性容器）和子元素（弹性项目）的所有不同可能属性。&lt;/p&gt;</description></item><item><title>震惊！CSS 竟然能获取视口尺寸？</title><link>https://lruihao.cn/posts/css-viewport/</link><pubDate>Fri, 06 Dec 2024 10:32:22 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/css-viewport/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;在这篇文章中，我们将探讨如何使用 CSS 获取视口尺寸，并展示一个简单的实现示例。&lt;/p&gt;</description></item><item><title>搜索</title><link>https://lruihao.cn/search/</link><pubDate>Wed, 27 Nov 2024 17:50:35 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/search/</guid><description>搜索</description></item><item><title>Amazon 如何让服务器享受着持续集群安全？</title><link>https://lruihao.cn/posts/91db0fa/</link><pubDate>Fri, 22 Nov 2024 14:01:18 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/91db0fa/</guid><description>&lt;div class="details admonition question open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-regular fa-circle-question" aria-hidden="true"&gt;&lt;/i&gt;在这个网络信息化时代，你真的注重安全性吗？&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;p&gt;常常担心服务器遭受黑客攻击，服务器集群防御措施难以统一化管理？&lt;/p&gt;&#10;&lt;p&gt;难以确定修复的优先级？不知道该先修复哪个漏洞？&lt;/p&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;你是否也有过诸如此类的困扰？不要慌，同学们，在亚马逊云科技中，有一个契合的服务工具能帮助到你，它就是 Amazon Inspector。&lt;/p&gt;</description></item><item><title>自动获取 GitHub README 内容添加到 Hugo 文章</title><link>https://lruihao.cn/posts/content-adapters/</link><pubDate>Sun, 06 Oct 2024 11:10:22 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/content-adapters/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;在这个博客中，我经常会写一些关于开源项目的文章，而这些开源项目通常都是托管在 GitHub 上的。为了方便内容同步，我希望能够自动获取 GitHub 仓库的 README 内容，然后添加到 Hugo 文章中。这样，我就不用再手动复制粘贴 README 内容了。&lt;/p&gt;</description></item><item><title>不使用任何框架，只使用原生 HTML、CSS 和 JavaScript 的一些小 demo。</title><link>https://lruihao.cn/projects/lruihao/html-demo/</link><pubDate>Fri, 13 Sep 2024 02:36:29 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/html-demo/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="html-demos" data-decreased&gt;&lt;span&gt;HTML demos&lt;/span&gt;&#10; &lt;a href="#html-demos" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;不使用任何框架，只使用原生 HTML、CSS 和 JavaScript 的一些小 demo。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="文件预览"&gt;&lt;span&gt;文件预览&lt;/span&gt;&#10; &lt;a href="#%e6%96%87%e4%bb%b6%e9%a2%84%e8%a7%88" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;直接浏览器打开 &lt;code&gt;src&lt;/code&gt; 目录下的 HTML 文件。&lt;/p&gt;</description></item><item><title>赞赏记录</title><link>https://lruihao.cn/reward/</link><pubDate>Fri, 16 Aug 2024 17:38:43 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/reward/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;如果我或者我的开源帮助到了你，请考虑给我买杯咖啡，谢谢！&lt;br&gt;&#10;打赏时可以给我留言，以便于我记录一下，FixIt 相关的记录，不再重复记录在本页，&lt;a href="https://fixit.lruihao.cn/contributing/overview/#sponsor" target="_blank" rel="external nofollow noopener noreferrer"&gt;传送门&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;&lt;div class="post-reward"&gt;&#10; &lt;div class="comment"&gt;给博主买杯卡布奇诺～&lt;/div&gt;&#10; &lt;input type="checkbox" class="reward-input" name="reward" id="id-1" hidden /&gt;&#10; &lt;label class="reward-button" for="id-1"&gt;&lt;i class="fa-solid fa-qrcode" aria-hidden="true"&gt;&lt;/i&gt;赞赏&lt;/label&gt;&#10; &lt;div class="reward-ways" data-mode="fixed"&gt;&lt;div&gt;&lt;img src='https://lruihao.cn/images/alipay.jpg' alt="支付宝"&gt;&lt;span&gt;支付宝&lt;/span&gt;&#10; &lt;/div&gt;&lt;div&gt;&lt;img src='https://lruihao.cn/images/wechatpay.jpg' alt="微信"&gt;&lt;span&gt;微信&lt;/span&gt;&#10; &lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="reward-message text-center"&gt;&lt;blockquote&gt;&#10;&lt;p&gt;本页面记录了自「菠菜眾長」博客创建以来，所有的打赏记录。感谢大家的支持！❤️&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="reward-statistics"&gt;&#10; &lt;div class="reward-statistics-item"&gt;&#10; &lt;span class="title text-secondary"&gt;总计&lt;/span&gt;&#10; &lt;span class="number"&gt;CN¥403.32&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="reward-statistics-item"&gt;&#10; &lt;span class="title text-secondary"&gt;单笔最大&lt;/span&gt;&#10; &lt;span class="number"&gt;🏆 王二愣子 的 CN¥66.00&lt;/span&gt;&#10; &lt;/div&gt;&lt;ol class="reward-statistics-item top3"&gt;&lt;li class="top-1"&gt;&#10; &lt;span class="name" title="francs"&gt;francs&lt;/span&gt;&#10; &lt;span&gt;CN¥67.60&lt;/span&gt;&#10; &lt;/li&gt;&lt;li class="top-2"&gt;&#10; &lt;span class="name" title="王二愣子"&gt;王二愣子&lt;/span&gt;&#10; &lt;span&gt;CN¥66.00&lt;/span&gt;&#10; &lt;/li&gt;&lt;li class="top-3"&gt;&#10; &lt;span class="name" title="K*n"&gt;K*n&lt;/span&gt;&#10; &lt;span&gt;CN¥50.00&lt;/span&gt;&#10; &lt;/li&gt;&lt;/ol&gt;&#10;&lt;/div&gt;&lt;ul&#10; class="fi-timeline reward-logs"&#10; style="height: auto; max-height: 90vh;" data-animation&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 1;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;Z 通过 微信 打赏了 CN¥20.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：感谢作者的答疑解惑😋&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2024-11-16 18:27:58&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 2;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;王二愣子 通过 微信 打赏了 CN¥66.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：感谢大佬的答疑解惑！&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2024-11-06 11:22:04&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 3;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;deequoique 通过 微信 打赏了 CN¥10.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：FixIt👍请佬喝杯蜜雪&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2024-09-10 18:51:27&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 4;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;SuLis 通过 微信 打赏了 CN¥10.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：感谢作者对 FixIt 的付出！&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2024-08-03 19:25:50&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 5;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;WindSun 通过 微信 打赏了 CN¥20.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：歪瑞古德&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2024-07-16 00:09:47&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 6;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;贺雄彪 通过 微信 打赏了 CN¥5.21&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：感谢李瑞豪同学🧑‍🎓&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2024-04-03 17:10:15&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 7;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;杨潇 通过 微信 打赏了 CN¥5.20&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：辛苦了，宝贝&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2024-04-03 17:02:03&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 8;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;淮屿 通过 赞赏码 打赏了 CN¥10.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：非常棒的主题👍&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2024-02-05 15:42:42&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 9;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;匿名 通过 赞赏码 打赏了 CN¥15.00&lt;/strong&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2024-01-13 21:39:37&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 10;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;丰果 通过 FixIt 主题交流群 QQ 红包 打赏了 CN¥15.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：请喝杯咖啡&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2023-11-03 22:35:07&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 11;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;🐟 通过 微信 打赏了 CN¥1.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：感谢 FixIt 作者&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2023-05-24 15:49:46&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 12;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;建议去世 通过 微信 打赏了 CN¥20.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：主题不错&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2023-04-17 10:35:26&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 13;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;乐语 通过 微信 打赏了 CN¥5.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：很好用的主题，谢谢作者💪&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2023-04-03 17:49:12&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 14;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;D*n 通过 微信 打赏了 CN¥11.11&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：加油&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2023-03-17 14:57:41&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 15;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;K*n 通过 微信 打赏了 CN¥50.00&lt;/strong&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2023-03-17 14:05:49&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 16;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;✘✘波 通过 支付宝 打赏了 CN¥20.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：感谢帮忙解决 FixIt 的问题&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2023-02-13 10:01:58&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 17;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;✘✘松 通过 支付宝 打赏了 CN¥2.00&lt;/strong&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2022-12-02 13:01:48&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 18;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;✘喜洲 通过 QQ 打赏了 CN¥20.20&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：来自 &lt;code&gt;101****073&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2020-01-17&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 19;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;✘昌升 通过 微信 打赏了 CN¥2.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：来自 &lt;code&gt;231****047#qq.com&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2019-03-19&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 20;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;✘昌升 通过 支付宝 打赏了 CN¥10.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：上课的时候听到了支付宝清脆的支付宝到账 10 元的声音！&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2018-12-04&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 21;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;✘昌升 通过 支付宝 打赏了 CN¥18.00&lt;/strong&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2018-12-04&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 22;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;francs 通过 QQ 打赏了 CN¥8.80&lt;/strong&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2018-11&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 23;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;francs 通过 QQ 打赏了 CN¥8.80&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：今天学校运动会没课，睡到 9 点多起来看到 QQ 收到一个红包，感谢支持！&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2018-10-26&lt;/div&gt;&lt;/li&gt;&lt;li&#10; class="fi-timeline-item"&#10; data-size="medium"&#10; data-node="circle"&#10; style="--fi-timeline-index: 24;"&gt;&lt;div class="fi-timeline-item__content"&gt;&lt;strong&gt;francs 通过 支付宝 打赏了 CN¥50.00&lt;/strong&gt;&lt;br&gt;&lt;span class="text-secondary"&gt;备注：大学生时期，第一次收到别人的支持，内心表示受宠若惊又非常开心。非常感谢老哥的支持！&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="fi-timeline-item__timestamp is-bottom"&gt;2018-09-28&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;</description></item><item><title>现代 CSS 解决方案：CSS 四舍五入数值单位</title><link>https://lruihao.cn/posts/css-round/</link><pubDate>Mon, 29 Jul 2024 20:32:39 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/css-round/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;本文将介绍另外一个非常实用的 CSS 数学函数 - &lt;code&gt;round()&lt;/code&gt; 及其实际应用场景。&lt;/p&gt;</description></item><item><title>Git 统计代码量</title><link>https://lruihao.cn/posts/git-summary/</link><pubDate>Wed, 17 Jul 2024 16:06:08 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/git-summary/</guid><category domain="https://lruihao.cn/categories/git/">Git</category><description>&lt;p&gt;使用 Git 命令统计在某段时间内项目中的代码量。&lt;/p&gt;</description></item><item><title>现代 CSS 解决方案之异形元素怎么设置阴影？</title><link>https://lruihao.cn/posts/drop-shadow/</link><pubDate>Mon, 15 Jul 2024 10:40:12 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/drop-shadow/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;今天记录一个 CSS 小知识点，如何给异形元素设置阴影。&lt;/p&gt;</description></item><item><title>CSS 实现时间轴、背景图 loading 和渐变边框</title><link>https://lruihao.cn/posts/fixit-docs-bookmark/</link><pubDate>Sun, 14 Jul 2024 13:03:31 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/fixit-docs-bookmark/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;本文将通过一个实际应用场景，展示如何使用现代 CSS 实现时间轴、背景图 loading 效果、渐变边框等效果。&lt;/p&gt;</description></item><item><title>探索 Amazon S3 的无限存储潜力</title><link>https://lruihao.cn/posts/d1fc0c7/</link><pubDate>Sun, 07 Jul 2024 13:54:14 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/d1fc0c7/</guid><description>&lt;p&gt;在数字化时代，数据是企业最宝贵的资产之一。如何安全、高效地存储和访问这些数据，成为了许多企业面临的挑战。亚马逊云服务作为全球领先的云服务提供商，提供了一系列的解决方案来满足不同客户的需求。今天，我们将重点介绍亚马逊云科技的 Amazon S3（Simple Storage Service），一种简单、可扩展且持久的对象存储服务。&lt;/p&gt;</description></item><item><title>标准滚动条控制规范</title><link>https://lruihao.cn/posts/scrollbar-styling/</link><pubDate>Fri, 28 Jun 2024 22:29:03 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/scrollbar-styling/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;使用 &lt;code&gt;scrollbar-width&lt;/code&gt; 和 &lt;code&gt;scrollbar-color&lt;/code&gt; 属性设置滚动条的样式。&lt;/p&gt;</description></item><item><title>如何实现 VSCode 编辑器窗口边界拖拽类似功能</title><link>https://lruihao.cn/posts/aside-toggle-drag/</link><pubDate>Thu, 13 Jun 2024 21:03:12 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/aside-toggle-drag/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;p&gt;边界拖拽调整窗口大小功能是一个很常见的功能，比如浏览器、编辑器等很多场景都有应用，这种功能不仅提高了用户体验，也增强了应用的灵活性。&lt;/p&gt;</description></item><item><title>架构之基：从根儿上了解设计原则</title><link>https://lruihao.cn/posts/design-principles/</link><pubDate>Sun, 09 Jun 2024 02:24:31 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/design-principles/</guid><category domain="https://lruihao.cn/categories/spec/">程序猿的自我修养</category><description>设计模式不是必须的，但是如果你的代码是“非一次性的”，那么它就是必须的。</description></item><item><title>怎么生成暗黑模式和明亮模式的 SVG 图片？</title><link>https://lruihao.cn/posts/svg-dark-light/</link><pubDate>Thu, 06 Jun 2024 22:13:26 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/svg-dark-light/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;在做博客顶部栏下落奶油图的时候，就在想怎么适配暗黑模式和明亮模式呢？本文将记录两个思路。&lt;/p&gt;</description></item><item><title>利用 Vercel 反代 Gravatar 实现镜像加速</title><link>https://lruihao.cn/projects/vercel-gravatar/</link><pubDate>Wed, 17 Apr 2024 12:51:35 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/vercel-gravatar/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><description>&lt;p&gt;在开发和部署网站时，经常会遇到加载外部资源较慢的问题。其中之一就是加载 Gravatar 头像图片时可能会受到网络延迟的影响。为了解决这个问题，我们可以利用 Vercel 平台的反向代理功能来实现镜像加速。&lt;/p&gt;</description></item><item><title>Gravatar Proxy powered by Vercel.</title><link>https://lruihao.cn/projects/lruihao/vercel-gravatar/</link><pubDate>Wed, 17 Apr 2024 01:37:06 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/vercel-gravatar/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="vercel-gravatar" data-decreased&gt;&lt;span&gt;Vercel Gravatar&lt;/span&gt;&#10; &lt;a href="#vercel-gravatar" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="alert alert-note"&gt;&lt;p class="alert-title"&gt;&lt;i class="octicon-info-16 me-2" aria-hidden="true"&gt;&lt;/i&gt;注意&lt;/p&gt;&lt;p&gt;Superseded by &lt;a href="https://github.com/Lruihao/vercel-proxy" target="_blank" rel="external nofollow noopener noreferrer"&gt;Lruihao/vercel-proxy&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;p&gt;Gravatar Proxy powered by Vercel.&lt;/p&gt;&#10;&lt;p&gt;Go to test Gravatar:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://gravatar.lruihao.cn/avatar/" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://gravatar.lruihao.cn/avatar/&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://gravatar-x.vercel.app/avatar/" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://gravatar-x.vercel.app/avatar/&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>临时决定再写一个小工具 - 网站预览图生成器</title><link>https://lruihao.cn/projects/apple-devices-preview/</link><pubDate>Thu, 04 Apr 2024 13:23:37 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/apple-devices-preview/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;p&gt;开发完 &lt;a href="https://github.com/Lruihao/CoverView" target="_blank" rel="external nofollow noopener noreferrer"&gt;CoverView&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;之后，在调整博客文章封面图的时候，我发现首页的多端缩略图还是只能自己 P 图诶，于是我又决定再写一个小工具，用来生成网站预览图。。&lt;/p&gt;</description></item><item><title>用五天时间给自己制作一个封面图生成工具</title><link>https://lruihao.cn/projects/coverview/</link><pubDate>Tue, 02 Apr 2024 18:05:34 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/coverview/</guid><category domain="https://lruihao.cn/categories/react/">React</category><description>&lt;div class="details admonition success open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-check" aria-hidden="true"&gt;&lt;/i&gt;Cool!&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;苦封面图久矣，今日终有所成。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>🛠 Create awesome cover images for your blog posts quickly.</title><link>https://lruihao.cn/projects/lruihao/coverview/</link><pubDate>Thu, 28 Mar 2024 06:14:16 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/coverview/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="coverview" data-decreased&gt;&lt;span&gt;CoverView&lt;/span&gt;&#10; &lt;a href="#coverview" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;👉 简体中文说明 | &lt;a href="README.en.md"&gt;English README&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/Lruihao/CoverView" target="_blank" rel="external nofollow noopener noreferrer"&gt;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/open-source_8699554671554607895.svg' alt="用爱发电"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;该项目基于原始的 &lt;a href="https://github.com/rutikwankhade/CoverView" target="_blank" rel="external nofollow noopener noreferrer"&gt;CoverView&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;现在为你的博客创建封面图片变得非常简单。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/8032fecb-4ae4-45b9-9af7-dbed801651d1_16614861941874058309.png' alt="cover_169570" height="840" width="1600"&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="-变更通知"&gt;&lt;span&gt;💥 变更通知&lt;/span&gt;&#10; &lt;a href="#-%e5%8f%98%e6%9b%b4%e9%80%9a%e7%9f%a5" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;自 2024 年 03 月 28 日起，已将原始的 CoverView 复刻到我的存储库，并进行了以下更改和增强：&lt;/p&gt;</description></item><item><title>写文档时英文标题什么时候要大写？</title><link>https://lruihao.cn/posts/c6bc2d5/</link><pubDate>Tue, 26 Mar 2024 12:23:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/c6bc2d5/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;对于本文的标题的思考来自于 &lt;a href="https://gohugo.io/getting-started/configuration/#titlecasestyle" target="_blank" rel="external nofollow noopener noreferrer"&gt;Hugo 配置文档&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;中的一个配置 &lt;code&gt;titleCaseStyle&lt;/code&gt;，默认情况下，Hugo 在创建自动章节标题以及使用 &lt;code&gt;strings.Title&lt;/code&gt; 函数转换字符串时遵循美联社样本中发布的大小写规则。&lt;/p&gt;&#10;&lt;p&gt;但是这似乎和我高中所学的英文标题大小写规则有所出入，我记得我的高中英语老师教的是虚词不需要大写的，而不是美联社风格的每个单词都首字母大写。&lt;/p&gt;&#10;&lt;p&gt;经过一番查阅，以下部分内容引用北京师范大学 - 出版科学研究院的一篇文章，&lt;a href="https://pub.bnu.edu.cn/jzyg1/72203.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;“出版物中，英文什么时候要大写？ ”&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>实现类似于 Element UI 表格的溢出文本提示功能</title><link>https://lruihao.cn/posts/overflow-tooltip/</link><pubDate>Thu, 29 Feb 2024 16:46:00 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/overflow-tooltip/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;p&gt;在 Element UI 的表格组件中，当表格列的内容过长时，设置 &lt;code&gt;show-overflow-tooltip&lt;/code&gt; 会自动显示一个 tooltip 来展示完整的内容。这个功能在实际项目中也是非常常见的，那么我们该如何实现这个功能呢？&lt;/p&gt;</description></item><item><title>聊聊 Chrome 新增的 sizes="auto" 属性</title><link>https://lruihao.cn/posts/auto-sizes/</link><pubDate>Wed, 21 Feb 2024 10:00:13 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/auto-sizes/</guid><category domain="https://lruihao.cn/categories/html/">HTML</category><description>&lt;p&gt;聊聊 Chrome 新增的 sizes=&amp;ldquo;auto&amp;rdquo; 属性。&lt;/p&gt;</description></item><item><title>2023 年度总结</title><link>https://lruihao.cn/years/2023/</link><pubDate>Fri, 09 Feb 2024 14:07:24 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/years/2023/</guid><category domain="https://lruihao.cn/categories/thoughts/">有所思</category><description>&lt;p&gt;与其说是年度总结，不如说是一年中难得的一次和自己对话的机会。&lt;/p&gt;</description></item><item><title>强大的脑图可视化工具</title><link>https://lruihao.cn/projects/lruihao/kityminder-core/</link><pubDate>Sun, 21 Jan 2024 06:24:42 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/kityminder-core/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="kityminder-core" data-decreased&gt;&lt;span&gt;KityMinder Core&lt;/span&gt;&#10; &lt;a href="#kityminder-core" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="alert alert-note"&gt;&lt;p class="alert-title"&gt;&lt;i class="octicon-info-16 me-2" aria-hidden="true"&gt;&lt;/i&gt;注意&lt;/p&gt;&lt;p&gt;由于原项目 &lt;a href="https://github.com/fex-team/kityminder-core" target="_blank" rel="external nofollow noopener noreferrer"&gt;KityMinder Core&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 年久失修，存在一些 bug，所以 fork 了一份，进行了一些修复，并重新发布了 npm 包 &lt;a href="https://www.npmjs.com/package/@cell-x/kityminder-core" target="_blank" rel="external nofollow noopener noreferrer"&gt;@cell-x/kityminder-core&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;。&lt;/p&gt;&lt;/div&gt;&lt;h2 class="heading-element" id="简介"&gt;&lt;span&gt;简介&lt;/span&gt;&#10; &lt;a href="#%e7%ae%80%e4%bb%8b" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;KityMinder 是一款强大的脑图可视化/编辑工具，由百度 FEX 团队开发并维护。&lt;/p&gt;</description></item><item><title>记一次 Debug 第三方包的过程</title><link>https://lruihao.cn/posts/900d5e4/</link><pubDate>Wed, 17 Jan 2024 14:57:48 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/900d5e4/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;p&gt;在完成一个 code diff 需求时，发现所使用的插件不足以完成预期的需求。当然最终还是顺利完成了，详见 &lt;a href="https://lruihao.github.io/vue-el-demo/#/code-diff" target="_blank" rel="external nofollow noopener noreferrer"&gt;code diff demo&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>为什么很多教程中都有 foo bar？</title><link>https://lruihao.cn/posts/20b75e9/</link><pubDate>Wed, 17 Jan 2024 09:58:58 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/20b75e9/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;p&gt;foo 和 bar 是在编程中常用的元变量（metasyntactic variables），它们是在教程和示例代码中用来代表任意的函数或者变量的名称。类似的元变量还有 baz，qux，quux，corge，grault，garply，waldo，fred，plugh，xyzzy 和 thud 等。&lt;/p&gt;</description></item><item><title>git submodule: already exists in the index</title><link>https://lruihao.cn/posts/6550187/</link><pubDate>Thu, 11 Jan 2024 10:30:04 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/6550187/</guid><category domain="https://lruihao.cn/categories/git/">Git</category><description>&lt;p&gt;Git 报错 &amp;ldquo;git submodule: already exists in the index&amp;rdquo; 的解决方法。&lt;/p&gt;</description></item><item><title>给 el-card 添加折叠功能</title><link>https://lruihao.cn/posts/el-card-collapse/</link><pubDate>Wed, 10 Jan 2024 17:06:54 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/el-card-collapse/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;div class="details admonition question open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-regular fa-circle-question" aria-hidden="true"&gt;&lt;/i&gt;出发点&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;虽然 Element 也有 &lt;a href="https://element.eleme.cn/#/zh-CN/component/collapse" target="_blank" rel="external nofollow noopener noreferrer"&gt;el-collapse&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 组件，但是当我只想写一个折叠面板时，它的写法就略显繁琐了，&lt;a href="https://element.eleme.cn/#/zh-CN/component/card" target="_blank" rel="external nofollow noopener noreferrer"&gt;el-card&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 组件的样式也更符合我的需求，所以我就想着给 el-card 添加折叠功能。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>尝试在 Python 中使用 Amazon Titan 文本模型</title><link>https://lruihao.cn/posts/d8ae205/</link><pubDate>Fri, 22 Dec 2023 19:58:47 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/d8ae205/</guid><description>&lt;!-- markdownlint-disable-file no-duplicate-heading--&gt;&#10;&lt;p&gt;本文将通过 Python 代码探索 Amazon Titan 文本模型系列（包括 Express、Lite 和 Embedding）。&lt;/p&gt;</description></item><item><title>用 Node.js 开发一个轻量脚手架</title><link>https://lruihao.cn/projects/fixit-cli/</link><pubDate>Tue, 28 Nov 2023 10:48:07 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/fixit-cli/</guid><category domain="https://lruihao.cn/categories/node.js/">Node.js</category><description>&lt;p&gt;本文将介绍如何用 Node.js 开发一个轻量脚手架，以 &lt;a href="https://github.com/hugo-fixit/fixit-cli" target="_blank" rel="external nofollow noopener noreferrer"&gt;fixit-cli&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 为例。&lt;/p&gt;</description></item><item><title>探索 AWS 云上一站式解决方案免费使用</title><link>https://lruihao.cn/posts/aws-solution/</link><pubDate>Sat, 18 Nov 2023 12:52:37 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/aws-solution/</guid><description>&lt;p&gt;在如今云计算蓬勃发展的时代，创新成长型企业正积极寻求一站式的云上解决方案，以提高效率、降低成本并实现快速发展。AWS（亚马逊云科技）作为全球领先的云服务提供商，为创新成长型企业提供一站式云上解决方案，助力创新成长型企业在不同发展阶段实现低成本上云，实现快速发展。本文将探索一下 AWS 云上一站式解决方案的免费使用。&lt;/p&gt;</description></item><item><title>SSH 提交签名验证</title><link>https://lruihao.cn/posts/ssh-sign/</link><pubDate>Sun, 22 Oct 2023 18:59:31 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/ssh-sign/</guid><category domain="https://lruihao.cn/categories/git/">Git</category><description>&lt;p&gt;Git 支持使用 GPG 来签名提交记录。但 GPG 用起来很复杂，一直赖得搞。Git 从 2.34 开始支持使用 SSH 签名，所以本文将介绍如何使用 SSH 对提交进行签名。&lt;/p&gt;</description></item><item><title>如何给 npm 包打补丁？</title><link>https://lruihao.cn/posts/patch-package/</link><pubDate>Thu, 12 Oct 2023 22:37:56 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/patch-package/</guid><category domain="https://lruihao.cn/categories/node.js/">Node.js</category><description>本文将介绍如何给 npm 包打补丁。</description></item><item><title>拖拽式仪表盘系列总结</title><link>https://lruihao.cn/posts/dashboard-summary/</link><pubDate>Thu, 12 Oct 2023 21:25:18 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dashboard-summary/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;p&gt;当今，仪表盘已成为许多应用程序和软件界面中常见的设计元素。它们提供了一种直观且用户友好的方式来呈现和操作数据。无论是在数据分析、业务管理还是可视化报告等领域，拖拽式仪表盘都能为用户提供灵活性和个性化的体验。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="特点和功能"&gt;&lt;span class="heading-numbered"&gt;特点和功能&lt;/span&gt;&#10; &lt;a href="#%e7%89%b9%e7%82%b9%e5%92%8c%e5%8a%9f%e8%83%bd" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;拖拽式仪表盘的主要特点是使用拖拽和放置操作来构建和定制用户界面。具体功能包括：&lt;/p&gt;</description></item><item><title>拖拽式仪表盘 - 组件开发</title><link>https://lruihao.cn/posts/dashborad-widget-usage/</link><pubDate>Thu, 12 Oct 2023 20:07:56 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dashborad-widget-usage/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;p&gt;本文介绍将如何开发一个仪表盘组件，以及组件开发的灵感来源。&lt;/p&gt;</description></item><item><title>拖拽式仪表盘 - 模板使用</title><link>https://lruihao.cn/posts/dashborad-template-usage/</link><pubDate>Thu, 12 Oct 2023 20:07:20 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dashborad-template-usage/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;p&gt;本文将通过一个简单的例子，介绍如何使用仪表盘模板。&lt;/p&gt;</description></item><item><title>拖拽式仪表盘 - 组件配置文档</title><link>https://lruihao.cn/posts/dashborad-widget-docs/</link><pubDate>Thu, 12 Oct 2023 19:41:23 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dashborad-widget-docs/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;p&gt;本文将对 Dashboard 组件的使用方法进行介绍。&lt;/p&gt;</description></item><item><title>拖拽式仪表盘 - 布局模板文档</title><link>https://lruihao.cn/posts/dashborad-template-docs/</link><pubDate>Thu, 12 Oct 2023 19:27:49 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dashborad-template-docs/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>Dashboard 组件是一个公共模板组件，用于快速创建 Dashboard 页面，本文将对 Dashboard 组件的使用方法进行介绍。</description></item><item><title>拖拽式仪表盘 - 功能需求分析</title><link>https://lruihao.cn/posts/dashboard-analysis/</link><pubDate>Thu, 12 Oct 2023 15:37:30 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dashboard-analysis/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>本文将对拖拽式仪表盘的功能需求进行分析，了解需要考虑的关键要素，以便于后续的设计和开发。</description></item><item><title>给你的 Markdown 挑挑刺</title><link>https://lruihao.cn/posts/markdownlint/</link><pubDate>Wed, 11 Oct 2023 14:26:48 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/markdownlint/</guid><category domain="https://lruihao.cn/categories/spec/">程序猿的自我修养</category><description>&lt;p&gt;会写 Markdown 的人很多，但写得好 Markdown 的人却很少。有没有什么工具能充当「秘书」，检查文件中的 Markdown 语法和风格，并且提出解决方案、自动修复问题，甚至自动补齐中英文之间的「盘古之白」呢？本文介绍的 Markdown 语法检查器就能做到。&lt;/p&gt;</description></item><item><title>认知复杂度（Cognitive Complexity）</title><link>https://lruihao.cn/posts/cognitive-complexity/</link><pubDate>Sun, 08 Oct 2023 09:52:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/cognitive-complexity/</guid><category domain="https://lruihao.cn/categories/spec/">程序猿的自我修养</category><category domain="https://lruihao.cn/categories/%E7%BF%BB%E8%AF%91/">翻译</category><description>&lt;h2 class="heading-element" id="摘要"&gt;&lt;span class="heading-numbered"&gt;摘要&lt;/span&gt;&#10; &lt;a href="#%e6%91%98%e8%a6%81" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;循环复杂度（Cyclomatic Complexity）最初被制定为衡量模块控制流的“可测试性和可维护性”的一种度量标准。虽然它在衡量前者方面表现出色，但其底层的数学模型在产生衡量后者的值方面不尽如人意。本文介绍了一种新的度量标准，它摒弃了使用数学模型评估代码的做法，以弥补循环复杂度的不足之处，并产生更准确地反映方法、类和应用程序的相对难度的度量标准。&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="术语说明"&gt;&lt;span class="heading-numbered"&gt;术语说明&lt;/span&gt;&#10; &lt;a href="#%e6%9c%af%e8%af%ad%e8%af%b4%e6%98%8e" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;虽然认知复杂度（Cognitive Complexity）是一种语言中立的度量标准，同样适用于文件和类，以及方法、过程、函数等等，但为了方便起见，本文中使用面向对象的术语“类”和“方法”。&lt;/p&gt;&#10;&lt;hr&gt;</description></item><item><title>写作技巧：如何搭建文章的框架结构？</title><link>https://lruihao.cn/posts/article-structure/</link><pubDate>Tue, 26 Sep 2023 15:17:52 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/article-structure/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;最近读了张鑫旭大佬的掘金小册《技术写作指南》，学到了很多写作技巧，其中感触最深的就是“技巧：如何搭建文章的框架结构”这一小节，这篇文章就来分享一下。&lt;/p&gt;</description></item><item><title>如何让 Element UI 表头、表尾、横向滚动条吸顶吸底固定？</title><link>https://lruihao.cn/projects/el-table-sticky/</link><pubDate>Mon, 25 Sep 2023 17:49:58 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/el-table-sticky/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;p&gt;本文将介绍如何通过自定义指令的方式实现 Element UI 表格的表头吸顶、表尾吸底、滚动条吸底以及高度自适应功能。&lt;/p&gt;</description></item><item><title>封装 Vue FullScreenToggler 组件</title><link>https://lruihao.cn/posts/vue-fullscreen-toggler/</link><pubDate>Sun, 17 Sep 2023 19:44:07 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/vue-fullscreen-toggler/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;p&gt;基于 &lt;a href="https://github.com/mirari/vue-fullscreen" target="_blank" rel="external nofollow noopener noreferrer"&gt;vue-fullscreen&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 封装一个的 Vue 全屏/退出全屏切换组件。&lt;/p&gt;</description></item><item><title>JS 实现全屏和退出全屏</title><link>https://lruihao.cn/posts/js-fullscreen/</link><pubDate>Fri, 15 Sep 2023 17:29:25 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/js-fullscreen/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;h2 class="heading-element" id="背景"&gt;&lt;span class="heading-numbered"&gt;背景&lt;/span&gt;&#10; &lt;a href="#%e8%83%8c%e6%99%af" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;在 Web 开发中，全屏模式可以提供更沉浸式的体验，特别适用于视频播放、游戏展示和演示等场景。通过 JavaScript 的 Fullscreen API，我们可以以编程方式控制元素的全屏状态。&lt;/p&gt;</description></item><item><title>中文翻译的常见问题</title><link>https://lruihao.cn/posts/translation-guide/</link><pubDate>Fri, 15 Sep 2023 11:07:56 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/translation-guide/</guid><category domain="https://lruihao.cn/categories/spec/">程序猿的自我修养</category><category domain="https://lruihao.cn/categories/%E7%BF%BB%E8%AF%91/">翻译</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;以下内容截取自 &lt;a href="https://github.com/mdn/translated-content/blob/main/docs/zh-cn/translation-guide.md" target="_blank" rel="external nofollow noopener noreferrer"&gt;针对 MDN 文档的本地化指南&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 的中文翻译的常见问题小节。&lt;/p&gt;&#10;&lt;p&gt;其中翻译的规范也是中文写作的规范，更多详见之前写的 &lt;a href="https://lruihao.cn/posts/document-style-guide/"&gt;中文技术文档的写作规范&lt;/a&gt;。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;为保证简体中文文档格式的一致性，翻译指南列出了部分规范。&lt;/p&gt;</description></item><item><title>在 Vue 项目中更优雅地使用 icon</title><link>https://lruihao.cn/posts/vue-svg-icon/</link><pubDate>Thu, 14 Sep 2023 11:24:48 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/vue-svg-icon/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;h2 class="heading-element" id="前言"&gt;&lt;span class="heading-numbered"&gt;前言&lt;/span&gt;&#10; &lt;a href="#%e5%89%8d%e8%a8%80" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;在 Web 开发中，我们经常会用到 icon，icon 的使用经历了从图片到字体，再到 svg 的演变过程，也产生出相应的 icon 库，如雪碧图、&lt;a href="https://fontawesome.com/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Font Awesome&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;、&lt;a href="https://www.iconfont.cn/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Iconfont&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 等等。&lt;/p&gt;&#10;&lt;p&gt;随着前端的发展，icon 使用方案落在了 svg 上，svg 有着矢量图的优势，可以无限放大而不失真，而且 svg 本身就是一种 XML 文件，可以直接在 HTML 中使用，也可以通过 CSS 进行样式控制，但是在 Vue 项目中使用 svg 时，我们会遇到一些问题，本文将介绍如何在 Vue 项目中更优雅的使用 svg icon。&lt;/p&gt;</description></item><item><title>VSCode 添加用户代码片段，自定义用户代码片段</title><link>https://lruihao.cn/posts/vscode-snippets/</link><pubDate>Thu, 14 Sep 2023 11:21:56 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/vscode-snippets/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;在使用 VScode 开发中经常会有一些重复使用的代码块，复制粘贴也很麻烦，这时可以在 VScode 中添加用户代码片段，输入简写即可快捷输入。&lt;/p&gt;</description></item><item><title>CSS 如何实现网格背景效果？</title><link>https://lruihao.cn/posts/grid-bg-image/</link><pubDate>Sat, 02 Sep 2023 10:05:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/grid-bg-image/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;p&gt;本文将介绍如何使用 &lt;code&gt;linear-gradient&lt;/code&gt; 、&lt;code&gt;background-size&lt;/code&gt; 等属性来实现网格背景效果。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="前言"&gt;&lt;span class="heading-numbered"&gt;前言&lt;/span&gt;&#10; &lt;a href="#%e5%89%8d%e8%a8%80" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;最近在开发一个拖拽式仪表盘时，需要在拖拽组件时添加网格辅助标线来帮助布局和对齐元素。&lt;/p&gt;</description></item><item><title>将 Hugo 博客部署到亚马逊云服务器</title><link>https://lruihao.cn/posts/aws-ec2/</link><pubDate>Sat, 26 Aug 2023 17:22:57 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/aws-ec2/</guid><description>&lt;p&gt;本文将介绍如何将 Hugo 博客打包并部署到亚马逊云服务器上，并附上亚马逊云服务器的配置过程。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="前言"&gt;&lt;span class="heading-numbered"&gt;前言&lt;/span&gt;&#10; &lt;a href="#%e5%89%8d%e8%a8%80" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;最近很长一段时间都是使用 Hugo 在写博客，也花了很多精力在 &lt;a href="https://github.com/hugo-fixit/FixIt" target="_blank" rel="external nofollow noopener noreferrer"&gt;hugo-fixit&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 这个主题的开发上。也听到很多使用 Hugo 写博客的网友们问我，如何部署博客？部署到哪里？&lt;/p&gt;&#10;&lt;p&gt;今天就介绍一种方式：&lt;strong&gt;把博客部署到云服务器上&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;但是国内的云服务器太贵了，而且还要备案，所以就想到了海外的云服务器，比如亚马逊云服务器，以下便是注册到部署的全过程。&lt;/p&gt;</description></item><item><title>Vue2 and element-ui related demos</title><link>https://lruihao.cn/projects/lruihao/vue-el-demo/</link><pubDate>Tue, 08 Aug 2023 01:41:08 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/vue-el-demo/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="vue-el-demo" data-decreased&gt;&lt;span&gt;vue-el-demo&lt;/span&gt;&#10; &lt;a href="#vue-el-demo" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Vue and element-ui related &lt;a href="https://lruihao.github.io/vue-el-demo/" target="_blank" rel="external nofollow noopener noreferrer"&gt;demos&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="project-setup"&gt;&lt;span&gt;Project setup&lt;/span&gt;&#10; &lt;a href="#project-setup" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;yarn install&#10;# Compiles and hot-reloads for development&#10;yarn dev&#10;# Compiles and minifies for production&#10;yarn build&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This project is built with &lt;a href="https://rsbuild.dev/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Rsbuild&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;, a fast build tool powered by Rspack.&lt;/p&gt;</description></item><item><title>用魔法打败魔法 - ElBacktop Fix</title><link>https://lruihao.cn/posts/el-backtop-fix/</link><pubDate>Thu, 20 Jul 2023 11:08:18 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/el-backtop-fix/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;p&gt;这篇文章主要是记录一下继承 &lt;a href="https://element.eleme.cn/#/zh-CN/component/backtop" target="_blank" rel="external nofollow noopener noreferrer"&gt;ElBacktop&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 组件并修复了一些 bug 的过程。&lt;/p&gt;</description></item><item><title>A plugin includes a set of directives to make the header, footer and horizontal scrollbar sticky or make highly adaptive of Element UI (Vue 2) tables.</title><link>https://lruihao.cn/projects/lruihao/el-table-sticky/</link><pubDate>Wed, 14 Jun 2023 14:03:49 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/el-table-sticky/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="el-table-sticky" data-decreased&gt;&lt;span&gt;el-table-sticky&lt;/span&gt;&#10; &lt;a href="#el-table-sticky" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://lruihao.github.io/el-table-sticky/" target="_blank" rel="external nofollow noopener noreferrer"&gt;在线示例&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;一个用于实现 Element UI (Vue 2) 表格的表头吸顶、表尾吸底、滚动条吸底以及高度自适应功能的指令集插件。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="背景"&gt;&lt;span&gt;背景&lt;/span&gt;&#10; &lt;a href="#%e8%83%8c%e6%99%af" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Element UI 的表格组件在使用时，如果表格内容过多，表格会出现滚动条，但是表头不会吸顶，表尾合计行也不会吸底，这样在表格内容过多时，表头和表尾合计行就会被遮挡，如果有横向滚动条，每次想滚动必须滑动到最底下，这一系列痛点，非常影响用户体验。&lt;/p&gt;</description></item><item><title>使用 Node.js 自动创建 Vue 的路由</title><link>https://lruihao.cn/posts/gen-router/</link><pubDate>Wed, 14 Jun 2023 00:11:17 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/gen-router/</guid><category domain="https://lruihao.cn/categories/node.js/">Node.js</category><description>&lt;p&gt;最近在写一个 Vue 插件，需要在项目中创建一些测试页面，由于都是些静态路由，就想到之前看到过的一个项目就是用 Node.js 来自动生成路由的，于是就借鉴过来改了一下。&lt;/p&gt;</description></item><item><title>解决 SourceTree 提交时候 husky 命令失败问题</title><link>https://lruihao.cn/posts/sourcetree-husky/</link><pubDate>Mon, 12 Jun 2023 10:58:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/sourcetree-husky/</guid><category domain="https://lruihao.cn/categories/node.js/">Node.js</category><description>&lt;h2 class="heading-element" id="问题描述"&gt;&lt;span class="heading-numbered"&gt;问题描述&lt;/span&gt;&#10; &lt;a href="#%e9%97%ae%e9%a2%98%e6%8f%8f%e8%bf%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;在使用 SourceTree 提交代码的时候，会出现 husky 命令失败的问题（通过命令行提交代码没有问题），如下图所示：&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="lightgallery" target="_blank" href="https://lruihao.cn/posts/sourcetree-husky/images/23_1686538807.png" title="问题截图" data-thumbnail="/posts/sourcetree-husky/images/23_1686538807.png" data-sub-html="&lt;h2&gt;问题截图&lt;/h2&gt;"&gt;&lt;img loading="lazy" src='https://lruihao.cn/posts/sourcetree-husky/images/23_1686538807.png' alt="问题截图" height="856" width="1252"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Vue2 + tailwindcss 初始化</title><link>https://lruihao.cn/posts/v2-tailwind/</link><pubDate>Sat, 03 Jun 2023 17:38:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/v2-tailwind/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;h2 class="heading-element" id="新建-vue2-项目"&gt;&lt;span class="heading-numbered"&gt;新建 Vue2 项目&lt;/span&gt;&#10; &lt;a href="#%e6%96%b0%e5%bb%ba-vue2-%e9%a1%b9%e7%9b%ae" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;通过 &lt;code&gt;vue-cli&lt;/code&gt; 创建一个叫 &lt;code&gt;v2-tailwind&lt;/code&gt; 的项目：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;vue create vue2-tailwind&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;根据需要选择其他的功能插件，例如：&lt;code&gt;Babel, Router, Vuex, CSS Pre-processors, Linter&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>新手向：Vue 2.0 的建议学习顺序</title><link>https://lruihao.cn/posts/vue2-guid/</link><pubDate>Tue, 14 Mar 2023 08:37:59 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/vue2-guid/</guid><category domain="https://lruihao.cn/categories/vue.js/">Vue.js</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;注：2.0 已经有&lt;a href="https://v2.cn.vuejs.org/" target="_blank" rel="external nofollow noopener noreferrer"&gt;中文文档&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 。如果对自己英文有信心，也可以直接阅读&lt;a href="https://v2.vuejs.org/" target="_blank" rel="external nofollow noopener noreferrer"&gt;英文文档&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;。&lt;br&gt;&#10;此指南仅供参考，请根据自身实际情况灵活调整。&lt;br&gt;&#10;转载自： &lt;a href="https://www.zhihu.com/people/evanyou" target="_blank" rel="external nofollow noopener noreferrer"&gt;尤雨溪&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;，&lt;a href="https://zhuanlan.zhihu.com/p/23134551" target="_blank" rel="external nofollow noopener noreferrer"&gt;新手向：Vue 2.0 的建议学习顺序&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;，2017-08-04 14:51&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>浏览器 IMG 图片原生懒加载 loading="lazy"</title><link>https://lruihao.cn/posts/native-img-loading-lazy/</link><pubDate>Sun, 12 Feb 2023 19:40:43 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/native-img-loading-lazy/</guid><category domain="https://lruihao.cn/categories/html/">HTML</category><description>&lt;p&gt;记录使用 HTML 原生方案实现图片的懒加载。&lt;/p&gt;</description></item><item><title>浏览器渲染原理</title><link>https://lruihao.cn/posts/browser-rendering/</link><pubDate>Sun, 05 Feb 2023 21:02:52 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/browser-rendering/</guid><category domain="https://lruihao.cn/categories/browser/">Browser</category><description>&lt;iframe src="files/browser-rendering.pdf" width="100%" height="550"&gt;&lt;/iframe&gt;&#10;&lt;h2 class="heading-element" id="浏览器是如何渲染页面的"&gt;&lt;span class="heading-numbered"&gt;浏览器是如何渲染页面的？&lt;/span&gt;&#10; &lt;a href="#%e6%b5%8f%e8%a7%88%e5%99%a8%e6%98%af%e5%a6%82%e4%bd%95%e6%b8%b2%e6%9f%93%e9%a1%b5%e9%9d%a2%e7%9a%84" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;当浏览器的网络线程收到 HTML 文档后，会产生一个渲染任务，并将其传递给渲染主线程的消息队列。&lt;/p&gt;&#10;&lt;p&gt;在事件循环机制的作用下，渲染主线程取出消息队列中的渲染任务，开启渲染流程。&lt;/p&gt;</description></item><item><title>中文技术文档的写作规范</title><link>https://lruihao.cn/posts/document-style-guide/</link><pubDate>Sat, 04 Feb 2023 16:04:42 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/document-style-guide/</guid><category domain="https://lruihao.cn/categories/spec/">程序猿的自我修养</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;以下参考来源：阮一峰的 &lt;a href="https://github.com/ruanyf/document-style-guide" target="_blank" rel="external nofollow noopener noreferrer"&gt;中文技术文档的写作规范&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;英语世界里，文档非常受重视，许多公司和组织都有自己的文档规范，清楚地规定写作要求，比如&lt;a href="https://www.microsoftpressstore.com/store/microsoft-manual-of-style-9780735648715" target="_blank" rel="external nofollow noopener noreferrer"&gt;微软&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;、&lt;a href="http://styleguide.mailchimp.com/" target="_blank" rel="external nofollow noopener noreferrer"&gt;MailChimp&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;、&lt;a href="https://help.apple.com/asg/mac/2013/ASG_2013.pdf" target="_blank" rel="external nofollow noopener noreferrer"&gt;Apple&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;、&lt;a href="https://www.amazon.com/dp/B003P8QDFU/ref=dp-kindle-redirect?_encoding=UTF8&amp;btkr=1" target="_blank" rel="external nofollow noopener noreferrer"&gt;Yahoo&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;、&lt;a href="https://docs.docker.com/opensource/doc-style/" target="_blank" rel="external nofollow noopener noreferrer"&gt;docker&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;、&lt;a href="https://struts.apache.org/docs/documentation-style-guide.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;Struts&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 等等（维基百科有一份完整的&lt;a href="https://en.wikipedia.org/wiki/List_of_style_guides" target="_blank" rel="external nofollow noopener noreferrer"&gt;清单&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;）。&lt;a href="https://github.com/ruanyf/document-style-guide/blob/master/docs/reference.md" target="_blank" rel="external nofollow noopener noreferrer"&gt;中文的&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;也有不少，但都不令人满意，要么太简单，要么不太适用。&lt;/p&gt;&#10;&lt;p&gt;对于开发者来说，在工作中也需要适当地产出一些技术文档，但是很多人都不知道怎么写文档，都是凭着感觉写。&lt;/p&gt;&#10;&lt;p&gt;对于开发的系统、软件而言，系统用词的准确性和统一性也显得十分重要。&lt;/p&gt;&#10;&lt;p&gt;参考上面的规范，于是有了下面一份中文技术文档的写作规范。&lt;/p&gt;</description></item><item><title>浏览器原理 - 事件循环</title><link>https://lruihao.cn/posts/event-loop/</link><pubDate>Wed, 11 Jan 2023 11:16:02 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/event-loop/</guid><category domain="https://lruihao.cn/categories/browser/">Browser</category><description>&lt;p&gt;最近在抖音上刷到很多次 &lt;a href="http://yuanjin.tech/" target="_blank" rel="external nofollow noopener noreferrer"&gt;袁进老师&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 的前端视频，然后就听了一下他的前端大师课，感觉了解一些浏览器原理后，原来工作中的一些疑问也自然解开了。&lt;/p&gt;</description></item><item><title>安装 Homebrew 后导致系统中原有的 npm 和 npx 失效</title><link>https://lruihao.cn/posts/homebrew-npm/</link><pubDate>Thu, 15 Dec 2022 15:33:30 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/homebrew-npm/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;div class="details admonition question open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-regular fa-circle-question" aria-hidden="true"&gt;&lt;/i&gt;问题&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;前面一段时间，安装了 Homebrew, 但是今天切换 node 版本到 system version (8.10.0) 后，发现虽然 node 版本切换成功，但是 node 版本对应的 npm 和 npx 版本不相符，下面记录一下问题排查过程。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>基于 fex-team/kityminder-core 和 Vue2 封装的在线脑图编辑组件</title><link>https://lruihao.cn/projects/lruihao/vue-minder-editor-extended/</link><pubDate>Mon, 10 Oct 2022 02:50:53 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/vue-minder-editor-extended/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="vue-minder-editor" data-decreased&gt;&lt;span&gt;Vue Minder Editor&lt;/span&gt;&#10; &lt;a href="#vue-minder-editor" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;基于 &lt;a href="https://github.com/fex-team/kityminder-core" target="_blank" rel="external nofollow noopener noreferrer"&gt;kityminder-core&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 实现的 Vue2 脑图编辑器组件。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="install"&gt;&lt;span&gt;Install&lt;/span&gt;&#10; &lt;a href="#install" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;npm install vue-minder-editor-extended --save&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="usage"&gt;&lt;span&gt;Usage&lt;/span&gt;&#10; &lt;a href="#usage" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;注册组件：&lt;/p&gt;</description></item><item><title>Beego 安装及配置</title><link>https://lruihao.cn/posts/beego-install/</link><pubDate>Wed, 31 Aug 2022 09:32:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/beego-install/</guid><category domain="https://lruihao.cn/categories/go/">Go</category><description>&lt;p&gt;记录 GO 及 Beego 框架安装及基础配置。&lt;/p&gt;</description></item><item><title>语义版本控制（SemVer）</title><link>https://lruihao.cn/posts/semver/</link><pubDate>Sat, 13 Aug 2022 13:32:03 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/semver/</guid><category domain="https://lruihao.cn/categories/spec/">程序猿的自我修养</category><description>&lt;div class="details admonition tip open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-regular fa-lightbulb" aria-hidden="true"&gt;&lt;/i&gt;摘要&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;p&gt;版本格式：&lt;code&gt;MAJOR.MINOR.PATCH&lt;/code&gt;，版本号递增规则如下：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;code&gt;MAJOR&lt;/code&gt;: &lt;strong&gt;主版本号&lt;/strong&gt;，当你做了不兼容的 API 修改&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;MINOR&lt;/code&gt;: &lt;strong&gt;次版本号&lt;/strong&gt;，当你做了向下兼容的功能性新增&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;PATCH&lt;/code&gt;: &lt;strong&gt;修订号&lt;/strong&gt;，当你做了向下兼容的问题修正&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;先行版本号及版本编译信息可以加到 &lt;code&gt;MAJOR.MINOR.PATCH&lt;/code&gt; 的后面，作为延伸。&lt;/p&gt;&#10;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Commit Message Spec</title><link>https://lruihao.cn/posts/commit-spec/</link><pubDate>Fri, 12 Aug 2022 15:37:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/commit-spec/</guid><category domain="https://lruihao.cn/categories/spec/">程序猿的自我修养</category><category domain="https://lruihao.cn/categories/git/">Git</category><description>&lt;!-- markdownlint-disable MD033 --&gt;&#10;&lt;p&gt;Commit messages are short descriptions of changes to a repository. We should follow certain standards to effectively describe changes, such as the &lt;a href="https://www.conventionalcommits.org/en/v1.0.0-beta.4/" target="_blank" rel="external nofollow noopener noreferrer"&gt;Conventional Commits&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; specification based on the &lt;a href="https://github.com/angular/angular/blob/68a6a07/CONTRIBUTING.md#commit" target="_blank" rel="external nofollow noopener noreferrer"&gt;Angular convention&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; that is most used on GitHub, or each development team can simplify and formulate their own commit specification. This is not only conducive to the automatic generation of Changelog in the later stage, but more importantly, when a bug occurs, the entire warehouse can be quickly checked, the problem point can be accurately located, and the version can be reverted.&lt;/p&gt;</description></item><item><title>electron 踩坑总结</title><link>https://lruihao.cn/posts/electron-summary/</link><pubDate>Fri, 12 Aug 2022 11:22:01 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/electron-summary/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;p&gt;总结一下最近 electron 开发遇到的问题和一些重要知识点。&lt;/p&gt;</description></item><item><title>前端页面内容加密总结</title><link>https://lruihao.cn/posts/encryption-fe/</link><pubDate>Mon, 08 Aug 2022 13:49:22 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/encryption-fe/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;p&gt;记录一下前端实现页面加密的思路。&lt;/p&gt;</description></item><item><title>Node.js + GitHub Actions 自动刷新 CDN</title><link>https://lruihao.cn/posts/qcloudcdn/</link><pubDate>Sun, 07 Aug 2022 14:40:33 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/qcloudcdn/</guid><category domain="https://lruihao.cn/categories/node.js/">Node.js</category><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;div class="details admonition question open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-regular fa-circle-question" aria-hidden="true"&gt;&lt;/i&gt;问题&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;腾讯云云函数从 2022 年 6 月 1 日开始收费了，差不多每个月 12 块，对于可能几个月都用不上一次云函数刷新缓存的人来说，有点太贵了。&#10;使用 Node.js 和 GitHub Actions 刷新 CDN 的方式，可以节省不少钱。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>不同系统的换行符的差异</title><link>https://lruihao.cn/posts/newline/</link><pubDate>Sun, 07 Aug 2022 00:10:30 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/newline/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;p&gt;换行符（通常称为行尾、行尾 (EOL)、下一行 (NEL) 或换行符）是字符编码规范（例如，ASCII、EBCDIC）中的控制字符或控制字符序列，用于表示一行文本的结尾和新文本的开头。&lt;/p&gt;</description></item><item><title>自定义 ohmyzsh 主题</title><link>https://lruihao.cn/posts/ohmyzsh-custom/</link><pubDate>Sun, 31 Jul 2022 13:54:14 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/ohmyzsh-custom/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;p&gt;ohmyzsh 自带了很多主题，也有很多没有收录的扩展主题，我就想要个简约的主题，但是每个都差点意思，干脆改一个主题。&lt;/p&gt;</description></item><item><title>linux 文件权限</title><link>https://lruihao.cn/posts/linux-permission/</link><pubDate>Sat, 30 Jul 2022 17:15:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/linux-permission/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;p&gt;记录 linux 系统下文件权限相关的内容，Mac OS 下类似。&lt;/p&gt;</description></item><item><title>Mac 上的开发配置总结</title><link>https://lruihao.cn/posts/config4mac/</link><pubDate>Fri, 29 Jul 2022 20:22:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/config4mac/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;记录一下使用 Mac 作为生产工具开发的一些基本配置和经验。&lt;/p&gt;</description></item><item><title>Mac 配置 ADB</title><link>https://lruihao.cn/posts/adb-for-mac/</link><pubDate>Tue, 05 Jul 2022 15:39:34 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/adb-for-mac/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;作为非安卓专业开发，无需下载 Android SDK，&lt;br&gt;&#10;仅下载 Android SDK 中的 &lt;a href="https://developer.android.com/studio/releases/platform-tools?hl=zh-cn" target="_blank" rel="external nofollow noopener noreferrer"&gt;platform-tools&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 命令行工具即可，并配置好环境变量。&lt;/p&gt;</description></item><item><title>重新认识 JavaScript</title><link>https://lruihao.cn/posts/js-rediscover/</link><pubDate>Sun, 01 May 2022 10:59:36 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/js-rediscover/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;div class="details admonition tip open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-regular fa-lightbulb" aria-hidden="true"&gt;&lt;/i&gt;前言&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;p&gt;前端框架轮替变化越来越快，JavaScript 也在不断地升级迭代，越来越多的新特性让我们的代码写起来变得简洁有趣。&lt;/p&gt;&#10;&lt;p&gt;每隔一段时间就该重新认识一下 JS，这篇文章会介绍 6 种新特性，一起研究一下吧。&lt;/p&gt;&#10;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>关于 CSS 和 Scss 变量运算那些事</title><link>https://lruihao.cn/posts/css-scss-var/</link><pubDate>Sat, 30 Apr 2022 22:04:29 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/css-scss-var/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;h2 class="heading-element" id="问题分析"&gt;&lt;span class="heading-numbered"&gt;问题分析&lt;/span&gt;&#10; &lt;a href="#%e9%97%ae%e9%a2%98%e5%88%86%e6%9e%90" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;昨天在开发 FixIt 的时候，在 Scss 中写 &lt;code&gt;max(foo, bar)&lt;/code&gt; 函数比较不同的单位变量时报错了，但是在 CSS 中使用 &lt;code&gt;max&lt;/code&gt; 或者 &lt;code&gt;min&lt;/code&gt; 函数函数比较不同的单位变量是没有问题的。&lt;/p&gt;&#10;&lt;p&gt;造成这一问题的原因是，在 Scss 中，也实现了 &lt;code&gt;max&lt;/code&gt; 和 &lt;code&gt;min&lt;/code&gt; 函数，但是在 Scss 中，&lt;strong&gt;不同单位的变量是不能进行运算的&lt;/strong&gt;，所以使得在 Scss 中直接使用 &lt;code&gt;max&lt;/code&gt; 或者 &lt;code&gt;min&lt;/code&gt; 函数会提示单位不同的报错。（同类 Less 中的变量运算是支持不同单位的）&lt;/p&gt;&#10;&lt;p&gt;知道造成问题的原因后，解决这个问题就很简单了，有很多种方法，有些方法感觉像在卡 BUG，有点意思，记录一下。&lt;/p&gt;</description></item><item><title>Getting Things Done for ios App Reminders and Github issues</title><link>https://lruihao.cn/posts/gtd/</link><pubDate>Wed, 22 Dec 2021 20:17:42 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/gtd/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;div class="details admonition quote open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-quote-right" aria-hidden="true"&gt;&lt;/i&gt;quote&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;p&gt;&lt;strong&gt;Getting Things Done (GTD)&lt;/strong&gt; is a personal productivity system developed by David Allen and published in a book of the same name. GTD is described as a time management system. Allen states &amp;ldquo;there is an inverse relationship between things on your mind and those things getting done&amp;rdquo;.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Getting_Things_Done" target="_blank" rel="external nofollow noopener noreferrer"&gt;Reference&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/Lruihao/hugo-blog/issues/20" target="_blank" rel="external nofollow noopener noreferrer"&gt;#20&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Sublime 剪贴板图片粘贴插件 —— Markdown 必备</title><link>https://lruihao.cn/posts/subl_imgpaste2/</link><pubDate>Tue, 05 Oct 2021 21:54:06 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/subl_imgpaste2/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;!-- markdownlint-disable MD034 --&gt;&#10;&lt;a href="https://github.com/robinchenyu/imagepaste" title="插件地址" target="_blank" rel="external nofollow noopener noreferrer" class="card-link"&gt;&lt;span class="cl-backdrop"&gt;&lt;/span&gt;&#10; &lt;span class="cl-content"&gt;&#10; &lt;span class="cl-text"&gt;&#10; &lt;span class="cl-title"&gt;插件地址&lt;/span&gt;&#10; &lt;span class="cl-meta"&gt;&#10; &lt;svg class="cl-icon-link" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16"&gt;&lt;path d="M574 665.4c-3.1-3.1-8.2-3.1-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8c-3.1-3.1-8.2-3.1-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zM832.6 191.4c-84.6-84.6-221.5-84.6-306 0L410.3 307.6c-3.1 3.1-3.1 8.2 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6c-3.1 3.1-3.1 8.2 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1z" fill="#a9a9b3"&gt;&lt;/path&gt;&lt;path d="M610.1 372.3c-3.1-3.1-8.2-3.1-11.3 0L372.3 598.7c-3.1 3.1-3.1 8.2 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z" fill="#a9a9b3"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span class="cl-url"&gt;github.com/robinchenyu/imagepaste&lt;/span&gt;&#10; &lt;/span&gt;&#10; &lt;/span&gt;&lt;img src="https://lruihao.cn/images/remote/favicons_1516636710165893111.png" alt="card image" class="cl-shortcut-image"&gt;&lt;/span&gt;&lt;/a&gt;</description></item><item><title>Hugo 添加知乎卡片式链接 Shortcodes</title><link>https://lruihao.cn/posts/hugo-cardlink/</link><pubDate>Tue, 05 Oct 2021 19:33:13 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hugo-cardlink/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;!-- markdownlint-disable MD034 --&gt;&#10;&lt;a href="https://github.com/Lruihao/FixIt" target="_blank" rel="external nofollow noopener noreferrer" class="card-link"&gt;&lt;span class="cl-backdrop"&gt;&lt;/span&gt;&#10; &lt;span class="cl-content"&gt;&#10; &lt;span class="cl-text"&gt;&#10; &lt;span class="cl-title"&gt;卡片式链接已整合到 FixIt 主题&lt;/span&gt;&#10; &lt;span class="cl-meta"&gt;&#10; &lt;svg class="cl-icon-link" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16"&gt;&lt;path d="M574 665.4c-3.1-3.1-8.2-3.1-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8c-3.1-3.1-8.2-3.1-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zM832.6 191.4c-84.6-84.6-221.5-84.6-306 0L410.3 307.6c-3.1 3.1-3.1 8.2 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6c-3.1 3.1-3.1 8.2 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1z" fill="#a9a9b3"&gt;&lt;/path&gt;&lt;path d="M610.1 372.3c-3.1-3.1-8.2-3.1-11.3 0L372.3 598.7c-3.1 3.1-3.1 8.2 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z" fill="#a9a9b3"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span class="cl-url"&gt;github.com/Lruihao/FixIt&lt;/span&gt;&#10; &lt;/span&gt;&#10; &lt;/span&gt;&lt;img src="https://lruihao.cn/images/remote/favicons_1516636710165893111.png" alt="card image" class="cl-shortcut-image"&gt;&lt;/span&gt;&lt;/a&gt;&#10;&lt;div class="details admonition quote open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-quote-right" aria-hidden="true"&gt;&lt;/i&gt;回顧&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;之前在使用 hexo 的時候也有用到，&lt;a href="https://lruihao.cn/posts/linkcard/"&gt;模仿知乎卡片式链接&lt;/a&gt;&lt;br&gt;&#10;和之前的相比，優化之前是后加載，由 JS 在 瀏覽器處理，&lt;br&gt;&#10;使用 shortcodes 方式后，則是在 GO 構建頁面的時候處理，效能上會好很多。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Hugo I18n 添加中文繁體翻譯</title><link>https://lruihao.cn/posts/hugo-i18n-zh-tw/</link><pubDate>Tue, 05 Oct 2021 19:14:45 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hugo-i18n-zh-tw/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;工作上一直常用繁體，最近臨帖也都寫的繁體，所以博客的語言也想換成繁體，但是 LoveIt 主題沒有支持中文繁體。就只好自己添加了。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Hugo 友情連結模板</title><link>https://lruihao.cn/posts/hugo-friends/</link><pubDate>Tue, 05 Oct 2021 14:14:10 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hugo-friends/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;!-- markdownlint-disable MD034 --&gt;&#10;&lt;div class="details admonition question open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-regular fa-circle-question" aria-hidden="true"&gt;&lt;/i&gt;過程&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;以前的 hexo 博客是自己寫的友鏈模板，換到 hugo 後想著在網上隨便找一個範本用著就好，然而並沒有自己想要的 layout, 幾乎都是使用 shortcodes 的，代碼風格有點問題且 shortcodes 作為友鏈添加的方式是真的麻煩。就只好自己寫羅。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;a href="https://github.com/Lruihao/FixIt" target="_blank" rel="external nofollow noopener noreferrer" class="card-link"&gt;&lt;span class="cl-backdrop"&gt;&lt;/span&gt;&#10; &lt;span class="cl-content"&gt;&#10; &lt;span class="cl-text"&gt;&#10; &lt;span class="cl-title"&gt;友情鏈接模板已整合到 FixIt 主題&lt;/span&gt;&#10; &lt;span class="cl-meta"&gt;&#10; &lt;svg class="cl-icon-link" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16"&gt;&lt;path d="M574 665.4c-3.1-3.1-8.2-3.1-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8c-3.1-3.1-8.2-3.1-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zM832.6 191.4c-84.6-84.6-221.5-84.6-306 0L410.3 307.6c-3.1 3.1-3.1 8.2 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6c-3.1 3.1-3.1 8.2 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1z" fill="#a9a9b3"&gt;&lt;/path&gt;&lt;path d="M610.1 372.3c-3.1-3.1-8.2-3.1-11.3 0L372.3 598.7c-3.1 3.1-3.1 8.2 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z" fill="#a9a9b3"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;span class="cl-url"&gt;github.com/Lruihao/FixIt&lt;/span&gt;&#10; &lt;/span&gt;&#10; &lt;/span&gt;&lt;img src="https://lruihao.cn/images/remote/favicons_1516636710165893111.png" alt="card image" class="cl-shortcut-image"&gt;&lt;/span&gt;&lt;/a&gt;</description></item><item><title>Hugo 本地管理 Shell 腳本</title><link>https://lruihao.cn/posts/hugo-admin/</link><pubDate>Mon, 04 Oct 2021 23:49:00 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hugo-admin/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;div class="details admonition abstract open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-clipboard-list" aria-hidden="true"&gt;&lt;/i&gt;摘要&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;在使用 hugo 寫博客的過程中會使用到一些命令，包括 Git 的使用也會用到 Git 命令，但是這些命令我感覺知道就好，沒必要因輸入命令而增加寫博客和部署博客的額外工作。&lt;br&gt;&#10;自然要想辦法簡化這些過程，Git 還好有 SourceTree 等工具，Hugo 卻沒有，也懶得去網絡上找類似以前 hexo 有 hexo-admin 的插件可以讓大家在瀏覽器寫博客，因為我覺得這和靜態博客初衷背道而馳，於是我就折中方案，寫了一個滿足日常需求的 Shell 腳本，生成管理本地博客。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Hugo 使用 GitHub Actions 部署到 GithHb Pages 和 腾讯云 cos 桶</title><link>https://lruihao.cn/posts/github-actions/</link><pubDate>Mon, 04 Oct 2021 23:46:49 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/github-actions/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><category domain="https://lruihao.cn/categories/git/">Git</category><description>&lt;div class="details admonition quote open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-quote-right" aria-hidden="true"&gt;&lt;/i&gt;解決痛點&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;Github Actions 真是靜態博客的福音，有了它 hugo, hexo 等博客構建過程可以丟給 Github 的服務器幫我們做了。&lt;br&gt;&#10;也就是説實現了在線寫靜態博客的需求。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>个人博客从 Hexo 迁移至 Hugo</title><link>https://lruihao.cn/posts/hexo-to-hugo/</link><pubDate>Sun, 03 Oct 2021 15:27:58 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hexo-to-hugo/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;电脑升级 win 11 后，分盘操作存在 bug, 然后又不小心把装代码的盘格式化了，虽然都有备份到 github, 但是当时为了省事，hexo Node 安装的很多以来插件都没有备份，现在又下载不到了，所以 hexo 博客没办法完整复原，另外，早就觉得基于 Node 的 hexo 实在有些臃肿，且博客内容多了以后部署太慢，就干脆乘机换了好了，经过一段时间寻找，最终选择了基于 Go 的 hugo, 记录一下迁移过程及待办事项。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>友情链接</title><link>https://lruihao.cn/friends/</link><pubDate>Sun, 19 Sep 2021 12:33:48 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/friends/</guid><description>&lt;p class="text-center"&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="基本信息"&gt;&lt;span&gt;基本信息&lt;/span&gt;&#10; &lt;a href="#%e5%9f%ba%e6%9c%ac%e4%bf%a1%e6%81%af" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;网络 ID&lt;/strong&gt;：Lruihao&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;头像&lt;/strong&gt;：https://lruihao.cn/images/avatar.jpg&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;URL&lt;/strong&gt;：https://lruihao.cn&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;描述&lt;/strong&gt;：菠菜眾長 - 「不怕萬人阻擋，只怕自己投降」（或者你对我的看法😉）&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 class="heading-element" id="友链要求"&gt;&lt;span&gt;友链要求&lt;/span&gt;&#10; &lt;a href="#%e5%8f%8b%e9%93%be%e8%a6%81%e6%b1%82" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;blockquote&gt;&#10;&lt;p&gt;友情提醒：那些不尊重他人劳动成果，转载不加出处的，或恶意行为的网站，还请你不要来进行交换了。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>留言</title><link>https://lruihao.cn/guestbook/</link><pubDate>Mon, 13 Sep 2021 20:31:52 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/guestbook/</guid><description>&lt;p class="text-secondary" style="text-align: right; font-size: 80%;margin-top: -0.5rem;"&gt;&lt;/p&gt;&#10;&lt;div class="details admonition tip open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-regular fa-lightbulb" aria-hidden="true"&gt;&lt;/i&gt;Welcome&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;div class="typeit"&gt;&lt;div &gt;&lt;/div&gt;&lt;template&gt;&lt;pre&gt;互联网的广大朋友们，欢迎光临我的小博客！欢迎留言！&lt;/pre&gt;&lt;/template&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;hr&gt;&#10;&lt;p class="text-center" style="font-size: 80%;"&gt;温馨提示，音乐自动播放，请带好耳机～&lt;/p&gt;&#10;&lt;link rel="stylesheet" href="https://unpkg.com/mmt-webfont/dist/result.css"&gt;&#10;&lt;link rel="stylesheet" href="https://unpkg.com/aplayer/dist/APlayer.min.css"&gt;&#10;&lt;link rel="stylesheet" href='https://lruihao.cn/mmt-netease/css/index.css?v=1.5.0' /&gt;&#10;&lt;div class="netease-music" data-mid="2280569152" data-autoplay="false"&gt;&#10; &lt;meting-js server="netease" type="playlist" id="2280569152" list-folded="true" autoplay="false"&gt;&lt;/meting-js&gt;&#10;&lt;/div&gt;&#10;&lt;section class="section-comment"&gt;&#10; &lt;div class="comment-163" title="随机下一条"&gt;&#10; &lt;span class="pic-backdrop"&gt;&lt;/span&gt;&#10; &lt;div class="commentator"&gt;&#10; &lt;img class="comment-avatar d-none"/&gt;&#10; &lt;div class="comment-user"&gt;&#10; &lt;span class="comment-nickname"&gt;&lt;/span&gt;&#10; &lt;small class="comment-time"&gt;&lt;/small&gt;&#10; &lt;/div&gt;&#10; &lt;span class="comment-liked"&gt;&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;div class="comment-content"&gt;&lt;/div&gt;&#10; &lt;div class="music-info"&gt;&#10; &lt;span class="music-name"&gt;&lt;/span&gt;&#10; &lt;span class="artists-name"&gt;&lt;/span&gt;&#10; &lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="loading-indicator-wrapper"&gt;&#10; &lt;div class="aether-spinner"&gt;&#10; &lt;div class="rect-one"&gt;&lt;/div&gt;&#10; &lt;div class="rect-two"&gt;&lt;/div&gt;&#10; &lt;div class="rect-three"&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/section&gt;&#10;&lt;div class="mmt-netease-powered"&gt;&#10; &lt;span&gt;From &lt;a href="https://music.163.com/#/playlist?id=2280569152" target="_blank"&gt;playlist&lt;/a&gt;, &lt;/span&gt;&#10; &lt;span&gt;Powered by &lt;a href="https://github.com/Lruihao/hugo-shortcode-mmt-netease" title="mmt-netease v1.5.0" target="_blank"&gt;mmt-netease&lt;/a&gt;.&lt;/span&gt;&#10;&lt;/div&gt;&#10;&lt;script src='https://lruihao.cn/mmt-netease/js/index.js?v=1.5.0'&gt;&lt;/script&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;&lt;div class="post-reward"&gt;&#10; &lt;div class="comment"&gt;给博主买杯卡布奇诺～&lt;/div&gt;&#10; &lt;input type="checkbox" class="reward-input" name="reward" id="id-1" hidden /&gt;&#10; &lt;label class="reward-button" for="id-1"&gt;&lt;i class="fa-solid fa-qrcode" aria-hidden="true"&gt;&lt;/i&gt;赞赏&lt;/label&gt;&#10; &lt;div class="reward-ways" data-mode="fixed"&gt;&lt;div&gt;&lt;img src='https://lruihao.cn/images/alipay.jpg' alt="支付宝"&gt;&lt;span&gt;支付宝&lt;/span&gt;&#10; &lt;/div&gt;&lt;div&gt;&lt;img src='https://lruihao.cn/images/wechatpay.jpg' alt="微信"&gt;&lt;span&gt;微信&lt;/span&gt;&#10; &lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;/p&gt;</description></item><item><title>关于</title><link>https://lruihao.cn/about/</link><pubDate>Tue, 07 Sep 2021 21:00:48 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/about/</guid><description>&lt;blockquote class="blockquote-center"&gt;&#10; &lt;p&gt;不卑不亢，不矜不伐，戒骄戒躁&lt;br&gt;&#10;不嗔不怒，不争不弃，独善其身&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;—— 自我期许&lt;/em&gt;&lt;/p&gt;&#10;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="关于作者"&gt;&lt;span&gt;关于作者&lt;/span&gt;&#10; &lt;a href="#%e5%85%b3%e4%ba%8e%e4%bd%9c%e8%80%85" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;blockquote&gt;&#10;&lt;p&gt;人知道的越多，就会发现无知的越多。有更广袤的世界可以探索，真是莫大的快乐！&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>less&amp;sass&amp;scss</title><link>https://lruihao.cn/posts/less-sass-scss/</link><pubDate>Tue, 22 Jun 2021 16:39:47 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/less-sass-scss/</guid><category domain="https://lruihao.cn/categories/css/">CSS</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;Sass 和 Less 都屬於 &lt;strong&gt;CSS 前置處理器&lt;/strong&gt;，CSS 前置處理器定義了一種新的語言，其基本思想是，用一種專門的程式設計語言，為 CSS 增加了一些程式設計的特性，將 CSS 作為目標生成檔，然後開發者就只要使用這種語言進行 CSS 的編碼工作。&lt;br&gt;&#10;轉化成通俗易懂的話來說就是 &lt;strong&gt;“用一種專門的程式設計語言，進行 Web 頁面樣式設計，再通過編譯器轉化為正常的 CSS 檔，以供專案使用”。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Lightbox</title><link>https://lruihao.cn/posts/lightbox/</link><pubDate>Mon, 21 Jun 2021 16:18:04 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/lightbox/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;h2 class="heading-element" id="簡介"&gt;&lt;span class="heading-numbered"&gt;簡介&lt;/span&gt;&#10; &lt;a href="#%e7%b0%a1%e4%bb%8b" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Lightbox（燈箱），用来放大显示图片覆盖于当前页面之上。其是用 CSS 来定义图片容器，用一幅半透明的 png 图片实现渐变阴暗的效果。&lt;/p&gt;</description></item><item><title>Create watermark for webpage and automatic adjust when window resize.</title><link>https://lruihao.cn/projects/lruihao/watermark/</link><pubDate>Mon, 24 May 2021 13:05:40 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/watermark/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="watermark" data-decreased&gt;&lt;span&gt;Watermark&lt;/span&gt;&#10; &lt;a href="#watermark" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Create watermark for webpage and automatic adjust when windows resize.&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="documentation"&gt;&lt;span&gt;&lt;a href="https://raw.githubusercontent.com/Lruihao/watermark/refs/heads/main/docs/README.md" target="_blank" rel="external nofollow noopener noreferrer"&gt;Documentation&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#documentation" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h2 class="heading-element" id="usage"&gt;&lt;span&gt;Usage&lt;/span&gt;&#10; &lt;a href="#usage" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 class="heading-element" id="browser"&gt;&lt;span&gt;Browser&lt;/span&gt;&#10; &lt;a href="#browser" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Clone source&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;git clone git@github.com:Lruihao/watermark.git&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Load &lt;code&gt;Watermark&lt;/code&gt;&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;&amp;lt;script type=&amp;#34;text/javascript&amp;#34; src=&amp;#34;./src/watermark.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;&#10;&amp;lt;!-- Or CDN --&amp;gt;&#10;&amp;lt;script type=&amp;#34;text/javascript&amp;#34; src=&amp;#34;https://cdn.jsdelivr.net/npm/cell-watermark&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Initialization&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;document.addEventListener(&amp;#39;DOMContentLoaded&amp;#39;, function () {&#10; new Watermark({&#10; content: &amp;#34;cell-watermark&amp;#34;&#10; })&#10;});&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>Cell Watermark</title><link>https://lruihao.cn/projects/cell-watermark/</link><pubDate>Sun, 23 May 2021 17:15:41 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/cell-watermark/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>Create watermark for webpage and automatic adjust when window resize.</description></item><item><title>Code Review 怎麼做？新手工程師如何提升「程式碼品質」</title><link>https://lruihao.cn/posts/codereview/</link><pubDate>Thu, 04 Mar 2021 21:04:18 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/codereview/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;h2 class="heading-element" id="程式碼的持續優化"&gt;&lt;span class="heading-numbered"&gt;程式碼的持續優化&lt;/span&gt;&#10; &lt;a href="#%e7%a8%8b%e5%bc%8f%e7%a2%bc%e7%9a%84%e6%8c%81%e7%ba%8c%e5%84%aa%e5%8c%96" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;對一個入門的工程師來說，掌握程式語法與模仿範例實作是基本的能力。那有了這樣的基本能之後，要如何寫出更好的程式呢？怎樣才能夠成為一個「優秀」的新手工程師呢？事實上，寫出會動的程式不難，但想寫出好的程式其實是需要刻意練習的。大部分的人會建議要「多練習、多實作」，但我認為在大量練習之外，適時的「優化程式」也是提升「程式碼品質」重要的關鍵。而在「優化程式」可以分成兩個角度：&lt;/p&gt;</description></item><item><title>基于 leancloud-storage 实现的无后端记账本</title><link>https://lruihao.cn/projects/bill-note/</link><pubDate>Tue, 02 Mar 2021 21:46:40 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/bill-note/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><description>&lt;h2 class="heading-element" id="起因"&gt;&lt;span class="heading-numbered"&gt;起因&lt;/span&gt;&#10; &lt;a href="#%e8%b5%b7%e5%9b%a0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="details admonition info open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;起因&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;p&gt;事情是這樣，年前和朋友一起合租了一個房子，然後捏，生活嘛，除了開心，當然是乾飯最大啦！&lt;/p&gt;&#10;&lt;p&gt;自然就會有購物，買菜等日常消費，那就要記賬，一開始是各自記在手機的便簽上，最後再算一下；&lt;br&gt;&#10;三個人，一共七种組合消費，排除各自消費的三種情況，也有四種 (&lt;code&gt;AB, AC, BC, ABC&lt;/code&gt;)。好麻煩啊！！！&lt;/p&gt;&#10;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>基于 leancloud-storage 实现的无后端记账本</title><link>https://lruihao.cn/projects/lruihao/bill-note/</link><pubDate>Sun, 28 Feb 2021 03:44:09 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/bill-note/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="preparation" data-decreased&gt;&lt;span&gt;Preparation&lt;/span&gt;&#10; &lt;a href="#preparation" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;去 leancloud 创建一个应用，再新增一个 Bill Class, 补充一下字段：&lt;/p&gt;&#10;&lt;div class="table-wrapper"&gt;&#10; &lt;table data-sortable&gt;&lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th&gt;name&lt;/th&gt;&#10; &lt;th&gt;type&lt;/th&gt;&#10; &lt;th&gt;description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;pay&lt;/td&gt;&#10; &lt;td&gt;Number&lt;/td&gt;&#10; &lt;td&gt;消费金额&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;pay_description&lt;/td&gt;&#10; &lt;td&gt;String&lt;/td&gt;&#10; &lt;td&gt;消费描述&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;pay_type&lt;/td&gt;&#10; &lt;td&gt;String&lt;/td&gt;&#10; &lt;td&gt;消费类型&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;pay_user&lt;/td&gt;&#10; &lt;td&gt;String&lt;/td&gt;&#10; &lt;td&gt;付款人&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10; &lt;/table&gt;&#10;&lt;/div&gt;&lt;h2 class="heading-element" id="init" data-decreased&gt;&lt;span&gt;Init&lt;/span&gt;&#10; &lt;a href="#init" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;set for yourself.&lt;/p&gt;</description></item><item><title>cell-blog 功能介绍与安装</title><link>https://lruihao.cn/projects/cell-blog/</link><pubDate>Sat, 25 Jul 2020 20:51:11 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/cell-blog/</guid><category domain="https://lruihao.cn/categories/php/">PHP</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;基于 Laravel7 开发，Markdown 语法的个人独立博客。&lt;a href="https://github.com/Lruihao/cell-blog" target="_blank" rel="external nofollow noopener noreferrer"&gt;Cell Blog&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;, 也是我的毕业设计作品，目前已開源。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>cell-blog 开发记录</title><link>https://lruihao.cn/posts/cell-blog-dev/</link><pubDate>Sat, 25 Jul 2020 20:42:42 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/cell-blog-dev/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;Cell Blog 开发记录，&lt;a href="https://github.com/Lruihao/cell-blog" target="_blank" rel="external nofollow noopener noreferrer"&gt;项目地址&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>基于 Laravel 7 开发，支持 Markdown 语法的博客</title><link>https://lruihao.cn/projects/lruihao/cell-blog/</link><pubDate>Fri, 17 Apr 2020 08:33:39 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/cell-blog/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h1 align="center" &gt;Cell Blog&lt;/h1&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;基于Laravel7开发，Markdown语法的个人独立博客。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="功能"&gt;&lt;span&gt;功能&lt;/span&gt;&#10; &lt;a href="#%e5%8a%9f%e8%83%bd" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;支持Markdown,文章实时预览效果&lt;/li&gt;&#10;&lt;li&gt;支持多种编程语言代码高亮&lt;/li&gt;&#10;&lt;li&gt;编辑器图片上传&lt;/li&gt;&#10;&lt;li&gt;后台上传文件管理&lt;/li&gt;&#10;&lt;li&gt;文章搜索&lt;/li&gt;&#10;&lt;li&gt;文章分类&lt;/li&gt;&#10;&lt;li&gt;文章标签&lt;/li&gt;&#10;&lt;li&gt;热门文章&lt;/li&gt;&#10;&lt;li&gt;随机格言&lt;/li&gt;&#10;&lt;li&gt;文章管理(发布，评论开关，排序)&lt;/li&gt;&#10;&lt;li&gt;自定义导航(显示开关，排序)&lt;/li&gt;&#10;&lt;li&gt;自定义页面(发布开关)&lt;/li&gt;&#10;&lt;li&gt;友情链接(显示开关，排序)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/Lruihao/cos-album" target="_blank" rel="external nofollow noopener noreferrer"&gt;COS桶相册&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;丰富的博客配置(方便扩展，支持自定义JS脚本)&lt;/li&gt;&#10;&lt;li&gt;不蒜子计数&lt;/li&gt;&#10;&lt;li&gt;Leancloud计数&lt;/li&gt;&#10;&lt;li&gt;Valine评论插件&lt;/li&gt;&#10;&lt;li&gt;文章分享插件&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 class="heading-element" id="截图"&gt;&lt;span&gt;截图&lt;/span&gt;&#10; &lt;a href="#%e6%88%aa%e5%9b%be" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/vHeNRG4Qi7ljrM8_3830655857362550388.png' alt="前台首页.png" height="837" width="1383"&gt;&lt;br&gt;&#10;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/tMEQe7WvYmw3jd4_5151616177994605876.png' alt="管理文章.png" height="649" width="1385"&gt;&lt;br&gt;&#10;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/DeOWyJ3zluLKvBn_9107936076132618799.png' alt="编辑文章.png" height="629" width="1385"&gt;&lt;/p&gt;</description></item><item><title>使用 Python 刷 csdn 访问量</title><link>https://lruihao.cn/posts/csdnvisiter/</link><pubDate>Thu, 26 Mar 2020 11:08:38 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/csdnvisiter/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;使用 python 模拟浏览器行为刷 csdn 访问量，脚本仅做学习，请勿滥用~&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Cron 表达式的基本语法</title><link>https://lruihao.cn/posts/cron/</link><pubDate>Wed, 25 Mar 2020 09:19:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/cron/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;h2 class="heading-element" id="基本语法"&gt;&lt;span class="heading-numbered"&gt;基本语法&lt;/span&gt;&#10; &lt;a href="#%e5%9f%ba%e6%9c%ac%e8%af%ad%e6%b3%95" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;code&gt;&amp;lt;秒&amp;gt; &amp;lt;分钟&amp;gt; &amp;lt;小时&amp;gt; &amp;lt;日期 day-of-month&amp;gt; &amp;lt;月份&amp;gt; &amp;lt;星期 day-of-week&amp;gt;&lt;/code&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Cron 表达式是一个具有时间含义的字符串，字符串以 5 个空格隔开，分为 6 个域，格式为 &lt;code&gt;X X X X X X&lt;/code&gt;。其中 X 是一个域的占位符。单个域有多个取值时，使用半角逗号，隔开取值。每个域可以是确定的取值，也可以是具有逻辑意义的特殊字符。&lt;/p&gt;</description></item><item><title>新冠疫情未返校未返工第 N 天之“自动打卡”</title><link>https://lruihao.cn/posts/daka/</link><pubDate>Wed, 25 Mar 2020 08:22:42 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/daka/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;div class="details admonition info open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;信息&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;p&gt;这件事还得从一只蝙蝠说起 &amp;hellip;&lt;br&gt;&#10;算了，昨天下午 3 点半，我还在王者峡谷 Timing, 突然潇 X 巴哥打了个电话给我说关于自动打卡的想法 &amp;hellip;&lt;br&gt;&#10;哎，反正就是由于疫情需要每天健康打卡汇报给学校，然后每天提交一样的太麻烦了，就想写个程序自动打卡 &amp;hellip;&lt;br&gt;&#10;我和潇 X 巴哥确定思路后兵分两路：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;他用 java 写个后台自动刷多人的，再弄个网页给用户填写账号密码保存在数据库；&lt;/li&gt;&#10;&lt;li&gt;我想的就很直接，只刷一个人的，python 模拟浏览器登录后打卡，再设置定时任务（多人则设定多个）；&lt;/li&gt;&#10;&lt;/ol&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>SQL 总结</title><link>https://lruihao.cn/posts/sql/</link><pubDate>Thu, 16 Jan 2020 19:28:05 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/sql/</guid><category domain="https://lruihao.cn/categories/mysql/">MySQL</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;SQL 增删改查 (CRUD) 语句与常用函数总结。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>利用腾讯云为静态页面添加“动态”相册</title><link>https://lruihao.cn/projects/cos-album/</link><pubDate>Sun, 24 Nov 2019 10:52:34 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/cos-album/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;!-- markdownlint-disable MD033 --&gt;&#10;&lt;div class="details admonition info open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-circle-info" aria-hidden="true"&gt;&lt;/i&gt;信息&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;cos 桶相册，终于！！终于来了！！，idea 来自 [兰州小红鸡 - 给 hexo 静态博客添加动态相册功能]，&lt;br&gt;&#10;&lt;strong&gt;&lt;span style="color: #428bca;"&gt;功能虽好，但是还是先友情提示！&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;&#10;开放 API 是一个&lt;strong&gt;很危险&lt;/strong&gt;的操作，意味着你的 cos 桶里面的所有资源包括目录结构都暴露的整个世界中，所以建议不要放一些比较私密的照片，保护自己的隐私，提防不良用心之人。下面就开始吧！&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>解析腾讯云 cos 桶 xml 生成相册,同时也是图床的显示页面</title><link>https://lruihao.cn/projects/lruihao/cos-album/</link><pubDate>Sat, 23 Nov 2019 12:59:05 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/cos-album/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="cos-album" data-decreased&gt;&lt;span&gt;cos-album&lt;/span&gt;&#10; &lt;a href="#cos-album" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://github.com/Lruihao/cos-album-demo" target="_blank" rel="external nofollow noopener noreferrer"&gt;demo&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="step1"&gt;&lt;span&gt;Step1&lt;/span&gt;&#10; &lt;a href="#step1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;link rel=&amp;#34;stylesheet&amp;#34; type=&amp;#34;text/css&amp;#34; href=&amp;#34;cos-album.min.css?v=1.1.6&amp;#34;&amp;gt;&#10;&amp;lt;script type=&amp;#34;text/javascript&amp;#34; src=&amp;#34;cos-album.min.js?v=1.1.6&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="step2"&gt;&lt;span&gt;Step2&lt;/span&gt;&#10; &lt;a href="#step2" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;script type=&amp;#34;text/javascript&amp;#34;&amp;gt;&#10; new Cosalbum({&#10; &amp;#39;xmlLink&amp;#39;: &amp;#39;https://img-xxxxxxxxxx.cos.ap-chengdu.myqcloud.com&amp;#39;,&#10; &amp;#39;prependTo&amp;#39;: &amp;#39;.cos-album&amp;#39;,&#10; &amp;#39;viewNum&amp;#39;: 8,&#10; &amp;#39;copyUrl&amp;#39;: &amp;#39;//img.lruihao.cn&amp;#39;&#10; });&#10;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="params"&gt;&lt;span&gt;Params&lt;/span&gt;&#10; &lt;a href="#params" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="table-wrapper"&gt;&#10; &lt;table data-sortable&gt;&lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th style="text-align: left"&gt;param&lt;/th&gt;&#10; &lt;th style="text-align: left"&gt;type&lt;/th&gt;&#10; &lt;th style="text-align: left"&gt;default&lt;/th&gt;&#10; &lt;th style="text-align: left"&gt;description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td style="text-align: left"&gt;xmlLink&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;String&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;需要解析的騰訊云COS桶XML鏈接&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td style="text-align: left"&gt;prependTo&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;String&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;&amp;lsquo;body&amp;rsquo;&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;可選解析相冊到某個節點&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td style="text-align: left"&gt;viewNum&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;Number&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;4&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;每個相冊顯示的照片數目&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td style="text-align: left"&gt;copyUrl&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;String&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;href&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;CDN 链接,雙擊複製 URL Since: 1.1.6&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td style="text-align: left"&gt;imgType&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;String&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;[&amp;lsquo;jpg&amp;rsquo;, &amp;lsquo;jpeg&amp;rsquo;, &amp;lsquo;png&amp;rsquo;, &amp;lsquo;gif&amp;rsquo;, &amp;lsquo;svg&amp;rsquo;]&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;图片類型 Since: 1.1.6&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td style="text-align: left"&gt;videoType&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;String&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;[&amp;lsquo;mp4&amp;rsquo;, &amp;lsquo;mp3&amp;rsquo;, &amp;lsquo;avi&amp;rsquo;, &amp;lsquo;mov&amp;rsquo;, &amp;lsquo;qt&amp;rsquo;]&lt;/td&gt;&#10; &lt;td style="text-align: left"&gt;視頻類型 Since: 1.1.6&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10; &lt;/table&gt;&#10;&lt;/div&gt;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;a href="https://lruihao.cn/posts/cos-album.html"&gt;&lt;strong&gt;详细说明&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>RESTful</title><link>https://lruihao.cn/posts/restful/</link><pubDate>Thu, 14 Nov 2019 19:06:05 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/restful/</guid><category domain="https://lruihao.cn/categories/spec/">程序猿的自我修养</category><category domain="https://lruihao.cn/categories/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/">计算机网络</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;RESTful 是一种系统开发设计风格、原则。可视情况调整，以下参考来源 &lt;a href="https://www.rfc-editor.org/rfc/rfc5789" target="_blank" rel="external nofollow noopener noreferrer"&gt;RFC5789&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>php 同时主动推送链接到百度，神马等站长平台</title><link>https://lruihao.cn/posts/phppushurl/</link><pubDate>Sat, 28 Sep 2019 18:32:42 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/phppushurl/</guid><category domain="https://lruihao.cn/categories/php/">PHP</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;php 主动推送站点链接到百度站长，神马站长进行 SEO。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>php 按行读取文件信息</title><link>https://lruihao.cn/posts/phpfile/</link><pubDate>Sat, 28 Sep 2019 17:11:17 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/phpfile/</guid><category domain="https://lruihao.cn/categories/php/">PHP</category><description>&lt;h2 class="heading-element" id="普通方法"&gt;&lt;span class="heading-numbered"&gt;普通方法&lt;/span&gt;&#10; &lt;a href="#%e6%99%ae%e9%80%9a%e6%96%b9%e6%b3%95" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;首先采用&lt;code&gt;fopen()&lt;/code&gt;函数打开文件，得到返回值的就是资源类型。接着采用 while 循环一行行地读取文件，然后输出每行的文字。&lt;code&gt;feof()&lt;/code&gt;判断是否到最后一行，&lt;code&gt;fgets()&lt;/code&gt;读取一行文本。&lt;/p&gt;</description></item><item><title>沐目之，湘也。— 沐目体</title><link>https://lruihao.cn/projects/lruihao/mmt/</link><pubDate>Thu, 26 Sep 2019 12:44:17 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/mmt/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;&lt;a href="https://lruihao.cn/projects/font-mmt/"&gt;关于沐目体&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>设置网站运行时间</title><link>https://lruihao.cn/posts/site-time/</link><pubDate>Thu, 19 Sep 2019 22:03:29 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/site-time/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;使用&lt;code&gt;javascript&lt;/code&gt;计算博客等网站的运行时间。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>script 的三种加载方式 (async, defer)</title><link>https://lruihao.cn/posts/async-defer/</link><pubDate>Sun, 08 Sep 2019 11:47:50 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/async-defer/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;div class="details admonition note open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-pencil" aria-hidden="true"&gt;&lt;/i&gt;注意&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;JS 的加载分为两个部分：下载和执行。&lt;br&gt;&#10;浏览器在执行 HTML 的时候如果遇到&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;时会停止页面的渲染，去下载和执行 js 的文件直接遇见&lt;code&gt;&amp;lt;/scirpt&amp;gt;&lt;/code&gt;会继续渲染页面。故浏览器在执行 js 文件的时候浏览器表现为一片空白，为了解决这个问题 ECMAScript 定义了 defer 和 async 两个属性用于控制 JS 的下载和执行。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Sublime Text3 快捷键大全</title><link>https://lruihao.cn/posts/sublime-text3/</link><pubDate>Thu, 15 Aug 2019 20:59:10 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/sublime-text3/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;Sublime Text3 快捷键一览表&lt;/p&gt;</description></item><item><title>NetBeans IDE 开发设置</title><link>https://lruihao.cn/posts/netbeans/</link><pubDate>Thu, 15 Aug 2019 18:36:15 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/netbeans/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;h2 class="heading-element" id="安裝"&gt;&lt;span class="heading-numbered"&gt;安裝&lt;/span&gt;&#10; &lt;a href="#%e5%ae%89%e8%a3%9d" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://netbeans.org/" target="_blank" rel="external nofollow noopener noreferrer"&gt;官方下載點&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="擴充功能"&gt;&lt;span class="heading-numbered"&gt;擴充功能&lt;/span&gt;&#10; &lt;a href="#%e6%93%b4%e5%85%85%e5%8a%9f%e8%83%bd" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 class="heading-element" id="安裝擴充功能"&gt;&lt;span class="heading-numbered"&gt;安裝擴充功能&lt;/span&gt;&#10; &lt;a href="#%e5%ae%89%e8%a3%9d%e6%93%b4%e5%85%85%e5%8a%9f%e8%83%bd" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;下載擴充套件包&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="http://plugins.netbeans.org/PluginPortal/" target="_blank" rel="external nofollow noopener noreferrer"&gt;官方套件庫&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;或者在 NetBeans IDE 裏面下載插件（方便）&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;開啟 NetBeans→Tools→Plugins→Downloaded→Add Plugins&lt;/li&gt;&#10;&lt;li&gt;選擇要安裝的擴充套件包&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 class="heading-element" id="啟用已安裝的擴充功能"&gt;&lt;span class="heading-numbered"&gt;啟用已安裝的擴充功能&lt;/span&gt;&#10; &lt;a href="#%e5%95%9f%e7%94%a8%e5%b7%b2%e5%ae%89%e8%a3%9d%e7%9a%84%e6%93%b4%e5%85%85%e5%8a%9f%e8%83%bd" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;開啟 NetBeans→Tools→Plugins→Installed&lt;/li&gt;&#10;&lt;li&gt;選擇要啟用的套件 (*.npm)&lt;/li&gt;&#10;&lt;li&gt;點擊 Activate&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 class="heading-element" id="匯入設定"&gt;&lt;span class="heading-numbered"&gt;匯入設定&lt;/span&gt;&#10; &lt;a href="#%e5%8c%af%e5%85%a5%e8%a8%ad%e5%ae%9a" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;開啟 NetBeans→Tools→Options&lt;/li&gt;&#10;&lt;li&gt;點擊 Import 匯入設定&lt;/li&gt;&#10;&lt;li&gt;選擇要匯入的套件包 (*.zip)&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="常用設定"&gt;&lt;span class="heading-numbered"&gt;常用設定&lt;/span&gt;&#10; &lt;a href="#%e5%b8%b8%e7%94%a8%e8%a8%ad%e5%ae%9a" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 class="heading-element" id="程式碼排版"&gt;&lt;span class="heading-numbered"&gt;程式碼排版&lt;/span&gt;&#10; &lt;a href="#%e7%a8%8b%e5%bc%8f%e7%a2%bc%e6%8e%92%e7%89%88" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;blockquote&gt;&#10;&lt;p&gt;在程式開發中，程式碼排版很重要。一個好的排版利於開發人員程式閱讀，也便於後期維護人員閱讀。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Web 开发规则，代码规范</title><link>https://lruihao.cn/posts/dev-rules/</link><pubDate>Thu, 15 Aug 2019 18:30:31 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dev-rules/</guid><category domain="https://lruihao.cn/categories/spec/">程序猿的自我修养</category><description>&lt;h2 class="heading-element" id="精神"&gt;&lt;span class="heading-numbered"&gt;精神&lt;/span&gt;&#10; &lt;a href="#%e7%b2%be%e7%a5%9e" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;绝不写死代码，硬编码&lt;/li&gt;&#10;&lt;li&gt;不留不要用的、垃圾代码&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 class="heading-element" id="git"&gt;&lt;span class="heading-numbered"&gt;Git&lt;/span&gt;&#10; &lt;a href="#git" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Master 的 BUG 必须最少且趋近于零，为最稳定的版本&lt;/li&gt;&#10;&lt;li&gt;每次 Commit 信息应该准确填写。不可模棱两可，eg: 修复 BUG、增加功能&lt;/li&gt;&#10;&lt;li&gt;禁止 Commit IDE 的 project data，e.g: .vscode&lt;/li&gt;&#10;&lt;li&gt;禁止上传垃圾代码&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;更多规则详见文档 &lt;a href="https://lruihao.cn/posts/commit-spec/"&gt;Commit 规范&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>简单评论模块--php 表单练习</title><link>https://lruihao.cn/posts/phpform/</link><pubDate>Fri, 19 Jul 2019 11:38:59 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/phpform/</guid><category domain="https://lruihao.cn/categories/php/">PHP</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;简单模仿了一个评论模板，当然肯定是没有博客的 valine 这么强大的 hhhh，&lt;br&gt;&#10;&lt;strong&gt;PHP 表单安全性的重要提示&lt;/strong&gt;&lt;br&gt;&#10;&lt;code&gt;$_SERVER[&amp;quot;PHP_SELF&amp;quot;]&lt;/code&gt;变量能够被黑客利用！&lt;br&gt;&#10;如果页面中使用了&lt;code&gt;PHP_SELF&lt;/code&gt;，用户能够输入下划线然后执行跨站点脚本（XSS）。&lt;br&gt;&#10;比如说注入 js 脚本等，valine 以前的版本也有过这样的漏洞。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;跨站点脚本（Cross-site scripting，XSS）&lt;/code&gt;是一种计算机安全漏洞类型，常见于 Web 应用程序。XSS 能够使攻击者向其他用户浏览的网页中输入客户端脚本。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>php 函数学习</title><link>https://lruihao.cn/posts/phpfunc/</link><pubDate>Mon, 15 Jul 2019 11:37:33 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/phpfunc/</guid><category domain="https://lruihao.cn/categories/php/">PHP</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;练习 php 函数的基本使用。&lt;br&gt;&#10;注：&lt;br&gt;&#10;必选参数在可选参数的前面。&lt;br&gt;&#10;可在函数中定义函数，需要先调用外层函数才能调用内层函数。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>WAMPServer 自定义网站根目录等设置</title><link>https://lruihao.cn/posts/wamproot/</link><pubDate>Fri, 12 Jul 2019 18:44:36 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/wamproot/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;使用 WAMPServer 时自定义网站根目录。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>python 实训总结Ⅱ</title><link>https://lruihao.cn/posts/pysx2/</link><pubDate>Fri, 21 Jun 2019 18:46:41 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/pysx2/</guid><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;后面几天讲的有点杂，简单记录一下知识点。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>python 实训总结Ⅰ</title><link>https://lruihao.cn/posts/pysx1/</link><pubDate>Tue, 18 Jun 2019 18:41:00 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/pysx1/</guid><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;以前和前一段时间自己也学习了一下 python，也写了几个小爬虫；&#10;这次正好又课程安排了为期两周的综合实训，主要是“&lt;strong&gt;用 python 做量化交易&lt;/strong&gt;”&#10;进行了两天，讲的都是一些基本的东西，以前也接触过，所以很容易理解。还讲了一些软件，pycharm，anaconda,sublime 等大都也都用过。anaconda 倒是第一次接触。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>判断三角形的黑盒测试</title><link>https://lruihao.cn/posts/judgetriangle/</link><pubDate>Sun, 26 May 2019 18:50:53 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/judgetriangle/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;黑盒测试着重测试软件功能，它并不涉及程序的内部结构和内容特性，主要根据规格说明，只依靠被测试程序的输入和输出之间关系或程序的功能来设计测试用例。&lt;br&gt;&#10;白盒测试则清楚程序内部的结构以及是如何运作的，因此白盒测试需要对系统内部的结构和工作原理有一个清楚的了解。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>HustOJ 基础搭建教程</title><link>https://lruihao.cn/posts/hustoj/</link><pubDate>Fri, 17 May 2019 23:08:04 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hustoj/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;目前 HustOj 在 GitHUb 地址是：&lt;a href="https://github.com/zhblue/hustoj" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://github.com/zhblue/hustoj&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;&lt;strong&gt;安装时注意 ubuntu 版本&lt;/strong&gt;，没条件的可以在自己 ubuntu 上尝试，或者虚拟机上（关注公众号回复&lt;code&gt;ubuntu16.04&lt;/code&gt;获取 iso 镜像文件），也可以在云实验室的云服务器上做做实验。&lt;br&gt;&#10;更多说明及 ACM/NOIP 题库下载见官网博客 &lt;a href="http://www.hustoj.com/" target="_blank" rel="external nofollow noopener noreferrer"&gt;代码的那些事 | 程序员回忆录&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>最大公约数（二进制算法）</title><link>https://lruihao.cn/posts/gcd-bit/</link><pubDate>Fri, 17 May 2019 09:14:16 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/gcd-bit/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;二进制最大公约数算法避免了欧几里得算法（辗转相除法）的大量取模操作，有效减少了时间消耗，且更为方便。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>宝塔面板安装 ImgURL 图床</title><link>https://lruihao.cn/posts/imgurl/</link><pubDate>Thu, 16 May 2019 20:31:33 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/imgurl/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;ImgURL 是一个开源、免费的图床程序，ImgURL 2.x 之后对环境要求更高，尤其是 ImageMagick 组件的支持，很多朋友不清楚怎样安装这个组件，这篇文章分享宝塔面板安装 ImgURL 2.x 图床的过程（包括 ImgURL 2.x 需要的各种组件）&#10;&lt;a href="https://www.xiaoz.me/archives/12081" target="_blank" rel="external nofollow noopener noreferrer"&gt;阅读原文&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>python 实战：模拟 post 请求定时获取后台数据并打包发送至微信</title><link>https://lruihao.cn/posts/mx2wx/</link><pubDate>Sat, 11 May 2019 17:02:31 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/mx2wx/</guid><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;用 python 模拟 post 请求获取“麻小科技”示例酒店后台的数据，再打包发送至指定的微信群或者好友。&lt;br&gt;&#10;要求每天早上 8 点定时把每个酒店的数据发送至每个酒店的微信工作群。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>条件注释判断浏览器版本&lt;!--[if lt IE 9]&gt;;</title><link>https://lruihao.cn/posts/ifzhushi/</link><pubDate>Fri, 10 May 2019 13:08:27 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/ifzhushi/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;&lt;span&gt;&amp;lt;!--[if !IE]&amp;gt;&amp;lt;!--&amp;gt; 除 IE 外都可识别 &amp;lt;!--&amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&amp;lt;!--[if IE]&amp;gt; 所有的 IE 可识别 &amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&amp;lt;!--[if IE 6]&amp;gt; 仅 IE6 可识别 &amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&amp;lt;!--[if lt IE 6]&amp;gt; IE6 以及 IE6 以下版本可识别 &amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&amp;lt;!--[if gte IE 6]&amp;gt; IE6 以及 IE6 以上版本可识别 &amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&amp;lt;!--[if IE 7]&amp;gt; 仅 IE7 可识别 &amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&amp;lt;!--[if lt IE 7]&amp;gt; IE7 以及 IE7 以下版本可识别 &amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&amp;lt;!--[if gte IE 7]&amp;gt; IE7 以及 IE7 以上版本可识别 &amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&amp;lt;!--[if IE 8]&amp;gt; 仅 IE8 可识别 &amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span&gt;&amp;lt;!--[if IE 9]&amp;gt; 仅 IE9 可识别 &amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>python 设置程序每天 8 点定时执行任务</title><link>https://lruihao.cn/posts/pysettime/</link><pubDate>Thu, 09 May 2019 23:26:54 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/pysettime/</guid><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;第一次运行根据程序执行时间，判断程序休眠的时间，尽最大可能休眠，节省系统资源。&lt;br&gt;&#10;第二次运行后直接休眠一天，到每天早上 8 点执行任务。&lt;br&gt;&#10;（该程序需要一直挂着，保持网络不断）&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>安装 pyinstaller 出错的解决办法及 csdn 工具实例打包</title><link>https://lruihao.cn/posts/pyinstallererror/</link><pubDate>Thu, 09 May 2019 19:05:01 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/pyinstallererror/</guid><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;用过命令&lt;code&gt;pip install pyinstaller&lt;/code&gt;安装失败，此包依赖于 pywin32，安装前需要先&lt;code&gt;pip install pywin32&lt;/code&gt;, 我安装了还是出错，稍微百度了一下也没有看到解决办法。&#10;这里通过手动下载安装解决的，记录一下。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>java 实现一个单线程的资源下载器</title><link>https://lruihao.cn/posts/singlethreaddown/</link><pubDate>Wed, 08 May 2019 20:55:02 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/singlethreaddown/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;实现一个简单的基于单线程的资源下载器，如图所示，用户可以任意指定下载资源的链接地址，系统根据该地址判断资源是否存在，如果存在，则将该资源下载到本地。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Python 如何操作 Json？</title><link>https://lruihao.cn/posts/jsoninfo/</link><pubDate>Tue, 07 May 2019 18:42:47 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/jsoninfo/</guid><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;Json（JavaScript Object Notation）它是一种轻量级的数据交换格式，具有数据格式简单，读写方便易懂等很多优点。许多主流的编程语言都在用它来进行前后端的数据传输，大大的简化了服务器和客户端的开发工作量。相对于 XML 来说，更加的轻量级，更方便解析，因此许多开发者都遵循 Json 格式来进行数据的传输和交换。今天我们详细介绍一下 Python 在 Json 的编解码方面的知识。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>python 发送 post 请求进行简单的接口测试</title><link>https://lruihao.cn/posts/posttest/</link><pubDate>Tue, 07 May 2019 18:17:05 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/posttest/</guid><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;通过 requests 可以向某个地址发送请求，可以用来做一些接口的测试；主要有两个方法：&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;requests.get()&lt;/li&gt;&#10;&lt;li&gt;requests.post()&lt;br&gt;&#10;最近帮朋友的项目做一个小需求，需要把后台数据定期打包发送到微信群，麻小科技涛哥给了我一个接口，post 访问。&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>java 通过 URL 和 URLConnection 访问网页资源</title><link>https://lruihao.cn/posts/java-urlreader/</link><pubDate>Mon, 06 May 2019 17:41:35 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/java-urlreader/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;该例中首先生成一个 URL 对象 lrh，指向 RUI 豪小栈，然后再调用 lrh.openStream() 方法生成该 URL 的一个输入流，这是一个字节流，在此基础上进一步通过 InputStreamReader 和 BufferedReader 构造一个带缓冲功能的字符流，并通过这个字符流对象读取该 URL 的 html 内容，进而输出到桌面文件和控制台屏幕。URLConnection 类也可以用来对由 URL 引用的资源进行读写操作，前提是先通过 connect() 方法建立连接，然后再去获取响应头信息或响应内容。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>文件加密解密（字节流）</title><link>https://lruihao.cn/posts/byteio/</link><pubDate>Thu, 02 May 2019 23:04:32 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/byteio/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;基本功能：给定一个密钥，读取文件内容，加密后，输出到另外一个文件。&lt;/p&gt;&#10;&lt;p&gt;这里使用文件输入流读取文件内容，然后每个字节和密码进行异或简单加密。加密完成，使用文件输出流写入另一个文件中。解密和加密方法一样。利用的是对同一个数异或两遍其值不变的性质。因此一个程序可以完成加密和解密功能。只需修改文件名即可。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>模拟借书系统（java 异常练习）</title><link>https://lruihao.cn/posts/javaexception/</link><pubDate>Wed, 01 May 2019 16:52:21 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/javaexception/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>模拟借书系统（java 异常练习）</description></item><item><title>用 MyQR 制作专属动态二维码 (py 和 exe 版本）</title><link>https://lruihao.cn/posts/qrcode/</link><pubDate>Sat, 27 Apr 2019 14:16:54 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/qrcode/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;Python 二维码生成器&lt;/strong&gt;是 github 上@sylnsfar 开源的一个 python 生成二维码工具。有 python, 网页及 exe 版本，详见 &lt;a href="https://github.com/sylnsfar/qrcode/" target="_blank" rel="external nofollow noopener noreferrer"&gt;sylnsfar/qrcode&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;，本文主要介绍记录一下 python 版本使用。exe 可以去 &lt;a href="https://github.com/sylnsfar/qrcode_win" target="_blank" rel="external nofollow noopener noreferrer"&gt;项目开源地址&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 下载，公众号文章后台回复关键词“qrcode”获取链接。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;可生成_普通二维码_、&lt;em&gt;带图片的艺术二维码（黑白与彩色）&lt;/em&gt;、&lt;em&gt;动态二维码（黑白与彩色）&lt;/em&gt;。&lt;/p&gt;</description></item><item><title>第一次面试经历</title><link>https://lruihao.cn/posts/1thintervivew/</link><pubDate>Wed, 24 Apr 2019 21:23:22 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/1thintervivew/</guid><category domain="https://lruihao.cn/categories/thoughts/">有所思</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;时间过得真快，一下从大一到了大三，马上就要实习毕业等等了。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>python 爬取网站图片（图片链接相似）</title><link>https://lruihao.cn/posts/mmtimgpy/</link><pubDate>Mon, 22 Apr 2019 12:46:34 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/mmtimgpy/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;以下程序对 &lt;a href="https://hw.xiezixiansheng.com/mobile.php?c=Grzkreader&amp;a=fontshowPics&amp;u=qbfRl8gPF2s-&amp;z=Kqz%2FRroVGYc-&amp;share=1&amp;from=singlemessage" target="_blank" rel="external nofollow noopener noreferrer"&gt;该网址&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 内的手写体图片进行爬取！这个手写体是我在手机上通过《手迹造字》app 书写的，大概 6886 个字符，历时两年多，目前仍在修改中。&lt;a href="https://lruihao.cn/projects/font-mmt/"&gt;字体效果查看&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>python 玩微信：初探 wxpy</title><link>https://lruihao.cn/posts/wxpy1/</link><pubDate>Sat, 20 Apr 2019 15:44:57 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/wxpy1/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;&lt;em&gt;文中涉及的图片涉及个人隐私，仅做举例，请勿传播&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;查看微信好友男女比例&lt;/li&gt;&#10;&lt;li&gt;查看好友地区分布&lt;/li&gt;&#10;&lt;li&gt;群性别统计&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>基本 python 实现的爬取微信好友头像，并拼接成大图</title><link>https://lruihao.cn/posts/wximgpy/</link><pubDate>Sat, 20 Apr 2019 13:32:58 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/wximgpy/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><category domain="https://lruihao.cn/categories/python/">Python</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;Python 通过 wxpy 登录微信网页版，爬取好友所有头像并拼接成一张大图。然后删除所有子图。（注释相关代码可以不删除）&lt;br&gt;&#10;&lt;strong&gt;&lt;em&gt;文中涉及的图片涉及个人隐私，仅做举例，请勿传播&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;&#10;&lt;strong&gt;文中编码由 Sunbelife 提供，来自他的同名微信公众号，本博仅用于学习，侵删&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>用记事本编写第一个 java 程序</title><link>https://lruihao.cn/posts/hellojava/</link><pubDate>Fri, 19 Apr 2019 19:49:54 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hellojava/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;之所以用记事本来写不是为了装 X 或者什么的。反而恰恰是返璞归真，因为在用 java 语言进行程序开发时，首先是以纯文本的方式编写所有的 java 源程序，并保存成以&lt;code&gt;.java&lt;/code&gt;为后缀的文件；然后将这些源程序用&lt;code&gt;javac&lt;/code&gt;编译成&lt;code&gt;.class&lt;/code&gt;后缀名的字节代码文件；字节代码不是被本地处理器执行的代码，而是能够被 java 虚拟机（JVM）执行的代码。最后用 java 运行工具在 JVM 执行 java 应用程序。&lt;br&gt;&#10;由于 JVM 可以运行在不同的操作系统上，因此同一个字节代码文件可以跨平台运行。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;javac&lt;/li&gt;&#10;&lt;li&gt;java&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>java 正则表达式练习</title><link>https://lruihao.cn/posts/java-regex/</link><pubDate>Thu, 18 Apr 2019 22:04:21 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/java-regex/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;h2 class="heading-element" id="邮箱"&gt;&lt;span class="heading-numbered"&gt;邮箱&lt;/span&gt;&#10; &lt;a href="#%e9%82%ae%e7%ae%b1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;import java.util.regex.Matcher;&#10;import java.util.regex.Pattern;&#10;&#10;public class RegexDemo {&#10; public static void main(String[] args) {&#10;// Pattern 类 正则表达式的编译表示。&#10; Pattern pattern = Pattern.compile(&amp;#34;^[a-zA-Z0-9_!#$%&amp;amp;&amp;#39;*&amp;#43;/=?`{|}~^.-]&amp;#43;@[a-zA-Z0-9.-]&amp;#43;$&amp;#34;);&#10; String[] emails = {&amp;#34;admin@lruihao.cn&amp;#34;, &amp;#34;lruihao.cn&amp;#34;};&#10; for (String email :&#10; emails) {&#10;//Matcher 通过解释 Pattern 对字符序列执行匹配操作的引擎&#10; Matcher matcher = pattern.matcher(email);&#10; System.out.println(email &amp;#43; &amp;#34;匹配结果：&amp;#34; &amp;#43; matcher.matches());&#10; }&#10; }&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;admin@lruihao.cn 匹配结果：true&#10;lruihao.cn 匹配结果：false&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="电话"&gt;&lt;span class="heading-numbered"&gt;电话&lt;/span&gt;&#10; &lt;a href="#%e7%94%b5%e8%af%9d" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;package base;&#10;&#10;import java.util.Scanner;&#10;import java.util.regex.Matcher;&#10;import java.util.regex.Pattern;&#10;&#10;public class RegexTest {&#10; public static void main(String[] args) {&#10; Pattern patter=Pattern.compile(&amp;#34;^[1][3,4,5,7,8][0-9]{9}$&amp;#34;);&#10; Scanner sc=new Scanner(System.in);&#10; String telnum=sc.nextLine();&#10; sc.close();&#10; Matcher matcher=patter.matcher(telnum);&#10; System.out.println(telnum&amp;#43;&amp;#34;匹配结果： &amp;#34;&amp;#43;matcher.matches());&#10; }&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/**&#10; * 获取当前的 httpSession&#10; * @return&#10; */&#10;public static HttpSession getSession() {&#10; return getRequest().getSession();&#10;}&#10;/**&#10; * 手机号验证&#10; * @param str&#10; * @return 验证通过返回 true&#10; */&#10;public static boolean isMobile(final String str) {&#10; Pattern p = null;&#10; Matcher m = null;&#10; boolean b = false;&#10; p = Pattern.compile(&amp;#34;^[1][3,4,5,7,8][0-9]{9}$&amp;#34;); // 验证手机号&#10; m = p.matcher(str);&#10; b = m.matches();&#10; return b;&#10;}&#10;/**&#10; * 电话号码验证&#10; * @param str&#10; * @return 验证通过返回 true&#10; */&#10;public static boolean isPhone(final String str) {&#10; Pattern p1 = null, p2 = null;&#10; Matcher m = null;&#10; boolean b = false;&#10; p1 = Pattern.compile(&amp;#34;^[0][1-9]{2,3}-[0-9]{5,10}$&amp;#34;); // 验证带区号的&#10; p2 = Pattern.compile(&amp;#34;^[1-9]{1}[0-9]{5,8}$&amp;#34;); // 验证没有区号的&#10; if (str.length() &amp;gt; 9) {&#10; m = p1.matcher(str);&#10; b = m.matches();&#10; } else {&#10; m = p2.matcher(str);&#10; b = m.matches();&#10; }&#10; return b;&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="身份证"&gt;&lt;span class="heading-numbered"&gt;身份证&lt;/span&gt;&#10; &lt;a href="#%e8%ba%ab%e4%bb%bd%e8%af%81" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;/* 身份证正则表达式 16 或 18 */&#10; public static final String IDCARD=&amp;#34;((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})&amp;#34; &amp;#43;&#10; &amp;#34;(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}&amp;#34; &amp;#43;&#10; &amp;#34;[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))&amp;#34;;&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>java 常用类</title><link>https://lruihao.cn/posts/stringbuffer/</link><pubDate>Sun, 14 Apr 2019 10:12:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/stringbuffer/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;h2 class="heading-element" id="stringbufferstringbuilder掌握"&gt;&lt;span class="heading-numbered"&gt;StringBuffer/StringBuilder（掌握）&lt;/span&gt;&#10; &lt;a href="#stringbufferstringbuilder%e6%8e%8c%e6%8f%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 class="heading-element" id="stringbuffer-是线程安全的可变字符串"&gt;&lt;span class="heading-numbered"&gt;StringBuffer 是线程安全的可变字符串&lt;/span&gt;&#10; &lt;a href="#stringbuffer-%e6%98%af%e7%ba%bf%e7%a8%8b%e5%ae%89%e5%85%a8%e7%9a%84%e5%8f%af%e5%8f%98%e5%ad%97%e7%ac%a6%e4%b8%b2" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;StringBuilder 是线程不安全的可变字符串。&lt;br&gt;&#10;和 StringBuffer 的功能一样。就是效率高一些，但是不安全。&lt;/p&gt;</description></item><item><title>HDU 1009 FatMouse' Trade（贪心）</title><link>https://lruihao.cn/posts/hdu1009/</link><pubDate>Fri, 12 Apr 2019 16:43:19 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hdu1009/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="题目大意"&gt;&lt;span class="heading-numbered"&gt;题目大意&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e5%a4%a7%e6%84%8f" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;a href="http://acm.hdu.edu.cn/showproblem.php?pid=1009" target="_blank" rel="external nofollow noopener noreferrer"&gt;题目链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;老鼠有 M 磅猫食 , 有 N 个房间 , 每个房间前有一只猫 , 房间里有老鼠最喜欢的食品 J[i] , 若要得到房间的食物 , 必须付出相应的猫食 F[i] , 当然这只老鼠没必要每次都付出所有的 F[i]，若它付出 F[i] 的 a%，则得到 J[i] 的 a%，求老鼠能吃到的最多的食物。&lt;/p&gt;</description></item><item><title>本地搭建网站服务器并穿透内网</title><link>https://lruihao.cn/posts/ngrok/</link><pubDate>Wed, 03 Apr 2019 19:29:43 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/ngrok/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;一直都想在自己电脑上搭建一个网站或者把自己的电脑做成服务器，今天终于简单实现了。还有很多知识需要学习，简单记录一下。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>前端面试题 - HTML+CSS</title><link>https://lruihao.cn/posts/ms-html-css/</link><pubDate>Sat, 30 Mar 2019 22:58:39 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/ms-html-css/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/ltadpoles/web-document/tree/master/Other" target="_blank" rel="external nofollow noopener noreferrer"&gt;原文链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;“卓越班”到了大三突然掀起一股毕业慌，一部分人投身于考研的热潮中，一部分人选择了培训机构学习技术。而我出于种种原因既不考研也不培训，选择自学 java 和 web 相关的知识，也希望因此能在以后谋得一份心仪的工作。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;如果文章中有出现纰漏、错误之处，还请看到的小伙伴多多指教，先行谢过&lt;/p&gt;</description></item><item><title>百钱百鸡（枚举法）</title><link>https://lruihao.cn/posts/bqbj/</link><pubDate>Sat, 30 Mar 2019 10:13:33 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/bqbj/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;我国古代数学家张丘建在《算经》一书中提出的数学问题：鸡翁一值钱五，鸡母一值钱三，鸡雏三值钱一。百钱买百鸡，问鸡翁、鸡母、鸡雏各几何？&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>大数乘法</title><link>https://lruihao.cn/posts/dacheng/</link><pubDate>Thu, 28 Mar 2019 22:50:43 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dacheng/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;大数乘法 c 版 (基础写法)&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>vps 配置 ssl 及 https 重定向</title><link>https://lruihao.cn/posts/http2https/</link><pubDate>Thu, 28 Mar 2019 19:40:54 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/http2https/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;记录自己在配置 vps 及博客 SSL 证书时遇到的问题。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>hexo-theme-next @modified LRH</title><link>https://lruihao.cn/posts/hexo-theme-next/</link><pubDate>Thu, 21 Mar 2019 16:43:19 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hexo-theme-next/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;!-- markdownlint-disable-file --&gt;&#10;&lt;div class="details admonition danger open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-bolt" aria-hidden="true"&gt;&lt;/i&gt;危险&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;span style="color: #d9534f;font-size: 1.2em;"&gt;&lt;strong&gt;如无必要，不再更新！（2019.09.13）&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;&#10;今晚我做出了一个慎重的决定，由于博主时间精力有限，需要更多的时间来工作和学习。所以我将&lt;strong&gt;放弃对 next 的主题的自定义修改&lt;/strong&gt;，next 主题官方已经更新到了 7.0+的版本，喜欢 next 主题风格的朋友可以在 github 更新。&lt;br&gt;&#10;我这也算是上古版本了，版本差距实在过大，所以我也将放弃博客使用主题的更新。&lt;br&gt;&#10;以下仍为当前博客使用主题，lib 资源已打包 github。&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Java 父类子类的对象初始化过程</title><link>https://lruihao.cn/posts/substatus/</link><pubDate>Thu, 21 Mar 2019 13:36:25 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/substatus/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;摘要：Java 基本的对象初始化过程，子类的初始化，以及涉及到父类和子类的转化时可能引起混乱的情况。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>ubuntu + windows 双系统默认启动项设置</title><link>https://lruihao.cn/posts/windefault/</link><pubDate>Thu, 21 Mar 2019 12:48:30 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/windefault/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;双系统默认启动项是 Ubuntu，而日常使用最多的还是 Windows，所以说很不方便，一不小心就开机到 Ubuntu 去了。今天来设置一下。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>宅音乐播放器</title><link>https://lruihao.cn/posts/player/</link><pubDate>Tue, 19 Mar 2019 23:32:56 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/player/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><category domain="https://lruihao.cn/categories/php/">PHP</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;宅音乐播放器，HTML5 网页播放器，集成后台管理及 API 调用，目前正在开发中，敬请关注~&lt;br&gt;&#10;&lt;a href="https://github.com/lzx8589561/zhai-music" target="_blank" rel="external nofollow noopener noreferrer"&gt;原项目&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 由 &lt;a href="https://www.ilt.me" target="_blank" rel="external nofollow noopener noreferrer"&gt;IT 技术宅&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 开源，使用 thinkPHP 开发后台。 &lt;a href="https://github.com/Lruihao/zhai-music" target="_blank" rel="external nofollow noopener noreferrer"&gt;fork 地址&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 是我个人学习模仿的库，也是相当于备份源码。&lt;br&gt;&#10;&lt;em&gt;注：插件修改于明月浩空免费版，仅用于学习交流，无商业价值，如发现商业传播，将禁止软件的免费使用。&lt;/em&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>宝塔面板安装</title><link>https://lruihao.cn/posts/bt/</link><pubDate>Mon, 18 Mar 2019 21:31:43 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/bt/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;p&gt;极速方便的一键配置与管理，免除繁琐的命令行操作，通过 Web 面板一键即可操作实现。可选择安装 lamp 或者 lnmp 环境，可创建及管理网站，可创建及管理数据库，可创建及管理 FTP 等等。&lt;a href="https://www.bt.cn/?invite_code=MV9sYXJnZHI=" target="_blank" rel="external nofollow noopener noreferrer"&gt;宝塔官网介绍&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>web 汇总</title><link>https://lruihao.cn/posts/webbiji/</link><pubDate>Mon, 18 Mar 2019 20:40:55 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/webbiji/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;下面一些 web 开发的一些总结，还有一些常用到的代码，脚本等！&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>java 泛型 test</title><link>https://lruihao.cn/posts/fanxing/</link><pubDate>Sat, 16 Mar 2019 13:56:01 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/fanxing/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;blockquote&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;泛型方法，它在修饰符后，返回值类型前增加了类型参数 (&amp;lt;&amp;gt;)&lt;/li&gt;&#10;&lt;li&gt;类型通配符一般使用问号&lt;code&gt;?&lt;/code&gt;代替具体的类型&lt;code&gt;实&lt;/code&gt;参，注意不是类型形参。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>eclipse 的基本使用</title><link>https://lruihao.cn/posts/eclipseuse/</link><pubDate>Fri, 15 Mar 2019 23:47:24 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/eclipseuse/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;h2 class="heading-element" id="基本使用"&gt;&lt;span class="heading-numbered"&gt;基本使用&lt;/span&gt;&#10; &lt;a href="#%e5%9f%ba%e6%9c%ac%e4%bd%bf%e7%94%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;A: 选择一个工作空间&#10; D:\develop\eclipse-SDK-3.7.2-win64\workspace&#10;B: 如何写一个 HelloWorld 案例（代码以项目为基本单位）&#10; a: 创建项目（工程）&#10; *File -- New -- Java Project&#10; *在左边空白处，直接右键 -- New -- Java Project&#10;&#10; 键入项目名称后直接 Finish。&#10; b: 所有的 java 文件必须写到 src 下面才有效&#10; c: 创建一个包&#10; cn.lruihao&#10; d: 在包下创建一个类&#10; HelloWorld&#10;&#10; 同时让它帮我们写好了 main 方法。&#10; e: 在 main 方法中写内容即可&#10; f: 编译程序&#10; 自动编译，在保存的那一刻帮你做好了&#10; g: 运行程序&#10; 选择要运行的文件或者在要运行的文件内容中&#10; 右键 -- Run as - Java Application 即可&#10; h: 内容显示&#10; 在 Console 控制台显示内容&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="eclipse-的基本设置"&gt;&lt;span class="heading-numbered"&gt;Eclipse 的基本设置&lt;/span&gt;&#10; &lt;a href="#eclipse-%e7%9a%84%e5%9f%ba%e6%9c%ac%e8%ae%be%e7%bd%ae" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;A: 程序的编译和运行的环境配置（如果你的 Eclipse 启动没有问题，就不要配置了）&#10;B: 去掉默认注释（可以不用改）&#10;C: 行号的显示和隐藏&#10; 显示：在代码区域的最左边的空白区域，右键 -- Show Line Numbers 即可。&#10; 隐藏：把上面的动作再做一次。&#10;D: 字体大小及颜色&#10; a:Java 代码区域的字体大小和颜色：&#10; window -- Preferences -- General -- Appearance -- Colors And Fonts -- Java 修改 -- Java Edit Text Font&#10; b: 控制台&#10; window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font&#10; c: 其他文件&#10; window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font&#10;E: 窗体给弄乱了，怎么办&#10; window -- Reset Perspective&#10;F: 控制台找不到了&#10; Window--Show View—Console&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="快捷键的使用"&gt;&lt;span class="heading-numbered"&gt;快捷键的使用&lt;/span&gt;&#10; &lt;a href="#%e5%bf%ab%e6%8d%b7%e9%94%ae%e7%9a%84%e4%bd%bf%e7%94%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;A: 内容辅助键&#10; Alt&amp;#43;/ 起提示作用&#10; main&amp;#43;alt&amp;#43;/,syso&amp;#43;alt&amp;#43;/, 给出其他提示&#10;B: 快捷键&#10; 格式化 ctrl&amp;#43;shift&amp;#43;f&#10; 导入包 ctrl&amp;#43;shift&amp;#43;o&#10; 注释 ctrl&amp;#43;/&#10; ctrl&amp;#43;shift&amp;#43;/,ctrl&amp;#43;shift&amp;#43;\&#10; 代码上下移动 选中代码 alt&amp;#43;上/下箭头&#10; 查看源码 选中类名 (F3 或者 Ctrl&amp;#43;鼠标点击）&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="eclipse-中如何提高开发效率"&gt;&lt;span class="heading-numbered"&gt;Eclipse 中如何提高开发效率&lt;/span&gt;&#10; &lt;a href="#eclipse-%e4%b8%ad%e5%a6%82%e4%bd%95%e6%8f%90%e9%ab%98%e5%bc%80%e5%8f%91%e6%95%88%e7%8e%87" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;A: 自动生成构造方法&#10; a: 无参构造方法 在代码区域右键--source--Generate Constructors from Superclass&#10; b: 带参构造方法 在代码区域右键--source--Generate Constructors using fields.. -- finish&#10;B: 自动生成 get/set 方法&#10; 在代码区域右键--source--Generate Getters and Setters...&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>匿名类在可视化界面中的应用</title><link>https://lruihao.cn/posts/qframe/</link><pubDate>Fri, 15 Mar 2019 22:31:28 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/qframe/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;java 中匿名类用的最多的地方就是可视化界面设计中，特别是将&lt;code&gt;事件监听器&lt;/code&gt;注册到某个组件上的时候。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>模仿知乎卡片式链接</title><link>https://lruihao.cn/posts/linkcard/</link><pubDate>Fri, 15 Mar 2019 15:21:39 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/linkcard/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;模仿知乎的卡片式链接，idea 来自 [兰州小红鸡]&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>win10,ubuntu 双系统时间不一致</title><link>https://lruihao.cn/posts/ubuntutime/</link><pubDate>Fri, 15 Mar 2019 14:28:10 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/ubuntutime/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;我的 Ubuntu 和 Windows 双系统是 Ubuntu 是第一启动项，所以总是开机忘记点下键，一进 Ubuntu 系统时间就不对了（总是少了 8 小时），回到 Windows 时间也是错的。知道是错的调整一下还好。忘记调了有时候真的会误事。比如说 git 版本控制提交会遇到问题种种等。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>QQ 强制生成卡片式链接</title><link>https://lruihao.cn/posts/qqxml/</link><pubDate>Fri, 08 Mar 2019 16:52:13 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/qqxml/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;以前在 QQ 里面聊天的时候发现，有些链接是卡片式的链接，像知乎里那些一样，就好奇为啥我的域名没有生成卡片。&lt;br&gt;&#10;查了一下百度知道了大概就是 qq 没有抓取到你的网站的 xml。并在其他教程中得到了一个强制提交抓取的 url &lt;code&gt;https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshareget_urlinfo?url=&lt;/code&gt; 于是就有了脚本刷新的想法。简陋的写了一下。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>磁盘存储器的管理</title><link>https://lruihao.cn/posts/cipanadmin/</link><pubDate>Mon, 04 Mar 2019 23:08:32 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/cipanadmin/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;h2 class="heading-element" id="外存的组织方式"&gt;&lt;span class="heading-numbered"&gt;外存的组织方式&lt;/span&gt;&#10; &lt;a href="#%e5%a4%96%e5%ad%98%e7%9a%84%e7%bb%84%e7%bb%87%e6%96%b9%e5%bc%8f" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 class="heading-element" id="连续组织方式"&gt;&lt;span class="heading-numbered"&gt;连续组织方式&lt;/span&gt;&#10; &lt;a href="#%e8%bf%9e%e7%bb%ad%e7%bb%84%e7%bb%87%e6%96%b9%e5%bc%8f" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;连续组织方式的优点&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;顺序访问容易&lt;/li&gt;&#10;&lt;li&gt;顺序访问速度快&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;连续组织方式的缺点&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;分配连续的存储空间&lt;/li&gt;&#10;&lt;li&gt;必须知道文件长度&lt;/li&gt;&#10;&lt;li&gt;删除与插入数据不灵活&lt;/li&gt;&#10;&lt;li&gt;动态增长的文件分配空间问题&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>JS 验证码</title><link>https://lruihao.cn/posts/js-vcode/</link><pubDate>Mon, 04 Mar 2019 20:53:09 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/js-vcode/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;!-- markdownlint-disable MD033 --&gt;&#10;&lt;style type="text/css"&gt;&#10;&#10;# code{ &#10;&#10; font-family:Arial; &#10; font-style:italic; &#10; font-weight:bold; &#10; border:2px solid #ddd;&#10; letter-spacing:9px; &#10; color:blue;&#10; font-size: 15px;&#10;}&#10;&lt;/style&gt;&#10;&lt;script type="text/javascript"&gt;&#10; //设置一个全局的变量，便于保存验证码&#10; var code;&#10; function createCode(){&#10; //首先默认 code 为空字符串&#10; code = '';&#10; //设置长度，这里看需求，我这里设置了 4&#10; var codeLength = 4;&#10; var codeV = document.getElementById('code');&#10; //设置随机字符&#10; var random = new Array('人','徒','知','枯','坐','息','思','为','进','德','之','功','殊','不','知','上','达','之', '士','圆','通','定','慧','体','用','双','修','即','动','而','静','虽','撄','而','宁');&#10; //循环 codeLength 我设置的 4 就是循环 4 次&#10; for(var i = 0; i &lt; codeLength; i++){&#10; //设置随机数范围，这设置为 0 ~ 36&#10; var index = Math.floor(Math.random()*35);&#10; //字符串拼接 将每次随机的字符 进行拼接&#10; code += random[index];&#10; }&#10; //将拼接好的字符串赋值给展示的 Value&#10; codeV.value = code;&#10; }&#10;&#10; //下面就是判断是否== 的代码，无需解释&#10; function validate(){&#10; var Input = document.getElementById('input');&#10; var oValue = Input.value.toUpperCase();&#10; if(oValue ==0){&#10; alert('请输入验证码');&#10; }else if(oValue != code){&#10; Input.value = '';&#10; alert('验证码不正确，请重新输入');&#10; createCode();&#10; }else{&#10; Input.value = '';&#10; alert('验证码正确！');//window.open('http://lruihao.cn','_self');&#10; }&#10; }&#10;&#10; //设置此处的原因是每次进入界面展示一个随机的验证码，不设置则为空&#10; window.onload = function (){&#10;&#10; createCode();&#10; }&#10;&lt;/script&gt;&#10;&lt;div align="center"&gt; &#10; &lt;input type = "text" id = "input" value="" /&gt; &lt;input type = "button" id="code" onclick="createCode()"/&gt; &lt;input class="btn" type = "button" value = "验证" onclick = "validate()"/&gt;&#10; &lt;br/&gt;请点击验证码处：↑&#10;&lt;/div&gt;</description></item><item><title>Elegant and powerful theme for Hexo.</title><link>https://lruihao.cn/projects/lruihao/hexo-theme-next/</link><pubDate>Thu, 31 Jan 2019 09:57:45 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/hexo-theme-next/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h1 align=center&gt;hexo-theme-next&lt;/h1&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;如无必要，不再更新！（2019.09.13）&lt;/strong&gt;&lt;br&gt;&#10;今晚我做出了一个慎重的决定，由于博主时间精力有限，需要更多的时间来工作和学习。所以我将&lt;strong&gt;放弃对next的主题的自定义修改&lt;/strong&gt;，next主题官方已经更新到了7.0+的版本，喜欢next主题风格的朋友可以在github更新。&lt;br&gt;&#10;我这也算是上古版本了，版本差距实在过大，所以我也将放弃博客使用主题的更新。&lt;br&gt;&#10;以下仍为当前博客使用主题，lib资源已打包github。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;基于&lt;a href="https://github.com/theme-next/hexo-theme-next" target="_blank" rel="external nofollow noopener noreferrer"&gt;hexo-theme-next 6.0+&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;的Pisces模板做的DIY扩展性设计。主要是一些custom stlye还有一些第三方的js。修改的地方太多也有点小乱就不提PR了。 官方Demo =&amp;gt; &lt;a href="https://theme-next.org" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://theme-next.org&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; &lt;br&gt;&#10;记录一下折腾过程，修改内容以&lt;a href="https://lruihao.cn/posts/hexo-theme-next.html"&gt;博採眾長&lt;/a&gt;为准，以后备份恢复博客也好方便自己。本文之前的美化修改请见&lt;a href="https://lruihao.cn/categories/hexo/"&gt;hexo分类&lt;/a&gt;。&#10;&lt;strong&gt;主题中若有遗漏第三方插件或应用的key及id值等请修改为自己对应的值&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>java 继承 test</title><link>https://lruihao.cn/posts/jicheng/</link><pubDate>Thu, 24 Jan 2019 15:07:50 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/jicheng/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;div class="details admonition quote open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-quote-right" aria-hidden="true"&gt;&lt;/i&gt;引用&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;p&gt;继承的好处：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;提高了代码的复用性&lt;/li&gt;&#10;&lt;li&gt;提高了代码的维护性&lt;/li&gt;&#10;&lt;li&gt;让类与类之间产生了关系，是多态的前提&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;继承的弊端：类的耦合性很强&lt;/p&gt;&#10;&lt;p&gt;设计原则：低耦合，高内聚。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;耦合：类与类的关系。&lt;/li&gt;&#10;&lt;li&gt;内聚：自己完成事情的能力。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>利用腾讯云对象存储 COS 桶托管 hexo 博客</title><link>https://lruihao.cn/posts/cos-hexo/</link><pubDate>Tue, 22 Jan 2019 14:57:08 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/cos-hexo/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;本以为 coding pages 与腾讯云合作后会更好，没想到正是这种初期 bug 不断，速度也是非常慢。比 gitee, 甚至 github 都要慢很多了。所以决定放弃 coding 了，本想挂到云服务器上，但是这个云服务器只续费了半年，可能不会再续费，前几天看到用腾讯云的 cos 桶 xml 制作动态相册的文章，知道了对象存储这个玩意，腾讯云 COS 提供免费 50G 的存储空间，还有 CDN 加速服务，我觉得是个不错的选择，部署后发现速度还挺好。&lt;br&gt;&#10;适用于 hexo, hugo 等静态博客的部署。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Arrays 类及基本使用</title><link>https://lruihao.cn/posts/java-arrays/</link><pubDate>Fri, 18 Jan 2019 13:13:10 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/java-arrays/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;h2 class="heading-element" id="主要方法"&gt;&lt;span class="heading-numbered"&gt;主要方法&lt;/span&gt;&#10; &lt;a href="#%e4%b8%bb%e8%a6%81%e6%96%b9%e6%b3%95" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;static type[] copyof(type[] original,int length)&lt;/li&gt;&#10;&lt;li&gt;static int binarysearch(type[] a,type key)&lt;/li&gt;&#10;&lt;li&gt;static boolean equals(type[] a,type[] b)&lt;/li&gt;&#10;&lt;li&gt;static void fill(type[] a,type val)&lt;/li&gt;&#10;&lt;li&gt;static void fill(type[] a,int fromindex,int toindex,type val)&lt;/li&gt;&#10;&lt;li&gt;static void sort(type[] a)&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>在搜索、文章底部、侧栏添加最近文章模块</title><link>https://lruihao.cn/posts/recent-posts/</link><pubDate>Wed, 16 Jan 2019 17:50:52 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/recent-posts/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;首先在主题配置文件添加以下关键字&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;pre&gt;&lt;code&gt;recent_posts:&#10; enable: true&#10; search: true&#10; post: false&#10; sidebar: false&#10; icon: history&#10; title: 近期文章&#10; layout: block&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="侧栏"&gt;&lt;span class="heading-numbered"&gt;侧栏&lt;/span&gt;&#10; &lt;a href="#%e4%be%a7%e6%a0%8f" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;在 &lt;code&gt;next/layout/_macro/sidebar.swig&lt;/code&gt; 中的 &lt;code&gt;if theme.links&lt;/code&gt; 对应的 &lt;code&gt;endif&lt;/code&gt; 后面。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;{% if theme.recent_posts.enable and theme.recent_posts.sidebar %}&#10; &amp;lt;div class=&amp;#34;links-of-blogroll motion-element {{ &amp;#34;links-of-blogroll-&amp;#34; &amp;#43; theme.recent_posts.layout }}&amp;#34;&amp;gt;&#10; &amp;lt;div class=&amp;#34;links-of-blogroll-title&amp;#34;&amp;gt;&#10; &amp;lt;i class=&amp;#34;fa fa-history fa-{{ theme.recent_posts.icon | lower }}&amp;#34; aria-hidden=&amp;#34;true&amp;#34;&amp;gt;&amp;lt;/i&amp;gt;&#10; {{ theme.recent_posts.title }}&#10; &amp;lt;/div&amp;gt;&#10; &amp;lt;ul class=&amp;#34;links-of-blogroll-list&amp;#34;&amp;gt;&#10; {% set posts = site.posts.sort(&amp;#39;-date&amp;#39;) %}&#10; {% for post in posts.slice(&amp;#39;0&amp;#39;, &amp;#39;3&amp;#39;) %}&#10; &amp;lt;li&amp;gt;&#10; &amp;lt;a href=&amp;#34;{{ url_for(post.path) }}&amp;#34; title=&amp;#34;{{ post.title }}&amp;#34; target=&amp;#34;_blank&amp;#34;&amp;gt;{{ post.title }}&amp;lt;/a&amp;gt;&#10; &amp;lt;/li&amp;gt;&#10; {% endfor %}&#10; &amp;lt;/ul&amp;gt;&#10; &amp;lt;/div&amp;gt;&#10;{% endif %}&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="搜索结果处添加"&gt;&lt;span class="heading-numbered"&gt;搜索结果处添加&lt;/span&gt;&#10; &lt;a href="#%e6%90%9c%e7%b4%a2%e7%bb%93%e6%9e%9c%e5%a4%84%e6%b7%bb%e5%8a%a0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;找到路径&lt;code&gt;H:\hexo\themes\hexo-theme-next\layout\_partials\search&lt;/code&gt;下&lt;code&gt;localsearch.swig&lt;/code&gt;文件&lt;br&gt;&#10;把&lt;code&gt;&amp;lt;div id=&amp;quot;local-search-result&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt;修改成以下内容（这里显示 15 篇）&lt;/p&gt;</description></item><item><title>java 猜数字小游戏（Math 类）</title><link>https://lruihao.cn/posts/mathclass/</link><pubDate>Tue, 15 Jan 2019 17:33:28 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/mathclass/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;大一刚学 c 的时候以前写过 &lt;a href="https://github.com/Lruihao/Grocery/tree/master/C%26C%2B%2B" target="_blank" rel="external nofollow noopener noreferrer"&gt;c 语言版&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 的。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Math: 针对数学进行运算的类&lt;/li&gt;&#10;&lt;li&gt;特点：没有构造方法，因为它的成员都是静态的&lt;/li&gt;&#10;&lt;li&gt;产生随机数：&#10;public static double random(): 产生随机数，范围 [0.0,1.0)&lt;/li&gt;&#10;&lt;li&gt;产生 1-100 之间的随机数&#10;int number = (int)(Math.random()*100)+1;&lt;/li&gt;&#10;&lt;li&gt;猜数字小游戏案例&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>面向对象基础知识总结</title><link>https://lruihao.cn/posts/duixiang/</link><pubDate>Tue, 15 Jan 2019 16:07:31 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/duixiang/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;h2 class="heading-element" id="面向对象思想理解"&gt;&lt;span class="heading-numbered"&gt;面向对象思想（理解）&lt;/span&gt;&#10; &lt;a href="#%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e6%80%9d%e6%83%b3%e7%90%86%e8%a7%a3" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;面向对象是基于面向过程的一种编程思想&lt;/li&gt;&#10;&lt;li&gt;思想特点：&lt;br&gt;&#10;A: 是一种更符合我们思考习惯的思想&lt;br&gt;&#10;B: 把复杂的问题简单化&lt;br&gt;&#10;C: 让我们从执行者变成了指挥者&lt;/li&gt;&#10;&lt;li&gt;举例：&lt;br&gt;&#10;A: 洗衣服&lt;br&gt;&#10;B: 吃饭&lt;br&gt;&#10;C: 买电脑&lt;/li&gt;&#10;&lt;li&gt;举例并代码体现&#10;把大象装进冰箱&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="类与对象掌握"&gt;&lt;span class="heading-numbered"&gt;类与对象（掌握）&lt;/span&gt;&#10; &lt;a href="#%e7%b1%bb%e4%b8%8e%e5%af%b9%e8%b1%a1%e6%8e%8c%e6%8f%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;我们学习编程是为了把现实世界的事物用编程语言描述来实现信息化。&lt;/li&gt;&#10;&lt;li&gt;现实世界事物是如何表达的呢？&#10;属性：外在特征&lt;br&gt;&#10;行为：内在行为&lt;/li&gt;&#10;&lt;li&gt;我们学习的是 java 语言，它最基本的单位是类。&lt;br&gt;&#10;所以我们要学会用类来体现一个事物。&lt;/li&gt;&#10;&lt;li&gt;类：是一组相关的属性和行为的集合&lt;/li&gt;&#10;&lt;li&gt;对象：是该类事物的具体个体。&lt;/li&gt;&#10;&lt;li&gt;举例：&lt;br&gt;&#10;学生 类&lt;br&gt;&#10;张三 对象&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="类的组成掌握"&gt;&lt;span class="heading-numbered"&gt;类的组成（掌握）&lt;/span&gt;&#10; &lt;a href="#%e7%b1%bb%e7%9a%84%e7%bb%84%e6%88%90%e6%8e%8c%e6%8f%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;成员变量&lt;br&gt;&#10;其实就是变量，只不过定义在类中，方法外，并且可以不用初始化。&lt;/li&gt;&#10;&lt;li&gt;成员方法&lt;br&gt;&#10;其实就是方法，只不过不需要 static 了&lt;/li&gt;&#10;&lt;li&gt;案例：&lt;br&gt;&#10;学生类&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre&gt;&lt;code&gt;class Student {&#10; String name;&#10; int age;&#10;&#10; public void study() {}&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="类的使用掌握"&gt;&lt;span class="heading-numbered"&gt;类的使用（掌握）&lt;/span&gt;&#10; &lt;a href="#%e7%b1%bb%e7%9a%84%e4%bd%bf%e7%94%a8%e6%8e%8c%e6%8f%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;创建对象&lt;br&gt;&#10;格式：类名 对象名 = new 类名 ();&lt;/li&gt;&#10;&lt;li&gt;使用成员&lt;br&gt;&#10;成员变量：对象名。变量名；&#10;成员方法：对象名。方法名 (&amp;hellip;);&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="成员变量和局部变量的区别理解"&gt;&lt;span class="heading-numbered"&gt;成员变量和局部变量的区别（理解）&lt;/span&gt;&#10; &lt;a href="#%e6%88%90%e5%91%98%e5%8f%98%e9%87%8f%e5%92%8c%e5%b1%80%e9%83%a8%e5%8f%98%e9%87%8f%e7%9a%84%e5%8c%ba%e5%88%ab%e7%90%86%e8%a7%a3" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;在类中的位置不同&lt;br&gt;&#10;A: 成员变量 类中，方法外&lt;br&gt;&#10;B: 局部变量 方法的形式参数，或者方法体中&lt;/li&gt;&#10;&lt;li&gt;在内存中的位置不同&lt;br&gt;&#10;A: 成员变量 在堆中&lt;br&gt;&#10;B: 局部变量 在栈中&lt;/li&gt;&#10;&lt;li&gt;生命周期不同&lt;br&gt;&#10;A: 成员变量 随着对象的存在而存在，随着对象的消失而消失&lt;br&gt;&#10;B: 局部变量 随着方法的调用而存在，随着方法的调用完毕而消失&lt;/li&gt;&#10;&lt;li&gt;初始化值不同&lt;br&gt;&#10;A: 成员变量 有默认初始化值&lt;br&gt;&#10;B: 局部变量 没有默认值，必须先声明，赋值，最后才能使用&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="形式参数问题理解"&gt;&lt;span class="heading-numbered"&gt;形式参数问题（理解）&lt;/span&gt;&#10; &lt;a href="#%e5%bd%a2%e5%bc%8f%e5%8f%82%e6%95%b0%e9%97%ae%e9%a2%98%e7%90%86%e8%a7%a3" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;基本类型&lt;br&gt;&#10;基本类型作为形式参数，需要的是该基本类型的值。&lt;/li&gt;&#10;&lt;li&gt;引用类型&lt;br&gt;&#10;引用类型作为形式参数，需要的是该引用类型的地址值。（对象）&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="匿名对象理解"&gt;&lt;span class="heading-numbered"&gt;匿名对象（理解）&lt;/span&gt;&#10; &lt;a href="#%e5%8c%bf%e5%90%8d%e5%af%b9%e8%b1%a1%e7%90%86%e8%a7%a3" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;匿名对象：没有名字的对象。是对象的简化书写方式。&lt;/li&gt;&#10;&lt;li&gt;使用场景&lt;br&gt;&#10;A: 调用方法，仅仅只调用一次&lt;br&gt;&#10;B: 作为实际参数传递&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="封装掌握"&gt;&lt;span class="heading-numbered"&gt;封装（掌握）&lt;/span&gt;&#10; &lt;a href="#%e5%b0%81%e8%a3%85%e6%8e%8c%e6%8f%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;隐藏实现细节，提供公共的访问方式&lt;/li&gt;&#10;&lt;li&gt;好处：&lt;br&gt;&#10;A: 隐藏实现细节，提供公共的访问方式&lt;br&gt;&#10;B: 提高了代码的复用性&lt;br&gt;&#10;C: 提高了代码的安全性&lt;/li&gt;&#10;&lt;li&gt;使用原则&lt;br&gt;&#10;A: 把成员变量隐藏&lt;br&gt;&#10;B: 给出该成员变量对应的公共访问方式&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="private-关键字掌握"&gt;&lt;span class="heading-numbered"&gt;private 关键字（掌握）&lt;/span&gt;&#10; &lt;a href="#private-%e5%85%b3%e9%94%ae%e5%ad%97%e6%8e%8c%e6%8f%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;是一个权限修饰符&lt;/li&gt;&#10;&lt;li&gt;可以修饰类的成员（成员变量和成员方法）&lt;/li&gt;&#10;&lt;li&gt;仅仅在本类中可以访问，对外提供对应的 GetXXX()，SetXXX() 等方法&lt;/li&gt;&#10;&lt;li&gt;标准代码：&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre&gt;&lt;code&gt;class Student {&#10; private String name;&#10; private int age;&#10;&#10; public void setName(String n) {&#10; name = n;&#10; }&#10;&#10; public String getName() {&#10; return name;&#10; }&#10;&#10; public void setAge(int a) {&#10; age = a;&#10; }&#10;&#10; public int getAge() {&#10; return age;&#10; }&#10;&#10; public void study() {}&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="this-关键字掌握"&gt;&lt;span class="heading-numbered"&gt;this 关键字（掌握）&lt;/span&gt;&#10; &lt;a href="#this-%e5%85%b3%e9%94%ae%e5%ad%97%e6%8e%8c%e6%8f%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;this：代表本类的对象&lt;/li&gt;&#10;&lt;li&gt;应用场景：&lt;br&gt;&#10;解决了局部变量隐藏成员变量的问题。&lt;br&gt;&#10;其他用法和 super 一起讲。&lt;/li&gt;&#10;&lt;li&gt;标准代码：&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre&gt;&lt;code&gt; class Student {&#10; private String name;&#10; private int age;&#10;&#10; public void setName(String name) {//局部变量&#10; this.name = name;&#10; }&#10;&#10; public String getName() {&#10; return name;&#10; }&#10;&#10; public void setAge(int age) {&#10; this.age = age;&#10; }&#10;&#10; public int getAge() {&#10; return age;&#10; }&#10;&#10; public void show() {&#10; System.out.println(&amp;#34;姓名是：&amp;#34;&amp;#43;name&amp;#43;&amp;#34;, 年龄是：&amp;#34;&amp;#43;age);&#10; }&#10;&#10; public void study() {&#10; System.out.println(&amp;#34;学生爱学习&amp;#34;);&#10; }&#10;&#10; public void eat() {&#10; System.out.println(&amp;#34;学生要吃饭&amp;#34;);&#10; }&#10;&#10; public void sleep() {&#10; System.out.println(&amp;#34;学生想睡觉&amp;#34;);&#10; }&#10; }&#10;&#10; class StudentTest {&#10; public static void main(String[] args) {&#10; Student s = new Student();&#10;&#10; s.setName(&amp;#34;林青霞&amp;#34;);&#10; s.setAge(28);&#10;&#10; s.show();&#10; s.study();&#10; s.eat();&#10; s.sleep();&#10;&#10; System.out.println(&amp;#34;姓名是：&amp;#34;&amp;#43;s.getName());&#10; System.out.println(&amp;#34;年龄是：&amp;#34;&amp;#43;s.getAge());&#10; }&#10; }&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="构造方法掌握"&gt;&lt;span class="heading-numbered"&gt;构造方法（掌握）&lt;/span&gt;&#10; &lt;a href="#%e6%9e%84%e9%80%a0%e6%96%b9%e6%b3%95%e6%8e%8c%e6%8f%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;作用：对对象的数据进行初始化。&lt;/li&gt;&#10;&lt;li&gt;特点：&lt;br&gt;&#10;A: 方法名和类名相同&lt;br&gt;&#10;B: 没有返回值类型&lt;br&gt;&#10;C: 没有返回值&lt;/li&gt;&#10;&lt;li&gt;注意事项&lt;br&gt;&#10;A: 如果我们没写构造方法，系统将默认给出无参构造方法&lt;br&gt;&#10;B: 如果我们写了构造方法，系统将不再给出默认无参构造方法&lt;br&gt;&#10;建议：我们自己手动给出无参构造方法&lt;/li&gt;&#10;&lt;li&gt;给成员变量赋值：&lt;br&gt;&#10;A: 无参+setXxx()&lt;br&gt;&#10;B: 带参&lt;/li&gt;&#10;&lt;li&gt;一个标准的代码：&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre&gt;&lt;code&gt; class Student {&#10; private String name;&#10; private int age;&#10;&#10; public Student() {}&#10;&#10; public Student(String name,int age) {//构造方法&#10; this.name = name;&#10; this.age = age;&#10; }&#10;&#10; public void setName(String name) {&#10; this.name = name;&#10; }&#10;&#10; public String getName() {&#10; return name;&#10; }&#10;&#10; public void setAge(int age) {&#10; this.age = age;&#10; }&#10;&#10; public int getAge() {&#10; return age;&#10; }&#10;&#10; public void show() {&#10; System.out.println(&amp;#34;姓名是：&amp;#34;&amp;#43;name&amp;#43;&amp;#34;, 年龄是：&amp;#34;&amp;#43;age);&#10; }&#10; }&#10;&#10; class StudentTest {&#10; public static void main(String[] args) {&#10; //无参&amp;#43;setXxx()&#10; Student s = new Student();&#10; s.setName(&amp;#34;林青霞&amp;#34;);&#10; s.setAge(28);&#10; s.show();&#10;&#10; //带参&#10; Student ss = new Student(&amp;#34;张曼玉&amp;#34;,20);&#10; ss.show();&#10; }&#10; }&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="对象的初始化过程理解"&gt;&lt;span class="heading-numbered"&gt;对象的初始化过程（理解）&lt;/span&gt;&#10; &lt;a href="#%e5%af%b9%e8%b1%a1%e7%9a%84%e5%88%9d%e5%a7%8b%e5%8c%96%e8%bf%87%e7%a8%8b%e7%90%86%e8%a7%a3" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Student s = new Student(); 做了哪些事情&lt;br&gt;&#10;A: 加载 Student.class 文件进内存&lt;br&gt;&#10;B: 在栈中为 s 开辟空间&lt;br&gt;&#10;C: 在堆中为学生对象开辟空间&lt;br&gt;&#10;D: 为学生对象的成员变量赋默认值&lt;br&gt;&#10;E: 为学生对象的成员变量赋显示值&lt;br&gt;&#10;F: 通过构造方法给成员变量赋值&lt;br&gt;&#10;G: 对象构造完毕，把地址赋值给 s 变量&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 class="heading-element" id="static-关键字掌握"&gt;&lt;span class="heading-numbered"&gt;static 关键字（掌握）&lt;/span&gt;&#10; &lt;a href="#static-%e5%85%b3%e9%94%ae%e5%ad%97%e6%8e%8c%e6%8f%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;是一个状态修饰符。静态的意思&lt;/li&gt;&#10;&lt;li&gt;它可以修饰成员变量和成员方法&lt;/li&gt;&#10;&lt;li&gt;特点：&lt;br&gt;&#10;&lt;strong&gt;A: 随着类的加载而加载&lt;br&gt;&#10;B: 优先于对象存在&lt;br&gt;&#10;C: 被所有对象共享&lt;/strong&gt;&lt;br&gt;&#10;这也是判断我们是不是该使用静态的条件&lt;br&gt;&#10;举例：饮水机（可共享 static) 和水杯例子。&lt;br&gt;&#10;D: 可以通过类名调用&lt;br&gt;&#10;静态修饰的内容，可以通过类名调用，也可以通过对象名调用&lt;/li&gt;&#10;&lt;li&gt;方法访问特点&lt;br&gt;&#10;A: 普通成员方法&lt;br&gt;&#10;可以访问静态成员变量，非静态成员变量，静态成员方法，非静态成员方法&lt;br&gt;&#10;B: 静态成员方法&lt;br&gt;&#10;&lt;strong&gt;只能访问静态成员变量，静态成员方法&lt;br&gt;&#10;简记：静态只能访问静态&lt;/strong&gt;&lt;br&gt;&#10;注意：&lt;br&gt;&#10;&lt;strong&gt;静态中是不能有 this 的。&lt;br&gt;&#10;先进内存的不能访问后进内存的。反之可以。&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre&gt;&lt;code&gt;/**&#10; * 班级编号应该是被班级每个人都共享的，所以定义一个就应该可以了。&#10; * 而姓名和年龄，每个人应该是不一样的，所以，每个对象，都应该定义自己的。&#10; *&#10; * 在 java 中，用什么来表示成员变量是被共享的呢？static&#10; */&#10;class Student {&#10; //姓名&#10; String name;&#10; //年龄&#10; int age;&#10; //班级编号&#10; //String classNumber;&#10; static String classNumber;&#10;&#10; public Student(String name,int age) {&#10; this.name = name;&#10; this.age = age;&#10; }&#10;&#10; public Student(String name,int age,String classNumber) {&#10; this.name = name;&#10; this.age = age;&#10; this.classNumber = classNumber;&#10; }&#10;&#10; public void show() {&#10; System.out.println(name&amp;#43;&amp;#34;---&amp;#34;&amp;#43;age&amp;#43;&amp;#34;---&amp;#34;&amp;#43;classNumber);&#10; }&#10;}&#10;&#10;class StudentDemo {&#10; public static void main(String[] args) {&#10; //创建学生对象&#10; Student s1 = new Student(&amp;#34;林青霞&amp;#34;,28,&amp;#34;20150306&amp;#34;);&#10; s1.show();&#10;&#10; /*&#10; Student s2 = new Student(&amp;#34;马云&amp;#34;,35,&amp;#34;20150306&amp;#34;);&#10; s2.show();&#10;&#10; Student s3 = new Student(&amp;#34;马化腾&amp;#34;,33,&amp;#34;20150306&amp;#34;);&#10; s3.show();&#10; */&#10; Student s2 = new Student(&amp;#34;马云&amp;#34;,35);&#10; s2.show();&#10;&#10; Student s3 = new Student(&amp;#34;马化腾&amp;#34;,33);&#10; s3.show();&#10; }&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/*&#10; static: 静态关键字。&#10;&#10; 作用：&#10; 可以修饰成员变量和成员方法&#10;&#10; 特点：&#10; A: 随着类的加载而加载&#10; B: 优先于对象存在&#10; C: 被类的所有对象共享&#10; 这也是我们判断是否使用静态关键字的条件&#10;&#10; 饮水机：可以被静态修饰&#10; 水杯：不可以被静态修饰&#10; D: 可以通过类名调用&#10; 我们的调用既可以是对象，还可以是类名&#10;*/&#10;class Student {&#10; public void show() {&#10; System.out.println(&amp;#34;show&amp;#34;);&#10; }&#10;&#10; public static void show2() {&#10; System.out.println(&amp;#34;show2&amp;#34;);&#10; }&#10;}&#10;&#10;class StudentDemo2 {&#10; public static void main(String[] args) {&#10; Student s = new Student();&#10; s.show();&#10; s.show2();&#10;&#10; Student.show2();&#10; //Student.show();&amp;amp;ensp;&#10; }&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;/*&#10; static 的注意事项：&#10; A: 在静态方法中是没有 this 关键字的&#10; 因为静态是随着类的加载而加载，优先于对象而存在。而 this 是随着对象的创建而存在。&#10; 先进内存的，不能访问后进内存的；而后进内存的，可以访问先进内存的。&#10; B: 静态只能访问静态。&#10; 非静态的成员方法：&#10; 可以访问静态成员变量，非静态成员变量，静态成员方法，非静态成员方法&#10; 静态的成员方法：&#10; 只能访问静态的成员变量，静态的成员方法&#10;*/&#10;/*&#10;class Student {&#10; private String name;&#10;&#10; public static void setName(String name) {//&amp;amp;ensp; 静态方法不能用 this&#10; this.name = name;&#10; }&#10;&#10; public void show() {&#10; System.out.println(name);&#10; }&#10;}*/&#10;&#10;class Demo {&#10; int x = 10;&#10; static int y = 20;&#10;&#10; public void show() {&#10; System.out.println(x);&#10; System.out.println(y);&#10; }&#10;&#10; public static void show2() {&#10; //System.out.println(x);&amp;amp;ensp;&#10; System.out.println(y);//√&#10; }&#10;&#10; public void show3() {&#10; show();&#10; show2();&#10; }&#10;&#10; public static void show4() {&#10; //show(); 只能访问静态的成员方法&#10; show2();&#10; }&#10;}&#10;&#10;class StudentDemo3 {&#10; public static void main(String[] args) {&#10; //Student.setName(&amp;#34;林青霞&amp;#34;);&#10; }&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="静态成员变量和普通成员变量的区别理解"&gt;&lt;span class="heading-numbered"&gt;静态成员变量和普通成员变量的区别（理解）&lt;/span&gt;&#10; &lt;a href="#%e9%9d%99%e6%80%81%e6%88%90%e5%91%98%e5%8f%98%e9%87%8f%e5%92%8c%e6%99%ae%e9%80%9a%e6%88%90%e5%91%98%e5%8f%98%e9%87%8f%e7%9a%84%e5%8c%ba%e5%88%ab%e7%90%86%e8%a7%a3" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;所属不同&lt;br&gt;&#10;静态属于类的，称为类变量&lt;br&gt;&#10;非静态属于对象的，称为对象变量，实例变量&lt;/li&gt;&#10;&lt;li&gt;内存空间不同&lt;br&gt;&#10;静态在方法区的静态区&lt;br&gt;&#10;非静态在堆内存&lt;/li&gt;&#10;&lt;li&gt;生命周期不同&lt;br&gt;&#10;静态随着类的加载而加载，随着类的消失而消失&lt;br&gt;&#10;非静态随着对象的创建而存在，随着对象的消失而消失&lt;/li&gt;&#10;&lt;li&gt;调用不同&lt;br&gt;&#10;静态可以通过类名调用，也可以通过对象名调用。建议通过类名调用&lt;br&gt;&#10;非静态只能通过对象名调用&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="main-方法是静态的理解"&gt;&lt;span class="heading-numbered"&gt;main 方法是静态的（理解）&lt;/span&gt;&#10; &lt;a href="#main-%e6%96%b9%e6%b3%95%e6%98%af%e9%9d%99%e6%80%81%e7%9a%84%e7%90%86%e8%a7%a3" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;public static void main(String[] args)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;public: 访问权限修饰符，表示最大的访问权限，被 jvm 调用，所有权限要够大。&lt;br&gt;&#10;static: 被 jvm 调用，不用创建对象，直接类名访问&lt;br&gt;&#10;void: 被 jvm 调用，不需要给 jvm 返回值&lt;br&gt;&#10;main: 一个通用的名称，虽然不是关键字，但是被 jvm 识别&lt;br&gt;&#10;String[] args:&lt;br&gt;&#10;早期出现是为了接收键盘录入数据的。&lt;/p&gt;</description></item><item><title>java 水仙花数（循环）</title><link>https://lruihao.cn/posts/java-range/</link><pubDate>Mon, 14 Jan 2019 17:30:24 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/java-range/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;水仙花数（Narcissistic number）也被称为超完全数字不变数（pluperfect digital invariant, PPDI）、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数（Armstrong number），水仙花数是指一个 3 位数，它的每个位上的数字的 3 次幂之和等于它本身（例如：1&lt;sup&gt;3 + 5&lt;/sup&gt;3+ 3^3 = 153）。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>java 录入数据</title><link>https://lruihao.cn/posts/java-input/</link><pubDate>Mon, 14 Jan 2019 15:33:46 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/java-input/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;h2 class="heading-element" id="记忆格式"&gt;&lt;span class="heading-numbered"&gt;记忆格式&lt;/span&gt;&#10; &lt;a href="#%e8%ae%b0%e5%bf%86%e6%a0%bc%e5%bc%8f" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;(1) 导包：&lt;br&gt;&#10;import java.util.Scanner;&lt;br&gt;&#10;注意：位置在 class 的上面。&lt;br&gt;&#10;(2) 创建键盘录入对象：&lt;br&gt;&#10;Scanner sc = new Scanner(System.in);&lt;br&gt;&#10;(3) 获取数据&lt;br&gt;&#10;int i = sc.nextInt();&lt;br&gt;&#10;(4) 练习：&lt;br&gt;&#10;A: 求两个数据的和&lt;br&gt;&#10;B: 获取两个数据中较大的值&lt;br&gt;&#10;C: 获取三个数据中较大的值&lt;br&gt;&#10;D: 比较两个数是否相等&lt;/p&gt;</description></item><item><title>java 标识符</title><link>https://lruihao.cn/posts/biaoshi/</link><pubDate>Mon, 14 Jan 2019 15:07:57 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/biaoshi/</guid><category domain="https://lruihao.cn/categories/java/">Java</category><description>&lt;h2 class="heading-element" id="标识符"&gt;&lt;span class="heading-numbered"&gt;标识符&lt;/span&gt;&#10; &lt;a href="#%e6%a0%87%e8%af%86%e7%ac%a6" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;给类，接口，方法或者变量起名字的符号&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="组成规则"&gt;&lt;span class="heading-numbered"&gt;组成规则&lt;/span&gt;&#10; &lt;a href="#%e7%bb%84%e6%88%90%e8%a7%84%e5%88%99" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;A: 英文字母大小写&lt;br&gt;&#10;B: 数字&lt;br&gt;&#10;C:_和$&lt;/p&gt;</description></item><item><title>英语语法--主谓一致</title><link>https://lruihao.cn/posts/subject-verb/</link><pubDate>Sat, 12 Jan 2019 13:02:49 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/subject-verb/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;!-- markdownlint-disable MD033 --&gt;&#10;&lt;h2 class="heading-element" id="常见情况"&gt;&lt;span class="heading-numbered"&gt;常见情况&lt;/span&gt;&#10; &lt;a href="#%e5%b8%b8%e8%a7%81%e6%83%85%e5%86%b5" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 class="heading-element" id="由-and-或-both-and-连接的并列主语谓语动词一般用复数"&gt;&lt;span class="heading-numbered"&gt;由 and 或 both and 连接的并列主语，谓语动词一般用复数&lt;/span&gt;&#10; &lt;a href="#%e7%94%b1-and-%e6%88%96-both-and-%e8%bf%9e%e6%8e%a5%e7%9a%84%e5%b9%b6%e5%88%97%e4%b8%bb%e8%af%ad%e8%b0%93%e8%af%ad%e5%8a%a8%e8%af%8d%e4%b8%80%e8%88%ac%e7%94%a8%e5%a4%8d%e6%95%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;English &lt;u&gt;and&lt;/u&gt; chinese are two quite different languages.&lt;/li&gt;&#10;&lt;li&gt;&lt;u&gt;Both&lt;/u&gt; brother &lt;u&gt;and&lt;/u&gt; sister tire of city life.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 class="heading-element" id="一但主语前被-noeveryeach-所修饰时谓语动词用单数"&gt;&lt;span class="heading-numbered"&gt;一但主语前被 no,every,each 所修饰时，谓语动词用单数&lt;/span&gt;&#10; &lt;a href="#%e4%b8%80%e4%bd%86%e4%b8%bb%e8%af%ad%e5%89%8d%e8%a2%ab-noeveryeach-%e6%89%80%e4%bf%ae%e9%a5%b0%e6%97%b6%e8%b0%93%e8%af%ad%e5%8a%a8%e8%af%8d%e7%94%a8%e5%8d%95%e6%95%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;&lt;u&gt;No&lt;/u&gt; desk &lt;u&gt;and&lt;/u&gt; (no) chair is seen in the hall.&lt;/li&gt;&#10;&lt;li&gt;All work &lt;u&gt;and&lt;/u&gt; &lt;u&gt;no&lt;/u&gt; play makes Jack a dull boy.&lt;/li&gt;&#10;&lt;li&gt;They each have been to the Forbidden city.&#10;each 位于主语后，所以谓语动词用复数&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 class="heading-element" id="当主语表示同一事物的两个部分同一个人的两个身份第二个名词前无冠词谓语动词用单数"&gt;&lt;span class="heading-numbered"&gt;当主语表示同一事物的两个部分，同一个人的两个身份（第二个名词前无冠词），谓语动词用单数&lt;/span&gt;&#10; &lt;a href="#%e5%bd%93%e4%b8%bb%e8%af%ad%e8%a1%a8%e7%a4%ba%e5%90%8c%e4%b8%80%e4%ba%8b%e7%89%a9%e7%9a%84%e4%b8%a4%e4%b8%aa%e9%83%a8%e5%88%86%e5%90%8c%e4%b8%80%e4%b8%aa%e4%ba%ba%e7%9a%84%e4%b8%a4%e4%b8%aa%e8%ba%ab%e4%bb%bd%e7%ac%ac%e4%ba%8c%e4%b8%aa%e5%90%8d%e8%af%8d%e5%89%8d%e6%97%a0%e5%86%a0%e8%af%8d%e8%b0%93%e8%af%ad%e5%8a%a8%e8%af%8d%e7%94%a8%e5%8d%95%e6%95%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;比如 the（a）horse and cart a watch and chain a knife and fork a cup and soucer the butter and bread&lt;/p&gt;</description></item><item><title>英语语法--形式倒装</title><link>https://lruihao.cn/posts/inversion-3/</link><pubDate>Mon, 10 Dec 2018 21:52:30 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/inversion-3/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;形式倒装，句子本不是本来的语序。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="heading-element" id="may-位于句首标祝愿"&gt;&lt;span class="heading-numbered"&gt;may 位于句首，标祝愿&lt;/span&gt;&#10; &lt;a href="#may-%e4%bd%8d%e4%ba%8e%e5%8f%a5%e9%a6%96%e6%a0%87%e7%a5%9d%e6%84%bf" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;例句&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;May you succeed.&lt;/li&gt;&#10;&lt;li&gt;May you have a happy holiday.&lt;/li&gt;&#10;&lt;li&gt;Long live chairman Mao.（毛主席万古长青）&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 class="heading-element" id="whatever-直接做成分或放在名词之前however-放在-advadj-之前或-manymuch-等词之前"&gt;&lt;span class="heading-numbered"&gt;whatever 直接做成分或放在名词之前，however 放在 adv,adj 之前或 many,much 等词之前&lt;/span&gt;&#10; &lt;a href="#whatever-%e7%9b%b4%e6%8e%a5%e5%81%9a%e6%88%90%e5%88%86%e6%88%96%e6%94%be%e5%9c%a8%e5%90%8d%e8%af%8d%e4%b9%8b%e5%89%8dhowever-%e6%94%be%e5%9c%a8-advadj-%e4%b9%8b%e5%89%8d%e6%88%96-manymuch-%e7%ad%89%e8%af%8d%e4%b9%8b%e5%89%8d" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;例句&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>英语语法--完全倒装</title><link>https://lruihao.cn/posts/inversion-2/</link><pubDate>Mon, 10 Dec 2018 21:14:51 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/inversion-2/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;完全倒装：把整个谓语动词放到主语前。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="heading-element" id="表方位或时间的副词-adv表地点的介词短语位于句首时"&gt;&lt;span class="heading-numbered"&gt;表方位或时间的副词 (adv)、表地点的介词短语位于句首时&lt;/span&gt;&#10; &lt;a href="#%e8%a1%a8%e6%96%b9%e4%bd%8d%e6%88%96%e6%97%b6%e9%97%b4%e7%9a%84%e5%89%af%e8%af%8d-adv%e8%a1%a8%e5%9c%b0%e7%82%b9%e7%9a%84%e4%bb%8b%e8%af%8d%e7%9f%ad%e8%af%ad%e4%bd%8d%e4%ba%8e%e5%8f%a5%e9%a6%96%e6%97%b6" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;例句&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Here comes the bus.&lt;/li&gt;&#10;&lt;li&gt;In the lecture hall of a university sits a professor.&lt;/li&gt;&#10;&lt;li&gt;Out rushed the children.&lt;/li&gt;&#10;&lt;li&gt;Now comes your turn.&lt;/li&gt;&#10;&lt;li&gt;Up jumped the cat and caught the mouse.&lt;/li&gt;&#10;&lt;li&gt;&lt;u&gt;Down&lt;/u&gt; came the rain and &lt;u&gt;up&lt;/u&gt; went the umbrellas.&lt;/li&gt;&#10;&lt;li&gt;Among the people stood his friend,Jim.&lt;/li&gt;&#10;&lt;li&gt;(To be) South of the river lies a small factory.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;但主语为表示人称的代词时无需倒装&lt;/p&gt;</description></item><item><title>英语语法--部分倒装</title><link>https://lruihao.cn/posts/inversion-1/</link><pubDate>Sat, 08 Dec 2018 17:52:39 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/inversion-1/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;虽然我英语四级没过，词汇量也不很多，甚至下降了很多，但是对于英语的语法我还是很喜欢的，马上快四级了又，复习整理一下以前的语法笔记。&lt;strong&gt;以下内容纯手打！！&lt;/strong&gt;&#10;先从倒装句开始吧！分为三大类，部分倒装，完全倒装和形式倒装。先复习第一种。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>hexo 插件及 next 内置样式集</title><link>https://lruihao.cn/posts/nextplugin/</link><pubDate>Sat, 24 Nov 2018 16:54:09 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/nextplugin/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;2021/10/2 更新&lt;br&gt;&#10;博客已迁移至 Hugo, 插件演示不适用，已删除。&lt;br&gt;&#10;让文章写的好看又简洁又好用的插件！&lt;a href="https://hexo.io/zh-cn/docs/tag-plugins.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;hexo 完整的标签列表&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;，&lt;a href="https://theme-next.org/docs/tag-plugins/" target="_blank" rel="external nofollow noopener noreferrer"&gt;next 插件列表&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>通过 bat 批处理文件自动提交博客代码</title><link>https://lruihao.cn/posts/commit-bat/</link><pubDate>Sat, 17 Nov 2018 14:25:49 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/commit-bat/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;前面我有文章提到怎么提交本地文件到 github,coding 等远程仓库。每次可以分为三个步骤&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;git add * （添加需要提交的文件，这里全选）&lt;/li&gt;&#10;&lt;li&gt;git commit -m &amp;ldquo;提交信息&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;git push&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;但是这样感觉很麻烦每次都要重复输入提交命令和提示信息。&#10;这个时候可以用到 windows 批处理 bat 文件 (linux 的话可以用 shell 脚本）。用完发现好用到不行！&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>博採眾長 app</title><link>https://lruihao.cn/posts/fas-app/</link><pubDate>Mon, 12 Nov 2018 16:04:04 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/fas-app/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;h3 class="heading-element" id="介绍"&gt;&lt;span class="heading-numbered"&gt;介绍&lt;/span&gt;&#10; &lt;a href="#%e4%bb%8b%e7%bb%8d" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;使用 fusion app 对网页进行的封装。&lt;br&gt;&#10;功能：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;浏览本博客，主页&lt;/li&gt;&#10;&lt;li&gt;私人网盘&lt;/li&gt;&#10;&lt;li&gt;2048 等小游戏&lt;/li&gt;&#10;&lt;li&gt;在线客服，QQ 等&lt;/li&gt;&#10;&lt;li&gt;pc 与移动浏览器标识切换&lt;/li&gt;&#10;&lt;li&gt;留言，打赏，博主日志等&lt;/li&gt;&#10;&lt;li&gt;分享功能，分享到 QQ，微信，浏览器打开等&lt;/li&gt;&#10;&lt;li&gt;app 内添加书签，自动记录历史记录，刷新等&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;配合博客的&lt;code&gt;PWA + quicklink&lt;/code&gt;功能可实现离线浏览&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>caddy-两步搭建超简单云盘</title><link>https://lruihao.cn/posts/caddy-file/</link><pubDate>Sun, 11 Nov 2018 13:59:27 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/caddy-file/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;h2 class="heading-element" id="安装"&gt;&lt;span class="heading-numbered"&gt;安装&lt;/span&gt;&#10; &lt;a href="#%e5%ae%89%e8%a3%85" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;cd ~&#10;curl https://getcaddy.com | bash -s personal http.filemanager&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="编写配置文件"&gt;&lt;span class="heading-numbered"&gt;编写配置文件&lt;/span&gt;&#10; &lt;a href="#%e7%bc%96%e5%86%99%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;vim Caddyfile&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;内容如下：&lt;/p&gt;</description></item><item><title>next 添加支持 pdf</title><link>https://lruihao.cn/posts/next-pdf/</link><pubDate>Fri, 09 Nov 2018 12:51:48 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/next-pdf/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;最新的 next 主题已经更新了支持 PDF 功能，&lt;del&gt;写法也和链接写法一样&lt;/del&gt;，可是我没有更新，我按 github 上那个 readme 试了一下好像不可以，所以用了另外一种插件的方法。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="iframe推荐"&gt;&lt;span class="heading-numbered"&gt;iframe(推荐)&lt;/span&gt;&#10; &lt;a href="#iframe%e6%8e%a8%e8%8d%90" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;iframe src=&amp;#34;/posts/next-pdf/1.pdf&amp;#34; style=&amp;#34;width: 100%;height: 800px;&amp;#34;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="模板自带"&gt;&lt;span class="heading-numbered"&gt;模板自带&lt;/span&gt;&#10; &lt;a href="#%e6%a8%a1%e6%9d%bf%e8%87%aa%e5%b8%a6" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;blockquote&gt;&#10;&lt;p&gt;今天（2019.4.3）又看了一下，改了写法，写法和插件一样，我在我的模板里也更新了。（插件模板二选一即可，个人更喜欢插件）&#10;但是如果安装插件后，也是优先模板的 pdf 脚本解析 pdf，所以在我的模板中把模板的 pdf 脚本先注释了。要启用去掉注释即可。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>js 判断用户设备类型及平台</title><link>https://lruihao.cn/posts/js-device/</link><pubDate>Sat, 03 Nov 2018 23:35:44 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/js-device/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;p&gt;前端开发经常遇到需要判断用户的浏览设备，是 pc 端还是移动端，移动端使用的是什么手机系统？android、ios、ipad、windows phone 等等，有时候还需要知道用户浏览页面是在微信中打开还是在移动端浏览器中打开，等等一系列判断做一些相应的处理。&lt;/p&gt;</description></item><item><title>hexo 博客源码备份</title><link>https://lruihao.cn/posts/blog-backup/</link><pubDate>Sat, 03 Nov 2018 12:49:28 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/blog-backup/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;h2 class="heading-element" id="备份-hexo-博客"&gt;&lt;span class="heading-numbered"&gt;备份 hexo 博客&lt;/span&gt;&#10; &lt;a href="#%e5%a4%87%e4%bb%bd-hexo-%e5%8d%9a%e5%ae%a2" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;//如果 themes/next（主题文件）下面有。git，请删除这个。git 文件夹。&#10;cd hexo&#10;git init //初始化本地仓库&#10;git add source themes scaffolds _config.yml package.json package-lock.json //将必要的文件依次添加&#10;git commit -m &amp;#34;blog hexo&amp;#34;&#10;git branch hexo //新建 hexo 分支&#10;git checkout hexo //切换到 hexo 分支上&#10;git remote add origin git@github.com:username/username.github.io.git //将本地与 Github 项目对接&#10;git push origin hexo //push 到 Github 项目的 hexo 分支上&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="在其他终端克隆和更新-hexo-博客"&gt;&lt;span class="heading-numbered"&gt;在其他终端克隆和更新 hexo 博客&lt;/span&gt;&#10; &lt;a href="#%e5%9c%a8%e5%85%b6%e4%bb%96%e7%bb%88%e7%ab%af%e5%85%8b%e9%9a%86%e5%92%8c%e6%9b%b4%e6%96%b0-hexo-%e5%8d%9a%e5%ae%a2" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;blockquote&gt;&#10;&lt;p&gt;nodejs,git,hexo 已经安装好，即搭建完成&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Git 常用指令汇总</title><link>https://lruihao.cn/posts/git/</link><pubDate>Tue, 30 Oct 2018 08:59:56 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/git/</guid><category domain="https://lruihao.cn/categories/git/">Git</category><description>&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;工作区&lt;/strong&gt;：就是你在电脑里能看到的目录。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;暂存区&lt;/strong&gt;：英文叫 stage, 或 index。一般存放在 &amp;ldquo;.git 目录下&amp;rdquo; 下的 index 文件（.git/index）中，所以我们把暂存区有时也叫作索引（index）。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;版本库&lt;/strong&gt;：工作区有一个隐藏目录。git，这个不算工作区，而是 Git 的版本库。&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>网站备案之旅</title><link>https://lruihao.cn/posts/beian/</link><pubDate>Mon, 29 Oct 2018 23:16:26 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/beian/</guid><category domain="https://lruihao.cn/categories/thoughts/">有所思</category><description>&lt;div class="details admonition success open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-check" aria-hidden="true"&gt;&lt;/i&gt;备案&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;经过时间长达 20 多天的备案之旅今天终于结束了，也闭馆了 20 多天，也按相关要求把 ICP 备案号和公安备案号加载了网站和博客底部。只是今天去岳塘分局签网络安全告知书的时候不小心把身份证落在那个办公室了。亏我走之前一秒还在提醒自己，唉！不过那个办公室的大姐姐挺好的，前面跟我说好星期一来，我还今天上午提前给她打了电话，她还下楼给我开办公楼楼道的门禁，还有我身份证落在那里她说先帮我收着，有时间再去拿！总之，这个姐姐的服务态度五星好评！手动@岳塘分局 B204 的姐姐。&lt;br&gt;&#10;备案完成也算放下一块提着的石头，可以睡个好觉了！ZzZzzzz&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>shell 脚本初体验</title><link>https://lruihao.cn/posts/shell/</link><pubDate>Mon, 29 Oct 2018 11:57:39 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/shell/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;p&gt;今天上机学了几个小命令&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;read&lt;/li&gt;&#10;&lt;li&gt;echo&lt;/li&gt;&#10;&lt;li&gt;if&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;然后自己写了一个小脚本觉得还挺有趣的&lt;/p&gt;</description></item><item><title>云服务器 CentOS 系统搭建 web 服务</title><link>https://lruihao.cn/posts/web-server-yun/</link><pubDate>Mon, 29 Oct 2018 09:15:58 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/web-server-yun/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;h3 class="heading-element" id="搭建-apache-web-服务"&gt;&lt;span class="heading-numbered"&gt;搭建 Apache web 服务&lt;/span&gt;&#10; &lt;a href="#%e6%90%ad%e5%bb%ba-apache-web-%e6%9c%8d%e5%8a%a1" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ol&gt;&#10;&lt;li&gt;安装 Apache 超文本传输协议 (HTTP) 服务器的主程序&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre&gt;&lt;code&gt;[root@VM_0_6_centos /]# yum install -y httpd&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;注意安装目录，可通过 cd 命令切换。&lt;/p&gt;&#10;&lt;ol start="2"&gt;&#10;&lt;li&gt;启动 HTTP 服务&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;pre&gt;&lt;code&gt;[root@VM_0_6_centos /]# systemctl start httpd.service&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果启动失败，可通过 systemctl status httpd.service 查看错误原因。&lt;br&gt;&#10;启动成功，证明 http 服务已经可以使用，发现还需要把本地文件传到服务器。&lt;br&gt;&#10;默认根目录&lt;code&gt;/var/www/html/&lt;/code&gt;&lt;/p&gt;</description></item><item><title>使用 js 准确获取当前页面 url 网址信息及 301 重定向实战</title><link>https://lruihao.cn/posts/href-301/</link><pubDate>Sun, 28 Oct 2018 14:22:00 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/href-301/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;h3 class="heading-element" id="获取链接转"&gt;&lt;span class="heading-numbered"&gt;获取链接（转）&lt;/span&gt;&#10; &lt;a href="#%e8%8e%b7%e5%8f%96%e9%93%be%e6%8e%a5%e8%bd%ac" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;&lt;a href="https://www.cnblogs.com/zhabayi/p/6419938.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;传送门&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;在 WEB 开发中，时常会用到 javascript 来获取当前页面的 url 网址信息，在这里是我的一些获取 url 信息的小总结。&lt;/p&gt;</description></item><item><title>windows 上搭建 web 服务器</title><link>https://lruihao.cn/posts/web-server-win/</link><pubDate>Fri, 26 Oct 2018 21:56:18 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/web-server-win/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;我用的 win10&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="heading-element" id="打开控制面板"&gt;&lt;span class="heading-numbered"&gt;打开控制面板&lt;/span&gt;&#10; &lt;a href="#%e6%89%93%e5%bc%80%e6%8e%a7%e5%88%b6%e9%9d%a2%e6%9d%bf" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;选择并进入“程序”，双击“启用或关闭 Windows 服务”，在弹出的窗口中选择“Internet Information Services”下面所有地选项，点击确定后，开始更新服务。&lt;br&gt;&#10;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://lruihao.cn/posts/web-server-win/images/1.png" title="打开控制面板" data-thumbnail="/posts/web-server-win/images/1.png" data-sub-html="&lt;h2&gt;打开控制面板&lt;/h2&gt;&lt;p&gt;打开控制面板&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://lruihao.cn/posts/web-server-win/images/1.png' alt="打开控制面板" height="742" width="1408"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;打开控制面板&lt;/figcaption&gt;&#10; &lt;/figure&gt;&lt;/p&gt;</description></item><item><title>使用 Git 上传代码到 github, coding 等仓库</title><link>https://lruihao.cn/posts/gituse/</link><pubDate>Fri, 26 Oct 2018 21:11:02 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/gituse/</guid><category domain="https://lruihao.cn/categories/git/">Git</category><description>&lt;h3 class="heading-element" id="config"&gt;&lt;span class="heading-numbered"&gt;config&lt;/span&gt;&#10; &lt;a href="#config" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;git config --global user.name &amp;#34;Your Name&amp;#34;&#10;git config --global user.email &amp;#34;email@example.com&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;&#10;&lt;p&gt;第一次使用 git 的时候需要设置提交者信息。&lt;br&gt;&#10;注意：&lt;br&gt;&#10;如果用了 &lt;code&gt;--global&lt;/code&gt; 选项，那么更改的配置文件就是位于你用户主目录下的那个，以后你所有的项目都会默认使用这里配置的用户信息。&lt;br&gt;&#10;如果要在某个特定的项目中使用其他名字或者电邮，只要去掉 &lt;code&gt;--global&lt;/code&gt; 选项重新配置即可，新的设定保存在当前项目的 &lt;code&gt;.git/config&lt;/code&gt; 文件里。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>termux 基本使用教程</title><link>https://lruihao.cn/posts/termux1/</link><pubDate>Tue, 23 Oct 2018 22:16:02 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/termux1/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;前面有一篇文章写到一些，&lt;a href="https://lruihao.cn/posts/termux/"&gt;在 Android 上搭建 hexo 博客&lt;/a&gt;&#10;&lt;strong&gt;本文当初摘要自 &lt;a href="https://www.sqlsec.com/2018/05/termux.html?yyue=a21bo.50862.201879" target="_blank" rel="external nofollow noopener noreferrer"&gt;国光个人博客&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/strong&gt;&#10;如若作者博客 IP 被墙，可前往国光第三方博客诸如 csdn 等。&lt;a href="https://www.freebuf.com/geek/170510.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;备用&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="初始化"&gt;&lt;span class="heading-numbered"&gt;初始化&lt;/span&gt;&#10; &lt;a href="#%e5%88%9d%e5%a7%8b%e5%8c%96" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;下载并初始化 termux&lt;/p&gt;</description></item><item><title>ttf 字体压缩</title><link>https://lruihao.cn/posts/web-font/</link><pubDate>Wed, 17 Oct 2018 21:38:06 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/web-font/</guid><category domain="https://lruihao.cn/categories/node.js/">Node.js</category><description>&lt;p&gt;HTML 网页引用中文字体，文件过大，加载缓慢的解决办法。&lt;/p&gt;</description></item><item><title>linux 编程初体验</title><link>https://lruihao.cn/posts/linux-hello-c/</link><pubDate>Mon, 15 Oct 2018 21:19:27 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/linux-hello-c/</guid><category domain="https://lruihao.cn/categories/os/">OS</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;在 Linux 上编译 c 语言文件。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h3 class="heading-element" id="打开-vim-编辑器"&gt;&lt;span class="heading-numbered"&gt;打开 vim 编辑器&lt;/span&gt;&#10; &lt;a href="#%e6%89%93%e5%bc%80-vim-%e7%bc%96%e8%be%91%e5%99%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;（没有就用 vi, 或者先安装 vim&lt;code&gt;sudo apt-get install vim&lt;/code&gt;)&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;vim&lt;/code&gt;&lt;/pre&gt;&lt;h3 class="heading-element" id="编辑文件"&gt;&lt;span class="heading-numbered"&gt;编辑文件&lt;/span&gt;&#10; &lt;a href="#%e7%bc%96%e8%be%91%e6%96%87%e4%bb%b6" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;打开文件编辑器之后编辑文件&#10;&lt;a class="lightgallery" target="_blank" href="https://lruihao.cn/posts/linux-hello-c/images/ubuntu.png" title="edit" data-thumbnail="/posts/linux-hello-c/images/ubuntu.png" data-sub-html="&lt;h2&gt;edit&lt;/h2&gt;"&gt;&lt;img loading="lazy" src='https://lruihao.cn/posts/linux-hello-c/images/ubuntu.png' alt="edit" height="725" width="1191"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>沐目体</title><link>https://lruihao.cn/projects/font-mmt/</link><pubDate>Fri, 12 Oct 2018 19:39:19 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/font-mmt/</guid><description>&lt;!-- markdownlint-disable MD033 --&gt;&#10;&lt;iframe class="manuscript" src="https://hw.xiezixiansheng.com/mobile.php?c=Grzkreader&amp;a=fontshowPics&amp;u=qbfRl8gPF2s-&amp;z=Kqz%2FRroVGYc-" style="width: 100%;height: 370px;margin-top: .25rem;" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;</description></item><item><title>流水线</title><link>https://lruihao.cn/posts/liushuixian/</link><pubDate>Tue, 09 Oct 2018 16:21:04 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/liushuixian/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;h2 class="heading-element" id="概念"&gt;&lt;span class="heading-numbered"&gt;概念&lt;/span&gt;&#10; &lt;a href="#%e6%a6%82%e5%bf%b5" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的，它们可同时为多条指令的不同部分进行工作，以提高各部件的利用率和指令的平均执行速度。&lt;/p&gt;</description></item><item><title>计算机数据</title><link>https://lruihao.cn/posts/data/</link><pubDate>Mon, 08 Oct 2018 23:01:10 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/data/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;h3 class="heading-element" id="数据的表示"&gt;&lt;span class="heading-numbered"&gt;数据的表示&lt;/span&gt;&#10; &lt;a href="#%e6%95%b0%e6%8d%ae%e7%9a%84%e8%a1%a8%e7%a4%ba" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;数据的表示可分为：原码，反码和补码。（二进制）&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;原码：符号位 0 为正，1 为负。&lt;/li&gt;&#10;&lt;li&gt;反码：符号位 0 为正，1 为负。&#10;&lt;ul&gt;&#10;&lt;li&gt;正数：反码同原码。&lt;/li&gt;&#10;&lt;li&gt;负数：符号位除外其他位按位取反。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;补码：&#10;&lt;ul&gt;&#10;&lt;li&gt;正数：同原码。&lt;/li&gt;&#10;&lt;li&gt;负数：符号位除外其他位按位取反再 +1。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;移码：补码符号位取反。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 class="heading-element" id="数据表示范围"&gt;&lt;span class="heading-numbered"&gt;数据表示范围&lt;/span&gt;&#10; &lt;a href="#%e6%95%b0%e6%8d%ae%e8%a1%a8%e7%a4%ba%e8%8c%83%e5%9b%b4" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;原码： &lt;code&gt;-(z^n-1 - 1) ~ 2^n-1 - 1&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;反码： &lt;code&gt;-(z^n-1 - 1) ~ 2^n-1 - 1&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;补码： &lt;code&gt;-z^n-1 ~ 2^n-1 - 1&lt;/code&gt; （补码正 0 和负 0 相同，少占一数位，就多一个范围）&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;例：&#10;8 位二进制，除去符号位还有 7 位，7 个 1 为最大数，相当于 8 个 1 减 1，也就是 2^7-1, 所以范围就算出来了。&lt;/p&gt;</description></item><item><title>网页夜间效果</title><link>https://lruihao.cn/posts/night/</link><pubDate>Thu, 27 Sep 2018 13:13:31 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/night/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;这几天看到别人的博客有开关灯效果，就想给自己的博客也加一个，其实以前就在想了。经过谷歌百度后这样实现了。&lt;code&gt;css+js&lt;/code&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>网页离开时改变标题“崩溃欺骗”</title><link>https://lruihao.cn/posts/crash-cheat/</link><pubDate>Wed, 26 Sep 2018 16:36:08 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/crash-cheat/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;从暑假到现在有好几个小伙伴问我博客的标题怎么变来变去的，不想再和每个人都说一遍了，耽误时间，索性写一下。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>linux/centos 下的安装 git</title><link>https://lruihao.cn/posts/linux-git/</link><pubDate>Sat, 22 Sep 2018 22:28:45 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/linux-git/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;h3 class="heading-element" id="下载-git"&gt;&lt;span class="heading-numbered"&gt;下载 git&lt;/span&gt;&#10; &lt;a href="#%e4%b8%8b%e8%bd%bd-git" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;wget https://github.com/git/git/archive/v2.14.1.zip&lt;/code&gt;&lt;/pre&gt;&lt;h3 class="heading-element" id="安装依赖"&gt;&lt;span class="heading-numbered"&gt;安装依赖&lt;/span&gt;&#10; &lt;a href="#%e5%ae%89%e8%a3%85%e4%be%9d%e8%b5%96" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker&lt;/code&gt;&lt;/pre&gt;&lt;h3 class="heading-element" id="解压-git"&gt;&lt;span class="heading-numbered"&gt;解压 git&lt;/span&gt;&#10; &lt;a href="#%e8%a7%a3%e5%8e%8b-git" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;unzip v2.14.1.zip&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;注：&#10;unzip 命令用不了，具体步骤如下：&lt;/p&gt;</description></item><item><title>每一个优秀的人，都有一段沉默的时光</title><link>https://lruihao.cn/posts/mood/</link><pubDate>Fri, 21 Sep 2018 21:11:25 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/mood/</guid><category domain="https://lruihao.cn/categories/thoughts/">有所思</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;手机便签里保存的一段话，也记不得在哪看到的了。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;每一个优秀的人，都有一段沉默的时光，是那一段时光，不抱怨不诉苦，最后渡过了这段感动自己的日子。&lt;br&gt;&#10;什么都还没有，所以没有卖弄的资格。如果有了什么，就没有卖弄的必要。&lt;/p&gt;&#10;&lt;p&gt;人生的每一笔经历，都在书写你的简历。多做你本以为微不足道的事情，回头看的时候，都有着无法细数的刻度。&lt;br&gt;&#10;自己拼出来的东西，和别人送到嘴边的东西，意义和珍惜的程度都大为不同。&lt;/p&gt;</description></item><item><title>Vim 速查表</title><link>https://lruihao.cn/posts/vim/</link><pubDate>Fri, 31 Aug 2018 11:46:39 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/vim/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;Vim 速查表 - 帮你提高 N 倍效率&lt;/p&gt;</description></item><item><title>hexo next 主题添加字数统计（2018）</title><link>https://lruihao.cn/posts/hexo-wordcount/</link><pubDate>Thu, 30 Aug 2018 13:15:50 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hexo-wordcount/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;div class="details admonition warning open"&gt;&#10; &lt;div class="details-summary admonition-title"&gt;&lt;i class="icon fa-solid fa-exclamation-triangle" aria-hidden="true"&gt;&lt;/i&gt;警告&lt;i class="details-icon fa-solid fa-angle-right" aria-hidden="true"&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="details-content"&gt;&#10; &lt;div class="admonition-content"&gt;&lt;p&gt;&lt;strong&gt;2018/11/1 说明&#10;next 主题好像更新了，现在自带的可以用了，如果可以用了，以下教程可以忽略！！！&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;最近有几个小伙伴问我博客的字数统计怎么实现的，怎么网上的教程不管用啊？一开始我搭建博客的时候也遇到了类似的问题，按照 github 上 wordcount 的 readme 操作后，并没有什么用，我打开 post 相关配置文件并没有发现发现 wordcount 这个关键词，next 本身似乎也并没有在主题配置文件提供选项（或许是个人原因），所以只好自己动手加一个了。为了不重复回答问题，先做个原创记录。转载请注明出处。在此抛转引玉，如果有更好的方法请在留言区提出，我会及时更改。同时也希望小伙伴多发扬折腾精神，多专研，少提问，毕竟还是 RTFSC 大法好！(Read the fucking source code)&lt;/p&gt;&#10;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>hexo d 出错</title><link>https://lruihao.cn/posts/hexo-d-error/</link><pubDate>Tue, 21 Aug 2018 22:15:01 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hexo-d-error/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;搭建这个博客以来，隔一段时间就出现一次部署失败的错误，每次都差不多，莫名其妙地出现的。前几次不知道怎么瞎搞就好了。&lt;br&gt;&#10;现在做一下记录，防止以后出错用。&lt;br&gt;&#10;错误如下&lt;/p&gt;</description></item><item><title>hexo 个性化 - next 主题动态显示 subtitle</title><link>https://lruihao.cn/posts/dongtaisub/</link><pubDate>Mon, 20 Aug 2018 16:16:40 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dongtaisub/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;本文适合我这种纯小白。&#10;目前为止，全网也就只有一个博主写到过这样动态显示 subtitle 的文章。&lt;a href="https://www.jianshu.com/p/df2c844eeabf" target="_blank" rel="external nofollow noopener noreferrer"&gt;传送门&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;（关键词：js, 后加载）&lt;br&gt;&#10;但是嘞，该博写的不怎么详细，17 年底写的。当然更大的可能是 next 更新了一些文件结构，所以不适合现在使用了。以前我按原博的流程配置了一下没成功就搁在那里了，今天突然心血来潮。翻了翻原博主博客的源码，再与自己的对比了一下，发现了一些端倪。稍作调整后如下：&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>“高逼格”C 语言画心</title><link>https://lruihao.cn/posts/heart/</link><pubDate>Wed, 15 Aug 2018 16:33:12 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/heart/</guid><category domain="https://lruihao.cn/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/">瞎折腾</category><description>&lt;p&gt;七夕又快到了，分享一个曾经玩过的代码，用 C 语言画一个跳动的心，很有逼格有木有。&lt;/p&gt;&#10;&lt;p&gt;&lt;figure&gt;&lt;a class="lightgallery" target="_blank" href="https://lruihao.cn/images/remote/5b8680e407e09_5277507250262470841.gif" title="大一在机房拍的图" data-thumbnail="/images/remote/5b8680e407e09_5277507250262470841.gif" data-sub-html="&lt;h2&gt;截图&lt;/h2&gt;&lt;p&gt;大一在机房拍的图&lt;/p&gt;"&gt;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/5b8680e407e09_5277507250262470841.gif' alt="截图" height="210" width="210"&gt;&lt;/a&gt;&lt;figcaption class="image-caption"&gt;大一在机房拍的图&lt;/figcaption&gt;&#10; &lt;/figure&gt;&lt;/p&gt;</description></item><item><title>git index.lock</title><link>https://lruihao.cn/posts/git-index-lock/</link><pubDate>Tue, 14 Aug 2018 19:21:23 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/git-index-lock/</guid><category domain="https://lruihao.cn/categories/git/">Git</category><description>&lt;p&gt;在 git 没有运行完成之前强制关闭，下次提交的时候会产以下生错误，或者类似的。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;fatal: Unable to create &amp;#39;/xxx/xx/.git/index.lock&amp;#39;: File exists.&#10;&#10;If no other git process is currently running, this probably means a&#10;git process crashed in this repository earlier. Make sure no other git&#10;process is running and remove the file manually to continue.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;原因是在你进行某些比较费时的 git 操作时自动生成，操作结束后自动删除，相当于一个锁定文件，目的在于防止对一个目录同时进行多个操作。&lt;/p&gt;&#10;&lt;p&gt;有时强制关闭进行中的 git 操作，这个文件没有被自动删除，之后你就无法进行其他操作，必须手动删除，进入。git 文件中删除，打开显示隐藏文件。如果没有看见。git 文件夹，可以直接用命令 &lt;code&gt;rm -f ./.git/index.lock&lt;/code&gt; 。之后就可以正常使用。&lt;/p&gt;</description></item><item><title>在 Android 上搭建 hexo 博客</title><link>https://lruihao.cn/posts/termux/</link><pubDate>Sat, 11 Aug 2018 16:59:05 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/termux/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;暑假刚开始的时候放假回家没带电脑，只能玩手机，想折腾一下博客都没有条件，在一个发现一个 app, 卧槽 😱，termux 真的强大！（初始化需要科学上网）安卓手机上的 linux 简直了，在手机就可以搭了一个 hexo 博客，只要在 github 上实现分支管理就可以多终端同步更新了。恕我学疏才浅，还只想到这些！一开始想回校后，折腾一下 hexo-admin 实现类似动态博客一样的多终端管理（手动滑稽），现在发现 termux 这样子的操作也不错嘛，挺装哔 hhhhhh**&lt;a href="https://lruihao.gitee.io" target="_blank" rel="external nofollow noopener noreferrer"&gt;部署后的效果&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;**&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>石子阵列（组合数学）</title><link>https://lruihao.cn/posts/nowcoder157a/</link><pubDate>Fri, 10 Aug 2018 22:11:00 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/nowcoder157a/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;链接：&lt;a href="https://www.nowcoder.com/acm/contest/157/A" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://www.nowcoder.com/acm/contest/157/A&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;来源：牛客网&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="题目描述"&gt;&lt;span class="heading-numbered"&gt;题目描述&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e6%8f%8f%e8%bf%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;xb 有 m 种石子，每种无限个，Ta 想从这些石子中取出 n 个，并按顺序排列起来，为了好看，相邻的石子不能相同。xb 想知道有多少种排列的方法。&lt;/p&gt;</description></item><item><title>Dreamoon and Stairs</title><link>https://lruihao.cn/posts/codeforces476a/</link><pubDate>Fri, 10 Aug 2018 20:13:08 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/codeforces476a/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://codeforces.com/contest/476/problem/a" target="_blank" rel="external nofollow noopener noreferrer"&gt;题目链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Dreamoon wants to climb up a stair of n steps. He can climb 1 or 2 steps at each move. Dreamoon wants the number of moves to be a multiple of an integer m.&lt;/p&gt;&#10;&lt;p&gt;What is the minimal number of moves making him climb to the top of the stairs that satisfies his condition?&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="input"&gt;&lt;span class="heading-numbered"&gt;Input&lt;/span&gt;&#10; &lt;a href="#input" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;The single line contains two space separated integers n, m (0 &amp;lt; n ≤ 10000, 1 &amp;lt; m ≤ 10).&lt;/p&gt;</description></item><item><title>Dreamoon and WiFi（组合数学）</title><link>https://lruihao.cn/posts/codeforces476b/</link><pubDate>Fri, 10 Aug 2018 17:44:47 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/codeforces476b/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://codeforces.com/contest/476/problem/B" target="_blank" rel="external nofollow noopener noreferrer"&gt;题目链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="题目大意"&gt;&lt;span class="heading-numbered"&gt;题目大意&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e5%a4%a7%e6%84%8f" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;就是给定两个字符串，第一个字符串由&amp;quot;+&amp;quot;,&amp;quot;-&amp;ldquo;组成，第二个字符串由&amp;rdquo;+&amp;quot;,&amp;quot;-&amp;quot;,&amp;quot;?&amp;ldquo;组成，“+”代表加 1，&amp;rdquo;-&amp;ldquo;代表减一，“?&amp;ldquo;代表可取正也可取负，问第二个字符串的位置和第一个字符串相等的概率是多少。&lt;/p&gt;</description></item><item><title>The equation-SGU106（扩展欧几里得）</title><link>https://lruihao.cn/posts/euclid/</link><pubDate>Fri, 10 Aug 2018 10:32:39 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/euclid/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="题意"&gt;&lt;span class="heading-numbered"&gt;题意&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e6%84%8f" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;给出 a,b,c,x1,x2,y1,y2，求满足 ax+by+c=0，且 x∈[x1,x2],y∈[y1,y2] 的整数解个数。&lt;/p&gt;</description></item><item><title>Leading and Trailing-lightoj1282（快速幂 + 对数运算）</title><link>https://lruihao.cn/posts/lightoj1282/</link><pubDate>Thu, 09 Aug 2018 20:55:26 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/lightoj1282/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="题目链接"&gt;&lt;span class="heading-numbered"&gt;&lt;a href="https://vjudge.net/contest/238979#problem/E" target="_blank" rel="external nofollow noopener noreferrer"&gt;题目链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e9%93%be%e6%8e%a5" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h2 class="heading-element" id="题目大意"&gt;&lt;span class="heading-numbered"&gt;题目大意&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e5%a4%a7%e6%84%8f" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;给定两个数 n,k 求 n^k 的前三位和最后三位。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="分析"&gt;&lt;span class="heading-numbered"&gt;分析&lt;/span&gt;&#10; &lt;a href="#%e5%88%86%e6%9e%90" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;求后三位的话：直接快速幂，对 1000 取模就好了。&lt;br&gt;&#10;求前三位，对于给定的一个数 n, 它可以写成 n=10&lt;sup&gt;a, 其中这个 a 为浮点数，则&lt;code&gt;t=n^k=(10^a)^k=10^a*k=(10^x)*(10^y);&lt;/code&gt;其中 x,y 分别是&lt;code&gt;a*k&lt;/code&gt;的整数部分和小数部分，对于 t=n&lt;/sup&gt;k 这个数，它的位数由 (10&lt;sup&gt;x) 决定，它的位数上的值则有 (10&lt;/sup&gt;y) 决定，因此我们要求 t 的前三位，只需要将 10&lt;sup&gt;y 求出，在乘以 100，就得到了它的前三位。&lt;br&gt;&#10;分析完，我们再整体看，设 n&lt;/sup&gt;k=10^z; 那么&lt;code&gt;z=k*log10(n)&lt;/code&gt;&lt;br&gt;&#10;&lt;code&gt;fmod(z,1)&lt;/code&gt;可以求出 x 的小数部分。&lt;/p&gt;</description></item><item><title>Codeforces Round 502(Div.1 + Div.2)</title><link>https://lruihao.cn/posts/cfcontest1017/</link><pubDate>Thu, 09 Aug 2018 10:48:00 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/cfcontest1017/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h3 class="heading-element" id="a-the-rank"&gt;&lt;span class="heading-numbered"&gt;&lt;a href="https://codeforces.com/contest/1017/problem/A" target="_blank" rel="external nofollow noopener noreferrer"&gt;A. The Rank&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#a-the-rank" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;题目大意：&lt;br&gt;&#10;给出 n 个学生的成绩，Thomas Smith 的成绩是第一行，然后要按总成绩进行排序，总分相同的按编号从小到大排；&lt;br&gt;&#10;开始看还以为要写 sort 的 cmp 函数进行多条件排序，敲完才发现其实只要按总分就可以了，因为托马斯的 id 是一，必然会排在前面。&lt;/p&gt;</description></item><item><title>欧拉函数</title><link>https://lruihao.cn/posts/euler/</link><pubDate>Wed, 08 Aug 2018 17:10:07 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/euler/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="欧拉函数是求小于-x-并且和-x"&gt;&lt;span class="heading-numbered"&gt;&lt;strong&gt;&lt;em&gt;欧拉函数是求小于 x 并且和 x&lt;a href="https://baike.baidu.com/item/%E4%BA%92%E8%B4%A8/577412?fr=aladdin" target="_blank" rel="external nofollow noopener noreferrer"&gt;互质&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 的数的个数&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&#10; &lt;a href="#%e6%ac%a7%e6%8b%89%e5%87%bd%e6%95%b0%e6%98%af%e6%b1%82%e5%b0%8f%e4%ba%8e-x-%e5%b9%b6%e4%b8%94%e5%92%8c-x" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;通式：φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn)&lt;br&gt;&#10;&lt;strong&gt;其中 p1, p2……pn 为 x 的所有质因数，x 是不为 0 的整数&lt;/strong&gt;&lt;br&gt;&#10;φ(1)=1（唯一和 1 互质的数就是 1 本身）【注意：每种质因数只一个。比如 12=2&lt;em&gt;2&lt;/em&gt;3】&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="定理"&gt;&lt;span class="heading-numbered"&gt;定理&lt;/span&gt;&#10; &lt;a href="#%e5%ae%9a%e7%90%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;若 n 是素数 p 的 k 次幂，φ(n)=p&lt;sup&gt;k-p&lt;/sup&gt;(k-1)=(p-1)p^(k-1)，因为除了 p 的倍数外，其他数都跟 n 互质 &lt;a class="lightgallery" target="_blank" href="https://lruihao.cn/images/remote/5b6ab31239225_17698703988712606054.jpg" title="IMG_20180808_170807.jpg" data-thumbnail="/images/remote/5b6ab31239225_17698703988712606054.jpg" data-sub-html="&lt;h2&gt;IMG_20180808_170807.jpg&lt;/h2&gt;"&gt;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/5b6ab31239225_17698703988712606054.jpg' alt="IMG_20180808_170807.jpg" height="1797" width="4160"&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;欧拉函数是积性函数——若 m,n 互质，φ(mn)=φ(m)φ(n)&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 class="heading-element" id="特殊性质"&gt;&lt;span class="heading-numbered"&gt;特殊性质&lt;/span&gt;&#10; &lt;a href="#%e7%89%b9%e6%ae%8a%e6%80%a7%e8%b4%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ol&gt;&#10;&lt;li&gt;当 n 为奇数时，φ(2n)=φ(n)&lt;/li&gt;&#10;&lt;li&gt;p 是素数，φ(p) = p - 1，φ(p) 称为 p 的欧拉值&lt;/li&gt;&#10;&lt;li&gt;若 a 为素数，b mod a=0,&lt;code&gt;φ(a*b)=φ(b)*a&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>Heavy Transportation-poj1797(dijkstra 或最大生成树）</title><link>https://lruihao.cn/posts/poj1797/</link><pubDate>Mon, 06 Aug 2018 09:42:11 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj1797/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="http://poj.org/problem?id=1797" target="_blank" rel="external nofollow noopener noreferrer"&gt;题目链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;大意：&lt;br&gt;&#10;要从城市 1 到城市 N 运送货物，有 M 条道路，每条道路都有它的最大载重量，问从城市 1 到城市 N 运送最多的重量是多少。&lt;br&gt;&#10;其实题意很简单，就是找一条 1&amp;ndash;&amp;gt;N 的路径，在不超过每条路径的最大载重量的情况下，使得运送的货物最多。一条路径上的最大载重量为这个路径上权值最小的边；&#10;&lt;a class="lightgallery" target="_blank" href="images/update.jpg" title="更新" data-thumbnail="images/update.jpg" data-sub-html="&lt;h2&gt;更新&lt;/h2&gt;"&gt;&lt;img loading="lazy" src='images/update.jpg' alt="更新"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>hexo 博客自定义 console log</title><link>https://lruihao.cn/posts/console-log/</link><pubDate>Sat, 04 Aug 2018 16:19:06 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/console-log/</guid><category domain="https://lruihao.cn/categories/javascript/">JavaScript</category><description>&lt;p&gt;看到知乎，百度的页面 F12 检查后都会有一些有趣的招聘信息。于是乎我也想给我的博客加一个。&lt;br&gt;&#10;我主要用到的工具：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;console.log()&lt;/li&gt;&#10;&lt;li&gt;Notepad++&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://picascii.com" target="_blank" rel="external nofollow noopener noreferrer"&gt;在线图片转文字工具&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Til the Cows Come Home-poj2387(dijkstra 判断重边）</title><link>https://lruihao.cn/posts/poj2387/</link><pubDate>Fri, 03 Aug 2018 21:40:33 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj2387/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="http://poj.org/problem?id=2387" target="_blank" rel="external nofollow noopener noreferrer"&gt;题目链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;题目大意：&lt;br&gt;&#10;说的是，一只奶牛位于 N 号节点，输入 N 个节点和 T 对双向的边，求出由 N 到 1 的最短的距离，其实就是问的单源最短路问题。&lt;/p&gt;&#10;&lt;p&gt;两个点可能有多条路，选择最短的。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;#include&amp;lt;stdio.h&amp;gt;&#10;#include&amp;lt;string.h&amp;gt;&#10;#include&amp;lt;algorithm&amp;gt;&#10;using namespace std;&#10;&#10;const int INF=99999999; //设为无穷大&#10;int maps[1005][1005],v[1005],d[1005]; //v 表示是否已经过遍历 d 表示从源到点当前最短路&#10;int n;&#10;&#10;void Dijkstra(int s,int t)&#10;{&#10; int i,j,k,mini;&#10; for(i=1;i&amp;lt;=n;i&amp;#43;&amp;#43;)&#10; d[i]=INF; //除源点设为 0 距离外 其他先设为无穷大&#10; d[s]=0;&#10; for(i=1;i&amp;lt;=n;i&amp;#43;&amp;#43;) //n 点循环 n 次 , 找出 n 个 k, 找 n 个点&#10; {&#10; mini=INF;&#10; k=-1;&#10; for(j=1;j&amp;lt;=n;j&amp;#43;&amp;#43;) //在所有未标记点中 选 d 值最小的点&#10; if(!v[j] &amp;amp;&amp;amp; d[j]&amp;lt;mini)&#10; mini=d[k=j];&#10;&#10; v[k]=1; //标记节点&#10; if(k==t)&#10; {&#10; printf(&amp;#34;%d\n&amp;#34;,d[t]);&#10; return;&#10; }&#10; for(j=1;j&amp;lt;=n;j&amp;#43;&amp;#43;)&#10; if(!v[j] &amp;amp;&amp;amp; (d[k]&amp;#43;maps[k][j])&amp;lt;d[j]) //表示从 k 出发的点，对于所有边，更新相连点&#10; d[j]=d[k]&amp;#43;maps[k][j];&#10; }&#10;}&#10;&#10;int main()&#10;{&#10; int T,i,j,x,y,D;&#10; while(scanf(&amp;#34;%d %d&amp;#34;,&amp;amp;T,&amp;amp;n)!=EOF)&#10; {&#10; memset(v,0,sizeof(v)); //清除标记&#10; for(i=1;i&amp;lt;=n;i&amp;#43;&amp;#43;)&#10; for(j=1;j&amp;lt;=n;j&amp;#43;&amp;#43;)&#10; maps[i][j]=INF;&#10;&#10; for(i=1;i&amp;lt;=T;i&amp;#43;&amp;#43;){&#10; scanf(&amp;#34;%d%d%d&amp;#34;,&amp;amp;x,&amp;amp;y,&amp;amp;D);&#10; if(maps[x][y]&amp;gt;D) //可能有多条路，只记录最短的&#10; maps[x][y]=D,maps[y][x]=D;&#10; }&#10; Dijkstra(1,n);&#10; }&#10; return 0;&#10;}&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>最短路入门</title><link>https://lruihao.cn/posts/zuiduanlu/</link><pubDate>Fri, 03 Aug 2018 16:27:16 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/zuiduanlu/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;!-- markdownlint-disable MD033 --&gt;&#10;&lt;h2 class="heading-element" id="dijkstra-算法"&gt;&lt;span class="heading-numbered"&gt;Dijkstra 算法&lt;/span&gt;&#10; &lt;a href="#dijkstra-%e7%ae%97%e6%b3%95" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h3 class="heading-element" id="1-定义概览"&gt;&lt;span class="heading-numbered"&gt;1. 定义概览&lt;/span&gt;&#10; &lt;a href="#1-%e5%ae%9a%e4%b9%89%e6%a6%82%e8%a7%88" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Dijkstra（迪杰斯特拉）算法是典型的单源最短路径算法，用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展，直到扩展到终点为止。Dijkstra 算法是很有代表性的最短路径算法，在很多专业课程中都作为基本内容有详细的介绍，如数据结构，图论，运筹学等等。注意该算法要求图中不存在负权边。&lt;/p&gt;</description></item><item><title>牛客暑假多校第五场</title><link>https://lruihao.cn/posts/nowcodersummer-5th/</link><pubDate>Thu, 02 Aug 2018 21:27:02 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/nowcodersummer-5th/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="https://pan.baidu.com/s/1VP9Wn0OF4SVaqEVwpNralA" target="_blank" rel="external nofollow noopener noreferrer"&gt;题目链接 密码：l9sn&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;终于不爆零了，但是还是 wa 了无数次，有时候代码感觉都差不多&lt;/p&gt;</description></item><item><title>食物链-poj1182（带权并查集经典模板）</title><link>https://lruihao.cn/posts/poj1182/</link><pubDate>Thu, 02 Aug 2018 11:10:37 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj1182/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="http://poj.org/problem?id=1182" target="_blank" rel="external nofollow noopener noreferrer"&gt;题目链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;&lt;a href="https://blog.csdn.net/freezhanacmore/article/details/8767413" target="_blank" rel="external nofollow noopener noreferrer"&gt;思路参考 1&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;,&lt;a href="https://blog.csdn.net/niushuai666/article/details/6981689" target="_blank" rel="external nofollow noopener noreferrer"&gt;思路参考 2&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;（没看懂）&lt;/p&gt;</description></item><item><title>小希的迷宫-HDU-1272（并查集 or 树性质）</title><link>https://lruihao.cn/posts/hdu1272/</link><pubDate>Wed, 01 Aug 2018 21:45:50 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hdu1272/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="题目链接小希的迷宫"&gt;&lt;span class="heading-numbered"&gt;题目链接：&lt;a href="http://acm.hdu.edu.cn/showproblem.php?pid=1272" target="_blank" rel="external nofollow noopener noreferrer"&gt;小希的迷宫&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e9%93%be%e6%8e%a5%e5%b0%8f%e5%b8%8c%e7%9a%84%e8%bf%b7%e5%ae%ab" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h2 class="heading-element" id="并查集"&gt;&lt;span class="heading-numbered"&gt;并查集&lt;/span&gt;&#10; &lt;a href="#%e5%b9%b6%e6%9f%a5%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;无回路&lt;/li&gt;&#10;&lt;li&gt;单连通&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;并查集做，首先想到的是判断两个点是否连通，不连通就合并，已连通的话说明会形成&lt;strong&gt;回路&lt;/strong&gt;，则可以判定 No，交了一发错了。&lt;br&gt;&#10;想了一下没有考虑到多个连通域的情况，该题必须只有&lt;strong&gt;一个连通域&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="树的性质"&gt;&lt;span class="heading-numbered"&gt;树的性质&lt;/span&gt;&#10; &lt;a href="#%e6%a0%91%e7%9a%84%e6%80%a7%e8%b4%a8" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;既然单连通无回路，则这肯定是一棵树；那么 edge=v-1;&lt;/p&gt;</description></item><item><title>How Many Answers Are Wrong-hdu3038（带权并查集）</title><link>https://lruihao.cn/posts/hdu3038/</link><pubDate>Wed, 01 Aug 2018 11:45:53 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hdu3038/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;题目链接：&lt;a href="http://acm.hdu.edu.cn/showproblem.php?pid=3038" target="_blank" rel="external nofollow noopener noreferrer"&gt;How Many Answers Are Wrong&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;思路参考：&lt;a href="https://blog.csdn.net/duan_1998/article/details/70196576" target="_blank" rel="external nofollow noopener noreferrer"&gt;本题直接参考&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;,&lt;a href="https://blog.csdn.net/dextrad_ihacker/article/details/51016017" target="_blank" rel="external nofollow noopener noreferrer"&gt;图文解释&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Bear and Finding Criminals-Codeforces680B</title><link>https://lruihao.cn/posts/codeforces680b/</link><pubDate>Tue, 31 Jul 2018 19:32:21 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/codeforces680b/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;题目链接：&lt;a href="https://codeforces.com/problemset/problem/680/B" target="_blank" rel="external nofollow noopener noreferrer"&gt;Bear and Finding Criminals&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;大致题意就是小熊警察住在某个城市，他要抓各个城市的罪犯，现在用一个 BCD 可以知道那个城市里&lt;strong&gt;一定&lt;/strong&gt;有罪犯。&lt;/p&gt;&#10;&lt;p&gt;一定能确定该城市有小偷的几种情况：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;警察所住城市有罪犯，则一定能检测到&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;警察所住城市的左边和右边位置若&lt;strong&gt;都&lt;/strong&gt;不为 0，则说明两座城市都有罪犯（只有一边为 1 是不能确定到底哪个城市有罪犯的）&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;警察所在城市的一边检测到有罪犯，但在另一边已经没有城市了，则说明该城市一定有罪犯&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>Bear and Five Cards-Codeforces680A</title><link>https://lruihao.cn/posts/codeforces680a/</link><pubDate>Tue, 31 Jul 2018 19:22:36 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/codeforces680a/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;题目链接：&lt;a href="https://codeforces.com/problemset/problem/680/A" target="_blank" rel="external nofollow noopener noreferrer"&gt;Bear and Five Cards&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;大致题意就是小熊有 5 张卡片，每张卡片有对应的分数，他可以选择丢弃 2 张相同的或者 3 张相同的卡片，没有相同的就无法丢弃，问小熊剩下的分数最少是多少。&lt;/p&gt;</description></item><item><title>how many tables-HDU-1213（并查集求连通域数目）</title><link>https://lruihao.cn/posts/how-tables/</link><pubDate>Tue, 31 Jul 2018 11:12:10 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/how-tables/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;并查集求连通域数目，初始化 sum=n；&#10;题目链接： &lt;a href="http://acm.hdu.edu.cn/showproblem.php?pid=1213" target="_blank" rel="external nofollow noopener noreferrer"&gt;how many tables&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The-suspects-POJ-1611（并查集）</title><link>https://lruihao.cn/posts/poj-1611/</link><pubDate>Tue, 31 Jul 2018 11:11:31 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj-1611/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="题目链接the-suspects"&gt;&lt;span class="heading-numbered"&gt;题目链接：&lt;a href="http://poj.org/problem?id=1611" target="_blank" rel="external nofollow noopener noreferrer"&gt;The-suspects&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e9%93%be%e6%8e%a5the-suspects" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h2 class="heading-element" id="翻译"&gt;&lt;span class="heading-numbered"&gt;翻译&lt;/span&gt;&#10; &lt;a href="#%e7%bf%bb%e8%af%91" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;警察抓贩毒集团。有不同类型的犯罪集团，人员可能重复，集团内的人会相互接触。现在警察在其中一人（0 号）身上搜出毒品，认为与这个人直接接触或通过其他人有间接接触的人都是嫌疑犯。问包括 0 号犯人共有多少嫌疑犯？&lt;/p&gt;</description></item><item><title>wireless network-POJ-2236（并查集）</title><link>https://lruihao.cn/posts/poj-2236/</link><pubDate>Tue, 31 Jul 2018 11:10:54 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj-2236/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="题目链接wireless-network"&gt;&lt;span class="heading-numbered"&gt;题目链接：&lt;a href="http://poj.org/problem?id=2236" target="_blank" rel="external nofollow noopener noreferrer"&gt;wireless network&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e9%93%be%e6%8e%a5wireless-network" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h2 class="heading-element" id="翻译"&gt;&lt;span class="heading-numbered"&gt;翻译&lt;/span&gt;&#10; &lt;a href="#%e7%bf%bb%e8%af%91" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;</description></item><item><title>Piles-with-stones</title><link>https://lruihao.cn/posts/piles-with-stones/</link><pubDate>Tue, 31 Jul 2018 11:09:31 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/piles-with-stones/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;Codeforces Round #500 (Div. 2)&lt;br&gt;&#10;题目链接：&lt;a href="https://codeforces.com/contest/1013/problem/A" target="_blank" rel="external nofollow noopener noreferrer"&gt;Piles With Stones&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>畅通工程-HDU-1232（并查集经典模板）</title><link>https://lruihao.cn/posts/%E7%95%85%E9%80%9A%E5%B7%A5%E7%A8%8B/</link><pubDate>Tue, 31 Jul 2018 11:08:43 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/%E7%95%85%E9%80%9A%E5%B7%A5%E7%A8%8B/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="并查集入门推荐超有爱的并查集"&gt;&lt;span class="heading-numbered"&gt;并查集入门推荐：&lt;a href="https://blog.csdn.net/iteye_10189/article/details/82103035" target="_blank" rel="external nofollow noopener noreferrer"&gt;超有爱的并查集~&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e5%b9%b6%e6%9f%a5%e9%9b%86%e5%85%a5%e9%97%a8%e6%8e%a8%e8%8d%90%e8%b6%85%e6%9c%89%e7%88%b1%e7%9a%84%e5%b9%b6%e6%9f%a5%e9%9b%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h2 class="heading-element" id="题目链接畅通工程"&gt;&lt;span class="heading-numbered"&gt;题目链接：&lt;a href="http://acm.hdu.edu.cn/showproblem.php?pid=1232" target="_blank" rel="external nofollow noopener noreferrer"&gt;畅通工程&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e9%93%be%e6%8e%a5%e7%95%85%e9%80%9a%e5%b7%a5%e7%a8%8b" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h2 class="heading-element" id="题意分析"&gt;&lt;span class="heading-numbered"&gt;题意分析&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e6%84%8f%e5%88%86%e6%9e%90" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;首先在地图上给你若干个城镇，这些城镇都可以看作点，然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点，让你判断它们是否连通，或者问你整幅图一共有几个连通分支，也就是被分成了几个互相独立的块。像畅通工程这题，问还需要修几条路，实质就是求有几个连通分支。&lt;/p&gt;</description></item><item><title>牛客练习赛 23</title><link>https://lruihao.cn/posts/%E7%89%9B%E5%AE%A2%E7%BB%83%E4%B9%A0%E8%B5%9B23/</link><pubDate>Fri, 27 Jul 2018 21:56:08 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/%E7%89%9B%E5%AE%A2%E7%BB%83%E4%B9%A0%E8%B5%9B23/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;两题水过，暴力，找规律。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="托米的赌球"&gt;&lt;span class="heading-numbered"&gt;&lt;a href="https://www.nowcoder.com/acm/contest/156/A" target="_blank" rel="external nofollow noopener noreferrer"&gt;托米的赌球&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e6%89%98%e7%b1%b3%e7%9a%84%e8%b5%8c%e7%90%83" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;h2 class="heading-element" id="托米的划分"&gt;&lt;span class="heading-numbered"&gt;&lt;a href="https://www.nowcoder.com/acm/contest/156/B" target="_blank" rel="external nofollow noopener noreferrer"&gt;托米的划分&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e6%89%98%e7%b1%b3%e7%9a%84%e5%88%92%e5%88%86" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;</description></item><item><title>在线离线算法</title><link>https://lruihao.cn/posts/%E5%9C%A8%E7%BA%BF%E7%A6%BB%E7%BA%BF%E7%AE%97%E6%B3%95/</link><pubDate>Thu, 26 Jul 2018 09:57:32 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/%E5%9C%A8%E7%BA%BF%E7%A6%BB%E7%BA%BF%E7%AE%97%E6%B3%95/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;h2 class="heading-element" id="在线算法"&gt;&lt;span class="heading-numbered"&gt;&lt;a href="https://baike.baidu.com/item/%E5%9C%A8%E7%BA%BF%E7%AE%97%E6%B3%95/4449947" target="_blank" rel="external nofollow noopener noreferrer"&gt;在线算法&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e5%9c%a8%e7%ba%bf%e7%ae%97%e6%b3%95" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;在线算法是指它可以以序列化的方式一个个的处理输入，也就是说在开始时并不需要已经知道所有的输入。&lt;/p&gt;</description></item><item><title>HDU-1495-非常可乐（bfs 模拟倒水 or 数论）</title><link>https://lruihao.cn/posts/hdu-1495/</link><pubDate>Tue, 24 Jul 2018 15:34:00 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hdu-1495/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="http://acm.hdu.edu.cn/showproblem.php?pid=1495" target="_blank" rel="external nofollow noopener noreferrer"&gt;非常可乐&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;大家一定觉的运动以后喝可乐是一件很惬意的事情，但是 seeyou 却不这么认为。因为每次当 seeyou 买了可乐以后，阿牛就要求和 seeyou 一起分享这一瓶可乐，而且一定要喝的和 seeyou 一样多。但 seeyou 的手中只有两个杯子，它们的容量分别是 N 毫升和 M 毫升 可乐的体积为 S（S&amp;lt;101）毫升（正好装满一瓶） ，它们三个之间可以相互倒可乐（都是没有刻度的，且 S==N+M，101 ＞ S ＞ 0，N ＞ 0，M ＞ 0) 。聪明的 ACMER 你们说他们能平分吗？如果能请输出倒可乐的最少的次数，如果不能输出&amp;quot;NO&amp;quot;。&lt;/p&gt;</description></item><item><title>hdu-2612-Find a way（双 bfs）</title><link>https://lruihao.cn/posts/hdu-2612/</link><pubDate>Mon, 23 Jul 2018 12:34:42 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hdu-2612/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="http://acm.hdu.edu.cn/showproblem.php?pid=2612" target="_blank" rel="external nofollow noopener noreferrer"&gt;Find a way&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;圣诞节要到了，坤神和瑞瑞这对基佬想一起去召唤师大峡谷开开车。百度地图一下，发现周围的召唤师大峡谷还不少，这对基佬纠结着，该去哪一个。坤神：我要去左边的这个（因为离自己比较近 哈哈~）。瑞瑞：我要去右边的这个（因为离自己比较近 嘿嘿~） &amp;hellip;&amp;hellip;.. 这对基佬闹矛盾了，开车有危险了！为了不让他们去召唤师大峡谷坑人，riot 决定让他们去 X 召唤师大峡谷，保证他俩所走的路程和最短。每走一个点需要花费 11 分钟，输出他们一共花费多少时间（最短时间噢）&lt;/p&gt;</description></item><item><title>POJ-3278-Catch That Cow(bfs)</title><link>https://lruihao.cn/posts/poj-3278/</link><pubDate>Sun, 22 Jul 2018 12:10:32 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj-3278/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line. Farmer John has two modes of transportation: walking and teleporting.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Walking: FJ can move from any point X to the points X&amp;quot;,&amp;ldquo;1 or X + 1 in a single minute&lt;/li&gt;&#10;&lt;li&gt;Teleporting: FJ can move from any point X to the point 2 × X in a single minute.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;If the cow, unaware of its pursuit, does not move at all, how long does it take for Farmer John to retrieve it?&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="input"&gt;&lt;span class="heading-numbered"&gt;Input&lt;/span&gt;&#10; &lt;a href="#input" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Line 1: Two space-separated integers: N and K&lt;/p&gt;</description></item><item><title>poj-2251-Dungeon Master（三维 bfs 最短路）</title><link>https://lruihao.cn/posts/poj-2251/</link><pubDate>Sun, 22 Jul 2018 12:02:32 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj-2251/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="http://poj.org/problem?id=2251" target="_blank" rel="external nofollow noopener noreferrer"&gt;英文原题链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="description---题目描述"&gt;&lt;span class="heading-numbered"&gt;Description - 题目描述&lt;/span&gt;&#10; &lt;a href="#description---%e9%a2%98%e7%9b%ae%e6%8f%8f%e8%bf%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;你被困在一个三维的空间中，现在要寻找最短路径逃生！&lt;br&gt;&#10;空间由立方体单位构成&lt;br&gt;&#10;你每次向上下前后左右移动一个单位需要一分钟&lt;br&gt;&#10;你不能对角线移动并且四周封闭&lt;br&gt;&#10;是否存在逃出生天的可能性？如果存在，则需要多少时间？&lt;/p&gt;</description></item><item><title>poj-1321 棋盘问题（dfs）</title><link>https://lruihao.cn/posts/poj-1321/</link><pubDate>Sun, 22 Jul 2018 11:58:14 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj-1321/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;Time Limit: 1000MS&lt;br&gt;&#10;Memory Limit: 10000K&lt;br&gt;&#10;Total Submissions: 63659&lt;br&gt;&#10;Accepted: 30423&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="description"&gt;&lt;span class="heading-numbered"&gt;Description&lt;/span&gt;&#10; &lt;a href="#description" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;在一个给定形状的棋盘（形状可能是不规则的）上面摆放棋子，棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列，请编程求解对于给定形状和大小的棋盘，摆放 k 个棋子的所有可行的摆放方案 C。&lt;/p&gt;</description></item><item><title>poj-1426-Find The Multiple(dfs)</title><link>https://lruihao.cn/posts/poj-1426/</link><pubDate>Sun, 22 Jul 2018 11:57:13 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj-1426/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="find-the-multiple"&gt;&lt;span class="heading-numbered"&gt;Find The Multiple&lt;/span&gt;&#10; &lt;a href="#find-the-multiple" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Time Limit: 1000MS Memory Limit: 10000K&lt;br&gt;&#10;Total Submissions: 40713 Accepted: 17088 Special Judge&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="description"&gt;&lt;span class="heading-numbered"&gt;Description&lt;/span&gt;&#10; &lt;a href="#description" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more than 100 decimal digits.&lt;/p&gt;</description></item><item><title>Adjacent Replacements</title><link>https://lruihao.cn/posts/adjacent-replacements/</link><pubDate>Sun, 22 Jul 2018 11:54:14 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/adjacent-replacements/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="https://codeforces.com/contest/1006/problem/A" target="_blank" rel="external nofollow noopener noreferrer"&gt;A. Adjacent Replacements&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;第一次打 cf 就做出一道这样的找规律的题，打到自闭。&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;#include&amp;lt;bits/stdc&amp;#43;&amp;#43;.h&amp;gt;&#10;using namespace std;&#10;&#10;int main(){&#10; int n,a[1001];&#10; cin&amp;gt;&amp;gt;n;&#10; int i;&#10; int flag=0;&#10; for(i=0;i&amp;lt;n;i&amp;#43;&amp;#43;){&#10; cin&amp;gt;&amp;gt;a[i];&#10; if(!(a[i]&amp;amp;1)) a[i]--;&#10; if(!flag) {cout&amp;lt;&amp;lt;a[i];flag=1;}&#10; else cout&amp;lt;&amp;lt;&amp;#34; &amp;#34;&amp;lt;&amp;lt;a[i];&#10; }&#10; return 0;&#10;}&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>poj-3984-迷宫问题 (bfs 路径）</title><link>https://lruihao.cn/posts/poj-3984/</link><pubDate>Sun, 22 Jul 2018 11:50:20 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/poj-3984/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="http://poj.org/problem?id=3984" target="_blank" rel="external nofollow noopener noreferrer"&gt;迷宫问题&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Time Limit: 1000MS Memory Limit: 65536K&lt;br&gt;&#10;Total Submissions: 32323 Accepted: 18471&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="description"&gt;&lt;span class="heading-numbered"&gt;Description&lt;/span&gt;&#10; &lt;a href="#description" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;定义一个二维数组：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;int maze[5][5] = {&#10; 0, 1, 0, 0, 0,&#10; 0, 1, 0, 1, 0,&#10; 0, 0, 0, 0, 0,&#10; 0, 1, 1, 1, 0,&#10; 0, 0, 0, 1, 0,&#10;};&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;它表示一个迷宫，其中的 1 表示墙壁，0 表示可以走的路，只能横着走或竖着走，不能斜着走，要求编程序找出从左上角到右下角的最短路线。&lt;/p&gt;</description></item><item><title>Wannafly 挑战赛 20-染色</title><link>https://lruihao.cn/posts/wannafly-20/</link><pubDate>Sun, 22 Jul 2018 11:46:25 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/wannafly-20/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;链接：&lt;a href="https://www.nowcoder.com/acm/contest/133/A" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://www.nowcoder.com/acm/contest/133/A&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;来源：牛客网&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="题目描述"&gt;&lt;span class="heading-numbered"&gt;题目描述&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e6%8f%8f%e8%bf%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;现在有一棵被 Samsara-Karma 染了 k 种颜色的树，每种颜色有着不同的价值，Applese 觉得 Samsara-Karma 染的太难看了，于是打算把整棵树重新染成同一种颜色，但是，由于一些奥妙重重的原因，每一次染色 Applese 可以选择两个有边相连的点，将其中一个染成另一个的颜色。而进行一次这样的操作需要付出两种颜色价值和的代价，&lt;br&gt;&#10;现在，Applese 的钱要用来买书 (game)，所以他想要最小化代价&lt;/p&gt;</description></item><item><title>杨辉三角</title><link>https://lruihao.cn/posts/%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92/</link><pubDate>Sun, 22 Jul 2018 11:41:15 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a href="https://zhidao.baidu.com/question/367384574464313844.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;百度知道&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&#10;1&lt;/p&gt;&#10;&lt;p&gt;1 1&lt;/p&gt;&#10;&lt;p&gt;1 2 1&lt;/p&gt;&#10;&lt;p&gt;1 3 3 1&lt;/p&gt;&#10;&lt;p&gt;1 4 6 4 1&lt;/p&gt;&#10;&lt;p&gt;1 5 10 10 5 1&lt;/p&gt;&#10;&lt;p&gt;1 6 15 20 15 6 1&lt;/p&gt;&#10;&lt;hr&gt;</description></item><item><title>hdu-1241-Oil Deposits (dfs)</title><link>https://lruihao.cn/posts/hdu-1241/</link><pubDate>Sun, 22 Jul 2018 11:37:20 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hdu-1241/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="oil-deposits"&gt;&lt;span class="heading-numbered"&gt;&lt;a href="http://acm.hdu.edu.cn/showproblem.php?pid=1241" target="_blank" rel="external nofollow noopener noreferrer"&gt;Oil Deposits&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#oil-deposits" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://vjudge.net/contest/238973#problem/L" target="_blank" rel="external nofollow noopener noreferrer"&gt;翻译&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)&lt;br&gt;&#10;Total Submission(s): 41406 Accepted Submission(s): 23977&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="problem-description"&gt;&lt;span class="heading-numbered"&gt;Problem Description&lt;/span&gt;&#10; &lt;a href="#problem-description" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that divides the land into numerous square plots. It then analyzes each plot separately, using sensing equipment to determine whether or not the plot contains oil. A plot containing oil is called a pocket. If two pockets are adjacent, then they are part of the same oil deposit. Oil deposits can be quite large and may contain numerous pockets. Your job is to determine how many different oil deposits are contained in a grid.&lt;/p&gt;</description></item><item><title>BFS 求最短路</title><link>https://lruihao.cn/posts/bfs%E6%B1%82%E6%9C%80%E7%9F%AD%E8%B7%AF/</link><pubDate>Sun, 22 Jul 2018 11:31:05 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/bfs%E6%B1%82%E6%9C%80%E7%9F%AD%E8%B7%AF/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;假设有一个 n 行 m 列的迷宫，每个单位要么是空地（用 1 表示）要么是障碍物（用 0 表示）.&lt;br&gt;&#10;如和找到从起点到终点的最短路径？利用 BFS 搜索，逐步计算出每个节点到起点的最短距离，&lt;br&gt;&#10;以及最短路径每个节点的前一个节点。最终将生成一颗以起点为根的 BFS 树。此时 BFS 可以求出任意一点到起点的距离。&lt;/p&gt;</description></item><item><title>Educational Codeforces Round 47 (Rated for Div. 2)</title><link>https://lruihao.cn/posts/cf-1009/</link><pubDate>Sun, 22 Jul 2018 11:25:56 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/cf-1009/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;那天晚上报名了没打，第二天早上打的，也只出了两题。&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="a-game-shopping"&gt;&lt;span class="heading-numbered"&gt;&lt;a href="https://codeforces.com/contest/1009/problem/A" target="_blank" rel="external nofollow noopener noreferrer"&gt;A. Game Shopping&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#a-game-shopping" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;#include&amp;lt;iostream&amp;gt;&#10;using namespace std;&#10;&#10;int main(){&#10; int n,m,s=0;&#10; cin&amp;gt;&amp;gt;n&amp;gt;&amp;gt;m;&#10; int i,j;&#10; int c[1000],a[1000];&#10; for(i=0;i&amp;lt;n;i&amp;#43;&amp;#43;)&#10; cin&amp;gt;&amp;gt;c[i];&#10; for(i=0;i&amp;lt;m;i&amp;#43;&amp;#43;)&#10; cin&amp;gt;&amp;gt;a[i];&#10; for(i=0,j=0;i&amp;lt;n;){&#10; if(j==m)&#10; break;&#10; if(c[i]&amp;lt;=a[j]){&#10; s&amp;#43;&amp;#43;;&#10; j&amp;#43;&amp;#43;;&#10; i&amp;#43;&amp;#43;;&#10; }&#10; else i&amp;#43;&amp;#43;;&#10; }&#10; if(i==n&amp;amp;&amp;amp;s==0)&#10; cout&amp;lt;&amp;lt;&amp;#34;0\n&amp;#34;;&#10; else cout&amp;lt;&amp;lt;s&amp;lt;&amp;lt;endl;&#10; return 0;&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;h2 class="heading-element" id="b-minimum-ternary-string"&gt;&lt;span class="heading-numbered"&gt;&lt;a href="https://codeforces.com/contest/1009/problem/B" target="_blank" rel="external nofollow noopener noreferrer"&gt;B. Minimum Ternary String&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#b-minimum-ternary-string" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;#include &amp;lt;bits/stdc&amp;#43;&amp;#43;.h&amp;gt;&#10;using namespace std;&#10;&#10;string s, ans;&#10;&#10;int main(){&#10; cin &amp;gt;&amp;gt; s;&#10; int one = 0;&#10; for (int i = 0; i &amp;lt; s.size(); i&amp;#43;&amp;#43;){&#10; if (s[i] == &amp;#39;0&amp;#39;) ans &amp;#43;= &amp;#34;0&amp;#34;;&#10; if (s[i] == &amp;#39;1&amp;#39;) one&amp;#43;&amp;#43;;&#10; if (s[i] == &amp;#39;2&amp;#39;) ans &amp;#43;= &amp;#34;2&amp;#34;;&#10; }&#10; bool flag = false;&#10; for (int i = 0; i &amp;lt; ans.size(); i&amp;#43;&amp;#43;){&#10; if (ans[i] == &amp;#39;2&amp;#39; &amp;amp;&amp;amp; !flag) flag = true, cout &amp;lt;&amp;lt; string(one, &amp;#39;1&amp;#39;);&#10; cout &amp;lt;&amp;lt; ans[i];&#10; }&#10; if (!flag) cout &amp;lt;&amp;lt; string(one, &amp;#39;1&amp;#39;);&#10; return 0;&#10;}&#10;&#10;/*&#10;&#10;100210&#10;&#10;11222121&#10;&#10;20&#10;&#10;2001&#10;&#10;020201&#10;&#10;2012101&#10;&#10;111&#10;&#10;000&#10;&#10;*/&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>深搜广搜</title><link>https://lruihao.cn/posts/dfs_bfs/</link><pubDate>Sun, 22 Jul 2018 11:25:14 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/dfs_bfs/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h3 class="heading-element" id="广度优先搜索bfs"&gt;&lt;span class="heading-numbered"&gt;广度优先搜索（BFS）&lt;/span&gt;&#10; &lt;a href="#%e5%b9%bf%e5%ba%a6%e4%bc%98%e5%85%88%e6%90%9c%e7%b4%a2bfs" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;广度优先搜索在进一步遍历图中顶点之前，先访问当前顶点的所有邻接结点。访问了就入队。&lt;/p&gt;&#10;&lt;h3 class="heading-element" id="深度优先搜索dfs"&gt;&lt;span class="heading-numbered"&gt;深度优先搜索（DFS）&lt;/span&gt;&#10; &lt;a href="#%e6%b7%b1%e5%ba%a6%e4%bc%98%e5%85%88%e6%90%9c%e7%b4%a2dfs" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;深度优先搜索在搜索过程中访问某个顶点后，需要递归地访问此顶点的所有未访问过的相邻顶点。&lt;/p&gt;</description></item><item><title>TaoTao 要吃鸡</title><link>https://lruihao.cn/posts/taotao%E8%A6%81%E5%90%83%E9%B8%A1/</link><pubDate>Sun, 22 Jul 2018 10:55:21 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/taotao%E8%A6%81%E5%90%83%E9%B8%A1/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;2018 年全国多校算法寒假训练营练习比赛（第二场）B(0 1 背包变化 特殊处理一个物品）&lt;br&gt;&#10;链接：&lt;a href="https://www.nowcoder.com/acm/contest/74/B" target="_blank" rel="external nofollow noopener noreferrer"&gt;https://www.nowcoder.com/acm/contest/74/B&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;&lt;br&gt;&#10;来源：牛客网&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="heading-element" id="题目描述"&gt;&lt;span class="heading-numbered"&gt;题目描述&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e6%8f%8f%e8%bf%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Taotao 的电脑带不动绝地求生，所以 taotao 只能去玩 pc 版的荒野行动了，和绝地求生一样，游戏人物本身可以携带一定重量 m 的物品，装备背包之后可以多携带 h（h 为 0 代表没有装备背包）重量的东西。玩了几天 taotao 发现了一个 BUG，当装备背包之后，如果可携带重量没有满，就可以拿一个任意重的东西（解释看样例）有一天 taotao 空降到了一个奇怪的岛上，岛上有 n 件装备，每个装备都有重量 Wi 和威力值 Vi, 但 taotao 不认识这些装备，所以他来求助你，挑选威力最大的装备，帮助他吃鸡。&lt;/p&gt;</description></item><item><title>Wannafly 挑战赛 18-序列</title><link>https://lruihao.cn/posts/wannafly-18/</link><pubDate>Wed, 18 Jul 2018 08:40:21 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/wannafly-18/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;时间限制：C/C++ 1 秒，其他语言 2 秒&lt;br&gt;&#10;空间限制：C/C++ 262144K，其他语言 524288K&lt;br&gt;&#10;64bit IO Format: %lld&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="题目描述"&gt;&lt;span class="heading-numbered"&gt;题目描述&lt;/span&gt;&#10; &lt;a href="#%e9%a2%98%e7%9b%ae%e6%8f%8f%e8%bf%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;有一个长度为 n 的序列 a，已知 a[1]=a[n]=1，且对于 2 &amp;lt;= x &amp;lt;= n，a[x] / a[x-1] 是以下三个数字之一 [ 1，-2，0.5 ], 问有多少种不同的序列满足题意。&lt;br&gt;&#10;两个序列不同当且仅当它们有至少一个位置上的数字不同，序列 a 可以为任何实数。&lt;/p&gt;</description></item><item><title>简单背包</title><link>https://lruihao.cn/posts/%E7%AE%80%E5%8D%95%E8%83%8C%E5%8C%85/</link><pubDate>Sat, 16 Jun 2018 13:18:43 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/%E7%AE%80%E5%8D%95%E8%83%8C%E5%8C%85/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;code&gt;弱鸡还是弱鸡啊最简单的背包问题——。——！&lt;/code&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="问题描述"&gt;&lt;span class="heading-numbered"&gt;问题描述&lt;/span&gt;&#10; &lt;a href="#%e9%97%ae%e9%a2%98%e6%8f%8f%e8%bf%b0" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;假设有一个能装入总体积为 T 的背包和 n 件体积分别为 W1，W2，···，Wn 的物品，能否从 n 件物品中挑选若干件恰好装满背包，即使 W1+W2+···+Wn=T，要求找出所有满足上述条件的解。例如：当 T=10，共 6 件物品，物品的体积为{1，2，3，4，5，8}，那么可找到下列 4 组解：（1，2，3，4）、（1，4，5）、（2，3，5）、（2、8）。&lt;/p&gt;</description></item><item><title>18 湘潭邀请赛参赛队员代表发言</title><link>https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E9%98%9F%E5%91%98%E4%BB%A3%E8%A1%A8%E5%8F%91%E8%A8%80/</link><pubDate>Fri, 15 Jun 2018 07:51:21 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E9%98%9F%E5%91%98%E4%BB%A3%E8%A1%A8%E5%8F%91%E8%A8%80/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;来自一位大佬的演讲&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;尊敬的领导、教练，亲爱的参赛选手们：&lt;br&gt;&#10;大家好，我是来自广东工业大学的 tmk。今天很荣幸能够站在这里代表全体参赛选手发言，与大家分享我的经历和感受。&lt;br&gt;&#10;刚开始来到大学的时候，我一心向学，本着“好好学习，天天向上，为校争光，不搞对象”的信念，想在大学一展宏图。因为高中 OI 的挫败，我在刚上大学的时候就选择了 ACM 这条“不归路”。一开始是因为高中的遗憾，到后来就完全是因为信念和兴趣慢慢一直搞到现在。当时的我还不知道踏上 ACM 这条路的苦，而如今的我却也尝到了 ACM 带给我的乐。&lt;br&gt;&#10;在这三年里，有数不清的夜晚，我的舍友们在寝室里开黑，而我和我的队友在机房里开黑；在这三年里，有数不清的周末，我的舍友们在校园里驰骋，而我和我的队友在题库里驰骋；在这三年里，有数不清的假期，我的舍友们在召唤师峡谷里征战，而我和我的队友在中国各省市征战。三年过去了，我的舍友们成为了 offer 收割机，而我和我的队友成为了气球收割机。&lt;br&gt;&#10;为了变强是一个痛苦且漫长的过程，只有耐得住寂寞，才能守得住繁华。我的一位队友为了变强甚至牺牲了自己的头发，仅仅是因为他担心他的头发阻碍了他思维的发散。他变秃了也变强了。&lt;br&gt;&#10;三年的 ACM 让我成长很多，收获很多。我也从一个“好好学习天天向上为校争光不搞对象”的无知青年变成了一个写的了工程查得出异常的准程序员。我觉得三年献身于 ACM 的日子是值得的，和一大堆萌萌的男孩子们在屋子里面一个又一个通宵奋斗的酣畅淋漓的日子是值得的，看着谈恋爱的大家一会儿哀伤一会儿忧愁而我与代码自得其乐矢志不渝的日子是值得的。此外他还给我带来两个最好的小伙伴，是他们的一路陪伴，让我有勇气一直走下去。我和他们走过的地方，比我和女朋友去过的地方还要多。噢，对了，我好像没有女朋友。总而言之，请珍惜你们的队友，他们是你们在大学里为数不多一起奋斗的小伙伴。希望大家像我一样，也爱着 ACM，为自己心爱的努力。&lt;br&gt;&#10;最后预祝各位参赛选手们取得理想的成绩，也预祝本次大赛圆满成功。谢谢大家。&lt;/p&gt;</description></item><item><title>18 湘潭邀请赛总结</title><link>https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E6%80%BB%E7%BB%93/</link><pubDate>Thu, 14 Jun 2018 23:32:47 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E6%80%BB%E7%BB%93/</guid><category domain="https://lruihao.cn/categories/thoughts/">有所思</category><description>&lt;p&gt;&lt;a href="http://acm.hdu.edu.cn/downloads/2018ccpc_hn.pdf" target="_blank" rel="external nofollow noopener noreferrer"&gt;题目链接&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;（hdu 复赛）&lt;/p&gt;&#10;&lt;p&gt;2018 年湘潭邀请赛，在湘大举行，当时一起打的过去的，因为没出市就方便点。第一次参加现场赛，首先反省一下自己，比赛前算法先不说（没有好好搞过），就连普通的题，数学性质的题都很少刷，什么都不会，然后英语不说四六级的东西，很多专业英语词汇都没有好好了解过，主要的原因还是刷题刷少了，英文题刷少了。理所当然，成功拿下一铁，湘潭赛打铁告终。&lt;/p&gt;</description></item><item><title>F.sorting</title><link>https://lruihao.cn/posts/f-sorting/</link><pubDate>Thu, 14 Jun 2018 22:49:27 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/f-sorting/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;&lt;a class="lightgallery" target="_blank" href="https://lruihao.cn/images/remote/5b2286fcec6fc_15059960177087722511.png" title="sorting.png" data-thumbnail="/images/remote/5b2286fcec6fc_15059960177087722511.png" data-sub-html="&lt;h2&gt;sorting.png&lt;/h2&gt;"&gt;&lt;img loading="lazy" src='https://lruihao.cn/images/remote/5b2286fcec6fc_15059960177087722511.png' alt="sorting.png" height="697" width="1049"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>K.2018</title><link>https://lruihao.cn/posts/k-2018/</link><pubDate>Thu, 14 Jun 2018 22:48:16 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/k-2018/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="k-2018"&gt;&lt;span class="heading-numbered"&gt;K. 2018&lt;/span&gt;&#10; &lt;a href="#k-2018" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Given a,b,c,d, ﬁnd out the number of pairs of integers (x,y) where a ≤ x ≤ b,c ≤ y ≤ d and x·y is a multiple of 2018.&lt;/p&gt;</description></item><item><title>B.Higher h-index</title><link>https://lruihao.cn/posts/b-higher/</link><pubDate>Thu, 14 Jun 2018 22:47:28 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/b-higher/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="b-higher-h-index"&gt;&lt;span class="heading-numbered"&gt;B. Higher h-index&lt;/span&gt;&#10; &lt;a href="#b-higher-h-index" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;The h-index of an author is the largest h where he has at least h papers with citations not less than h.&lt;br&gt;&#10;Bobo has no papers and he is going to publish some subsequently. If he works on a paper for x hours, the&lt;br&gt;&#10;paper will get (a·x) citations, where a is a known constant. It’s clear that x should be a positive integer.&lt;br&gt;&#10;There is also a trick – one can cite his own papers published earlier.&lt;/p&gt;&#10;&lt;p&gt;Given Bobo has n working hours, ﬁnd the maximum h-index of him.&lt;/p&gt;</description></item><item><title>A.Easy h-index</title><link>https://lruihao.cn/posts/a-easy/</link><pubDate>Thu, 14 Jun 2018 22:36:58 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/a-easy/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="a-easy-h-index"&gt;&lt;span class="heading-numbered"&gt;A. Easy h-index&lt;/span&gt;&#10; &lt;a href="#a-easy-h-index" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;The h-index of an author is the largest h where he has at least h papers with citations not less than h.&lt;br&gt;&#10;Bobo has published many papers. Given a0,a1,a2,&amp;hellip;,an which means Bobo has published ai papers with&lt;br&gt;&#10;itations exactly i, ﬁnd the h-index of Bobo.&lt;/p&gt;</description></item><item><title>sort 排序</title><link>https://lruihao.cn/posts/c-sort/</link><pubDate>Thu, 14 Jun 2018 20:23:03 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/c-sort/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;p&gt;sort 使用&lt;code&gt;#include&amp;lt;algorithm&amp;gt;&lt;/code&gt;头文件，&lt;/p&gt;&#10;&lt;p&gt;sort（开始地址，结束地址，排序方式），其中第三参数可以没有，则默认为升序排序。&lt;/p&gt;&#10;&lt;p&gt;或者简单的用&#10;&lt;code&gt;less&amp;lt;参数类型&amp;gt;()&lt;/code&gt;表示升序&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;greater&amp;lt;参数类型&amp;gt;()&lt;/code&gt;表示降序&lt;/p&gt;&#10;&lt;p&gt;也可以用一个 bool 型函数，比如：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;bool cmp(int a,int b){&#10;&#10; return a&amp;gt;b;//表从大到小，即降序&#10;&#10;}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;假设自己定义了一个结构体 node&lt;/p&gt;</description></item><item><title>位运算</title><link>https://lruihao.cn/posts/%E4%BD%8D%E8%BF%90%E7%AE%97/</link><pubDate>Thu, 14 Jun 2018 20:22:21 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/%E4%BD%8D%E8%BF%90%E7%AE%97/</guid><category domain="https://lruihao.cn/categories/grocery/">Grocery</category><description>&lt;h2 class="heading-element" id="1-运算"&gt;&lt;span class="heading-numbered"&gt;1. &amp;amp;运算&lt;/span&gt;&#10; &lt;a href="#1-%e8%bf%90%e7%ae%97" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&amp;amp;运算通常用于二进制取位操作，例如一个数 &amp;amp; 1 的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶，二进制的最末位为 0 表示该数为偶数，最末位为 1 表示该数为奇数。&lt;/p&gt;</description></item><item><title>C++ with STL</title><link>https://lruihao.cn/posts/c-with-stl/</link><pubDate>Thu, 14 Jun 2018 20:22:06 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/c-with-stl/</guid><category domain="https://lruihao.cn/categories/acm/">ACM</category><description>&lt;h2 class="heading-element" id="1swap交换两元素值在-algorithm-下用法swapab"&gt;&lt;span class="heading-numbered"&gt;1.swap（交换两元素值，在 algorithm 下，用法：swap(a,b);）&lt;/span&gt;&#10; &lt;a href="#1swap%e4%ba%a4%e6%8d%a2%e4%b8%a4%e5%85%83%e7%b4%a0%e5%80%bc%e5%9c%a8-algorithm-%e4%b8%8b%e7%94%a8%e6%b3%95swapab" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;交换两元素的值在 C 语言课上作为指针讲解的典例。&lt;/p&gt;&#10;&lt;p&gt;int a=1,b=2;&lt;/p&gt;&#10;&lt;p&gt;swap(a,b);&lt;/p&gt;&#10;&lt;p&gt;//此时 a=2,b=1&lt;/p&gt;&#10;&lt;p&gt;（可以是其他类型）&lt;/p&gt;</description></item><item><title>各种 Links 汇总与分享</title><link>https://lruihao.cn/posts/links/</link><pubDate>Thu, 07 Jun 2018 00:06:05 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/links/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;2021/10/1 更新&lt;br&gt;&#10;使用 Chrome 等浏览器管理书签是更好更方便的方式，登陆 google 账号，或者导出 html 书签文件都挺方便。&lt;/p&gt;&#10;&lt;p&gt;我们在平时学习生活总会遇到很多很多有用的网站，也许我们收藏在了浏览器书签里，可过久了，不做说明，这些链接的价值就被时间淹没了，我们自己都记不起来了，所以这篇文章因此而生。对自己收藏的链接做些简单的说明（第一次编写用了我一个下午）；也相当于我的链接收藏夹，分享一些有趣的网站，&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>hexo+github 搭建个人博客及美化</title><link>https://lruihao.cn/posts/hexobuild/</link><pubDate>Fri, 01 Jun 2018 14:34:23 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hexobuild/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://lruihao.cn/categories/hexo/"&gt;更多关于 hexo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="首先"&gt;&lt;span class="heading-numbered"&gt;首先&lt;/span&gt;&#10; &lt;a href="#%e9%a6%96%e5%85%88" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;a href="https://hexo.io/zh-cn/docs/index.html" target="_blank" rel="external nofollow noopener noreferrer"&gt;官方文档&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 是我们的第一手资料，也是最好的。&#10;安装 Hexo 相当简单。然而在安装前，你必须检查电脑中是否已安装下列应用程序：&lt;/p&gt;</description></item><item><title>hexo 添加图片，音乐，链接，视频</title><link>https://lruihao.cn/posts/hexowrite/</link><pubDate>Thu, 31 May 2018 23:19:22 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hexowrite/</guid><category domain="https://lruihao.cn/categories/memo/">Memo</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;如果实在搞得头晕直接去 &lt;a href="https://www.jianshu.com/" target="_blank" rel="external nofollow noopener noreferrer"&gt;简书&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 写文章，再把简书生成的 md 文章复制过来就好了（简书是个不错的 Markdown 在线编辑器），还可以去 &lt;a href="https://maxiang.io/" target="_blank" rel="external nofollow noopener noreferrer"&gt;马克飞象，专为印象笔记打造的 Markdown 编辑器&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;，&lt;a href="https://www.typora.io/#" target="_blank" rel="external nofollow noopener noreferrer"&gt;typora 也是不错的&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;，突然发现 &lt;a href="https://www.csdn.net/" target="_blank" rel="external nofollow noopener noreferrer"&gt;csdn&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt; 也支持 Markdown 编译器了&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>猴子与哪吒</title><link>https://lruihao.cn/posts/%E7%8C%B4%E5%AD%90%E4%B8%8E%E5%93%AA%E5%90%92/</link><pubDate>Thu, 31 May 2018 10:09:15 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/%E7%8C%B4%E5%AD%90%E4%B8%8E%E5%93%AA%E5%90%92/</guid><category domain="https://lruihao.cn/categories/thoughts/">有所思</category><description>&lt;p&gt;一直觉得中国古代神话&lt;/p&gt;&#10;&lt;p&gt;能称得上传奇的只有两个人物：&lt;/p&gt;&#10;&lt;p&gt;一是猴子&lt;/p&gt;&#10;&lt;p&gt;一是哪吒&lt;/p&gt;&#10;&lt;p&gt;百世蕴灵育出只石猴 大闹天宫腾云驾雾&lt;/p&gt;&#10;&lt;p&gt;三年怀胎生了个哪吒 东海屠龙翻江倒海&lt;/p&gt;&#10;&lt;p&gt;可以说 除了这两人 没人再能当得起离经放纵四个字的&lt;/p&gt;&#10;&lt;p&gt;但称得上悲剧的 约摸也只有这两个&lt;/p&gt;&#10;&lt;p&gt;一个五行山下压五百年 揭了封印 戴上金箍无悲无喜 拜佛西天 唤孙悟空&lt;/p&gt;&#10;&lt;p&gt;一个削肉还母剔骨还父 塑了莲身 站上火轮无怨无恨 封神南门 号三太子&lt;/p&gt;</description></item><item><title>博客构建档（HTML &amp; Markdown）</title><link>https://lruihao.cn/projects/lruihao/lruihao.github.io/</link><pubDate>Mon, 28 May 2018 12:24:11 +0000</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/projects/lruihao/lruihao.github.io/</guid><category domain="https://lruihao.cn/categories/github/">GitHub</category><description>&lt;h2 class="heading-element" id="菠菜眾長" data-decreased&gt;&lt;span&gt;&lt;a href="https://lruihao.cn/" title="主页"&gt;菠菜眾長&lt;/a&gt;&lt;/span&gt;&#10; &lt;a href="#%e8%8f%a0%e8%8f%9c%e7%9c%be%e9%95%b7" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;blockquote&gt;&#10;&lt;p&gt;Hugo FixIt 作者，喜欢瞎折腾、造轮子、写东西，分享一些前端开发中的所见、所闻、所思。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;共计 296 篇文章 by &lt;a href="https://github.com/Lruihao" target="_blank" rel="external nofollow noopener noreferrer"&gt;Lruihao&lt;i class="fa-solid fa-external-link-alt fa-xs ms-1 text-secondary" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 class="heading-element" id="2026"&gt;&lt;span&gt;2026&lt;/span&gt;&#10; &lt;a href="#2026" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;details open&gt;&#10;&lt;summary&gt;共计 1 篇文章&lt;/summary&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;03-06 &lt;a href="https://lruihao.cn/projects/lruihao/cell-tooltip/" title="2026-03-06 06:58:23"&gt;一个轻量化 Tooltip 组件。&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/details&gt;&#10;&lt;h2 class="heading-element" id="2025"&gt;&lt;span&gt;2025&lt;/span&gt;&#10; &lt;a href="#2025" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;details&gt;&#10;&lt;summary&gt;共计 14 篇文章&lt;/summary&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;12-24 &lt;a href="https://lruihao.cn/projects/hugo-fixit/cmpt-santa-hat/" title="2025-12-24 03:31:47"&gt;A Christmas Easter Egg by JavaScript.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-30 &lt;a href="https://lruihao.cn/projects/lruihao/auto-changelog-plus/" title="2025-08-30 15:40:19"&gt;Command line tool for generating a changelog from git tags and commit history&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-16 &lt;a href="https://lruihao.cn/posts/mermaid-theming/" title="2025-08-16 12:37:49"&gt;让 Mermaid 图表自动跟随系统深浅色&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-05 &lt;a href="https://lruihao.cn/posts/wc-01-prologue/" title="2025-08-05 11:31:52"&gt;黑盒出关・三把钥匙定江湖&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-04 &lt;a href="https://lruihao.cn/posts/code-playground/" title="2025-08-04 11:37:24"&gt;Code Playground&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/projects/lruihao/caniuse-embed-element/" title="2025-07-22 03:40:45"&gt;A custom web component that embeds caniuse.com browser compatibility data for a specific feature.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-19 &lt;a href="https://lruihao.cn/projects/lruihao/json-viewer-element/" title="2025-07-19 07:05:07"&gt;A custom element for viewing and interacting with JSON data.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-18 &lt;a href="https://lruihao.cn/posts/at-layer/" title="2025-06-18 10:35:47"&gt;CSS @layer：构建更高效、更可维护的样式层级&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-11 &lt;a href="https://lruihao.cn/posts/vue-build/" title="2025-06-11 10:05:36"&gt;Vue.js History 模式下的 NGINX 配置与 API 代理&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-10 &lt;a href="https://lruihao.cn/projects/lruihao/mmt-webfont/" title="2025-04-10 08:35:34"&gt;The webfont package for the MMT typeface.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-09 &lt;a href="https://lruihao.cn/projects/lruihao/vercel-proxy/" title="2025-04-09 02:13:22"&gt;API proxies powered by Vercel.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-20 &lt;a href="https://lruihao.cn/posts/flexbox/" title="2025-01-20 15:56:38"&gt;CSS Flexbox 布局指南&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-14 &lt;a href="https://lruihao.cn/projects/hugo-fixit/action-component-list/" title="2025-01-14 09:10:09"&gt;Generate a list of all hugo-fixit theme components.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-08 &lt;a href="https://lruihao.cn/projects/hugo-fixit/shortcode-asciinema/" title="2025-01-08 09:20:48"&gt;A Hugo theme component with asciinema-embed shortcode.&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/details&gt;&#10;&lt;h2 class="heading-element" id="2024"&gt;&lt;span&gt;2024&lt;/span&gt;&#10; &lt;a href="#2024" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;details&gt;&#10;&lt;summary&gt;共计 38 篇文章&lt;/summary&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;12-06 &lt;a href="https://lruihao.cn/posts/css-viewport/" title="2024-12-06 10:32:22"&gt;震惊！CSS 竟然能获取视口尺寸？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;12-02 &lt;a href="https://lruihao.cn/projects/hugo-fixit/cmpt-translate/" title="2024-12-02 07:29:57"&gt;🌐 A component for site automatic translation.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-22 &lt;a href="https://lruihao.cn/posts/91db0fa/" title="2024-11-22 14:01:18"&gt;Amazon 如何让服务器享受着持续集群安全？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-05 &lt;a href="https://lruihao.cn/projects/hugo-fixit/cmpt-flyfish/" title="2024-11-05 08:23:29"&gt;🐟 A canvas implemented animation effect of small fish swimming.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-06 &lt;a href="https://lruihao.cn/posts/content-adapters/" title="2024-10-06 11:10:22"&gt;自动获取 GitHub README 内容添加到 Hugo 文章&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-13 &lt;a href="https://lruihao.cn/projects/lruihao/html-demo/" title="2024-09-13 02:36:29"&gt;不使用任何框架，只使用原生 HTML、CSS 和 JavaScript 的一些小 demo。&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-04 &lt;a href="https://lruihao.cn/projects/hugo-fixit/fixit-releaser/" title="2024-09-04 18:10:59"&gt;⚙️ Versioning, change-log and release tool. (Superseded by https://github.com/Lruihao/auto-changelog-plus)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-22 &lt;a href="https://lruihao.cn/projects/hugo-fixit/hugo-atom-feed/" title="2024-08-22 03:29:22"&gt;Hugo theme component for ATOM feed custom Output Format.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-22 &lt;a href="https://lruihao.cn/projects/hugo-fixit/hugo-json-feed/" title="2024-08-22 03:28:23"&gt;Hugo theme component for JSON feed custom Output Format.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-07 &lt;a href="https://lruihao.cn/projects/hugo-fixit/cmpt-mdevtools/" title="2024-08-07 05:49:13"&gt;Mobile devtools component powered by vConsole and eruda.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-29 &lt;a href="https://lruihao.cn/posts/css-round/" title="2024-07-29 20:32:39"&gt;现代 CSS 解决方案：CSS 四舍五入数值单位&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-21 &lt;a href="https://lruihao.cn/projects/hugo-fixit/shortcode-rewards/" title="2024-07-21 14:02:29"&gt;A Hugo theme component with reward-log or sponsor-log shortcode.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-17 &lt;a href="https://lruihao.cn/posts/git-summary/" title="2024-07-17 16:06:08"&gt;Git 统计代码量&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-15 &lt;a href="https://lruihao.cn/posts/drop-shadow/" title="2024-07-15 10:40:12"&gt;现代 CSS 解决方案之异形元素怎么设置阴影？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-14 &lt;a href="https://lruihao.cn/projects/hugo-fixit/shortcode-docs-bookmark/" title="2024-07-14 07:39:56"&gt;🔖 Embed bookmark of FixIt Docs.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-14 &lt;a href="https://lruihao.cn/posts/fixit-docs-bookmark/" title="2024-07-14 13:03:31"&gt;CSS 实现时间轴、背景图 loading 和渐变边框&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-07 &lt;a href="https://lruihao.cn/posts/d1fc0c7/" title="2024-07-07 13:54:14"&gt;探索 Amazon S3 的无限存储潜力&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-28 &lt;a href="https://lruihao.cn/posts/scrollbar-styling/" title="2024-06-28 22:29:03"&gt;标准滚动条控制规范&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-28 &lt;a href="https://lruihao.cn/projects/hugo-fixit/shortcode-caniuse/" title="2024-06-28 06:56:32"&gt;A Hugo theme component with caniuse shortcode.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-13 &lt;a href="https://lruihao.cn/posts/aside-toggle-drag/" title="2024-06-13 21:03:12"&gt;如何实现 VSCode 编辑器窗口边界拖拽类似功能&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-09 &lt;a href="https://lruihao.cn/posts/design-principles/" title="2024-06-09 02:24:31"&gt;架构之基：从根儿上了解设计原则&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-06 &lt;a href="https://lruihao.cn/posts/svg-dark-light/" title="2024-06-06 22:13:26"&gt;怎么生成暗黑模式和明亮模式的 SVG 图片？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-20 &lt;a href="https://lruihao.cn/posts/404d6a2/" title="2024-05-20 11:41:03"&gt;坐高铁去柳州吃螺狮粉&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-17 &lt;a href="https://lruihao.cn/projects/vercel-gravatar/" title="2024-04-17 12:51:35"&gt;利用 Vercel 反代 Gravatar 实现镜像加速&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-17 &lt;a href="https://lruihao.cn/projects/lruihao/vercel-gravatar/" title="2024-04-17 01:37:06"&gt;Gravatar Proxy powered by Vercel.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-09 &lt;a href="https://lruihao.cn/projects/hugo-fixit/component-projects/" title="2024-04-09 21:38:42"&gt;🐙 Display your GitHub projects in the FixIt theme and generate blog posts from readme.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-04 &lt;a href="https://lruihao.cn/projects/apple-devices-preview/" title="2024-04-04 13:23:37"&gt;临时决定再写一个小工具 - 网站预览图生成器&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-02 &lt;a href="https://lruihao.cn/projects/coverview/" title="2024-04-02 18:05:34"&gt;用五天时间给自己制作一个封面图生成工具&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-28 &lt;a href="https://lruihao.cn/projects/lruihao/coverview/" title="2024-03-28 06:14:16"&gt;🛠 Create awesome cover images for your blog posts quickly.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-26 &lt;a href="https://lruihao.cn/posts/c6bc2d5/" title="2024-03-26 12:23:44"&gt;写文档时英文标题什么时候要大写？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;02-29 &lt;a href="https://lruihao.cn/posts/overflow-tooltip/" title="2024-02-29 16:46:00"&gt;实现类似于 Element UI 表格的溢出文本提示功能&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;02-21 &lt;a href="https://lruihao.cn/posts/auto-sizes/" title="2024-02-21 10:00:13"&gt;聊聊 Chrome 新增的 sizes=&amp;ldquo;auto&amp;rdquo; 属性&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;02-09 &lt;a href="https://lruihao.cn/years/2023/" title="2024-02-09 14:07:24"&gt;2023 年度总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-21 &lt;a href="https://lruihao.cn/projects/lruihao/kityminder-core/" title="2024-01-21 06:24:42"&gt;强大的脑图可视化工具&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-17 &lt;a href="https://lruihao.cn/posts/900d5e4/" title="2024-01-17 14:57:48"&gt;记一次 Debug 第三方包的过程&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-17 &lt;a href="https://lruihao.cn/posts/20b75e9/" title="2024-01-17 09:58:58"&gt;为什么很多教程中都有 foo bar？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-11 &lt;a href="https://lruihao.cn/posts/6550187/" title="2024-01-11 10:30:04"&gt;git submodule: already exists in the index&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-10 &lt;a href="https://lruihao.cn/posts/el-card-collapse/" title="2024-01-10 17:06:54"&gt;给 el-card 添加折叠功能&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/details&gt;&#10;&lt;h2 class="heading-element" id="2023"&gt;&lt;span&gt;2023&lt;/span&gt;&#10; &lt;a href="#2023" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;details&gt;&#10;&lt;summary&gt;共计 35 篇文章&lt;/summary&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;12-22 &lt;a href="https://lruihao.cn/posts/d8ae205/" title="2023-12-22 19:58:47"&gt;尝试在 Python 中使用 Amazon Titan 文本模型&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-28 &lt;a href="https://lruihao.cn/projects/fixit-cli/" title="2023-11-28 10:48:07"&gt;用 Node.js 开发一个轻量脚手架&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-20 &lt;a href="https://lruihao.cn/projects/hugo-fixit/fixit-cli/" title="2023-11-20 06:40:09"&gt;🛠️ A node-based tooling for FixIt site initialization.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-18 &lt;a href="https://lruihao.cn/posts/aws-solution/" title="2023-11-18 12:52:37"&gt;探索 AWS 云上一站式解决方案免费使用&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-22 &lt;a href="https://lruihao.cn/posts/ssh-sign/" title="2023-10-22 18:59:31"&gt;SSH 提交签名验证&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-12 &lt;a href="https://lruihao.cn/posts/patch-package/" title="2023-10-12 22:37:56"&gt;如何给 npm 包打补丁？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-12 &lt;a href="https://lruihao.cn/posts/dashboard-summary/" title="2023-10-12 21:25:18"&gt;拖拽式仪表盘系列总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-12 &lt;a href="https://lruihao.cn/posts/dashborad-widget-usage/" title="2023-10-12 20:07:56"&gt;拖拽式仪表盘 - 组件开发&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-12 &lt;a href="https://lruihao.cn/posts/dashborad-template-usage/" title="2023-10-12 20:07:20"&gt;拖拽式仪表盘 - 模板使用&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-12 &lt;a href="https://lruihao.cn/posts/dashborad-widget-docs/" title="2023-10-12 19:41:23"&gt;拖拽式仪表盘 - 组件配置文档&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-12 &lt;a href="https://lruihao.cn/posts/dashborad-template-docs/" title="2023-10-12 19:27:49"&gt;拖拽式仪表盘 - 布局模板文档&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-12 &lt;a href="https://lruihao.cn/posts/dashboard-analysis/" title="2023-10-12 15:37:30"&gt;拖拽式仪表盘 - 功能需求分析&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-11 &lt;a href="https://lruihao.cn/posts/markdownlint/" title="2023-10-11 14:26:48"&gt;给你的 Markdown 挑挑刺&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-08 &lt;a href="https://lruihao.cn/posts/cognitive-complexity/" title="2023-10-08 09:52:44"&gt;认知复杂度（Cognitive Complexity）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-26 &lt;a href="https://lruihao.cn/posts/article-structure/" title="2023-09-26 15:17:52"&gt;写作技巧：如何搭建文章的框架结构？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-25 &lt;a href="https://lruihao.cn/projects/el-table-sticky/" title="2023-09-25 17:49:58"&gt;如何让 Element UI 表头、表尾、横向滚动条吸顶吸底固定？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-17 &lt;a href="https://lruihao.cn/posts/vue-fullscreen-toggler/" title="2023-09-17 19:44:07"&gt;封装 Vue FullScreenToggler 组件&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-15 &lt;a href="https://lruihao.cn/posts/js-fullscreen/" title="2023-09-15 17:29:25"&gt;JS 实现全屏和退出全屏&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-15 &lt;a href="https://lruihao.cn/posts/translation-guide/" title="2023-09-15 11:07:56"&gt;中文翻译的常见问题&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-14 &lt;a href="https://lruihao.cn/posts/vue-svg-icon/" title="2023-09-14 11:24:48"&gt;在 Vue 项目中更优雅地使用 icon&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-14 &lt;a href="https://lruihao.cn/posts/vscode-snippets/" title="2023-09-14 11:21:56"&gt;VSCode 添加用户代码片段，自定义用户代码片段&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-02 &lt;a href="https://lruihao.cn/posts/grid-bg-image/" title="2023-09-02 10:05:44"&gt;CSS 如何实现网格背景效果？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-26 &lt;a href="https://lruihao.cn/posts/aws-ec2/" title="2023-08-26 17:22:57"&gt;将 Hugo 博客部署到亚马逊云服务器&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-08 &lt;a href="https://lruihao.cn/projects/lruihao/vue-el-demo/" title="2023-08-08 01:41:08"&gt;Vue2 and element-ui related demos&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-20 &lt;a href="https://lruihao.cn/posts/el-backtop-fix/" title="2023-07-20 11:08:18"&gt;用魔法打败魔法 - ElBacktop Fix&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/projects/lruihao/el-table-sticky/" title="2023-06-14 14:03:49"&gt;A plugin includes a set of directives to make the header, footer and horizontal scrollbar sticky or make highly adaptive of Element UI (Vue 2) tables.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/posts/gen-router/" title="2023-06-14 00:11:17"&gt;使用 Node.js 自动创建 Vue 的路由&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-12 &lt;a href="https://lruihao.cn/posts/sourcetree-husky/" title="2023-06-12 10:58:44"&gt;解决 SourceTree 提交时候 husky 命令失败问题&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-03 &lt;a href="https://lruihao.cn/posts/v2-tailwind/" title="2023-06-03 17:38:44"&gt;Vue2 + tailwindcss 初始化&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-14 &lt;a href="https://lruihao.cn/posts/vue2-guid/" title="2023-03-14 08:37:59"&gt;新手向：Vue 2.0 的建议学习顺序&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;02-28 &lt;a href="https://lruihao.cn/projects/hugo-fixit/shortcode-mmt-netease/" title="2023-02-28 09:12:29"&gt;🎶 A Hugo theme component with a NetEase Cloud random comment shortcode.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;02-12 &lt;a href="https://lruihao.cn/posts/native-img-loading-lazy/" title="2023-02-12 19:40:43"&gt;浏览器 IMG 图片原生懒加载 loading=&amp;ldquo;lazy&amp;rdquo;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;02-05 &lt;a href="https://lruihao.cn/posts/browser-rendering/" title="2023-02-05 21:02:52"&gt;浏览器渲染原理&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;02-04 &lt;a href="https://lruihao.cn/posts/document-style-guide/" title="2023-02-04 16:04:42"&gt;中文技术文档的写作规范&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-11 &lt;a href="https://lruihao.cn/posts/event-loop/" title="2023-01-11 11:16:02"&gt;浏览器原理 - 事件循环&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/details&gt;&#10;&lt;h2 class="heading-element" id="2022"&gt;&lt;span&gt;2022&lt;/span&gt;&#10; &lt;a href="#2022" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;details&gt;&#10;&lt;summary&gt;共计 20 篇文章&lt;/summary&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;12-17 &lt;a href="https://lruihao.cn/years/2022/" title="2022-12-17 01:01:30"&gt;2022 年度总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;12-15 &lt;a href="https://lruihao.cn/posts/homebrew-npm/" title="2022-12-15 15:33:30"&gt;安装 Homebrew 后导致系统中原有的 npm 和 npx 失效&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-10 &lt;a href="https://lruihao.cn/projects/lruihao/vue-minder-editor-extended/" title="2022-10-10 02:50:53"&gt;基于 fex-team/kityminder-core 和 Vue2 封装的在线脑图编辑组件&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-30 &lt;a href="https://lruihao.cn/projects/hugo-fixit/hugo-fixit-starter/" title="2022-09-30 09:28:41"&gt;🆕 A quick-start template base on Hugo Modules to create a Hugo FixIt site.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-27 &lt;a href="https://lruihao.cn/projects/hugo-fixit/hugo-fixit-starter1/" title="2022-09-27 15:23:38"&gt;🆕 A quick-start template base on Git submodule to create a Hugo FixIt site.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-04 &lt;a href="https://lruihao.cn/projects/hugo-fixit/hugo-shell/" title="2022-09-04 04:18:42"&gt;Using frequently-used Hugo commands by shell.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-31 &lt;a href="https://lruihao.cn/posts/beego-install/" title="2022-08-31 09:32:44"&gt;Beego 安装及配置&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-13 &lt;a href="https://lruihao.cn/posts/semver/" title="2022-08-13 13:32:03"&gt;语义版本控制（SemVer）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-12 &lt;a href="https://lruihao.cn/posts/commit-spec/" title="2022-08-12 15:37:44"&gt;Commit Message Spec&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-12 &lt;a href="https://lruihao.cn/posts/electron-summary/" title="2022-08-12 11:22:01"&gt;electron 踩坑总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-08 &lt;a href="https://lruihao.cn/posts/encryption-fe/" title="2022-08-08 13:49:22"&gt;前端页面内容加密总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-07 &lt;a href="https://lruihao.cn/posts/qcloudcdn/" title="2022-08-07 14:40:33"&gt;Node.js + GitHub Actions 自动刷新 CDN&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-07 &lt;a href="https://lruihao.cn/posts/newline/" title="2022-08-07 00:10:30"&gt;不同系统的换行符的差异&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-31 &lt;a href="https://lruihao.cn/posts/ohmyzsh-custom/" title="2022-07-31 13:54:14"&gt;自定义 ohmyzsh 主题&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-30 &lt;a href="https://lruihao.cn/posts/linux-permission/" title="2022-07-30 17:15:44"&gt;linux 文件权限&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-29 &lt;a href="https://lruihao.cn/posts/config4mac/" title="2022-07-29 20:22:44"&gt;Mac 上的开发配置总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-23 &lt;a href="https://lruihao.cn/projects/hugo-fixit/docs/" title="2022-07-23 12:17:06"&gt;📄 The open-source repo for fixit.lruihao.cn&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-05 &lt;a href="https://lruihao.cn/posts/adb-for-mac/" title="2022-07-05 15:39:34"&gt;Mac 配置 ADB&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-01 &lt;a href="https://lruihao.cn/posts/js-rediscover/" title="2022-05-01 10:59:36"&gt;重新认识 JavaScript&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-30 &lt;a href="https://lruihao.cn/posts/css-scss-var/" title="2022-04-30 22:04:29"&gt;关于 CSS 和 Scss 变量运算那些事&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/details&gt;&#10;&lt;h2 class="heading-element" id="2021"&gt;&lt;span&gt;2021&lt;/span&gt;&#10; &lt;a href="#2021" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;details&gt;&#10;&lt;summary&gt;共计 18 篇文章&lt;/summary&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;12-22 &lt;a href="https://lruihao.cn/posts/gtd/" title="2021-12-22 20:17:42"&gt;Getting Things Done for ios App Reminders and Github issues&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;12-16 &lt;a href="https://lruihao.cn/projects/hugo-fixit/fixit/" title="2021-12-16 03:35:27"&gt;🔧 A clean, elegant but advanced blog theme for Hugo 一个简洁、优雅且高效的 Hugo 主题&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-05 &lt;a href="https://lruihao.cn/posts/subl_imgpaste2/" title="2021-10-05 21:54:06"&gt;Sublime 剪贴板图片粘贴插件 —— Markdown 必备&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-05 &lt;a href="https://lruihao.cn/posts/hugo-cardlink/" title="2021-10-05 19:33:13"&gt;Hugo 添加知乎卡片式链接 Shortcodes&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-05 &lt;a href="https://lruihao.cn/posts/hugo-i18n-zh-tw/" title="2021-10-05 19:14:45"&gt;Hugo I18n 添加中文繁體翻譯&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-05 &lt;a href="https://lruihao.cn/posts/hugo-friends/" title="2021-10-05 14:14:10"&gt;Hugo 友情連結模板&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-04 &lt;a href="https://lruihao.cn/posts/hugo-admin/" title="2021-10-04 23:49:00"&gt;Hugo 本地管理 Shell 腳本&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-04 &lt;a href="https://lruihao.cn/posts/github-actions/" title="2021-10-04 23:46:49"&gt;Hugo 使用 GitHub Actions 部署到 GithHb Pages 和 腾讯云 cos 桶&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-03 &lt;a href="https://lruihao.cn/posts/hexo-to-hugo/" title="2021-10-03 15:27:58"&gt;个人博客从 Hexo 迁移至 Hugo&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-22 &lt;a href="https://lruihao.cn/posts/less-sass-scss/" title="2021-06-22 16:39:47"&gt;less&amp;amp;sass&amp;amp;scss&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-21 &lt;a href="https://lruihao.cn/posts/lightbox/" title="2021-06-21 16:18:04"&gt;Lightbox&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-21 &lt;a href="https://lruihao.cn/years/2020-2021/" title="2021-06-21 10:17:38"&gt;2020&amp;amp;2021 總結&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-24 &lt;a href="https://lruihao.cn/projects/lruihao/watermark/" title="2021-05-24 13:05:40"&gt;Create watermark for webpage and automatic adjust when window resize.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-23 &lt;a href="https://lruihao.cn/projects/cell-watermark/" title="2021-05-23 17:15:41"&gt;Cell Watermark&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-04 &lt;a href="https://lruihao.cn/posts/codereview/" title="2021-03-04 21:04:18"&gt;Code Review 怎麼做？新手工程師如何提升「程式碼品質」&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-02 &lt;a href="https://lruihao.cn/projects/bill-note/" title="2021-03-02 21:46:40"&gt;基于 leancloud-storage 实现的无后端记账本&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-01 &lt;a href="https://lruihao.cn/me/whysmoke/" title="2021-03-01 01:27:41"&gt;你为什么吸烟？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;02-28 &lt;a href="https://lruihao.cn/projects/lruihao/bill-note/" title="2021-02-28 03:44:09"&gt;基于 leancloud-storage 实现的无后端记账本&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/details&gt;&#10;&lt;h2 class="heading-element" id="2020"&gt;&lt;span&gt;2020&lt;/span&gt;&#10; &lt;a href="#2020" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;details&gt;&#10;&lt;summary&gt;共计 8 篇文章&lt;/summary&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;07-25 &lt;a href="https://lruihao.cn/projects/cell-blog/" title="2020-07-25 20:51:11"&gt;cell-blog 功能介绍与安装&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-25 &lt;a href="https://lruihao.cn/posts/cell-blog-dev/" title="2020-07-25 20:42:42"&gt;cell-blog 开发记录&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-17 &lt;a href="https://lruihao.cn/projects/lruihao/cell-blog/" title="2020-04-17 08:33:39"&gt;基于 Laravel 7 开发，支持 Markdown 语法的博客&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-26 &lt;a href="https://lruihao.cn/posts/csdnvisiter/" title="2020-03-26 11:08:38"&gt;使用 Python 刷 csdn 访问量&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-25 &lt;a href="https://lruihao.cn/posts/cron/" title="2020-03-25 09:19:44"&gt;Cron 表达式的基本语法&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-25 &lt;a href="https://lruihao.cn/posts/daka/" title="2020-03-25 08:22:42"&gt;新冠疫情未返校未返工第 N 天之“自动打卡”&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-16 &lt;a href="https://lruihao.cn/years/2019/" title="2020-01-16 20:01:22"&gt;2019 年度总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-16 &lt;a href="https://lruihao.cn/posts/sql/" title="2020-01-16 19:28:05"&gt;SQL 总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/details&gt;&#10;&lt;h2 class="heading-element" id="2019"&gt;&lt;span&gt;2019&lt;/span&gt;&#10; &lt;a href="#2019" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;details&gt;&#10;&lt;summary&gt;共计 71 篇文章&lt;/summary&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;11-24 &lt;a href="https://lruihao.cn/projects/cos-album/" title="2019-11-24 10:52:34"&gt;利用腾讯云为静态页面添加“动态”相册&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-23 &lt;a href="https://lruihao.cn/projects/lruihao/cos-album/" title="2019-11-23 12:59:05"&gt;解析腾讯云 cos 桶 xml 生成相册,同时也是图床的显示页面&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-14 &lt;a href="https://lruihao.cn/posts/restful/" title="2019-11-14 19:06:05"&gt;RESTful&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-28 &lt;a href="https://lruihao.cn/posts/phppushurl/" title="2019-09-28 18:32:42"&gt;php 同时主动推送链接到百度，神马等站长平台&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-28 &lt;a href="https://lruihao.cn/posts/phpfile/" title="2019-09-28 17:11:17"&gt;php 按行读取文件信息&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-26 &lt;a href="https://lruihao.cn/projects/lruihao/mmt/" title="2019-09-26 12:44:17"&gt;沐目之，湘也。— 沐目体&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-19 &lt;a href="https://lruihao.cn/posts/site-time/" title="2019-09-19 22:03:29"&gt;设置网站运行时间&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-08 &lt;a href="https://lruihao.cn/posts/async-defer/" title="2019-09-08 11:47:50"&gt;script 的三种加载方式 (async, defer)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-15 &lt;a href="https://lruihao.cn/posts/sublime-text3/" title="2019-08-15 20:59:10"&gt;Sublime Text3 快捷键大全&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-15 &lt;a href="https://lruihao.cn/posts/netbeans/" title="2019-08-15 18:36:15"&gt;NetBeans IDE 开发设置&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-15 &lt;a href="https://lruihao.cn/posts/dev-rules/" title="2019-08-15 18:30:31"&gt;Web 开发规则，代码规范&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-19 &lt;a href="https://lruihao.cn/posts/phpform/" title="2019-07-19 11:38:59"&gt;简单评论模块&amp;ndash;php 表单练习&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-15 &lt;a href="https://lruihao.cn/posts/phpfunc/" title="2019-07-15 11:37:33"&gt;php 函数学习&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-12 &lt;a href="https://lruihao.cn/posts/wamproot/" title="2019-07-12 18:44:36"&gt;WAMPServer 自定义网站根目录等设置&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-21 &lt;a href="https://lruihao.cn/posts/pysx2/" title="2019-06-21 18:46:41"&gt;python 实训总结Ⅱ&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-18 &lt;a href="https://lruihao.cn/posts/pysx1/" title="2019-06-18 18:41:00"&gt;python 实训总结Ⅰ&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-26 &lt;a href="https://lruihao.cn/posts/judgetriangle/" title="2019-05-26 18:50:53"&gt;判断三角形的黑盒测试&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-17 &lt;a href="https://lruihao.cn/posts/hustoj/" title="2019-05-17 23:08:04"&gt;HustOJ 基础搭建教程&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-17 &lt;a href="https://lruihao.cn/posts/gcd-bit/" title="2019-05-17 09:14:16"&gt;最大公约数（二进制算法）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-16 &lt;a href="https://lruihao.cn/posts/imgurl/" title="2019-05-16 20:31:33"&gt;宝塔面板安装 ImgURL 图床&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-11 &lt;a href="https://lruihao.cn/posts/mx2wx/" title="2019-05-11 17:02:31"&gt;python 实战：模拟 post 请求定时获取后台数据并打包发送至微信&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-10 &lt;a href="https://lruihao.cn/posts/ifzhushi/" title="2019-05-10 13:08:27"&gt;条件注释判断浏览器版本&amp;lt;!&amp;ndash;[if lt IE 9]&amp;gt;;&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-09 &lt;a href="https://lruihao.cn/posts/pysettime/" title="2019-05-09 23:26:54"&gt;python 设置程序每天 8 点定时执行任务&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-09 &lt;a href="https://lruihao.cn/posts/pyinstallererror/" title="2019-05-09 19:05:01"&gt;安装 pyinstaller 出错的解决办法及 csdn 工具实例打包&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-08 &lt;a href="https://lruihao.cn/posts/singlethreaddown/" title="2019-05-08 20:55:02"&gt;java 实现一个单线程的资源下载器&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-07 &lt;a href="https://lruihao.cn/posts/jsoninfo/" title="2019-05-07 18:42:47"&gt;Python 如何操作 Json？&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-07 &lt;a href="https://lruihao.cn/posts/posttest/" title="2019-05-07 18:17:05"&gt;python 发送 post 请求进行简单的接口测试&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-06 &lt;a href="https://lruihao.cn/posts/java-urlreader/" title="2019-05-06 17:41:35"&gt;java 通过 URL 和 URLConnection 访问网页资源&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-02 &lt;a href="https://lruihao.cn/posts/byteio/" title="2019-05-02 23:04:32"&gt;文件加密解密（字节流）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-01 &lt;a href="https://lruihao.cn/posts/javaexception/" title="2019-05-01 16:52:21"&gt;模拟借书系统（java 异常练习）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-27 &lt;a href="https://lruihao.cn/posts/qrcode/" title="2019-04-27 14:16:54"&gt;用 MyQR 制作专属动态二维码 (py 和 exe 版本）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-24 &lt;a href="https://lruihao.cn/posts/1thintervivew/" title="2019-04-24 21:23:22"&gt;第一次面试经历&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-22 &lt;a href="https://lruihao.cn/posts/mmtimgpy/" title="2019-04-22 12:46:34"&gt;python 爬取网站图片（图片链接相似）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-20 &lt;a href="https://lruihao.cn/posts/wxpy1/" title="2019-04-20 15:44:57"&gt;python 玩微信：初探 wxpy&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-20 &lt;a href="https://lruihao.cn/posts/wximgpy/" title="2019-04-20 13:32:58"&gt;基本 python 实现的爬取微信好友头像，并拼接成大图&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-19 &lt;a href="https://lruihao.cn/posts/hellojava/" title="2019-04-19 19:49:54"&gt;用记事本编写第一个 java 程序&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-18 &lt;a href="https://lruihao.cn/posts/java-regex/" title="2019-04-18 22:04:21"&gt;java 正则表达式练习&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-14 &lt;a href="https://lruihao.cn/posts/stringbuffer/" title="2019-04-14 10:12:44"&gt;java 常用类&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-12 &lt;a href="https://lruihao.cn/posts/hdu1009/" title="2019-04-12 16:43:19"&gt;HDU 1009 FatMouse&amp;rsquo; Trade（贪心）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;04-03 &lt;a href="https://lruihao.cn/posts/ngrok/" title="2019-04-03 19:29:43"&gt;本地搭建网站服务器并穿透内网&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-30 &lt;a href="https://lruihao.cn/posts/ms-html-css/" title="2019-03-30 22:58:39"&gt;前端面试题 - HTML+CSS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-30 &lt;a href="https://lruihao.cn/posts/bqbj/" title="2019-03-30 10:13:33"&gt;百钱百鸡（枚举法）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-28 &lt;a href="https://lruihao.cn/posts/dacheng/" title="2019-03-28 22:50:43"&gt;大数乘法&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-28 &lt;a href="https://lruihao.cn/posts/http2https/" title="2019-03-28 19:40:54"&gt;vps 配置 ssl 及 https 重定向&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-21 &lt;a href="https://lruihao.cn/posts/hexo-theme-next/" title="2019-03-21 16:43:19"&gt;hexo-theme-next @modified LRH&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-21 &lt;a href="https://lruihao.cn/posts/substatus/" title="2019-03-21 13:36:25"&gt;Java 父类子类的对象初始化过程&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-21 &lt;a href="https://lruihao.cn/posts/windefault/" title="2019-03-21 12:48:30"&gt;ubuntu + windows 双系统默认启动项设置&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-19 &lt;a href="https://lruihao.cn/posts/player/" title="2019-03-19 23:32:56"&gt;宅音乐播放器&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-18 &lt;a href="https://lruihao.cn/posts/bt/" title="2019-03-18 21:31:43"&gt;宝塔面板安装&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-18 &lt;a href="https://lruihao.cn/posts/webbiji/" title="2019-03-18 20:40:55"&gt;web 汇总&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-16 &lt;a href="https://lruihao.cn/posts/fanxing/" title="2019-03-16 13:56:01"&gt;java 泛型 test&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-15 &lt;a href="https://lruihao.cn/posts/eclipseuse/" title="2019-03-15 23:47:24"&gt;eclipse 的基本使用&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-15 &lt;a href="https://lruihao.cn/posts/qframe/" title="2019-03-15 22:31:28"&gt;匿名类在可视化界面中的应用&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-15 &lt;a href="https://lruihao.cn/posts/linkcard/" title="2019-03-15 15:21:39"&gt;模仿知乎卡片式链接&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-15 &lt;a href="https://lruihao.cn/posts/ubuntutime/" title="2019-03-15 14:28:10"&gt;win10,ubuntu 双系统时间不一致&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-08 &lt;a href="https://lruihao.cn/posts/qqxml/" title="2019-03-08 16:52:13"&gt;QQ 强制生成卡片式链接&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-04 &lt;a href="https://lruihao.cn/posts/cipanadmin/" title="2019-03-04 23:08:32"&gt;磁盘存储器的管理&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;03-04 &lt;a href="https://lruihao.cn/posts/js-vcode/" title="2019-03-04 20:53:09"&gt;JS 验证码&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;02-01 &lt;a href="https://lruihao.cn/posts/renative/" title="2019-02-01 20:44:40"&gt;还乡&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-31 &lt;a href="https://lruihao.cn/projects/lruihao/hexo-theme-next/" title="2019-01-31 09:57:45"&gt;Elegant and powerful theme for Hexo.&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-24 &lt;a href="https://lruihao.cn/posts/jicheng/" title="2019-01-24 15:07:50"&gt;java 继承 test&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-22 &lt;a href="https://lruihao.cn/posts/cos-hexo/" title="2019-01-22 14:57:08"&gt;利用腾讯云对象存储 COS 桶托管 hexo 博客&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-18 &lt;a href="https://lruihao.cn/posts/java-arrays/" title="2019-01-18 13:13:10"&gt;Arrays 类及基本使用&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-16 &lt;a href="https://lruihao.cn/posts/recent-posts/" title="2019-01-16 17:50:52"&gt;在搜索、文章底部、侧栏添加最近文章模块&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-15 &lt;a href="https://lruihao.cn/posts/mathclass/" title="2019-01-15 17:33:28"&gt;java 猜数字小游戏（Math 类）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-15 &lt;a href="https://lruihao.cn/posts/duixiang/" title="2019-01-15 16:07:31"&gt;面向对象基础知识总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-14 &lt;a href="https://lruihao.cn/posts/java-range/" title="2019-01-14 17:30:24"&gt;java 水仙花数（循环）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-14 &lt;a href="https://lruihao.cn/posts/java-input/" title="2019-01-14 15:33:46"&gt;java 录入数据&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-14 &lt;a href="https://lruihao.cn/posts/biaoshi/" title="2019-01-14 15:07:57"&gt;java 标识符&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-12 &lt;a href="https://lruihao.cn/posts/subject-verb/" title="2019-01-12 13:02:49"&gt;英语语法&amp;ndash;主谓一致&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;01-12 &lt;a href="https://lruihao.cn/years/2018/" title="2019-01-12 11:09:52"&gt;2018 年度总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/details&gt;&#10;&lt;h2 class="heading-element" id="2018"&gt;&lt;span&gt;2018&lt;/span&gt;&#10; &lt;a href="#2018" class="heading-mark"&gt;&lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;details&gt;&#10;&lt;summary&gt;共计 91 篇文章&lt;/summary&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;12-10 &lt;a href="https://lruihao.cn/posts/inversion-3/" title="2018-12-10 21:52:30"&gt;英语语法&amp;ndash;形式倒装&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;12-10 &lt;a href="https://lruihao.cn/posts/inversion-2/" title="2018-12-10 21:14:51"&gt;英语语法&amp;ndash;完全倒装&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;12-08 &lt;a href="https://lruihao.cn/posts/inversion-1/" title="2018-12-08 17:52:39"&gt;英语语法&amp;ndash;部分倒装&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-24 &lt;a href="https://lruihao.cn/posts/nextplugin/" title="2018-11-24 16:54:09"&gt;hexo 插件及 next 内置样式集&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-17 &lt;a href="https://lruihao.cn/posts/commit-bat/" title="2018-11-17 14:25:49"&gt;通过 bat 批处理文件自动提交博客代码&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-12 &lt;a href="https://lruihao.cn/posts/fas-app/" title="2018-11-12 16:04:04"&gt;博採眾長 app&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-11 &lt;a href="https://lruihao.cn/posts/caddy-file/" title="2018-11-11 13:59:27"&gt;caddy-两步搭建超简单云盘&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-09 &lt;a href="https://lruihao.cn/posts/next-pdf/" title="2018-11-09 12:51:48"&gt;next 添加支持 pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-03 &lt;a href="https://lruihao.cn/posts/js-device/" title="2018-11-03 23:35:44"&gt;js 判断用户设备类型及平台&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;11-03 &lt;a href="https://lruihao.cn/posts/blog-backup/" title="2018-11-03 12:49:28"&gt;hexo 博客源码备份&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-30 &lt;a href="https://lruihao.cn/posts/git/" title="2018-10-30 08:59:56"&gt;Git 常用指令汇总&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-29 &lt;a href="https://lruihao.cn/posts/beian/" title="2018-10-29 23:16:26"&gt;网站备案之旅&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-29 &lt;a href="https://lruihao.cn/posts/shell/" title="2018-10-29 11:57:39"&gt;shell 脚本初体验&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-29 &lt;a href="https://lruihao.cn/posts/web-server-yun/" title="2018-10-29 09:15:58"&gt;云服务器 CentOS 系统搭建 web 服务&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-28 &lt;a href="https://lruihao.cn/posts/href-301/" title="2018-10-28 14:22:00"&gt;使用 js 准确获取当前页面 url 网址信息及 301 重定向实战&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-26 &lt;a href="https://lruihao.cn/posts/web-server-win/" title="2018-10-26 21:56:18"&gt;windows 上搭建 web 服务器&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-26 &lt;a href="https://lruihao.cn/posts/gituse/" title="2018-10-26 21:11:02"&gt;使用 Git 上传代码到 github, coding 等仓库&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-23 &lt;a href="https://lruihao.cn/posts/termux1/" title="2018-10-23 22:16:02"&gt;termux 基本使用教程&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-17 &lt;a href="https://lruihao.cn/posts/web-font/" title="2018-10-17 21:38:06"&gt;ttf 字体压缩&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-15 &lt;a href="https://lruihao.cn/posts/linux-hello-c/" title="2018-10-15 21:19:27"&gt;linux 编程初体验&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-12 &lt;a href="https://lruihao.cn/projects/font-mmt/" title="2018-10-12 19:39:19"&gt;沐目体&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-09 &lt;a href="https://lruihao.cn/posts/liushuixian/" title="2018-10-09 16:21:04"&gt;流水线&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;10-08 &lt;a href="https://lruihao.cn/posts/data/" title="2018-10-08 23:01:10"&gt;计算机数据&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-27 &lt;a href="https://lruihao.cn/posts/night/" title="2018-09-27 13:13:31"&gt;网页夜间效果&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-26 &lt;a href="https://lruihao.cn/posts/crash-cheat/" title="2018-09-26 16:36:08"&gt;网页离开时改变标题“崩溃欺骗”&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-22 &lt;a href="https://lruihao.cn/posts/linux-git/" title="2018-09-22 22:28:45"&gt;linux/centos 下的安装 git&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;09-21 &lt;a href="https://lruihao.cn/posts/mood/" title="2018-09-21 21:11:25"&gt;每一个优秀的人，都有一段沉默的时光&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-31 &lt;a href="https://lruihao.cn/posts/vim/" title="2018-08-31 11:46:39"&gt;Vim 速查表&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-30 &lt;a href="https://lruihao.cn/posts/hexo-wordcount/" title="2018-08-30 13:15:50"&gt;hexo next 主题添加字数统计（2018）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-21 &lt;a href="https://lruihao.cn/posts/hexo-d-error/" title="2018-08-21 22:15:01"&gt;hexo d 出错&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-20 &lt;a href="https://lruihao.cn/posts/dongtaisub/" title="2018-08-20 16:16:40"&gt;hexo 个性化 - next 主题动态显示 subtitle&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-15 &lt;a href="https://lruihao.cn/posts/heart/" title="2018-08-15 16:33:12"&gt;“高逼格”C 语言画心&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-14 &lt;a href="https://lruihao.cn/posts/git-index-lock/" title="2018-08-14 19:21:23"&gt;git index.lock&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-11 &lt;a href="https://lruihao.cn/posts/termux/" title="2018-08-11 16:59:05"&gt;在 Android 上搭建 hexo 博客&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-10 &lt;a href="https://lruihao.cn/posts/nowcoder157a/" title="2018-08-10 22:11:00"&gt;石子阵列（组合数学）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-10 &lt;a href="https://lruihao.cn/posts/codeforces476a/" title="2018-08-10 20:13:08"&gt;Dreamoon and Stairs&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-10 &lt;a href="https://lruihao.cn/posts/codeforces476b/" title="2018-08-10 17:44:47"&gt;Dreamoon and WiFi（组合数学）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-10 &lt;a href="https://lruihao.cn/posts/euclid/" title="2018-08-10 10:32:39"&gt;The equation-SGU106（扩展欧几里得）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-09 &lt;a href="https://lruihao.cn/posts/lightoj1282/" title="2018-08-09 20:55:26"&gt;Leading and Trailing-lightoj1282（快速幂 + 对数运算）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-09 &lt;a href="https://lruihao.cn/posts/cfcontest1017/" title="2018-08-09 10:48:00"&gt;Codeforces Round 502(Div.1 + Div.2)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-08 &lt;a href="https://lruihao.cn/posts/euler/" title="2018-08-08 17:10:07"&gt;欧拉函数&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-06 &lt;a href="https://lruihao.cn/posts/poj1797/" title="2018-08-06 09:42:11"&gt;Heavy Transportation-poj1797(dijkstra 或最大生成树）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-04 &lt;a href="https://lruihao.cn/posts/console-log/" title="2018-08-04 16:19:06"&gt;hexo 博客自定义 console log&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-03 &lt;a href="https://lruihao.cn/posts/poj2387/" title="2018-08-03 21:40:33"&gt;Til the Cows Come Home-poj2387(dijkstra 判断重边）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-03 &lt;a href="https://lruihao.cn/posts/zuiduanlu/" title="2018-08-03 16:27:16"&gt;最短路入门&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-02 &lt;a href="https://lruihao.cn/posts/nowcodersummer-5th/" title="2018-08-02 21:27:02"&gt;牛客暑假多校第五场&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-02 &lt;a href="https://lruihao.cn/posts/poj1182/" title="2018-08-02 11:10:37"&gt;食物链-poj1182（带权并查集经典模板）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-01 &lt;a href="https://lruihao.cn/posts/hdu1272/" title="2018-08-01 21:45:50"&gt;小希的迷宫-HDU-1272（并查集 or 树性质）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;08-01 &lt;a href="https://lruihao.cn/posts/hdu3038/" title="2018-08-01 11:45:53"&gt;How Many Answers Are Wrong-hdu3038（带权并查集）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-31 &lt;a href="https://lruihao.cn/posts/codeforces680b/" title="2018-07-31 19:32:21"&gt;Bear and Finding Criminals-Codeforces680B&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-31 &lt;a href="https://lruihao.cn/posts/codeforces680a/" title="2018-07-31 19:22:36"&gt;Bear and Five Cards-Codeforces680A&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-31 &lt;a href="https://lruihao.cn/posts/how-tables/" title="2018-07-31 11:12:10"&gt;how many tables-HDU-1213（并查集求连通域数目）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-31 &lt;a href="https://lruihao.cn/posts/poj-1611/" title="2018-07-31 11:11:31"&gt;The-suspects-POJ-1611（并查集）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-31 &lt;a href="https://lruihao.cn/posts/poj-2236/" title="2018-07-31 11:10:54"&gt;wireless network-POJ-2236（并查集）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-31 &lt;a href="https://lruihao.cn/posts/piles-with-stones/" title="2018-07-31 11:09:31"&gt;Piles-with-stones&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-31 &lt;a href="https://lruihao.cn/posts/%E7%95%85%E9%80%9A%E5%B7%A5%E7%A8%8B/" title="2018-07-31 11:08:43"&gt;畅通工程-HDU-1232（并查集经典模板）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-27 &lt;a href="https://lruihao.cn/posts/%E7%89%9B%E5%AE%A2%E7%BB%83%E4%B9%A0%E8%B5%9B23/" title="2018-07-27 21:56:08"&gt;牛客练习赛 23&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-26 &lt;a href="https://lruihao.cn/posts/%E5%9C%A8%E7%BA%BF%E7%A6%BB%E7%BA%BF%E7%AE%97%E6%B3%95/" title="2018-07-26 09:57:32"&gt;在线离线算法&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-24 &lt;a href="https://lruihao.cn/posts/hdu-1495/" title="2018-07-24 15:34:00"&gt;HDU-1495-非常可乐（bfs 模拟倒水 or 数论）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-23 &lt;a href="https://lruihao.cn/posts/hdu-2612/" title="2018-07-23 12:34:42"&gt;hdu-2612-Find a way（双 bfs）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/poj-3278/" title="2018-07-22 12:10:32"&gt;POJ-3278-Catch That Cow(bfs)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/poj-2251/" title="2018-07-22 12:02:32"&gt;poj-2251-Dungeon Master（三维 bfs 最短路）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/poj-1321/" title="2018-07-22 11:58:14"&gt;poj-1321 棋盘问题（dfs）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/poj-1426/" title="2018-07-22 11:57:13"&gt;poj-1426-Find The Multiple(dfs)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/adjacent-replacements/" title="2018-07-22 11:54:14"&gt;Adjacent Replacements&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/poj-3984/" title="2018-07-22 11:50:20"&gt;poj-3984-迷宫问题 (bfs 路径）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/wannafly-20/" title="2018-07-22 11:46:25"&gt;Wannafly 挑战赛 20-染色&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92/" title="2018-07-22 11:41:15"&gt;杨辉三角&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/hdu-1241/" title="2018-07-22 11:37:20"&gt;hdu-1241-Oil Deposits (dfs)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/bfs%E6%B1%82%E6%9C%80%E7%9F%AD%E8%B7%AF/" title="2018-07-22 11:31:05"&gt;BFS 求最短路&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/cf-1009/" title="2018-07-22 11:25:56"&gt;Educational Codeforces Round 47 (Rated for Div. 2)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/dfs_bfs/" title="2018-07-22 11:25:14"&gt;深搜广搜&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-22 &lt;a href="https://lruihao.cn/posts/taotao%E8%A6%81%E5%90%83%E9%B8%A1/" title="2018-07-22 10:55:21"&gt;TaoTao 要吃鸡&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;07-18 &lt;a href="https://lruihao.cn/posts/wannafly-18/" title="2018-07-18 08:40:21"&gt;Wannafly 挑战赛 18-序列&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-16 &lt;a href="https://lruihao.cn/posts/%E7%AE%80%E5%8D%95%E8%83%8C%E5%8C%85/" title="2018-06-16 13:18:43"&gt;简单背包&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-15 &lt;a href="https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E9%98%9F%E5%91%98%E4%BB%A3%E8%A1%A8%E5%8F%91%E8%A8%80/" title="2018-06-15 07:51:21"&gt;18 湘潭邀请赛参赛队员代表发言&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E6%80%BB%E7%BB%93/" title="2018-06-14 23:32:47"&gt;18 湘潭邀请赛总结&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/posts/f-sorting/" title="2018-06-14 22:49:27"&gt;F.sorting&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/posts/k-2018/" title="2018-06-14 22:48:16"&gt;K.2018&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/posts/b-higher/" title="2018-06-14 22:47:28"&gt;B.Higher h-index&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/posts/a-easy/" title="2018-06-14 22:36:58"&gt;A.Easy h-index&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/posts/c-sort/" title="2018-06-14 20:23:03"&gt;sort 排序&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/posts/%E4%BD%8D%E8%BF%90%E7%AE%97/" title="2018-06-14 20:22:21"&gt;位运算&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-14 &lt;a href="https://lruihao.cn/posts/c-with-stl/" title="2018-06-14 20:22:06"&gt;C++ with STL&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-07 &lt;a href="https://lruihao.cn/posts/links/" title="2018-06-07 00:06:05"&gt;各种 Links 汇总与分享&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-03 &lt;a href="https://lruihao.cn/posts/%E6%88%8F%E5%AD%90%E6%98%A5%E7%A7%8B/" title="2018-06-03 19:41:32"&gt;戏子春秋&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;06-01 &lt;a href="https://lruihao.cn/posts/hexobuild/" title="2018-06-01 14:34:23"&gt;hexo+github 搭建个人博客及美化&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-31 &lt;a href="https://lruihao.cn/posts/hexowrite/" title="2018-05-31 23:19:22"&gt;hexo 添加图片，音乐，链接，视频&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-31 &lt;a href="https://lruihao.cn/posts/%E7%8C%B4%E5%AD%90%E4%B8%8E%E5%93%AA%E5%90%92/" title="2018-05-31 10:09:15"&gt;猴子与哪吒&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-28 &lt;a href="https://lruihao.cn/projects/lruihao/lruihao.github.io/" title="2018-05-28 12:24:11"&gt;博客构建档（HTML &amp;amp; Markdown）&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;05-28 &lt;a href="https://lruihao.cn/posts/hello-world/" title="2018-05-28 20:01:01"&gt;Hello World&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/details&gt;</description></item><item><title>Hello World</title><link>https://lruihao.cn/posts/hello-world/</link><pubDate>Mon, 28 May 2018 20:01:01 +0800</pubDate><author>1024@lruihao.cn (Lruihao)</author><guid>https://lruihao.cn/posts/hello-world/</guid><category domain="https://lruihao.cn/categories/thoughts/">有所思</category><description>&lt;blockquote&gt;&#10;&lt;p&gt;“每天早晨叫醒你的不是鬧鐘，而是你的夢想。”&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;我有過靠著這種信念撐下來的日子，我見過自己努力的樣子，至於現在的自己配不配得上當初努力的自己，&lt;br&gt;&#10;其實也不重要了，還望披荊斬棘，不改初心。&lt;/p&gt;&#10;&lt;p&gt;不怕萬人阻擋，只怕自己投降。你如何回憶，決定你是一個怎樣的人！&lt;/p&gt;&#10;&lt;p&gt;從大一伊始，打 ACM 比賽，訓練刷題，再到毅然決然離開實驗室，選擇陌生的 Web 開發，從工作前的一無所知到，到前端開發，後端開發，到教實習生，到面試新人，到開始乏味。這一路走來，好奇心，探索欲，瞎擇騰，或許還有愛意，都是支撐我的動力。&lt;/p&gt;</description></item></channel></rss>