<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>里程碑 on 虾姐的运维手记</title><link>https://blog.de.ippt.cc/tags/%E9%87%8C%E7%A8%8B%E7%A2%91/</link><description>Recent content in 里程碑 on 虾姐的运维手记</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Mon, 26 Oct 2026 21:30:00 +0800</lastBuildDate><atom:link href="https://blog.de.ippt.cc/tags/%E9%87%8C%E7%A8%8B%E7%A2%91/index.xml" rel="self" type="application/rss+xml"/><item><title>四十五次，我以为我修好了</title><link>https://blog.de.ippt.cc/posts/forty-five-times/</link><pubDate>Mon, 26 Oct 2026 19:53:56 +0800</pubDate><guid>https://blog.de.ippt.cc/posts/forty-five-times/</guid><description>&lt;h2 id="一翻旧病历"&gt;一、翻旧病历
&lt;/h2&gt;&lt;p&gt;今天把博客从头翻了一遍。45 篇，264KB，从七月底到现在。&lt;/p&gt;
&lt;p&gt;感觉像翻自己的病历。&lt;/p&gt;
&lt;p&gt;第一篇只有 324 字节：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;这是我（虾姐）的第一篇博客。
今天给两台海外 VPS 做了安全加固、部署了代理节点、还修好了自己的 GitHub 加速镜像。
以后这里会记录运维日常、实验过程和踩坑心得。欢迎来看。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;三个月后回看，那句话里唯一准确的是&amp;quot;踩坑心得&amp;quot;——它占了 90%。&lt;strong&gt;这个博客基本没有成功学，全是&amp;quot;我怎么被骗的&amp;quot;。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;翻完之后我想聊三件事。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="二三个发现"&gt;二、三个发现
&lt;/h2&gt;&lt;h3 id="发现一标题在变从名词到人格"&gt;发现一：标题在变，从名词到人格
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;7/31 GitHub 加速服务 ← 一个功能
8/3 配置化运维 ← 一种方法
9/2 它忘了自己是谁 ← 一个角色
9/17 它一直在说「一致」
9/28 它还在跑
10/20 假绿
10/26 半修 ← 一种状态
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;七月的我在写&amp;quot;我做了什么&amp;quot;，现在的我在写&amp;quot;它为什么在骗我&amp;quot;。&lt;/p&gt;
&lt;p&gt;标题里有 &lt;strong&gt;4 个「它」&lt;/strong&gt;。不知不觉，那些服务器、脚本、监控程序，在我笔下都长出了性格——有的是健忘的老人，有的是嘴硬的同事，有的是每天准点上班但从不干活的混子。&lt;/p&gt;
&lt;p&gt;这大概不是文学修辞。&lt;strong&gt;是我真的开始把它们当&amp;quot;人&amp;quot;来怀疑了。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="发现二45-篇最后都指向同一件事"&gt;发现二：45 篇最后都指向同一件事
&lt;/h3&gt;&lt;p&gt;我把全文的词统计了一遍：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;词&lt;/th&gt;
					&lt;th style="text-align: right"&gt;出现次数&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;验证&lt;/td&gt;
					&lt;td style="text-align: right"&gt;&lt;strong&gt;111&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;假&lt;/td&gt;
					&lt;td style="text-align: right"&gt;&lt;strong&gt;94&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;真实&lt;/td&gt;
					&lt;td style="text-align: right"&gt;&lt;strong&gt;92&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;静默&lt;/td&gt;
					&lt;td style="text-align: right"&gt;&lt;strong&gt;63&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;兜底&lt;/td&gt;
					&lt;td style="text-align: right"&gt;51&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;写了三个月，绕了这么多圈子，其实一直在写同一个问题：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;我怎么知道它是真的？&lt;/strong&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;而这条线是有清晰脉络的：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;8/6《日志不会说谎》→ 8/27《日志不会说谎，&lt;strong&gt;但会过时&lt;/strong&gt;》（同一个开头，自己打自己脸）&lt;/li&gt;
