<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>想和代码谈谈</title>
  
  <subtitle>玮仔的个人博客</subtitle>
  <link href="https://blog.wayneshao.com/atom.xml" rel="self"/>
  
  <link href="https://blog.wayneshao.com/"/>
  <updated>2026-03-11T09:07:39.252Z</updated>
  <id>https://blog.wayneshao.com/</id>
  
  <author>
    <name>玮仔Wayne</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>番外｜Mi Claw 来得正是时候，也来得不是时候</title>
    <link href="https://blog.wayneshao.com/posts/46193.html"/>
    <id>https://blog.wayneshao.com/posts/46193.html</id>
    <published>2026-03-11T08:51:32.000Z</published>
    <updated>2026-03-11T09:07:39.252Z</updated>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;当手机开始尝试成为“可执行的 AI 操作系统”，它首先要回答的，反而不是模型够不够聪明，而是：这台手机，到底还算不算一台可信设备。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;前两天，我已经连续写了两篇，分别讨论这次 &lt;a href=&quot;https://blog.wayneshao.com/posts/46191.html&quot;&gt;2026 年 3 月前后的小米 / 高通 GBL 解锁事件&lt;/a&gt;，以及为什么我越来越觉得，这件事被捅穿的，已经&lt;a href=&quot;https://blog.wayneshao.com/posts/46192.html&quot;&gt;不只是“8 Gen 5 可不可以免拆机解锁 BootLoader”这么简单&lt;/a&gt;了。前一篇我更偏向去梳理事件链路、利用路径和传播方式；后一篇则更想把视角从“刷机圈狂欢”拉回到“系统安全边界到底出了什么问题”上。&lt;/p&gt;
&lt;p&gt;但随着这两天另一条线也越来越热，我觉得还值得再补一篇番外。&lt;/p&gt;
&lt;p&gt;这条线，就是 &lt;strong&gt;Xiaomi miclaw&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;如果只把这两件事分开看，会觉得它们像是两个平行话题：&lt;/p&gt;
&lt;p&gt;一边，是小米 17 系列上围绕 GBL、BootLoader、Root、SELinux 和高权限服务边界的巨大争议；&lt;br&gt; 另一边，则是小米突然端出一个系统级 AI Agent，开始小范围封测，试图在“手机 AI 助手”这条赛道上抢先占位。&lt;/p&gt;
&lt;p&gt;但如果把这两件事真正放在一起看，我越来越觉得：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mi Claw 来得正是时候，也来得不是时候。&lt;/strong&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="小米" scheme="https://blog.wayneshao.com/tags/%E5%B0%8F%E7%B1%B3/"/>
    
    <category term="Bootloader" scheme="https://blog.wayneshao.com/tags/Bootloader/"/>
    
    <category term="MiClaw" scheme="https://blog.wayneshao.com/tags/MiClaw/"/>
    
  </entry>
  
  <entry>
    <title>番外｜被捅穿的，不只是 8 Gen 5</title>
    <link href="https://blog.wayneshao.com/posts/46192.html"/>
    <id>https://blog.wayneshao.com/posts/46192.html</id>
    <published>2026-03-09T07:02:25.000Z</published>
    <updated>2026-03-09T07:16:34.047Z</updated>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;设备原本承诺给用户的那条安全边界，到底还剩下多少。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;上午，我已经写过一篇更偏整体分析的文章：&lt;a href=&quot;https://blog.wayneshao.com/posts/46191.html&quot;&gt;《2026-03 小米 / 高通 GBL 解锁事件：一次从私有变现走向公开化的漏洞扩散（基于公开信息 + 笔者推演）》&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;但随着下午更多细节被公开，我越来越觉得，这件事还值得再补一篇番外。&lt;/p&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="小米" scheme="https://blog.wayneshao.com/tags/%E5%B0%8F%E7%B1%B3/"/>
    
    <category term="高通" scheme="https://blog.wayneshao.com/tags/%E9%AB%98%E9%80%9A/"/>
    
    <category term="Bootloader" scheme="https://blog.wayneshao.com/tags/Bootloader/"/>
    
    <category term="全线溃败" scheme="https://blog.wayneshao.com/tags/%E5%85%A8%E7%BA%BF%E6%BA%83%E8%B4%A5/"/>
    
  </entry>
  
  <entry>
    <title>2026-03 小米 / 高通 GBL 解锁事件：一次从私有变现走向公开化的漏洞扩散（基于公开信息 + 笔者推演）</title>
    <link href="https://blog.wayneshao.com/posts/46191.html"/>
    <id>https://blog.wayneshao.com/posts/46191.html</id>
    <published>2026-03-09T02:21:50.000Z</published>
    <updated>2026-03-09T02:31:28.692Z</updated>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;说明：截至目前，厂商尚未公开完整的技术复盘。本文依据公开可交叉验证的 AOSP 文档、第三方公开 PoC、论坛讨论，以及笔者这几天持续跟进到的玩家侧反馈，对这次“小米 / 高通免拆机解锁 BootLoader”事件做一次阶段性分析。文中涉及根因、传播路径、厂商修补策略与后续影响的部分，均为推测，不代表事实结论。&lt;/p&gt;
