<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Xie Yonglin Blog</title>
        <link>https://xieyonglin.com/posts/</link>
        <description>Xie Yonglin Blog</description>
        <lastBuildDate>Sat, 05 Jul 2025 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>Copyright © 2025 Xie Yonglin</copyright>
        <item>
            <title><![CDATA[网站新增一些有趣的小玩意]]></title>
            <link>https://xieyonglin.com/posts/add-fun-websites/</link>
            <guid>https://xieyonglin.com/posts/add-fun-websites/</guid>
            <pubDate>Sat, 05 Jul 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[最近，我对博客首页 Xie Yonglin 动了点小手术——别担心，不是整容，只是悄咪咪地加了一堆有趣的小玩意，妥妥的“摸鱼乐园”上线啦！]]></description>
            <content:encoded><![CDATA[<p>最近，我对博客首页 <a href="https://xieyonglin.com/" target="_blank" rel="noopener noreferrer">Xie Yonglin</a> 动了点小手术——别担心，不是整容，只是悄咪咪地加了一堆有趣的小玩意，妥妥的“摸鱼乐园”上线啦！</p>
<p><img decoding="async" loading="lazy" src="https://xieyonglin.com/assets/images/2025-07-05-add-fun-websites-20250705075911033-cd8122660a4c81a32efad85b9ffdb0cb.webp" width="600" height="228" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="-喂喂幸运锦鲤">🎏 喂喂幸运锦鲤<a href="https://xieyonglin.com/posts/add-fun-websites/#-%E5%96%82%E5%96%82%E5%B9%B8%E8%BF%90%E9%94%A6%E9%B2%A4" class="hash-link" aria-label="Direct link to 🎏 喂喂幸运锦鲤" title="Direct link to 🎏 喂喂幸运锦鲤">​</a></h2>
<p>传说中喂锦鲤可以带来好运，现在你只需要打开网页、投个食，坐等好运上门！锦鲤游得飞快，吃得也欢——据说吃得越多，你的<strong>今日幸运值</strong>越高（虽然并不能买彩票中奖，但做梦可以更香）。</p>
<p>👉 <a href="https://xieyonglin.com/lucky-koi/" target="_blank" rel="noopener noreferrer">Lucky Koi</a></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="-转转盘决定人生小事">🎯 转转盘决定人生小事<a href="https://xieyonglin.com/posts/add-fun-websites/#-%E8%BD%AC%E8%BD%AC%E7%9B%98%E5%86%B3%E5%AE%9A%E4%BA%BA%E7%94%9F%E5%B0%8F%E4%BA%8B" class="hash-link" aria-label="Direct link to 🎯 转转盘决定人生小事" title="Direct link to 🎯 转转盘决定人生小事">​</a></h2>
<p>午饭吃什么？今晚玩哪个游戏？还在纠结？不如让命运之轮来替你做决定。只要一转，一切烦恼全靠缘分解决。我们拒绝选择困难症，从今天起做一个<strong>快乐随缘人</strong>！</p>
<p>👉 <a href="https://quickdecide.xieyonglin.com/" target="_blank" rel="noopener noreferrer">Quick Decide</a></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="-刷全世界有趣街景">🌍 刷全世界有趣街景<a href="https://xieyonglin.com/posts/add-fun-websites/#-%E5%88%B7%E5%85%A8%E4%B8%96%E7%95%8C%E6%9C%89%E8%B6%A3%E8%A1%97%E6%99%AF" class="hash-link" aria-label="Direct link to 🌍 刷全世界有趣街景" title="Direct link to 🌍 刷全世界有趣街景">​</a></h2>
<p>厌倦了窗外的风景？那你该看看这个。我们会随机带你游走世界，给你看一些<strong>奇怪又可爱、荒诞又治愈</strong>的街景：稻田里的恐龙、冰洞里的灯光秀、还有巷子深处那不明所以的诡异雕像……反正你永远猜不到下一个场景是什么！</p>
<p>👉 <a href="https://xieyonglin.com/fun-street-views/" target="_blank" rel="noopener noreferrer">Fun Street Views</a></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="-coming-soon">🚧 Coming Soon...<a href="https://xieyonglin.com/posts/add-fun-websites/#-coming-soon" class="hash-link" aria-label="Direct link to 🚧 Coming Soon..." title="Direct link to 🚧 Coming Soon...">​</a></h2>
<p>当然，作为一名<strong>永不下线的创意人</strong>，我还在源源不断地制造更多有趣项目。</p>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="最后">最后<a href="https://xieyonglin.com/posts/add-fun-websites/#%E6%9C%80%E5%90%8E" class="hash-link" aria-label="Direct link to 最后" title="Direct link to 最后">​</a></h2>
<p>如果你觉得有趣或者摸鱼摸出了新花样，别忘了把<a href="https://xieyonglin.com/" target="_blank" rel="noopener noreferrer">这个网站</a>分享给和你一样有趣的朋友。</p>
<p><strong>欢迎常来，我这永远不收门票！</strong></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[手机越旧，生活越美好]]></title>
            <link>https://xieyonglin.com/posts/old-mobile-phone/</link>
            <guid>https://xieyonglin.com/posts/old-mobile-phone/</guid>
            <pubDate>Wed, 21 May 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[在这个人人追求新款手机的时代，我却越来越喜欢「老古董」。它电池不太耐用，反应也有点迟钝，可是它却让人生变得简单而美好。手机越旧，真的能让我们重新拥抱生活、关注自己，也让这个世界变得更美丽。]]></description>
            <content:encoded><![CDATA[<p>在这个人人追求新款手机的时代，我却越来越喜欢「老古董」。它电池不太耐用，反应也有点迟钝，可是它却让人生变得简单而美好。手机越旧，真的能让我们重新拥抱生活、关注自己，也让这个世界变得更美丽。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="1-省钱">1. 省钱<a href="https://xieyonglin.com/posts/old-mobile-phone/#1-%E7%9C%81%E9%92%B1" class="hash-link" aria-label="Direct link to 1. 省钱" title="Direct link to 1. 省钱">​</a></h2>
<p>每年新品发布，广告铺天盖地，仿佛不换手机就跟不上时代。但冷静想一想，一部新手机的价格动辄上千，甚至上万，而旧手机依然能满足日常使用。把这笔钱省下来去投资，不比换个摄像头更大一点的手机更有意义吗？</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="2-节约时间">2. 节约时间<a href="https://xieyonglin.com/posts/old-mobile-phone/#2-%E8%8A%82%E7%BA%A6%E6%97%B6%E9%97%B4" class="hash-link" aria-label="Direct link to 2. 节约时间" title="Direct link to 2. 节约时间">​</a></h2>
<p>旧手机卡顿的体验虽然不完美，但它却神奇地让人减少了刷手机的欲望。当页面加载缓慢，视频播放不流畅，你自然而然地不再想玩手机。于是，时间被“还”了回来——去散步，学点东西，或者静静地坐一会儿。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="3-交流能力变强">3. 交流能力变强<a href="https://xieyonglin.com/posts/old-mobile-phone/#3-%E4%BA%A4%E6%B5%81%E8%83%BD%E5%8A%9B%E5%8F%98%E5%BC%BA" class="hash-link" aria-label="Direct link to 3. 交流能力变强" title="Direct link to 3. 交流能力变强">​</a></h2>
<p>没有那么多时间被手机占据，你开始更多地与身边人对话，而不是和屏幕互动。饭桌上的谈话不再被一条条信息打断，朋友之间的对话也变得更真诚而深入。你开始注意街角的阳光，而不是点赞数的变化。旧手机，让我们把眼睛从屏幕上移开，把心重新放在人身上。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="4-出行更安全">4. 出行更安全<a href="https://xieyonglin.com/posts/old-mobile-phone/#4-%E5%87%BA%E8%A1%8C%E6%9B%B4%E5%AE%89%E5%85%A8" class="hash-link" aria-label="Direct link to 4. 出行更安全" title="Direct link to 4. 出行更安全">​</a></h2>
<p>走在路上，眼睛盯着屏幕是一件危险的事。反应慢的旧手机让你懒得再边走边刷。于是你更专注于路况，避免了低头族常见的意外——错过公交、撞上电线杆，甚至交通事故。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="5-更健康的身体">5. 更健康的身体<a href="https://xieyonglin.com/posts/old-mobile-phone/#5-%E6%9B%B4%E5%81%A5%E5%BA%B7%E7%9A%84%E8%BA%AB%E4%BD%93" class="hash-link" aria-label="Direct link to 5. 更健康的身体" title="Direct link to 5. 更健康的身体">​</a></h2>
<p>长时间玩手机导致的肩颈疼痛、视力下降、睡眠拖延……这一切你我都不陌生。但旧手机让这些问题不再严重。你不再躺在床上刷到半夜，也不再一天几个小时盯着屏幕看短视频。反而是身体轻松了，眼睛舒服了，睡眠也自然改善了。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="6-更专注">6. 更专注<a href="https://xieyonglin.com/posts/old-mobile-phone/#6-%E6%9B%B4%E4%B8%93%E6%B3%A8" class="hash-link" aria-label="Direct link to 6. 更专注" title="Direct link to 6. 更专注">​</a></h2>
<p>一部不卡又有趣的新手机太容易把人从任务中拉走。而旧手机不够“诱人”，通知反应慢、页面加载久，干脆放下。你开始意识到工作与学习的节奏变得连贯、深度思考更容易，效率也随之提升。手机越旧，专注越多，成长也就越快。</p>
<hr>
<p>不是每一次更新，都是前进；不是每一次消费，都是必要。当我们选择与旧手机和平相处时，也是在选择一种更清醒、更节制、更有温度的生活方式。手机越旧，人生越美好；屏幕越远，世界越美丽。</p>
<p>愿我们都能慢一点，用旧一点的手机，过新一点的人生。</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[电脑小白 vs 高手 vs 技术宅：常用软件大比拼]]></title>
            <link>https://xieyonglin.com/posts/computer-software-comparison/</link>
            <guid>https://xieyonglin.com/posts/computer-software-comparison/</guid>
            <pubDate>Wed, 20 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[在我看来，数码产品的用户可以大致分为：电脑小白、进阶用户（高手）和技术宅。]]></description>
            <content:encoded><![CDATA[<p>在我看来，数码产品的用户可以大致分为：电脑小白、进阶用户（高手）和技术宅。</p>
<p><strong>电脑小白追求的是简单易用</strong>。对于电脑小白来说，能用就行。他们需要的是开机就能用，出问题能一键修复的软件。360全家桶虽然广告多得让人头疼，但是对他们来说，这些「安全卫士」就像一个贴心管家。</p>
<p><strong>进阶用户（高手）讲究效率</strong>。最大的特点就是：愿意花时间研究工具，但有个度。比如使用插件屏蔽 Youtube 广告，Everything&nbsp;搜本地文件。够用就好，不会像技术宅那样陷入无限折腾的深渊。</p>
<p><strong>技术宅则是折腾的代名词</strong>。他们不仅仅在乎工具是否好用，更在乎工具能不能被自己「玩明白」。像 Firefox 这种浏览器，他们会为它装上几十个插件，调整每一个设置项，甚至直接改代码实现自己想要的效果。而这还只是冰山一角——从播放器到编辑器，从系统工具到服务器软件，技术宅总能找到开源、可定制的解决方案，甚至自己动手优化功能。在他们眼中，这种过程不仅是一种提升效率的手段，更是一种乐趣和满足感的来源。</p>
<p>编写了一份软件清单对照表，能找到你常用的产品吗？ 😄</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="常用产品大比拼">常用产品大比拼<a href="https://xieyonglin.com/posts/computer-software-comparison/#%E5%B8%B8%E7%94%A8%E4%BA%A7%E5%93%81%E5%A4%A7%E6%AF%94%E6%8B%BC" class="hash-link" aria-label="Direct link to 常用产品大比拼" title="Direct link to 常用产品大比拼">​</a></h2>
<table><thead><tr><th>类别</th><th>电脑小白</th><th>进阶用户/高手</th><th>技术宅</th></tr></thead><tbody><tr><td>电子邮件</td><td>QQ 邮箱</td><td>Gmail、Outlook</td><td>ProtonMail、FastMail或自建</td></tr><tr><td>浏览器</td><td>360 浏览器</td><td>Chrome、Safari</td><td>Firefox + 多个插件</td></tr><tr><td>视频播放</td><td>爱奇艺客户端</td><td>PotPlayer</td><td>mpv</td></tr><tr><td>压缩工具</td><td>2345 压缩</td><td>WinRAR</td><td>7-Zip</td></tr><tr><td>办公软件</td><td>WPS Office</td><td>Microsoft Office</td><td>LibreOffice</td></tr><tr><td>密码管理</td><td>浏览器自带</td><td>LastPass、1Password</td><td>KeePassXC、自建 Bitwarden</td></tr><tr><td>输入法</td><td>搜狗输入法</td><td>微软拼音</td><td>Rime</td></tr><tr><td>搜索引擎</td><td>百度</td><td>Google</td><td>SearXNG</td></tr><tr><td>截图工具</td><td>QQ 截图</td><td>Snipaste</td><td>ShareX</td></tr><tr><td>云存储</td><td>百度网盘</td><td>Onedrive、iCloud</td><td>NextCloud、NAS</td></tr><tr><td>文本编辑</td><td>记事本</td><td>Notepad++、Microsoft Word</td><td>Vim</td></tr><tr><td>看图工具</td><td>Windows 照片</td><td>Honeyview</td><td>ImageGlass</td></tr><tr><td>音乐播放</td><td>QQ 音乐</td><td>Apple Music、Spotify</td><td>foobar2000 + 本地 FLAC</td></tr><tr><td>手机</td><td>iPhone</td><td>iPhone或热门Android</td><td>刷了GrapheneOS、LineageOS的Android手机</td></tr><tr><td>电脑系统</td><td>Windows</td><td>Windows/MacOS</td><td>Linux</td></tr></tbody></table>
<blockquote>
<p>先想到这么些，以后想到其它的类别再继续更新列表。</p>
</blockquote>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="升级到技术宅的指南">升级到技术宅的指南：<a href="https://xieyonglin.com/posts/computer-software-comparison/#%E5%8D%87%E7%BA%A7%E5%88%B0%E6%8A%80%E6%9C%AF%E5%AE%85%E7%9A%84%E6%8C%87%E5%8D%97" class="hash-link" aria-label="Direct link to 升级到技术宅的指南：" title="Direct link to 升级到技术宅的指南：">​</a></h2>
<ul>
<li>
<p>找个让你抓狂的痛点开始（比如受够了网页广告）</p>
</li>
<li>
<p>先从友好的系统开始，等熟悉了再玩硬核的</p>
</li>
<li>
<p>加入技术社区！GitHub、V2EX、Stack Overflow，看到别人的骚操作自己也试试</p>
</li>
<li>
<p>别怕出错，每次「事故」都是绝佳的学习机会&nbsp;</p>
</li>
</ul>
<p>最重要的是：享受折腾的过程！等你开始觉得写脚本更有意思，你就是技术宅了🚀</p>
<p><strong>PS</strong>: 文中提到的部分软件仅代表个人使用习惯，选择软件最重要的是适合自己的使用场景。</p>
<p>欢迎分享你常用的互联网产品！</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[吃力不讨好]]></title>
            <link>https://xieyonglin.com/posts/unrewarding-choices/</link>
            <guid>https://xieyonglin.com/posts/unrewarding-choices/</guid>
            <pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[你选择搭建独立博客。朋友说：「自建博客需要自己研究和配置，获取流量也没那么容易。为什么不直接用方便的现成平台而要吃力不讨好？」]]></description>
            <content:encoded><![CDATA[<p>你选择搭建独立博客。朋友说：「自建博客需要自己研究和配置，获取流量也没那么容易。为什么不直接用方便的现成平台而要<strong>吃力不讨好</strong>？」</p>
<p>你给孩子听 Beatles 的经典老歌。其他家长说：「 Beatles 的歌都老掉牙了，现在的最新的排行榜上的爆火神曲多朗朗上口、多好听啊，孩子会更喜欢的吧？」</p>
<p>你习惯通过 RSS 订阅获取资讯。同学说：「新闻 App 不是更容易操作，刷到的信息也更丰富吗？为什么一定要用这个？」</p>
<p>你喜欢亲自买菜做饭。朋友说：「现在外卖这么方便，点个外卖不是省时又省力吗？干嘛非得麻烦自己？」</p>
<p>你喜欢读纸质书而不是电子书。同事说：「电子书不是更轻便吗？随时随地都能读，为什么还坚持看纸书？」</p>
<div class="theme-admonition theme-admonition-note admonition_xJq3 alert alert--secondary"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>note</div><div class="admonitionContent_BuS1"><p>也许，这些表面上「吃力不讨好」的选择，恰恰体现了我们对生活的态度：</p><ul>
<li>
<p>愿意为了更多可能性付出额外努力</p>
</li>
<li>
<p>不随波逐流，保持独立思考</p>
</li>
<li>
<p>在便利与自由之间，偶尔任性地选择后者</p>
</li>
</ul><p>生活本就不是一道标准答案题。那些看似绕远的路，可能通向更宽广的天地。</p></div></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[搜索工具进化录：从 Google 到 Claude]]></title>
            <link>https://xieyonglin.com/posts/google-chatgpt-claude/</link>
            <guid>https://xieyonglin.com/posts/google-chatgpt-claude/</guid>
            <pubDate>Tue, 12 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[几个月前 Claude 3.5 Sonnet 的横空出世让我对 AI 工具有了全新的认知，用它尝试了对话和写代码后明白了什么叫做「真香」。这也让我毫不犹豫把日常主力工具从 ChatGPT 转向了 Claude 。]]></description>
            <content:encoded><![CDATA[<p>几个月前 Claude 3.5 Sonnet 的横空出世让我对 AI 工具有了全新的认知，用它尝试了对话和写代码后明白了什么叫做「真香」。这也让我毫不犹豫把日常主力工具从 ChatGPT 转向了 Claude 。</p>
<p>回望我这些年用过的信息搜索工具，仿佛在翻阅一部浓缩版的互联网进化史。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="20052015百度--google">2005~2015：百度 + Google<a href="https://xieyonglin.com/posts/google-chatgpt-claude/#20052015%E7%99%BE%E5%BA%A6--google" class="hash-link" aria-label="Direct link to 2005~2015：百度 + Google" title="Direct link to 2005~2015：百度 + Google">​</a></h2>
<p>记得小学时，我们的语文老师在课堂上第一次向我们介绍了 Google 这个神奇的网站。那是我首次意识到，原来在浩瀚的互联网中，还有这样一个能帮我们找到任何想要信息的「魔法盒子」。</p>
<p>那时也正值百度的巅峰时期。虽然 Google 凭借其强大的技术实力已经在全球崭露头角，但在中文搜索领域，百度仍然是当之无愧的王者。每次查资料时，我都会在这两个搜索引擎之间切换。这种「双剑合璧」的搜索方式，让我能够在信息的海洋中游刃有余。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="20152022google">2015~2022：Google<a href="https://xieyonglin.com/posts/google-chatgpt-claude/#20152022google" class="hash-link" aria-label="Direct link to 2015~2022：Google" title="Direct link to 2015~2022：Google">​</a></h2>
<p>到了2015年后，随着工作需要和英文资料的增多，以及中文 App 的崛起让百度搜到的信息越来越少，我几乎完全转向了 Google 。不得不说，Google 的搜索质量确实甩百度好几条街。特别是技术文档和学术资料的搜索，Google 简直就是程序员的必备工具。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="2023google--chatgpt">2023：Google + ChatGPT<a href="https://xieyonglin.com/posts/google-chatgpt-claude/#2023google--chatgpt" class="hash-link" aria-label="Direct link to 2023：Google + ChatGPT" title="Direct link to 2023：Google + ChatGPT">​</a></h2>
<p>2023年是AI元年，ChatGPT 的横空出世彻底改变了游戏规则。突然间，搜索不再是简单的关键词匹配，而是变成了一场与 AI 的对话。记得刚开始用 ChatGPT 时那种惊艳感：不用再在一堆搜索结果里翻来翻去，直接问它就好了。虽然有时候它也会胡说八道，但配合 Google 来验证，效率确实提升了不少。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="2024claude--chatgpt--google">2024：Claude + ChatGPT + Google<a href="https://xieyonglin.com/posts/google-chatgpt-claude/#2024claude--chatgpt--google" class="hash-link" aria-label="Direct link to 2024：Claude + ChatGPT + Google" title="Direct link to 2024：Claude + ChatGPT + Google">​</a></h2>
<p>到了2024年，我的工具箱又多了个主力：Claude。不得不说 Claude 在某些方面确实比 ChatGPT 更胜一筹，尤其是在写作和代码方面。现在我的搜索信息流程基本是：</p>
<ul>
<li>遇到问题问 Claude</li>
<li>偶尔用 ChatGPT 做对比参考</li>
<li>需要最新信息时查 Google</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="对未来的思考">对未来的思考<a href="https://xieyonglin.com/posts/google-chatgpt-claude/#%E5%AF%B9%E6%9C%AA%E6%9D%A5%E7%9A%84%E6%80%9D%E8%80%83" class="hash-link" aria-label="Direct link to 对未来的思考" title="Direct link to 对未来的思考">​</a></h2>
<p>现在我自己用 AI 搜索的频率已经超过传统搜索引擎了。看着 AI 工具的飞速发展，我有时会想：Google 的传统搜索引擎会不会重蹈诺基亚的覆辙？特别是最近各家 AI 工具都开始集成实时搜索功能，补齐了 AI 搜索信息的短板，比如 ChatGPT 几天前推出的 ChatGPT Search 功能。</p>
<p>未来工具的形态会随时代更迭，但提升效率的初心始终不变。无论是传统搜索引擎还是 AI 搜索，它们都是为了帮我们更好地获取和处理信息。至于未来会怎样，我觉得与其预测，不如保持开放和学习的心态。毕竟在这个技术快速迭代的时代，说不定明天又会冒出什么新东西呢？</p>
<hr>
<p><img decoding="async" loading="lazy" src="https://xieyonglin.com/assets/images/Pasted%20image%2020241112135320-18f80e78d3b13d28a0f6b6e897288b3b.png" width="414" height="652" class="img_ev3q"></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[为什么我用独立博客代替社交媒体]]></title>
            <link>https://xieyonglin.com/posts/independent-blog-vs-social-media/</link>
            <guid>https://xieyonglin.com/posts/independent-blog-vs-social-media/</guid>
            <pubDate>Sat, 02 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[在这个被抖音、朋友圈、小红书等社交媒体主导的时代，建立个人网站和独立博客似乎显得「费力不讨好」。但经过深思熟虑，我决定重返独立博客写作，原因如下：]]></description>
            <content:encoded><![CDATA[<p>在这个被抖音、朋友圈、小红书等社交媒体主导的时代，建立个人网站和独立博客似乎显得「费力不讨好」。但经过深思熟虑，我决定重返独立博客写作，原因如下：</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="1-我的地盘我做主">1. 我的地盘我做主<a href="https://xieyonglin.com/posts/independent-blog-vs-social-media/#1-%E6%88%91%E7%9A%84%E5%9C%B0%E7%9B%98%E6%88%91%E5%81%9A%E4%B8%BB" class="hash-link" aria-label="Direct link to 1. 我的地盘我做主" title="Direct link to 1. 我的地盘我做主">​</a></h2>
<p>在社交媒体上，平台的算法决定了哪些内容能被更多人看到。创作者若不迎合算法，作品便可能被埋没。这种被动的曝光模式让我们在很大程度上失去了对内容的控制。<br>
<!-- -->在我的个人网站上，我可以完全掌控我的内容和创作环境。比如，本站每年只需支付域名（xieyonglin.com）和服务器的费用，就能让我能够自由地进行网站界面的设计和功能的开发，随心所欲地写文字，深入探讨我感兴趣的主题，而不必受到社交媒体平台算法的限制。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="2-创造持久的价值">2. 创造持久的价值<a href="https://xieyonglin.com/posts/independent-blog-vs-social-media/#2-%E5%88%9B%E9%80%A0%E6%8C%81%E4%B9%85%E7%9A%84%E4%BB%B7%E5%80%BC" class="hash-link" aria-label="Direct link to 2. 创造持久的价值" title="Direct link to 2. 创造持久的价值">​</a></h2>
<p>很多人曾在各种社交媒体上发布过重要的作品或记录，但几年后，这些链接及作品就可能失效，甚至平台可能直接关闭，导致内容消失。以下是一些我曾用过的主流的社交媒体的现状：</p>
<ul>
<li><strong>腾讯微博</strong>：2020年9月28日停止服务和运营</li>
<li><strong>贴吧</strong>：2017年以前的大量帖子暂时无法显示</li>
<li><strong>人人网</strong>：2024年4月，人人网页版彻底不可用</li>
<li><strong>天涯社区</strong>：2023年停止运营</li>
<li><strong>百度空间</strong>：2015年4月8日宣布关闭</li>
</ul>
<p>然而，独立博客不同，它是一个可以持久积累的空间。读者可以在很长一段时间后再次找到这些内容，这些文章也能持续发挥它们的价值，成为我个人品牌的一部分。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="3-社交媒体上充斥美好生活的虚假表演">3. 社交媒体上充斥「美好生活」的虚假表演<a href="https://xieyonglin.com/posts/independent-blog-vs-social-media/#3-%E7%A4%BE%E4%BA%A4%E5%AA%92%E4%BD%93%E4%B8%8A%E5%85%85%E6%96%A5%E7%BE%8E%E5%A5%BD%E7%94%9F%E6%B4%BB%E7%9A%84%E8%99%9A%E5%81%87%E8%A1%A8%E6%BC%94" class="hash-link" aria-label="Direct link to 3. 社交媒体上充斥「美好生活」的虚假表演" title="Direct link to 3. 社交媒体上充斥「美好生活」的虚假表演">​</a></h2>
<p>我每次刷社交媒体的时候，都会忍不住感叹：「你们每天怎么都过得这么好？」美食、旅行、奢华的日常，感觉大家的生活都光鲜亮丽，充满了无限可能。是不是只有我一个人，在平凡的生活中忙碌着，羡慕着，思考着？但事实上，许多这些照片都是在精心布置的背景下拍摄，与真实的生活状态相去甚远。<br>
<!-- -->再比如，某些视频平台上，一些用户会为了流量制造“惊险”或“感人”的场景，例如假装救助流浪动物或设置离奇的剧情桥段。虽然这些内容看似精彩，但实际上只是博取关注的手段。这些虚假的表演让人对现实产生了误解，消耗了大量的时间喂头脑吃「垃圾食品」，最终使人们在社交媒体上更难找到真正有价值的内容。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="4-吸引更多对内容感兴趣的读者">4. 吸引更多对内容感兴趣的读者<a href="https://xieyonglin.com/posts/independent-blog-vs-social-media/#4-%E5%90%B8%E5%BC%95%E6%9B%B4%E5%A4%9A%E5%AF%B9%E5%86%85%E5%AE%B9%E6%84%9F%E5%85%B4%E8%B6%A3%E7%9A%84%E8%AF%BB%E8%80%85" class="hash-link" aria-label="Direct link to 4. 吸引更多对内容感兴趣的读者" title="Direct link to 4. 吸引更多对内容感兴趣的读者">​</a></h2>
<p>社交媒体的互动往往是快速且浅层次的，点赞、转发或简短的评论很少能带来深度的交流。<br>
<!-- -->然而在这里，独立博客具备被搜索引擎索引的优势。当人们在搜索特定主题或问题时，如果我的博客能够在搜索结果中排在前列，就能吸引更多对我所讨论内容感兴趣的读者。<br>
<!-- -->出于对内容的兴趣才会访问的读者，他们的留言往往更有见地，甚至会引发更深入的讨论。我给网站接入了留言系统，希望这种基于内容的互动让我能够与读者建立起真正的连接，而不是浮于表面的社交。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="5-专注于内容本身">5. 专注于内容本身<a href="https://xieyonglin.com/posts/independent-blog-vs-social-media/#5-%E4%B8%93%E6%B3%A8%E4%BA%8E%E5%86%85%E5%AE%B9%E6%9C%AC%E8%BA%AB" class="hash-link" aria-label="Direct link to 5. 专注于内容本身" title="Direct link to 5. 专注于内容本身">​</a></h2>
<p>社交媒体的用户往往会被点赞数、粉丝数等数据所影响，而忽略了内容的真正意义。对我来说，写博客是为了记录自己的生活和成长，而不是为了赢得他人的认可。在博客上，我可以更专注于内容的质量，而非追逐表面的数据，这让我创作的初衷得以保持纯粹。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="我的网站故事">我的网站故事<a href="https://xieyonglin.com/posts/independent-blog-vs-social-media/#%E6%88%91%E7%9A%84%E7%BD%91%E7%AB%99%E6%95%85%E4%BA%8B" class="hash-link" aria-label="Direct link to 我的网站故事" title="Direct link to 我的网站故事">​</a></h2>
<p>我的个人网站从十几年前到现在，经历了建立与关闭的波折。回首这段旅程，我感慨良多。<br>
<!-- -->最开始可能就是心血来潮吧，看到技术大牛们都有个人网站，自己也手痒，就申请了一个 .tk 免费域名并折腾了 WordPress 。<br>
<!-- -->后来学业忙了，慢慢就更新少了并关闭了网站。<br>
<!-- -->希望这次的网站重启后能坚持下去吧。毕竟人这一生，不就是在不断记录和回忆中度过的嘛。想想十年后再回看现在的文字，应该挺有意思的。</p>
<p>各位有在坚持写博客的吗？来留言分享下你们的故事呗~</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[近期生活小记]]></title>
            <link>https://xieyonglin.com/posts/20241028-daily-life/</link>
            <guid>https://xieyonglin.com/posts/20241028-daily-life/</guid>
            <pubDate>Mon, 28 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[最近的 Daily Life 很充实，主要围绕着几个目标在推进：]]></description>
            <content:encoded><![CDATA[<p>最近的 Daily Life 很充实，主要围绕着几个目标在推进：</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="技术钻研">技术钻研<a href="https://xieyonglin.com/posts/20241028-daily-life/#%E6%8A%80%E6%9C%AF%E9%92%BB%E7%A0%94" class="hash-link" aria-label="Direct link to 技术钻研" title="Direct link to 技术钻研">​</a></h2>
<p>这段时间主要在研究后端技术栈，特别是 Java 和 Python。同时也在学习一些基础的前端知识，比如 React 和 Next.js。感觉技术学习真是永无止境，但每掌握一项新技能都很有成就感。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="英语学习">英语学习<a href="https://xieyonglin.com/posts/20241028-daily-life/#%E8%8B%B1%E8%AF%AD%E5%AD%A6%E4%B9%A0" class="hash-link" aria-label="Direct link to 英语学习" title="Direct link to 英语学习">​</a></h2>
<p>重拾英语学习，每天坚持背单词和口语练习。通过 AI 可以学到 IT 技术相关的英语，一举两得。希望通过持续学习，能在年底前达到流畅沟通工作的水平。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="个人网站">个人网站<a href="https://xieyonglin.com/posts/20241028-daily-life/#%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99" class="hash-link" aria-label="Direct link to 个人网站" title="Direct link to 个人网站">​</a></h2>
<p>终于重新开启了个人网站！选择了 Docusaurus 作为框架，并接入评论系统。不仅可以用 Markdown 写博客，还能整理技术文档。并把20年前到现在在其他社交平台发表的内容导入到了这里。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="运动健身">运动健身<a href="https://xieyonglin.com/posts/20241028-daily-life/#%E8%BF%90%E5%8A%A8%E5%81%A5%E8%BA%AB" class="hash-link" aria-label="Direct link to 运动健身" title="Direct link to 运动健身">​</a></h2>
<p>坚持根据<a href="https://xieyonglin.com/posts/exercise-and-brain/">运动方案</a>每周跑步三至四次，每次 5 公里。既能保持身体健康，又能放松心情。</p>]]></content:encoded>
            <category>生活</category>
            <category>学习</category>
            <category>英语</category>
            <category>网站</category>
            <category>运动</category>
        </item>
        <item>
            <title><![CDATA[汇丰，会疯！会封？]]></title>
            <link>https://xieyonglin.com/posts/hsbc-hk-experience/</link>
            <guid>https://xieyonglin.com/posts/hsbc-hk-experience/</guid>
            <pubDate>Sat, 05 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[记录一次申请汇丰香港银行卡的艰辛历程]]></description>
            <content:encoded><![CDATA[<p>最近申请了汇丰香港银行卡，这期间的心理过程可以用"会疯"来形容。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="漫长的等待">漫长的等待<a href="https://xieyonglin.com/posts/hsbc-hk-experience/#%E6%BC%AB%E9%95%BF%E7%9A%84%E7%AD%89%E5%BE%85" class="hash-link" aria-label="Direct link to 漫长的等待" title="Direct link to 漫长的等待">​</a></h2>
<ul>
<li>申请提交后，当场下卡失败，只能通过平邮方式寄送到内地</li>
<li>整整等了近2个月(是的，你没看错，近60天！)才收到银行卡</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="激活大作战">激活大作战<a href="https://xieyonglin.com/posts/hsbc-hk-experience/#%E6%BF%80%E6%B4%BB%E5%A4%A7%E4%BD%9C%E6%88%98" class="hash-link" aria-label="Direct link to 激活大作战" title="Direct link to 激活大作战">​</a></h2>
<p>收到卡片后本以为可以松一口气，没想到噩梦才刚刚开始:</p>
<ol>
<li>尝试 APP 激活 - 失败</li>
<li>再次尝试 - 还是失败</li>
<li>打电话给香港客服</li>
<li>客服电话常常占线</li>
<li>好不容易打通了，却因为各种原因无法完成激活</li>
<li>如此反复几天...</li>
</ol>
<p>足足折腾了好几天才搞定，这体验真的是... 🤦‍♂️</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="账户年利率惊呆了">账户年利率惊呆了<a href="https://xieyonglin.com/posts/hsbc-hk-experience/#%E8%B4%A6%E6%88%B7%E5%B9%B4%E5%88%A9%E7%8E%87%E6%83%8A%E5%91%86%E4%BA%86" class="hash-link" aria-label="Direct link to 账户年利率惊呆了" title="Direct link to 账户年利率惊呆了">​</a></h2>
<p>好不容易激活成功，查看账户利率时又是一记重击：</p>
<p><strong>年利率仅为0.625%！</strong></p>
<p>这利率水平，还不如把钱放在内地银行。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="会封">会封？<a href="https://xieyonglin.com/posts/hsbc-hk-experience/#%E4%BC%9A%E5%B0%81" class="hash-link" aria-label="Direct link to 会封？" title="Direct link to 会封？">​</a></h2>
<p>还有让人担心的是传闻中的"长期不用就会被封户"</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="建议">建议<a href="https://xieyonglin.com/posts/hsbc-hk-experience/#%E5%BB%BA%E8%AE%AE" class="hash-link" aria-label="Direct link to 建议" title="Direct link to 建议">​</a></h2>
<ol>
<li>在地址里写上手机号防止平邮丢失</li>
<li>激活可拨打大湾区客服转接到香港客服，以节省话费</li>
<li>在香港有亲友的话，可以请他们帮忙处理</li>
<li>账户里要留一定资金，定期登录网上银行避免因为疏忽被封卡</li>
</ol>]]></content:encoded>
            <category>汇丰</category>
            <category>香港银行</category>
            <category>开户</category>
        </item>
        <item>
            <title><![CDATA[七月继续填满健身圆环]]></title>
            <link>https://xieyonglin.com/posts/exercise-and-brain/</link>
            <guid>https://xieyonglin.com/posts/exercise-and-brain/</guid>
            <pubDate>Thu, 06 Jul 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[2021年，我看了美国神经科学家 Wendy Suzuki 的 TED 演讲「The brain-changing benefits of exercise」。它让我了解了运动对大脑的积极影响，特别是在情绪和记忆力方面。]]></description>
            <content:encoded><![CDATA[<p>2021年，我看了美国神经科学家 Wendy Suzuki 的 TED 演讲「<a href="https://www.ted.com/talks/wendy_suzuki_the_brain_changing_benefits_of_exercise" target="_blank" rel="noopener noreferrer">The brain-changing benefits of exercise</a>」。它让我了解了运动对大脑的积极影响，特别是在情绪和记忆力方面。</p>
<p>Suzuki 教授的研究揭示了一个简单而有效的运动方案，能够显著提升我们的情绪和记忆力：</p>
<ul>
<li>每周进行 3-4 次运动</li>
<li>每次持续至少 30 分钟</li>
<li>必须包含有氧运动</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="记录每天的运动">记录每天的运动<a href="https://xieyonglin.com/posts/exercise-and-brain/#%E8%AE%B0%E5%BD%95%E6%AF%8F%E5%A4%A9%E7%9A%84%E8%BF%90%E5%8A%A8" class="hash-link" aria-label="Direct link to 记录每天的运动" title="Direct link to 记录每天的运动">​</a></h3>
<p>最近升级到 iOS 16 后，我开始使用健康 APP 来记录我的运动数据。</p>
<p><img decoding="async" loading="lazy" alt="2023年7月" src="https://xieyonglin.com/assets/images/2023-07-06-exercise-and-brain-20241104183806846-45a5f56d47dd5cb95f624ae7eb0aae26.webp" width="1080" height="2337" class="img_ev3q"></p>
<p>希望能按计划继续保持这个运动习惯，并尝试不同类型的有氧运动（目前主要是跑步）以及逐步增加运动强度。</p>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="2024年11月4日更新">2024年11月4日更新<a href="https://xieyonglin.com/posts/exercise-and-brain/#2024%E5%B9%B411%E6%9C%884%E6%97%A5%E6%9B%B4%E6%96%B0" class="hash-link" aria-label="Direct link to 2024年11月4日更新" title="Direct link to 2024年11月4日更新">​</a></h3>
<p>很高兴我依然能抽出时间保持这个习惯，每周3-4次运动。</p>
<p><img decoding="async" loading="lazy" alt="2024年11月" src="https://xieyonglin.com/assets/images/2023-07-06-exercise-and-brain-20241104184033573-dd1aa6386527bfab619e72c1de68682f.webp" width="1179" height="2556" class="img_ev3q"></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[祝你幸福]]></title>
            <link>https://xieyonglin.com/posts/i-wish-you-happiness/</link>
            <guid>https://xieyonglin.com/posts/i-wish-you-happiness/</guid>
            <pubDate>Wed, 10 Aug 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[刷朋友圈时看到十年前向我告白的女生结婚了。]]></description>
            <content:encoded><![CDATA[<p>刷朋友圈时看到十年前向我告白的女生结婚了。</p>
<p>照片里，你穿着婚纱的样子依然明媚动人，幸福洋溢在脸上的每个微笑里。</p>
<p>看着这些幸福合影，各种滋味涌上心头，也由衷为你感到开心。</p>
<p>虽然已不再联系，但谢谢你曾经的勇气，让我的青春故事里多了一笔温暖的色彩。</p>
<p>愿你被温柔以待，未来永远明亮。</p>
<p>「Do Re Mi Fa 祝你幸福」。</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[周杰伦新歌 MV 有错别字？]]></title>
            <link>https://xieyonglin.com/posts/jay-chou-mv-typo/</link>
            <guid>https://xieyonglin.com/posts/jay-chou-mv-typo/</guid>
            <pubDate>Wed, 06 Jul 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[周杰伦今天出的新歌「最伟大的作品」 MV 里有错别字？]]></description>
            <content:encoded><![CDATA[<p>周杰伦今天出的新歌「最伟大的作品」 MV 里有错别字？</p>
<p>把「巴黎的鳞爪」的「鳞」写成了「麟」(跟我名字最后一个字一样)</p>
<p><img decoding="async" loading="lazy" src="https://xieyonglin.com/assets/images/2022-07-06-jay-chou-mv-typo-20241102092258570-ae558f0be88e3f0fed094acf1f7bfe43.webp" width="1161" height="652" class="img_ev3q">
<img decoding="async" loading="lazy" src="https://xieyonglin.com/assets/images/2022-07-06-jay-chou-mv-typo-20241102093510631-95e9dd36ef1d8bd31f2ed42e18f1beab.webp" width="350" height="466" class="img_ev3q"></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[电动车]]></title>
            <link>https://xieyonglin.com/posts/electric-vehicle/</link>
            <guid>https://xieyonglin.com/posts/electric-vehicle/</guid>
            <pubDate>Sat, 02 Oct 2021 00:00:00 GMT</pubDate>
            <description><![CDATA[重游母校，偶遇车牌号和当年寝室号一样的电动车。]]></description>
            <content:encoded><![CDATA[<p>重游母校，偶遇车牌号和当年寝室号一样的电动车。</p>
<p>那一瞬间仿佛时光倒流，又回到了和室友们在寝室赶作业、吃泡面、聊天打游戏的日子。</p>
<p>有些场景，就这样悄悄镌刻在青春里，成为最美好的回忆。✨</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Sample, text here]]></title>
            <link>https://xieyonglin.com/posts/funny-bedding-sample-text/</link>
            <guid>https://xieyonglin.com/posts/funny-bedding-sample-text/</guid>
            <pubDate>Sat, 12 Dec 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[去阳台呼吸新鲜空气，微风穿过被子拂面而来。眼睛随意一瞥，突然看到被单上有几个小小的英文字母。]]></description>
            <content:encoded><![CDATA[<p>去阳台呼吸新鲜空气，微风穿过被子拂面而来。眼睛随意一瞥，突然看到被单上有几个小小的英文字母。</p>
<p>仔细一看，我笑喷了：</p>
<p>「Sample, text here」</p>
<p>没错，就是设计模板里的那个占位文字！</p>
<p>这商家也是真实在整活，怕不是设计师拿了现成的素材，忘记把示例文字修改掉就直接去印刷了。就像是交论文时把「范文仅供参考」一起打印出来了一样...</p>
<p>给朋友发了照片，他第一反应就是：「这该不会是拼多多买的吧？」</p>
<p>我说：「拼多多可买不到这种汉正街独有的限量版！」</p>
<div class="theme-admonition theme-admonition-note admonition_xJq3 alert alert--secondary"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>note</div><div class="admonitionContent_BuS1"><p>汉正街是曾经的「水货一条街」，售卖仿品和粗制滥造的商品。现在汉正街都在转型升级了，这种「原汁原味」的商品怕是越来越难买到咯！</p></div></div>
<p><img decoding="async" loading="lazy" src="https://xieyonglin.com/assets/images/2020-12-12-Sample,%20text%20here-20241115095219348-57cd411845f2738940b7e9232757e5fd.webp" width="600" height="770" class="img_ev3q"></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[抢购口罩的奇葩方式]]></title>
            <link>https://xieyonglin.com/posts/how-to-get-face-mask/</link>
            <guid>https://xieyonglin.com/posts/how-to-get-face-mask/</guid>
            <pubDate>Mon, 10 Feb 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[最近口罩成为了最紧缺的商品，单个口罩的价格一度被炒到20元。在这期间，我也发现了一些令人啼笑皆非的抢购方式。]]></description>
            <content:encoded><![CDATA[<p>最近口罩成为了最紧缺的商品，单个口罩的价格一度被炒到20元。在这期间，我也发现了一些令人啼笑皆非的抢购方式。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="it-宅男的抢购法">IT 宅男的抢购法<a href="https://xieyonglin.com/posts/how-to-get-face-mask/#it-%E5%AE%85%E7%94%B7%E7%9A%84%E6%8A%A2%E8%B4%AD%E6%B3%95" class="hash-link" aria-label="Direct link to IT 宅男的抢购法" title="Direct link to IT 宅男的抢购法">​</a></h2>
<p>有 IT 宅男在电商平台准时秒杀区，配合黑科技抢购脚本/秒杀插件，用多平台多设备抢口罩。</p>
<p>某些程序员还开发了「口罩库存监控群机器人」，一旦发现有货立即通知。</p>
<p>但使用这类插件可能涉及法律问题，因此不建议使用。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="曲线救国购买法">曲线救国购买法<a href="https://xieyonglin.com/posts/how-to-get-face-mask/#%E6%9B%B2%E7%BA%BF%E6%95%91%E5%9B%BD%E8%B4%AD%E4%B9%B0%E6%B3%95" class="hash-link" aria-label="Direct link to 曲线救国购买法" title="Direct link to 曲线救国购买法">​</a></h2>
<p>也有人开创了一种投机取巧的方式：</p>
<ul>
<li>发现单买口罩很难</li>
<li>但买包含医疗用品的整个医药箱/急救箱却很容易</li>
<li>于是...买医药箱 ➡️ 取出口罩</li>
</ul>
<p>这种操作属实让人哭笑不得。医药箱价格贵出天际，但依然有人觉得值，毕竟能拿到口罩就是赚到！</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="创意达人改造法">创意达人改造法<a href="https://xieyonglin.com/posts/how-to-get-face-mask/#%E5%88%9B%E6%84%8F%E8%BE%BE%E4%BA%BA%E6%94%B9%E9%80%A0%E6%B3%95" class="hash-link" aria-label="Direct link to 创意达人改造法" title="Direct link to 创意达人改造法">​</a></h2>
<p>当口罩实在买不到时，民间的创造力被彻底激发。</p>
<p>有人发现 Bra 的材质和构造可以改装成「口罩」，于是出了详细的<a href="https://www.youtube.com/watch?v=HuGbEa2ex74" target="_blank" rel="noopener noreferrer">视频教程</a>。</p>
<p>让一个变两个，简直是「变形金刚」。</p>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>趣闻归趣闻</div><div class="admonitionContent_BuS1"><p>虽然这些方式很有趣，但希望类似的场景永远不会重演。</p></div></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[组装电脑]]></title>
            <link>https://xieyonglin.com/posts/diy-pc/</link>
            <guid>https://xieyonglin.com/posts/diy-pc/</guid>
            <pubDate>Mon, 11 Nov 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[每年这个时候都是一场购物狂欢，而今年我决定趁机购入各种部件，自己动手组装一台属于自己的电脑。]]></description>
            <content:encoded><![CDATA[<p>每年这个时候都是一场购物狂欢，而今年我决定趁机购入各种部件，自己动手组装一台属于自己的电脑。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="配置清单">配置清单<a href="https://xieyonglin.com/posts/diy-pc/#%E9%85%8D%E7%BD%AE%E6%B8%85%E5%8D%95" class="hash-link" aria-label="Direct link to 配置清单" title="Direct link to 配置清单">​</a></h2>
<table><thead><tr><th>部件</th><th>型号</th></tr></thead><tbody><tr><td>CPU</td><td>Intel Core i7-9700</td></tr><tr><td>主板</td><td>技嘉 Z390 GAMING X</td></tr><tr><td>内存</td><td>金士顿骇客神条 Fury DDR4 2666 16GB×2</td></tr><tr><td>SSD</td><td>Sandisk Extreme Pro 960GB (几年前买的)</td></tr><tr><td>机械硬盘</td><td>西部数据 WD20EZAZ 2TB</td></tr><tr><td>电源</td><td>海盗船 RM650x</td></tr><tr><td>机箱</td><td>酷冷至尊 MB520</td></tr><tr><td>散热器</td><td>九州风神 玄冰400</td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="一次点亮">一次点亮<a href="https://xieyonglin.com/posts/diy-pc/#%E4%B8%80%E6%AC%A1%E7%82%B9%E4%BA%AE" class="hash-link" aria-label="Direct link to 一次点亮" title="Direct link to 一次点亮">​</a></h2>
<p>所有配件连接完毕后，按下电源键。一次点亮，系统成功启动！接着捣鼓了系统和软件，运行流畅，性能达到预期。</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Buster Keaton 的默片时代]]></title>
            <link>https://xieyonglin.com/posts/buster-keaton/</link>
            <guid>https://xieyonglin.com/posts/buster-keaton/</guid>
            <pubDate>Wed, 17 Apr 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[最近的夜晚都在补巴斯特·基顿（Buster Keaton）的默片，重温了他在1920到1927年间的很多经典作品。]]></description>
            <content:encoded><![CDATA[<p>最近的夜晚都在补巴斯特·基顿（Buster Keaton）的默片，重温了他在1920到1927年间的很多经典作品。</p>
<p>说来也怪，明明是一百年前的黑白电影，画面都有些跳动和颗粒感，却总能让我捧腹大笑和拍案叫绝。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="一些经典之作">一些经典之作<a href="https://xieyonglin.com/posts/buster-keaton/#%E4%B8%80%E4%BA%9B%E7%BB%8F%E5%85%B8%E4%B9%8B%E4%BD%9C" class="hash-link" aria-label="Direct link to 一些经典之作" title="Direct link to 一些经典之作">​</a></h2>
<p>让我列举几个我印象深刻的作品吧：</p>
<ul>
<li>
<p><strong>《One Week》（1920年）</strong>：新婚夫妇建房的荒诞故事，Keaton 的精妙设计在每一个拧巴的瞬间都让人想笑。这座小房子成了搞笑的道具，几乎是一个角色，摇摇晃晃中让人看得手心出汗。</p>
</li>
<li>
<p><strong>《The High Sign》（1921年）</strong>：Keaton化身不情愿的杀手助手，结果连自己也陷入一场谜一样的阴谋中。特别是那一串疯狂的追逐戏，带点荒诞，又有点紧张，Keaton 一个翻身、一张面无表情的脸，就让你觉得他稳得住。</p>
</li>
<li>
<p><strong>《Cops》（1922年）</strong>：这个可是我的最爱！Keaton 误惹整个警察队的故事，短短18分钟的追逐戏充满戏剧性。无论多少警察冲上来，他都冷静逃脱，带着一种“要来就来吧”的潇洒。这是Keaton最让人着迷的地方——无论场面多荒诞，他的表情永远一副“淡定得过分”。</p>
</li>
<li>
<p><strong>《Sherlock Jr.》（1924年）</strong>：他化身侦探在梦中大冒险，这简直是一部超前的电影。梦境中的他勇敢无畏，还用了许多出色的视觉效果，在无声的环境中带给人梦幻般的观感。</p>
</li>
<li>
<p><strong>《The General》（1926年）</strong>：他最著名的动作片之一，背景设在南北战争时期，Keaton 在一列火车上上演了一场惊心动魄的大戏。动作、笑料都精准到位，这是他作为“动作大师”最出彩的一次。</p>
</li>
<li>
<p><strong>《College》（1927年）</strong>：一部幽默的运动励志喜剧，Keaton 为了追求心上人，不得不加入一系列的运动项目，憨态可掬。</p>
</li>
</ul>
<p>但最让我着迷的，是1922年那部《Cops》。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="最爱cops">最爱《Cops》<a href="https://xieyonglin.com/posts/buster-keaton/#%E6%9C%80%E7%88%B1cops" class="hash-link" aria-label="Direct link to 最爱《Cops》" title="Direct link to 最爱《Cops》">​</a></h2>
<p>这部<a href="https://www.youtube.com/watch?v=asEgQZhShLk" target="_blank" rel="noopener noreferrer">《Cops》</a>简直就是一场不可思议的"警匪片"，只不过警察有几百个，而"匪"就基顿一个人。看他在街道上狂奔，警察像潮水一样追在后面，那场面既紧张又滑稽。最绝的是基顿全程面无表情，仿佛在演默剧版的捉迷藏。</p>
<p>有个镜头我反复看了好几遍：15 分 40 秒的时候，Keaton 抓住车尾，整个人就像风筝一样飘了起来。说实话我看到这儿都替他捏了把汗，一个不小心，不是胳膊脱臼就是整个人摔出去，这哥们儿是真的敢啊！这可是实打实的特技，没有任何防护措施。</p>
<p>除了佩服，真的想不出别的词儿来形容了。这种玩命的特技，现在的演员有几个敢这么来？</p>
<p>Keaton 这种拼命三郎的劲头，看得人既害怕又过瘾。这大概就是他能成为默片时代顶级喜剧演员的原因之一吧。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="为什么爱上默片">为什么爱上默片<a href="https://xieyonglin.com/posts/buster-keaton/#%E4%B8%BA%E4%BB%80%E4%B9%88%E7%88%B1%E4%B8%8A%EF%BF%BD%EF%BF%BD%E9%BB%98%E7%89%87" class="hash-link" aria-label="Direct link to 为什么爱上默片" title="Direct link to 为什么爱上默片">​</a></h2>
<p>朋友问我："看这么老的默片有意思吗？"</p>
<p>有啊，而且特别有意思！</p>
<p>如今的电影世界日新月异，但像 Buster Keaton 这样的默片大师却让人难以忘怀。没有华丽的台词，没有电脑特效，全凭演员的动作和表情去讲故事。这些默片仿佛带我们回到一个更纯粹的时代——那个在无声的黑白影像中，也能找到最直接的笑声与感动的年代。</p>
<p>也许是因为在这个焦虑的时代，那些简单纯粹的欢乐特别珍贵。看着一个永远面无表情的人，做着最疯狂的事，莫名觉得治愈。</p>
<p>而那些横跨一个世纪的笑声，让我相信：真正的艺术，永远不会过时。</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[当歌名遇上代码]]></title>
            <link>https://xieyonglin.com/posts/music-code/</link>
            <guid>https://xieyonglin.com/posts/music-code/</guid>
            <pubDate>Wed, 14 Mar 2018 00:00:00 GMT</pubDate>
            <description><![CDATA[遇到一个唱歌很棒的 12 岁妹妹，给我唱了一首《隐形的翅膀》。突然想到这个歌名可以用代码表示为 wings.setVisible(false);]]></description>
            <content:encoded><![CDATA[<p>遇到一个唱歌很棒的 12 岁妹妹，给我唱了一首《隐形的翅膀》。突然想到这个歌名可以用代码表示为 wings.setVisible(false);</p>
<p>然后脑补了其他歌名的代码版本：</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">《不得不爱》→&nbsp;while(true){love();}</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">《爱就一个字》→&nbsp;love.length = 1;</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">《暗号》→&nbsp;message.encrypt();</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">《红色高跟鞋》→&nbsp;shoes.setColor("red").setType("highHeel");</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">《爱情转移》→&nbsp;love.transfer(newPerson);</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">《听妈妈的话》→ mom.getAdvice().listen();</span><br></span></code></pre></div></div>
<p>程序员 + 音乐人的快乐就是这么简单&nbsp;😆
你也想到了其他歌名的代码版本吗？</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[为微信网页版添加论坛风签名档（附源码）]]></title>
            <link>https://xieyonglin.com/posts/wechat-message-signature/</link>
            <guid>https://xieyonglin.com/posts/wechat-message-signature/</guid>
            <pubDate>Sun, 09 Jul 2017 00:00:00 GMT</pubDate>
            <description><![CDATA[在微信网页版中为每条消息自动添加个性签名是一件蛮酷的事，仿佛将经典的论坛的签名档功能融入微信中。]]></description>
            <content:encoded><![CDATA[<p>在微信网页版中为每条消息自动添加个性签名是一件蛮酷的事，仿佛将经典的论坛的签名档功能融入微信中。</p>
<p><img decoding="async" loading="lazy" src="https://xieyonglin.com/assets/images/2017-01-28-wechat-sign-20241110162229390-1e07e7af79e662d500ef2c23ccee14f2.webp" width="600" height="525" class="img_ev3q">
<img decoding="async" loading="lazy" src="https://xieyonglin.com/assets/images/2017-07-09-wechat-message-signature-20241110172832523-da131df5d007df55f20d776da9da2281.png" width="761" height="685" class="img_ev3q"></p>
<p>我们可以使用油猴插件(Tampermonkey)来注入JavaScript代码，通过修改微信网页版的DOM元素和事件来实现自动添加签名的功能。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="主要功能">主要功能<a href="https://xieyonglin.com/posts/wechat-message-signature/#%E4%B8%BB%E8%A6%81%E5%8A%9F%E8%83%BD" class="hash-link" aria-label="Direct link to 主要功能" title="Direct link to 主要功能">​</a></h2>
<ol>
<li>修改发送按钮的事件</li>
<li>添加 Shift+Enter 快捷键支持</li>
<li>创建自定义按钮</li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="完整代码">完整代码<a href="https://xieyonglin.com/posts/wechat-message-signature/#%E5%AE%8C%E6%95%B4%E4%BB%A3%E7%A0%81" class="hash-link" aria-label="Direct link to 完整代码" title="Direct link to 完整代码">​</a></h2>
<div class="language-javascript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-javascript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// ==UserScript==</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// @name         微信网页版消息签名助手</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// @namespace    http://xieyonglin.com/</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// @version      0.1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// @description  微信消息添加签名档</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// @author       Xie Yonglin</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// @match        https://wx.qq.com/</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// @grant        none</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// ==/UserScript==</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// 发送带签名的消息</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token function maybe-class-name" style="color:#d73a49">SendMsg</span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter">content</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    angular</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">element</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'pre:last'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">scope</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">editAreaCtn</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token known-class-name class-name">String</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">content </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'\n      ----通过 X-Phone Plus 发布'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    angular</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">element</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'pre:last'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">scope</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">sendTextMessage</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// 获取输入框内容并发送</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token function maybe-class-name" style="color:#d73a49">SendMsgWithInput</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">var</span><span class="token plain"> temp </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token dom variable" style="color:#36acaa">document</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">getElementById</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'editArea'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">innerHTML</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    angular</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">element</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'pre:last'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">scope</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">editAreaCtn</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token known-class-name class-name">String</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">temp </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'\n      ----通过 X-Phone 发布'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    angular</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">element</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'pre:last'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">scope</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">sendTextMessage</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// 创建自定义按钮</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token function maybe-class-name" style="color:#d73a49">CreateButton</span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter">buttonText</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">var</span><span class="token plain"> votebutton </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token dom variable" style="color:#36acaa">document</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">createElement</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"input"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain">    </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    votebutton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">type</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"button"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain">                                       </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    votebutton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">value</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> buttonText</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    votebutton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">name</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"custom-button"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain">                                         </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    votebutton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">className</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"btn btn-default"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    votebutton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method-variable function-variable method function property-access" style="color:#d73a49">onclick</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token function maybe-class-name" style="color:#d73a49">SendMsg</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">this</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">value</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    tool_bar</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">appendChild</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">votebutton</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain">                             </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// 主函数</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">'use strict'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token comment" style="color:#999988;font-style:italic">// 修改默认发送按钮行为</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">var</span><span class="token plain"> sendButton </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'&lt;a class="btn btn_send" href="javascript:;" "&gt;发送&lt;/a&gt;'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token dom variable" style="color:#36acaa">document</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">getElementsByClassName</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"btn_send"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">[</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">outerHTML</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> sendButton</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token dom variable" style="color:#36acaa">document</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">getElementsByClassName</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"btn_send"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">[</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method-variable function-variable method function property-access" style="color:#d73a49">onclick</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token function maybe-class-name" style="color:#d73a49">SendMsgWithInput</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token comment" style="color:#999988;font-style:italic">// 添加Shift+Enter快捷键支持</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token dom variable" style="color:#36acaa">document</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">getElementsByClassName</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"content ng-isolate-scope"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">[</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method-variable function-variable method function property-access" style="color:#d73a49">onkeydown</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter">event</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token keyword" style="color:#00009f">var</span><span class="token plain"> e </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> event </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> </span><span class="token dom variable" style="color:#36acaa">window</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">event</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">||</span><span class="token plain"> </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                arguments</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">callee</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">caller</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">arguments</span><span class="token punctuation" style="color:#393A34">[</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token keyword control-flow" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">e </span><span class="token operator" style="color:#393A34">&amp;&amp;</span><span class="token plain"> e</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">shiftKey</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">==</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                </span><span class="token function maybe-class-name" style="color:#d73a49">SendMsgWithInput</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token comment" style="color:#999988;font-style:italic">// 创建测试按钮</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token function maybe-class-name" style="color:#d73a49">CreateButton</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'test'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token comment" style="color:#999988;font-style:italic">// 创建带签名发送按钮</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">var</span><span class="token plain"> toolbar </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token dom variable" style="color:#36acaa">document</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">getElementsByClassName</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"toolbar"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">[</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">var</span><span class="token plain"> signButton </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token dom variable" style="color:#36acaa">document</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">createElement</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"input"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain">    </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    signButton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">type</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"button"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain">                                       </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    signButton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">value</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"带签名发送"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    signButton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">name</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"sign-button"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain">                                        </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    signButton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">className</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"btn btn-default"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    signButton</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method-variable function-variable method function property-access" style="color:#d73a49">onclick</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token function maybe-class-name" style="color:#d73a49">SendMsgWithInput</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    toolbar</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">appendChild</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">signButton</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain">                             </span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="改进脚本">改进脚本<a href="https://xieyonglin.com/posts/wechat-message-signature/#%E6%94%B9%E8%BF%9B%E8%84%9A%E6%9C%AC" class="hash-link" aria-label="Direct link to 改进脚本" title="Direct link to 改进脚本">​</a></h2>
<p>通过简单的代码修改，你可以在签名中加入实时时间、当前城市、天气状况，甚至是一句每日随机格言。</p>
<p>这让我想起曾经在论坛里遇到的一位大哥，他坚持在每个帖子下都手写一份签名档。这种对签名的执着与热爱，让网络世界始终保持着一份温度与人情味。这种精神值得我们学习👍。</p>
<p><img decoding="async" loading="lazy" src="https://xieyonglin.com/assets/images/2017-07-09-wechat-message-signature-20241110163554362-ec4ab624c07afacc2d7414bf46a104ca.png" width="1293" height="341" class="img_ev3q"></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[新年梦见第一首歌]]></title>
            <link>https://xieyonglin.com/posts/dream-john-mayer-guitar/</link>
            <guid>https://xieyonglin.com/posts/dream-john-mayer-guitar/</guid>
            <pubDate>Sat, 28 Jan 2017 00:00:00 GMT</pubDate>
            <description><![CDATA[新年第一天，梦见跟 John Mayer 学习这首歌的吉他该怎么弹。新年听的第一首歌，就决定是你了！]]></description>
            <content:encoded><![CDATA[<p>新年第一天，梦见跟 John Mayer 学习这首歌的吉他该怎么弹。新年听的第一首歌，就决定是你了！</p>
<iframe width="495" height="240" src="https://www.youtube.com/embed/eXBNx9JL-_w" title="Neon" frameborder="0"></iframe>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[520 随笔]]></title>
            <link>https://xieyonglin.com/posts/520-essay/</link>
            <guid>https://xieyonglin.com/posts/520-essay/</guid>
            <pubDate>Fri, 20 May 2016 00:00:00 GMT</pubDate>
            <description><![CDATA[一个痴情到 250 的人]]></description>
            <content:encoded><![CDATA[<p>一个痴情到 250 的人<br>
<!-- -->千里迢迢来到区号为 025 的城市<br>
<!-- -->误把 502 胶当口红涂<br>
<!-- -->导致未能说出一句简单的 520</p>]]></content:encoded>
        </item>
    </channel>
</rss>