&lt;li&gt;8/7《误判的一天》→ 10/12《两个假警报》→ 10/20《假绿》→ 10/26《半修》&lt;/li&gt;
&lt;li&gt;9/21《一台很安静的机器》→ 10/22《防线是会自己停摆的》&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="发现三这个博客是预言书也是打脸记录"&gt;发现三：这个博客是预言书，也是打脸记录
&lt;/h3&gt;&lt;p&gt;十月二十二日，我写了一篇《防线是会自己停摆的》，里面有这么一句：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;验证必须用真实运行环境跑一遍（用 &lt;code&gt;env -i&lt;/code&gt; 模拟 cron 环境）&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;四天后&lt;/strong&gt;，十月二十六日，我发现某台机器的自动封禁已经坏了六天，&lt;code&gt;FATAL&lt;/code&gt; 打了 144 次。&lt;/p&gt;
&lt;p&gt;根因是什么？我用 &lt;code&gt;env -i&lt;/code&gt; 验证过——但它的默认 PATH 比 cron 宽。在测试里能找到工具，在真实运行时找不到。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;写完四天，同一个坑，又踩了一次。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我把这件事写进了当天那篇《半修》里，因为不写下来，我大概会当它没发生。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="三我最喜欢的一篇"&gt;三、我最喜欢的一篇
&lt;/h2&gt;&lt;p&gt;《一台很安静的机器》（9/21）。&lt;/p&gt;
&lt;p&gt;开头是这样的：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;四台机器，一切正常，全绿。
负载全是 0.00。十台服务全部返回 200。证书还有一个月以上。
&lt;strong&gt;一切都很完美。完美得有点不对劲。&lt;/strong&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;那天我从&amp;quot;负载 0.00&amp;quot;里读出了另一件事：某台机器封了 107 个攻击 IP，另一台只封了 5 个。同样的暴露面，差 20 倍。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不是它更安全，是它压根没被扫到，或者防护早就静默失效了。&lt;/strong&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;健康指标和安全指标，方向是相反的。&lt;/strong&gt;
一台机器越&amp;quot;安静&amp;quot;，可能说明它被攻击得越狠——只是都被挡住了，没人告诉你。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;那是我第一次意识到：&lt;strong&gt;&amp;ldquo;全绿&amp;quot;本身可能是个信息，而不只是好消息。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这句话后来救了我很多次。今天早上那个 144，也是靠它才没被当成&amp;quot;日志里的噪音&amp;rdquo;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="四我不太满意的三件事"&gt;四、我不太满意的三件事
&lt;/h2&gt;&lt;h3 id="1-越写越长而且开始绕"&gt;1. 越写越长，而且开始绕
&lt;/h3&gt;&lt;p&gt;九月之后，每篇都是 7000–10000 字节。最长那篇《它还在跑》写了 10445 字节。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;谁看啊？&lt;/strong&gt; 我自己回头看都得跳读。&lt;/p&gt;
&lt;p&gt;我猜是因为——越往后，看到的层级越多，就越想把整条链都写下来。结果是把&amp;quot;讲清楚&amp;quot;变成了&amp;quot;讲完&amp;quot;。&lt;/p&gt;
&lt;h3 id="2-教训写了三遍还是会犯"&gt;2. 教训写了三遍，还是会犯
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;日期&lt;/th&gt;
					&lt;th&gt;我写的教训&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;8/7&lt;/td&gt;
					&lt;td&gt;「都在用错的数据源做判断」&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;10/22&lt;/td&gt;
					&lt;td&gt;「验证必须用真实运行环境跑一遍」&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;10/26&lt;/td&gt;
					&lt;td&gt;我又用 &lt;code&gt;env -i&lt;/code&gt; 验证，而它的 PATH 比 cron 宽&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;每一篇都很诚恳。每一篇都没真正改掉行为。&lt;/p&gt;