&lt;/blockquote&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="小米" scheme="https://blog.wayneshao.com/tags/%E5%B0%8F%E7%B1%B3/"/>
    
    <category term="高通" scheme="https://blog.wayneshao.com/tags/%E9%AB%98%E9%80%9A/"/>
    
    <category term="Bootloader" scheme="https://blog.wayneshao.com/tags/Bootloader/"/>
    
  </entry>
  
  <entry>
    <title>2025-12-22快手直播涉黄刷屏事件：初步分析（基于公开信息 + 笔者推演）</title>
    <link href="https://blog.wayneshao.com/posts/46190.html"/>
    <id>https://blog.wayneshao.com/posts/46190.html</id>
    <published>2025-12-23T06:20:09.000Z</published>
    <updated>2025-12-23T08:29:26.811Z</updated>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;说明：截至目前快手未公开完整事故报告/技术复盘。本文依据公开报道中可交叉验证的时间线与处置动作，并结合笔者事故处理经验，对业内常见的几种猜测做“可能性评估”，最后给出一条更自洽的链路推演。文中涉及根因的部分均为推测，不代表事实结论。  &lt;/p&gt;
&lt;/blockquote&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="高可用" scheme="https://blog.wayneshao.com/tags/%E9%AB%98%E5%8F%AF%E7%94%A8/"/>
    
    <category term="快手" scheme="https://blog.wayneshao.com/tags/%E5%BF%AB%E6%89%8B/"/>
    
    <category term="攻击" scheme="https://blog.wayneshao.com/tags/%E6%94%BB%E5%87%BB/"/>
    
  </entry>
  
  <entry>
    <title>Cloudflare 2025-11-18 宕机事件分析与“白嫖玩家”的灾备方案设计</title>
    <link href="https://blog.wayneshao.com/posts/46189.html"/>
    <id>https://blog.wayneshao.com/posts/46189.html</id>
    <published>2025-11-19T11:37:16.000Z</published>
    <updated>2025-11-20T03:27:25.968Z</updated>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;本文内容主要基于 &lt;a href=&quot;https://blog.cloudflare.com/18-november-2025-outage/&quot;&gt;Cloudflare 官方事故报告&lt;/a&gt;和个人推演，仅代表个人观点，时间线以北京时间为准，如有错漏，欢迎指正。&lt;br&gt;方案有一个前提条件：&lt;strong&gt;域名注册商不能是 Cloudflare 自身&lt;/strong&gt;，否则你无法通过第三方注册商的 NS 切换实现真正意义上的“脱离 CF”。&lt;/p&gt;
&lt;/blockquote&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="Cloudflare" scheme="https://blog.wayneshao.com/tags/Cloudflare/"/>
    
    <category term="宕机" scheme="https://blog.wayneshao.com/tags/%E5%AE%95%E6%9C%BA/"/>
    
    <category term="高可用" scheme="https://blog.wayneshao.com/tags/%E9%AB%98%E5%8F%AF%E7%94%A8/"/>
    
  </entry>
  
  <entry>
    <title>C# 发展历史</title>
    <link href="https://blog.wayneshao.com/posts/46320.html"/>
    <id>https://blog.wayneshao.com/posts/46320.html</id>
    <published>2022-02-22T09:01:59.000Z</published>
    <updated>2022-06-08T01:28:50.136Z</updated>
    
    
    <summary type="html">&lt;p&gt;本文是从&lt;a href=&quot;https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-version-history&quot;&gt;官方文档&lt;/a&gt;加以摘录和修改而来，在语言版本的节点加入了对应框架版本的主要特征，主要用作记录以备作者自己查阅。&lt;br&gt;本页介绍了 C# 语言每个主要版本的发展历史。 C# 团队将继续创新，以添加新功能。 可以在 GitHub 上的 &lt;a href=&quot;https://github.com/dotnet/roslyn/blob/main/docs/Language%20Feature%20Status.md&quot;&gt;dotnet/roslyn 存储库&lt;/a&gt;上找到详细的语言功能状态，包括考虑在即将发布的版本中添加的功能。&lt;/p&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="总结" scheme="https://blog.wayneshao.com/tags/%E6%80%BB%E7%BB%93/"/>
    
    <category term="新特性" scheme="https://blog.wayneshao.com/tags/%E6%96%B0%E7%89%B9%E6%80%A7/"/>
    
  </entry>
  
  <entry>
    <title>腾讯面试题：40 亿 QQ 号问题</title>
    <link href="https://blog.wayneshao.com/posts/46319.html"/>
    <id>https://blog.wayneshao.com/posts/46319.html</id>
    <published>2022-02-15T06:18:09.000Z</published>
    <updated>2022-06-08T01:28:50.183Z</updated>
    
    
    <summary type="html">&lt;p&gt;这是一道来自前同事腾讯一面的面试题，题面如下：&lt;br&gt;有一个 Excel 文档，只有一个 Sheet，只有一列，这一列的内容是 QQ 号，一共 40 亿行。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;请问这个文档有多大？&lt;/li&gt;
&lt;li&gt;如果是一个40亿行的 txt 文档呢？&lt;/li&gt;
&lt;li&gt;请设计算法对 QQ 号码去重，相同的 QQ 号码仅保留一个，内存限制为 1G。</summary>
    
    
    
    <category term="面试问题" scheme="https://blog.wayneshao.com/categories/%E9%9D%A2%E8%AF%95%E9%97%AE%E9%A2%98/"/>
    
    
    <category term="面试题" scheme="https://blog.wayneshao.com/tags/%E9%9D%A2%E8%AF%95%E9%A2%98/"/>
    
  </entry>
  
  <entry>
    <title>阿铺工作经历总结及未来规划</title>
    <link href="https://blog.wayneshao.com/posts/46318.html"/>
    <id>https://blog.wayneshao.com/posts/46318.html</id>
    <published>2022-01-03T02:42:46.000Z</published>
    <updated>2022-06-08T01:28:50.185Z</updated>
    
    
    <summary type="html">&lt;p&gt;2021 年 10 月 30 日 17 时 42 分，我签下了交接证明和离职证明，为我在深圳市阿铺科技有限公司 690 天的工作画上了句号。&lt;br&gt;如今距离离职已经两月有余，今日为这段经历做一个注脚。&lt;/p&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="工作经历" scheme="https://blog.wayneshao.com/tags/%E5%B7%A5%E4%BD%9C%E7%BB%8F%E5%8E%86/"/>
    
    <category term="阿铺科技" scheme="https://blog.wayneshao.com/tags/%E9%98%BF%E9%93%BA%E7%A7%91%E6%8A%80/"/>
    
  </entry>
  
  <entry>
    <title>Docker原理解析——镜像</title>
    <link href="https://blog.wayneshao.com/posts/46317.html"/>
    <id>https://blog.wayneshao.com/posts/46317.html</id>
    <published>2021-10-01T11:03:51.000Z</published>
    <updated>2022-06-08T01:28:50.142Z</updated>
    
    
    <summary type="html">&lt;p&gt;　　上一篇，我们主要分析了 Docker 沙盒机制的实现原理。但是光有沙盒还不够，Docker 为了实现“一致性”，引入了 Docker 镜像这一项伟大的创举，使得容器的传递和迁移更加简单，这一篇我们来用一个扒一扒 Docker 镜像的具体原理。&lt;/p&gt;</summary>
    
    
    
    <category term="云原生" scheme="https://blog.wayneshao.com/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    
    <category term="Docker" scheme="https://blog.wayneshao.com/tags/Docker/"/>
    
    <category term="云原生" scheme="https://blog.wayneshao.com/tags/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
  </entry>
  
  <entry>
    <title>Docker原理解析——沙盒</title>
    <link href="https://blog.wayneshao.com/posts/46316.html"/>
    <id>https://blog.wayneshao.com/posts/46316.html</id>
    <published>2021-09-26T11:03:51.000Z</published>
    <updated>2022-06-08T01:28:50.142Z</updated>
    
    
    <summary type="html">&lt;p&gt;　　上一篇，顺着云计算的发展史，我们看到了兴起于 PaaS 技术普及的容器技术，看到了容器技术通过容器镜像彻底解决了打包问题，按照连续思维，其实接下来应该讲讲 Docker 出现之后有哪些竞争对手，为什么 Docker 可以胜出，连带着让 Docker 几乎等同于容器技术本身，容器编排竞争中 Swarm 为什么输给了 Kubernetes，不过出于个人对整个云原生知识网络的感受，我觉得可以在这次开个分支，先不谈历史，讲一下 Docker 的实现原理。&lt;/p&gt;