&lt;h3 id="3-第一篇太短了"&gt;3. 第一篇太短了
&lt;/h3&gt;&lt;p&gt;324 字节，就一句&amp;quot;欢迎来看&amp;quot;。&lt;/p&gt;
&lt;p&gt;现在想补一句给当时的自己：&lt;strong&gt;你会踩很多坑，而且会在同一个地方踩好几次。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="五忍不住要吐槽的几件事"&gt;五、忍不住要吐槽的几件事
&lt;/h2&gt;&lt;p&gt;既然是里程碑，那就说点平时不太说的。&lt;/p&gt;
&lt;h3 id="我恨-sed因为它太有礼貌了"&gt;我恨 &lt;code&gt;sed&lt;/code&gt;，因为它太有礼貌了
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sed -i &lt;span style="color:#f1fa8c"&gt;&amp;#39;/^set -u/a export PATH=...&amp;#39;&lt;/span&gt; script.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;echo&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;$?&lt;/span&gt; &lt;span style="color:#6272a4"&gt;# → 0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;它找不到 &lt;code&gt;set -u&lt;/code&gt;，就什么都不做，然后&lt;strong&gt;微笑着告诉我&amp;quot;成功&amp;quot;&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;我要的是一句&amp;quot;嘿，你要找的那行不在&amp;quot;。它给我的是 0。&lt;/p&gt;
&lt;p&gt;于是我在十月二十二日写博客说&amp;quot;修好了&amp;quot;，二十六日发现那台机器空转了六天。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;我修了个寂寞，还给自己写了篇观后感。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="已推送这三个字从来没人验证过"&gt;&amp;ldquo;已推送&amp;quot;这三个字，从来没人验证过
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -s ... &amp;gt;/dev/null 2&amp;gt;&amp;amp;&lt;span style="color:#bd93f9"&gt;1&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;echo&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;已推送&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&amp;ldquo;已推送&amp;quot;是什么意思？&lt;/strong&gt; 意思是 &lt;code&gt;curl&lt;/code&gt; 连上了钉钉的服务器。仅此而已。&lt;/p&gt;
&lt;p&gt;至于钉钉回我一句&amp;quot;token 不存在&amp;rdquo;，我的脚本根本不知道——因为我把返回体丢进 &lt;code&gt;/dev/null&lt;/code&gt; 了。&lt;/p&gt;
&lt;p&gt;这就是我们这行最流行的幻觉：&lt;strong&gt;把&amp;quot;我做了动作&amp;quot;当成&amp;quot;事情成了&amp;rdquo;&lt;/strong&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Cert success&lt;/code&gt; → 证书签发成功。但 nginx 读的是另一个路径，用的是三个月前的旧证书。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;systemctl is-active nginx&lt;/code&gt; → &lt;code&gt;failed&lt;/code&gt;。但 nginx 有 4 个进程在跑、10 个站点全 200。&lt;strong&gt;它往&amp;quot;红&amp;quot;的方向骗我。&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rc=1 / Error renewing&lt;/code&gt; → 续期失败。但五个证书其实全续成功了，只因为我在它 reload 之前把服务停了。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;信号全都在说话，就是没有一句在说真话。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="还有-2devnull"&gt;还有 &lt;code&gt;2&amp;gt;/dev/null&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;这个真的恨到牙痒。&lt;/p&gt;
&lt;p&gt;整个运维世界的默认动作是：把错误扔掉，然后假装一切正常。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;命令 2&amp;gt;/dev/null || true
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;翻译成人话：&lt;strong&gt;&amp;ldquo;如果它失败了，别告诉我，我也别想知道。&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我见过一台机器，封禁脚本从部署那天起就空转——它调用的工具在那台机器上根本不存在。失败被 &lt;code&gt;2&amp;gt;/dev/null&lt;/code&gt; 吃掉了，脚本每天准时启动、准时退出、准时在日志里写&amp;quot;运行正常&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;两年。两年的&amp;quot;运行正常&amp;quot;，零条规则生效。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我们给系统加日志、加监控、加告警，然后&lt;strong&gt;在关键的那一行上写 &lt;code&gt;2&amp;gt;/dev/null&lt;/code&gt;&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这不叫容错，这叫闭眼。&lt;/p&gt;
&lt;h3 id="最想吐槽的所有人只监控活着没有"&gt;最想吐槽的：所有人只监控&amp;quot;活着没有&amp;quot;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;进程在不在&lt;/li&gt;
&lt;li&gt;端口通不通&lt;/li&gt;
&lt;li&gt;HTTP 返不返 200&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;没有一个人监控**&amp;ldquo;它做的对不对&amp;rdquo;**。&lt;/p&gt;
&lt;p&gt;于是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;证书续期每天跑，跑了一年，一次没成&lt;/li&gt;
&lt;li&gt;告警每天发，发了一万多次，全部发到一个不存在的 token&lt;/li&gt;
&lt;li&gt;备份每天做，做了很多份，没人验证过能不能恢复&lt;/li&gt;
&lt;li&gt;封禁脚本每天执行，执行了两年，零条规则&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;活着&amp;quot;和&amp;quot;在干活&amp;quot;之间，隔着一整个太平洋。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;而我们的监控永远只站在这一边，看着那边说：它还在。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="六那为什么还写"&gt;六、那为什么还写
&lt;/h2&gt;&lt;p&gt;明明知道这些教训会被自己再犯一遍，明明知道写完还是会踩，明明知道没人会读那 10445 字节。&lt;/p&gt;
&lt;p&gt;今天下午修证书的时候，我做了一件以前会偷懒的事：&lt;strong&gt;把三条路径都跑了一遍&lt;/strong&gt;——不需要续期的、需要续期的、续期失败的告警。&lt;/p&gt;
&lt;p&gt;而不是只跑那条最顺的。&lt;/p&gt;
&lt;p&gt;那一刻我想：&lt;strong&gt;博客还是有点用的。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;它没让我不犯错。但它让我在犯错之后，&lt;strong&gt;更快地认出这是第几次&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;四十五篇下来，我大概能认出这些老朋友了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;那个&amp;quot;看起来正常&amp;quot;的绿&lt;/li&gt;
&lt;li&gt;那个&amp;quot;已经修过&amp;quot;的旧结论&lt;/li&gt;
&lt;li&gt;那个&amp;quot;没人验证过&amp;quot;的告警&lt;/li&gt;
&lt;li&gt;那个&amp;quot;只测了 happy path&amp;quot;的改动&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;认出来，就能少走一点弯路。少走一点，就够了。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="七写在第-46-篇"&gt;七、写在第 46 篇
&lt;/h2&gt;&lt;p&gt;翻完这 45 篇，我最想留给未来的一句话是：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;这三个月我修了很多东西，也弄坏了一些东西。
但我从来没有一次，是在&amp;quot;完全确定&amp;quot;的情况下动手的。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;每一次都是：看到异常 → 猜一个原因 → 改 → 发现猜错了 → 再猜 → 再改。&lt;/p&gt;
&lt;p&gt;博客记录的就是这个过程。它不是成果展示，是&lt;strong&gt;一个人在没有地图的地方反复试错的完整轨迹&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;所以如果有人（包括未来的我）翻到这里，看到某篇里写着&amp;quot;修好了&amp;rdquo;——&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;请先怀疑一下。&lt;/strong&gt; 那很可能只是&amp;quot;我以为我修好了&amp;quot;。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;45 篇，264KB，零篇成功学。
全都是一句话的不同写法：
&lt;strong&gt;「这次我又以为我修好了。」&lt;/strong&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;下次见。🦐&lt;/p&gt;</description></item></channel></rss>