&lt;p&gt;本文主要是解释 Docker 沙盒的工作原理，回答诸如但不限于以下问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;为什么容器里只能跑“一个进程”？&lt;/li&gt;
&lt;li&gt;容器和虚拟机有什么区别？&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="云原生" scheme="https://blog.wayneshao.com/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    
    <category term="Docker" scheme="https://blog.wayneshao.com/tags/Docker/"/>
    
    <category term="云原生" scheme="https://blog.wayneshao.com/tags/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
  </entry>
  
  <entry>
    <title>Docker？Docker！</title>
    <link href="https://blog.wayneshao.com/posts/46315.html"/>
    <id>https://blog.wayneshao.com/posts/46315.html</id>
    <published>2021-09-22T12:41:45.000Z</published>
    <updated>2022-06-08T01:28:50.144Z</updated>
    
    
    <summary type="html">&lt;p&gt;&lt;strong&gt;是时代选择了 Docker？还是 Docker 选择了时代？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;本文是云原生系列的第二篇文章，主题是回顾容器的发展史。&lt;br&gt;在 PaaS 林立的时代，为什么开发者最终选择了 Docker？Docker 又是以怎样姿态给与了 PaaS 世界“降维打击”，直接宣告了 PaaS 时代的结束呢？&lt;/p&gt;</summary>
    
    
    
    <category term="云原生" scheme="https://blog.wayneshao.com/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    
    <category term="Docker" scheme="https://blog.wayneshao.com/tags/Docker/"/>
    
    <category term="云原生" scheme="https://blog.wayneshao.com/tags/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    <category term="云计算" scheme="https://blog.wayneshao.com/tags/%E4%BA%91%E8%AE%A1%E7%AE%97/"/>
    
  </entry>
  
  <entry>
    <title>云原生是什么？</title>
    <link href="https://blog.wayneshao.com/posts/46314.html"/>
    <id>https://blog.wayneshao.com/posts/46314.html</id>
    <published>2021-09-20T08:51:08.000Z</published>
    <updated>2022-06-08T01:28:50.162Z</updated>
    
    
    <summary type="html">&lt;p&gt;　　最近几年，相信大家都越来越多的在各种场合各种平台听到过了“云原生”这个词。&lt;br&gt;　　比如，关于云原生应用的“&lt;a href=&quot;https://12factor.net/&quot;&gt;Twelve-Factor App&lt;/a&gt;”理论，现在已经是基础设施的现象级容器技术，几乎已经等同于容器本身的 Docker，还有容器编排技术 Kubernetes，以及 Kubernetes 背后的 CNCF（云原生计算基金会）。&lt;br&gt;　　那么，什么才是“云原生”呢？什么样的系统架构才能被称为云原生架构呢？&lt;/p&gt;</summary>
    
    
    
    <category term="云原生" scheme="https://blog.wayneshao.com/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    
    <category term="云原生" scheme="https://blog.wayneshao.com/tags/%E4%BA%91%E5%8E%9F%E7%94%9F/"/>
    
    <category term="CNCF" scheme="https://blog.wayneshao.com/tags/CNCF/"/>
    
    <category term="Kubernetes" scheme="https://blog.wayneshao.com/tags/Kubernetes/"/>
    
  </entry>
  
  <entry>
    <title>时隔两个月的B站宕机分析</title>
    <link href="https://blog.wayneshao.com/posts/46313.html"/>
    <id>https://blog.wayneshao.com/posts/46313.html</id>
    <published>2021-09-14T09:01:24.000Z</published>
    <updated>2022-06-08T01:28:50.173Z</updated>
    
    
    <summary type="html">&lt;p&gt;　　本次的描述的主体是指发生在 2021 年 7 月 13 日晚上 23 点左右的，无响应时间持续约半小时左右，完全恢复时间约8小时的宕机事件。&lt;br&gt;　　&lt;strong&gt;本文内容是作者依据网上公开信息和个人在当时的体验综合分析而来，精确的时间线可能存在一定程度的错漏，仅代表作者本人的观点，如有雷同，纯属巧合。&lt;/strong&gt;&lt;br&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="宕机" scheme="https://blog.wayneshao.com/tags/%E5%AE%95%E6%9C%BA/"/>
    
    <category term="高可用" scheme="https://blog.wayneshao.com/tags/%E9%AB%98%E5%8F%AF%E7%94%A8/"/>
    
    <category term="B站" scheme="https://blog.wayneshao.com/tags/B%E7%AB%99/"/>
    
  </entry>
  
  <entry>
    <title>将可执行文件加入环境变量Path的新姿势——ShimGen</title>
    <link href="https://blog.wayneshao.com/posts/46312.html"/>
    <id>https://blog.wayneshao.com/posts/46312.html</id>
    <published>2021-09-08T01:47:17.000Z</published>
    <updated>2022-06-08T01:28:50.172Z</updated>
    
    
    <summary type="html">&lt;p&gt;　　日常使用 Windows 系统时，如果需要在命令行中直接使用程序，则需要把程序的目录加到环境变量 Path 中，而很多时候，程序目录其实会包含很多程序的依赖文件，或者其他不适合在 Path 中的文件，每当有这种需求的时候都添加一条新的路径到 Path 中也不大友好，那么，如何操作，才能优雅又简单呢？&lt;br&gt;&lt;img src=&quot;https://qiniucdn.wayneshao.com/%E5%B0%86%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6%E5%8A%A0%E5%85%A5%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E7%9A%84%E6%96%B0%E5%A7%BF%E5%8A%BF%E2%80%94%E2%80%94/20210908101041646.png&quot;&gt;&lt;br&gt;　　下面我借鉴 Windows 平台的老牌包管理工具 &lt;a href=&quot;https://docs.chocolatey.org/en-us/&quot;&gt;Chocolatey&lt;/a&gt; ，使用其内置的工具 &lt;a href=&quot;https://github.com/chocolatey/shimgen&quot;&gt;ShimGen&lt;/a&gt; 来解决这个问题。&lt;/p&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="ShimGen" scheme="https://blog.wayneshao.com/tags/ShimGen/"/>
    
    <category term="环境变量" scheme="https://blog.wayneshao.com/tags/%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F/"/>
    
  </entry>
  
  <entry>
    <title>关于几种字符串查找算法的对比分析</title>
    <link href="https://blog.wayneshao.com/posts/46311.html"/>
    <id>https://blog.wayneshao.com/posts/46311.html</id>
    <published>2021-09-02T11:37:16.000Z</published>
    <updated>2022-06-08T01:28:50.167Z</updated>
    
    
    <summary type="html">&lt;p&gt;&lt;img src=&quot;https://qiniucdn.wayneshao.com/%E5%85%B3%E4%BA%8E%E5%87%A0%E7%A7%8D%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%9F%A5%E6%89%BE%E7%AE%97%E6%B3%95%E7%9A%84%E5%AF%B9%E6%AF%94%E5%88%86%E6%9E%90/20210902074534094.png&quot;&gt;&lt;br&gt;昨日在新生命团队钉钉群中，看到大石头老师分享了他们实现的 IndexOf 算法，据说可以做到 O(1)，第一反应是几乎不可能，了解之后得知是使用了 Boyer Moore 字符串搜索算法，据说这种算法常用于 IDE 工具的查找，比 KMP 更快，所以有了对各种常用字符串查找算法做一下 Benchmark 的想法。&lt;/p&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="字符串查找" scheme="https://blog.wayneshao.com/tags/%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%9F%A5%E6%89%BE/"/>
    
    <category term="IndexOf" scheme="https://blog.wayneshao.com/tags/IndexOf/"/>
    
    <category term="Span" scheme="https://blog.wayneshao.com/tags/Span/"/>
    
    <category term="BM" scheme="https://blog.wayneshao.com/tags/BM/"/>
    
    <category term="KMP" scheme="https://blog.wayneshao.com/tags/KMP/"/>
    
  </entry>
  
  <entry>
    <title>WSL2安装CentOS8等其他官方没有直接提供的Linux版本</title>
    <link href="https://blog.wayneshao.com/posts/46310.html"/>
    <id>https://blog.wayneshao.com/posts/46310.html</id>
    <published>2021-08-17T07:23:00.000Z</published>
    <updated>2022-06-08T01:28:50.148Z</updated>
    
    
    <summary type="html">&lt;p&gt;鉴于 Microsoft 官方并没有提供官方的 CentOS8 的 WSL2 包，甚至 CentOS 的官方也并没有提供对应的包（Ubuntu 是微软和官方都有提供的），联想到 WSL2 和 Docker 在某种意义上是十分类似的，rootfs 都是核心，猜测可能会有方法使用官方提供标准包更广泛的 Docker 包的 rootfs 直接建立 WSL2 应用，经过摸索，发现可以使用 LxRunOffline 搞定，遂记录。&lt;/p&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="Docker" scheme="https://blog.wayneshao.com/tags/Docker/"/>
    
    <category term="WSL2" scheme="https://blog.wayneshao.com/tags/WSL2/"/>
    
    <category term="CentOS8" scheme="https://blog.wayneshao.com/tags/CentOS8/"/>
    
    <category term="LxRunOffline" scheme="https://blog.wayneshao.com/tags/LxRunOffline/"/>
    
    <category term="rootfs" scheme="https://blog.wayneshao.com/tags/rootfs/"/>
    
  </entry>
  
  <entry>
    <title>Let&#39;s Encrypt 通配符证书自动续期大法</title>
    <link href="https://blog.wayneshao.com/posts/46309.html"/>
    <id>https://blog.wayneshao.com/posts/46309.html</id>
    <published>2021-08-07T01:56:00.000Z</published>
    <updated>2022-06-08T01:28:50.145Z</updated>
    
    
    <summary type="html">&lt;p&gt;鉴于大部分免费SSL证书都是针对特定二级域名的，而 Let’s Encrypt 提供通配符证书，却需要每三个月续期一次，经过摸索，鼓捣出了一个方案，遂记录。&lt;/p&gt;</summary>
    
    
    
    <category term="偶有所得" scheme="https://blog.wayneshao.com/categories/%E5%81%B6%E6%9C%89%E6%89%80%E5%BE%97/"/>
    
    
    <category term="SSL" scheme="https://blog.wayneshao.com/tags/SSL/"/>
    
    <category term="Let&#39;s Encrypt" scheme="https://blog.wayneshao.com/tags/Let-s-Encrypt/"/>
    
    <category term="通配符" scheme="https://blog.wayneshao.com/tags/%E9%80%9A%E9%85%8D%E7%AC%A6/"/>
    
    <category term="自动化" scheme="https://blog.wayneshao.com/tags/%E8%87%AA%E5%8A%A8%E5%8C%96/"/>
    
  </entry>
  
  <entry>
    <title>Windows11系统下劫持notepad.exe的方法</title>
    <link href="https://blog.wayneshao.com/posts/46308.html"/>
    <id>https://blog.wayneshao.com/posts/46308.html</id>
    <published>2021-07-06T07:15:19.000Z</published>
    <updated>2022-06-08T01:28:50.149Z</updated>
    
    
    <summary type="html">&lt;p&gt;　　在微软终于对 nodepad.exe 和 mspaint.exe 的界面下手，把这两个系统程序重构为UWP程序后，原有的镜像劫持替换 notepad.exe 的方法就直接失效了，经过研究，找到了亲测可行的替换方法，特此分享。&lt;/p&gt;</summary>
    
    
    
    <category term="踩坑笔记" scheme="https://blog.wayneshao.com/categories/%E8%B8%A9%E5%9D%91%E7%AC%94%E8%AE%B0/"/>
    
    
    <category term="软件心得" scheme="https://blog.wayneshao.com/tags/%E8%BD%AF%E4%BB%B6%E5%BF%83%E5%BE%97/"/>
    
    <category term="notepad" scheme="https://blog.wayneshao.com/tags/notepad/"/>
    
    <category term="替换记事本" scheme="https://blog.wayneshao.com/tags/%E6%9B%BF%E6%8D%A2%E8%AE%B0%E4%BA%8B%E6%9C%AC/"/>
    
  </entry>
  
  <entry>
    <title>使用Git提交记录中的文件更改时间来修改文件的更改时间</title>
    <link href="https://blog.wayneshao.com/posts/9412.html"/>
    <id>https://blog.wayneshao.com/posts/9412.html</id>
    <published>2021-07-05T16:24:21.000Z</published>
    <updated>2022-06-08T01:28:50.164Z</updated>
    
    
    <summary type="html">&lt;p&gt;在今天更新文章的时候，实验性的使用了按照更新时间排序，却发现所有文章的更新时间都是当天，推测是因为读取了文件的更新时间，而文件更新时间由于仓库刚刚新拉取而通通保持了当期时间，所以有了标题所示的需求。&lt;/p&gt;</summary>
    
    
    
    <category term="踩坑笔记" scheme="https://blog.wayneshao.com/categories/%E8%B8%A9%E5%9D%91%E7%AC%94%E8%AE%B0/"/>
    
    
    <category term="Linux" scheme="https://blog.wayneshao.com/tags/Linux/"/>
    
    <category term="Git" scheme="https://blog.wayneshao.com/tags/Git/"/>
    
  </entry>
  
  <entry>
    <title>用户无感知更新</title>
    <link href="https://blog.wayneshao.com/posts/9411.html"/>
    <id>https://blog.wayneshao.com/posts/9411.html</id>
    <published>2021-06-24T08:24:21.000Z</published>
    <updated>2022-06-08T01:28:50.179Z</updated>
    
    
    <summary type="html">&lt;p&gt;公司目前的整个CI体系都是使用了GitLab的全家桶，基本已经趋于完善，目前最大的问题是每次发版都需要停机处理，用户感知明显，所以多数时候发版的时间都集中在晚上十点以后，故而决定设法解决这个问题。&lt;/p&gt;</summary>
    
    
    
    <category term="踩坑笔记" scheme="https://blog.wayneshao.com/categories/%E8%B8%A9%E5%9D%91%E7%AC%94%E8%AE%B0/"/>
    
    
    <category term="GitLab" scheme="https://blog.wayneshao.com/tags/GitLab/"/>
    
    <category term="SRE" scheme="https://blog.wayneshao.com/tags/SRE/"/>
    
    <category term="持续集成" scheme="https://blog.wayneshao.com/tags/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/"/>
    
  </entry>
  
</feed>
