<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Yevpt&apos;s Blog</title>
    <link>https://www.yevpt.com</link>
    <description>分享编程、工具、文学的个人博客</description>
    <language>zh-CN</language>
    <lastBuildDate>Sun, 05 Jul 2026 04:18:18 GMT</lastBuildDate>
    <atom:link href="https://www.yevpt.com/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>博客 V2 正式发布</title>
      <link>https://www.yevpt.com/articles/53</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/53</guid>
      <pubDate>Sun, 05 Jul 2026 04:18:18 GMT</pubDate>
      <description>相对于 2019 年发布的 V1 版本，V2 版本无论是在实现形式、UI 审美乃至工程思维上，都因社会变迁以及这些年的个人成长，而发生了不少值得记录的变化。这篇文章主要分...</description>
      <category>编程</category>
      <content:encoded><![CDATA[<p>从 2026 年 05 月 30 日提交第一个 Commit 起，历时一个多月，博客 V2 正式版终于可以宣告发布了。</p>
<p>本次项目的技术合作伙伴，主要是 Claude Code、Codex、Cursor、OpenCode，以及半死不活的 Antigravity。为了达到目前的进展，雇佣他们花费 80$+，消耗了50 亿+的 Token。</p>
<p>而我在这次项目里的角色，也从过去 V1 那种古法全栈开发，转变成了一个产品经理：带着几个 Agent 同事，一步步完成需求分析、文档编写、UI 设计、前后端开发、自动化测试与部署的全流程。</p>
<p>期间也没少和他们为了某些实现细节、架构设计争论不休，在上下文里来回拉扯。好在结果论上，目前至少搞定了一个完成度还算不错的版本。目前整个项目已开源，具体的地址，放在了结尾。</p>
<p>这里用几个截图简单对比下 V1 和 V2 正式初版的差别（以下图片可手动翻页）。</p>
<p>也可以通过我归档的旧版域名访问对比：<a href="https://blog-v1.yevpt.com/" rel="noopener noreferrer" target="_blank">跳转旧版博客</a>  （数据已不互通）。</p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/53/images/57ca62f3f05d1902e3f7e1da24659dc4.png?a=dab6d1b604608a354fb75c5347cb0131&#x26;b=6a49cfa0" alt="1.png"></p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/53/images/b2bc414d1f1b89083f956c17f557d1e7.png?a=a473e1047468c92fa718ada5cace51ee&#x26;b=6a49cfa0" alt="2.png"></p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/53/images/7874cf7e8b7720a5f770663cb5906a38.png?a=aae0c5fca22b9d418da79f6636fbe22b&#x26;b=6a49cfa0" alt="3.png"></p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/53/images/7e23fb9a4bfbf4aceba1358509daced5.png?a=0de864f736b65d16581fdf684d8de07f&#x26;b=6a49cfa0" alt="4.png"></p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/53/images/b354dc283e28d16937cc1169ff6cc472.png?a=11b2a22e663c42594d9e334f04e9c8bc&#x26;b=6a49cfa0" alt="5.png"></p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/53/images/c5d98acadee11370b0e01fbdad83c86a.png?a=a55261ac9b22acc3fd19da758d422a97&#x26;b=6a49cfa0" alt="7.png"></p>
<p>那么，为什么我非要进行这次重写式的迭代升级？</p>
<p>原因其实并不复杂。</p>
<p>第一，V1 那版本身就不够完善。后台管理比较简陋，项目结构也略显混乱，很多东西都是当时为了能跑起来先堆上去的。</p>
<p>第二，V1 借助了太多第三方服务。比如腾讯云 COS，比如腾讯云的图形验证码服务。结果就是，很多时候第三方服务一变，某个流程就直接瘫痪，比如注册、图片上传这类场景。</p>
<p>所以 V2 里，我把对象存储换成了开源的 Garage，验证码也改成了用 GoCaptcha 自己实现。能自己掌控的部分，就尽量自己掌控。</p>
<p>第三，我对一个博客这种并不算重量级的应用，却被一个 Spring Boot 后端服务占掉 300M+ 内存这件事，一直心存不满。</p>
<p>所以这次我干脆做了一次大刀阔斧的调整。</p>
<p>前台主站从 Nuxt 2 升级到了 Next 16 SSR；后台管理改成 React CSR；后端则从 Spring Boot 2 换成了 Gin。</p>
<p>我没有再选择那些看起来花里胡哨的新框架，而是尽量选择各个方向里成熟、稳定、可长期维护的方案。我期待这版博客能在底层上有一个更坚实的基础，成为一个可以长期稳定运行，并且不断在此基础上迭代的生产级项目，而不是每次改着改着又变成需要重写的开发版玩具。</p>
<p>接下来聊聊架构细节。</p>
<p>前端项目采用了 Monorepo 的组织方式。前台展示 Web 和后台管理 Admin，既是两个独立应用，又可以天然共享类型、组件、Hook 等公共模块。</p>
<p>组件库这块，我只引入了 React Aria 作为基础 UI 能力，尽可能减少第三方样式体系的干扰。后续所有组件，基本都是在这个基础上进行二次封装。</p>
<p>后端则作为整个前端的数据支撑。在 V1 已经有的文章、分类、音乐等基础管理能力之上，V2 又补上了数据统计、内容审核等多个核心模块。</p>
<p>数据统计模块的意义在于，博客以后可以不再依赖 Google Analytics 这类第三方统计服务。访问数据、用户行为、内容表现，都可以进一步掌握在自己手里。</p>
<p>内容审核这块，则做了一套更偏智能化的管理逻辑。系统会根据用户是否是新用户、历史审核情况、行为风险等信息，自动划分不同安全等级，并采用不同的处理策略。作为一个已经备案的网站，这部分也算是非常重要的风控能力。</p>
<p>另外，由于 V1 版本曾经遭遇过多次不同类型的攻击，所以这次 V2 在前后端结合层面，也做了更严厉的请求限制。</p>
<p>尤其是邮箱发送、用户注册、图片上传这些安全敏感，或者涉及资源写入的场景，只要超过正常用户的请求频率，就会逐步升级惩罚。当然，不同场景下也会有不同的释放规则，避免误伤正常用户。</p>
<p>接下来再讲讲性能，主要说前端这块。</p>
<p>作为服务端渲染应用，SSR 虽然能更快给出首屏内容，但也会有水合问题。水合完成之前，页面虽然已经显示出来了，但实际上还不能真正交互。</p>
<p>V1 版本里，我的做法比较粗暴：直接显示一个全屏加载页，等页面彻底加载好了再展示内容。</p>
<p>V2 则改成了主体骨架屏模式。页面会先展示出大体结构，再尽一切手段，尽快加载核心资源，比如 JS 和 CSS，让页面尽早进入可交互状态。</p>
<p>为此，我把图片等元素在服务端渲染阶段都先处理成纯骨架屏。等水合结束，页面可以正常交互后，再切换成懒加载图片。</p>
<p>图片这块也单独做了一层处理。</p>
<p>我在 Go 里专门实现了一套图片裁切、压缩和格式转换服务。上传时，会根据图片本身的情况进行合理转换，再存入 Garage；读取时，也会根据具体场景，响应式返回合适的尺寸和压缩比例。</p>
<p>这样就不会再出现一个头像动不动占 500KB 的情况。头像、封面、文章图片、后台预览图，不同场景都有对应的尺寸要求，不再是一张原图到处硬塞。</p>
<p>另外，图片和音乐资源也都加上了 CDN 鉴权，并且开启了防盗链。博客访问域名也额外加了一层中转，避免再次出现真实 IP 被直接攻击的情况。</p>
<p>一篇文章不足以说出全部的思考与升级点，暂且收尾，后续用更细分的文章分享吧。</p>
<p>总的来说，V2 不是一次简单的原有升级，而是一次多位一体的整体重写。</p>
<p>它远不到完美，但至少，目前这个博客从一个“跌跌撞撞”的个人项目，往一个更接近生产级的长期项目上推了一步。后续再慢慢迭代吧。</p>
<p> </p>
<p>前端开源仓库：</p>
<p><a href="https://github.com/yevpt/blog-frontend" rel="noopener noreferrer" target="_blank">https://github.com/yevpt/blog-frontend</a></p>
<p>后端开源仓库：</p>
<p><a href="https://github.com/yevpt/blog-backend" rel="noopener noreferrer" target="_blank">https://github.com/yevpt/blog-backend</a></p>]]></content:encoded>
    </item>
    <item>
      <title>使用 Nvm 搭建 Node 环境</title>
      <link>https://www.yevpt.com/articles/50</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/50</guid>
      <pubDate>Sun, 05 Jul 2026 04:19:04 GMT</pubDate>
      <description>每次查询我的笔记，总是需要在我记录的多份Node相关搭建中选择，出于整洁强迫症的需求，现在抽出时间整理成了一篇。本篇，不仅记录了Node环境在Linux、Win、Mac上的搭建...</description>
      <category>编程</category>
      <content:encoded><![CDATA[<p>每次查询我的笔记，总是需要在我记录的多份Node相关搭建中选择，出于整洁强迫症的需求，现在抽出时间整理成了一篇。本篇，不仅记录了Node环境在Linux、Win、Mac上的搭建方案，还给出了在使用过程可能遇到的问题的解决方案以供参考。</p>
<h1 id="1-安装nvm">1. 安装Nvm</h1>
<p>虽然可以直接在官网下载Node最新版本进行安装与配置。但是出于对于多版本切换的需求以及可能性，我的主张一直是尽可能地直接安装Nvm，一个Node的版本管理工具。</p>
<h2 id="11-linux环境">1.1 Linux环境</h2>
<p>使用<a href="https://github.com/nvm-sh/nvm" rel="noopener noreferrer" target="_blank">nvm-sh</a>进行安装，可以查看nvm-sh的网站查看最新版本的安装脚本。</p>
<h3 id="111-使用脚本下载安装">1.1.1 使用脚本下载安装</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
</code></pre></div>
<p>注意：如果此脚本无法执行成功，一般是国内服务器的网络不通。
可以访问<a href="https://www.ipaddress.com/" rel="noopener noreferrer" target="_blank">IPAddress.com</a>，<a href="http://xn--raw-0v1en65z.githubusercontent.com/" rel="noopener noreferrer" target="_blank">输入raw.githubusercontent.com</a>，查询到真实IP地址。
然后修改hosts解锁真实ip，操作如下：</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>-- 1. 打开并编辑hosts文件
sudo vi /etc/hosts
-- 2. 在hosts文件中填写以下内容，*.*.*.*为刚才查询到的真实ip
*.*.*.* raw.githubusercontent.com
</code></pre></div>
<h3 id="112-关掉并重新打开shell">1.1.2 关掉并重新打开Shell</h3>
<h3 id="113-查看nvm版本">1.1.3 查看Nvm版本</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>nvm --version
</code></pre></div>
<p>使用此脚本安装的Nvm对应的安装目录如下：
ROOT用户：/root/.nvm
其他用户：/home/username/.nvm</p>
<h3 id="114-更换nvm为淘宝源">1.1.4 更换Nvm为淘宝源</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>-- 1. 打开环境配置文件
vi ~/.bash_profile 
-- 2. 输入以下环境配置，修改镜像为淘宝源
NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
-- 3. 执行以下命令，使其生效
source ~/.bash_profile
</code></pre></div>
<h2 id="12-win环境">1.2 Win环境</h2>
<h3 id="121-安装">1.2.1 安装</h3>
<p>访问<a href="https://github.com/coreybutler/nvm-windows/releases" rel="noopener noreferrer" target="_blank">nvm-windows</a>，并下载nvm-setup.zip。
下载完成后解压，点击安装即可。无需任何配置。</p>
<p>需要注意的是，在安装之前，请务必卸载或删除以下内容：</p>
<ul>
<li>任何存在的node版本</li>
<li>现有的nodejs安装目录（例如：C:\Program Files\nodejs）</li>
<li>现有的NPM目录（例如C:\Users\xxx\AppData\Roaming\npm）</li>
</ul>
<h3 id="122-更换源">1.2.2 更换源</h3>
<p>安装目录下，找到settings.txt并添加以下内容：</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>node_mirror: https://npm.taobao.org/mirrors/node
npm_mirror: https://npm.taobao.org/mirrors/npm
</code></pre></div>
<h2 id="13-mac环境">1.3 Mac环境</h2>
<p>在Mac下安装Nvm，首先请注意，不要使用Homebrew进行安装!原因如下：</p>
<blockquote>
<p>Homebrew installation is not supported. If you have issues with homebrew-installed nvm, please brew uninstall it, and install it using the instructions below, before filing an issue.</p>
</blockquote>
<p>出自 <a href="https://github.com/creationix/nvm" rel="noopener noreferrer" target="_blank">Nvm 官方文档</a></p>
<p>接下来说下正确的安装方式：</p>
<h3 id="131-安装">1.3.1 安装</h3>
<p>终端执行命令：</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.37.2/install.sh | bash
</code></pre></div>
<h3 id="132-测试是否安装成功">1.3.2 测试是否安装成功</h3>
<p>终端输入nvm list 看是否成功执行。
如果一切正常，此时NVM应可以在终端使用。
因为之前的安装命令会在.bash_profile文件中加入：</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>export NVM_DIR="/Users/$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] &#x26;&#x26; . "$NVM_DIR/nvm.sh"  # This loads nvm
</code></pre></div>
<h3 id="133-更换源">1.3.3 更换源</h3>
<p>在.bash_profile中加入：</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

</code></pre></div>
<p>同时让.bash_profile的更改即时生效</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>source .bash_profile
</code></pre></div>
<h1 id="2-使用nvm安装管理node版本">2. 使用Nvm安装、管理Node版本</h1>
<h2 id="21-安装node">2.1 安装Node</h2>
<h3 id="211-查看当前所有可以安装的版本">2.1.1 查看当前所有可以安装的版本</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>-- Mac OR Linux
nvm ls-remote
-- Win
nvm list available
</code></pre></div>
<h3 id="212-安装选择好的版本例如v14150">2.1.2 安装选择好的版本，例如v14.15.0</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>nvm install v14.15.0 
</code></pre></div>
<h3 id="213-切换版本安装好的版本">2.1.3 切换版本安装好的版本</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>nvm use v14.15.0 
</code></pre></div>
<h3 id="213-设置默认版本为切换的版本">2.1.3 设置默认版本为切换的版本</h3>
<p>如果存在旧版本，当安装了新版本，会出现使用use指令切换版本后，再次打开终端，还是使用旧版本的情况，此时，可以使用nvm alias default指定默认版本即可。</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>nvm alias default v14.15.0  
</code></pre></div>
<h3 id="214-测试是否安装与配置成功">2.1.4 测试是否安装与配置成功</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>node -v
</code></pre></div>
<h3 id="215-linux的相关安装目录">2.1.5 Linux的相关安装目录</h3>
<p>默认全局包目录： /.nvm/versions/node/vx.x.x/lib/node_modules
默认全局bin目录：/.nvm/versions/node/vx.x.x/bin
默认配置：/user/.npmrc</p>
<h2 id="22-nvm的常用命令总结如下">2.2 Nvm的常用命令总结如下：</h2>
<ul>
<li>nvm list 当前安装的所有NODE版本</li>
<li>nvm ls-remote 查看所有的NODE可用版本</li>
<li>nvm list available 查看所有的NODE可用版本(WIN10)</li>
<li>nvm v 查看版本</li>
<li>nvm install latest 安装最新版NODE版本</li>
<li>nvm install xxx 下载你想要的版本</li>
<li>nvm use xxx 使用指定xxx版本的NODE</li>
<li>nvm alias default xxx 设置默认版本</li>
<li>nvm uninstall xxx 卸载xxx版本的NODE</li>
</ul>
<h1 id="23-更换npm源">2.3 更换Npm源</h1>
<h2 id="231-方式1-指定默认源">2.3.1 方式1 指定默认源</h2>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>npm config set registry https://registry.npm.taobao.org
</code></pre></div>
<h2 id="231-方式2-安装nrm进行源管理与切换-推荐">2.3.1 方式2 安装Nrm进行源管理与切换 （推荐）</h2>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>-- 1. 安装nrm
npm install -g nrm
-- 2. 查看可选的源，可以看到一个taobao的源
nrm ls 
-- 3. 测试相应源的响应时间
nrm test 
-- 4. 切换到taobao源
nrm use taobao
</code></pre></div>
<h2 id="232-方式3-使用cnpm不推荐">2.3.2 方式3 使用Cnpm（不推荐）</h2>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>npm install -g cnpm --registry=https://registry.npm.taobao.org
</code></pre></div>
<p>然后就可以使用Cnpm代替Npm。</p>
<p>个人不是很推荐这种方式，有时候安装依赖包会出现各种问题。</p>
<h1 id="3-npm备用命令">3. Npm备用命令</h1>
<ul>
<li>查看全局安装过的包</li>
</ul>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>npm list -g --depth 0
</code></pre></div>
<ul>
<li>升级依赖（空格选择，回车升级）</li>
</ul>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>- npm-check
- npm install -g npm-check
- npm-check -u -g
</code></pre></div>
<ul>
<li>配置Npm代理</li>
</ul>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>npm config set proxy=http://127.0.0.1:xxxx
</code></pre></div>
<h1 id="4-常见问题的解决">4. 常见问题的解决</h1>
<ul>
<li>Electron安装失败</li>
</ul>
<p>安装Electron时，可能会出现安装缓慢，甚至无法安装的问题，此时替换下Electron源即可。</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>npm config set ELECTRON_MIRROR https://npm.taobao.org/mirrors/electron
</code></pre></div>
<ul>
<li>node-sass安装失败的问题</li>
</ul>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass
</code></pre></div>
<ul>
<li>windows-build-tools</li>
</ul>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>npm install --global --production windows-build-tools
npm config set python "C:\\\\Users\\\\xxx\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python39\\\\python.exe"
</code></pre></div>
<ul>
<li>Npm或者Yarn安装chromedriver时失败</li>
</ul>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>npm config set chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
yarn config set "chromedriver_cdnurl" "https://npm.taobao.org/mirrors/chromedriver"

</code></pre></div>
<ul>
<li>list -g lead to npm ERR! missing error?</li>
</ul>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>npm update -g --verbose
</code></pre></div>
<h1 id="5-参考">5 参考</h1>
<ul>
<li><a href="https://www.cnblogs.com/sean-/p/5593515.html" rel="noopener noreferrer" target="_blank">nvm 解决nodejs无法全局/usr/bin/node问题</a></li>
<li><a href="https://github.com/creationix/nvm" rel="noopener noreferrer" target="_blank">nvm-github</a></li>
<li><a href="http://www.imooc.com/article/14617" rel="noopener noreferrer" target="_blank">正确的安装和使用nvm(mac)</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>1の3 - 这 样</title>
      <link>https://www.yevpt.com/articles/49</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/49</guid>
      <pubDate>Thu, 25 Jun 2026 13:05:03 GMT</pubDate>
      <description>她喜欢懒， 倚着沙发看整夜的电视。 她很爱说， 咧开嘴与同伴笑皱眉眼。   她像个馋猫， 能吃一天的零嘴。 她有些嗜睡， 会对着屏幕睡着。   这样过了一些年...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>她喜欢懒，
倚着沙发看整夜的电视。
她很爱说，
咧开嘴与同伴笑皱眉眼。</p>
<p> </p>
<p>她像个馋猫，
能吃一天的零嘴。
她有些嗜睡，
会对着屏幕睡着。</p>
<p> </p>
<p>这样过了一些年，也挺不错。</p>
<p> </p>
<p>她没说，
她只是感动过。
她看着他，静静说，
心平气和。
最后松了口气，注视他离去，
这样是否显得高傲，
却又有点难过。</p>
<p> </p>
<p>她走过熟悉的街，
买了点小吃，
听着步行街两旁的歌，
不知道为什么，
如释负重却有点乱，
纷杂吵嚷没能劝慰，
她突然孤单，
可很快又笑开窝。</p>
<p> </p>
<p>她卸载了旧的软件。
她删除了听腻的歌。</p>
<p> </p>
<p>她憋着一肚子的话，
不想说想找人反驳。
要发火很快又冷落。</p>
<p> </p>
<p>她闭着眼打听未来，
几分陌生十分无措。</p>
<p> </p>
<p>她烦了，
他总是说。
她以为，
他该更成熟。
她看错，
所以她认错，
那就丢掉。
这样更快乐。</p>
<p>-End-</p>
<p>2016-01-09
By Vpt</p>]]></content:encoded>
    </item>
    <item>
      <title>Centos7 安装 Docker</title>
      <link>https://www.yevpt.com/articles/46</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/46</guid>
      <pubDate>Tue, 16 Jun 2020 06:34:39 GMT</pubDate>
      <description>虽然如今我已经在一步步降低对docker的依赖，少做了很多杀鸡用牛刀的事情，但是docker在特定的场景下依旧是非常好用，为此整理了安装的步骤和相关...</description>
      <category>工具</category>
      <content:encoded><![CDATA[<p>虽然如今已经在一步步降低对docker的依赖，少做了很多杀鸡用牛刀的事情，但是docker在很多的场景下依旧是非常好用，为此整理了安装的步骤和相关的一些配置。</p>
<h3 id="安装">安装</h3>
<h4 id="1-卸载旧版本若有">1. 卸载旧版本（若有）</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
</code></pre></div>
<p> </p>
<h4 id="2-开始安装">2. 开始安装</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo yum install -y yum-utils

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
sudo yum install docker-ce docker-ce-cli containerd.io
# 安装docker-compose
yum install docker-compose -y
</code></pre></div>
<h4 id="3-设置开机自启并启动docker">3. 设置开机自启并启动Docker</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo systemctl enable docker

sudo systemctl start docker
</code></pre></div>
<h4 id="4-运行hello-docker">4. 运行hello docker</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo systemctl start docker
</code></pre></div>
<h4 id="5-查看版本">5. 查看版本</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>docker version
</code></pre></div>
<h3 id="更换国内源">更换国内源</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json &#x3C;&#x3C;-'EOF'
{
  "registry-mirrors": ["https://k7en6s5m.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker
</code></pre></div>
<h3 id="命令">命令</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 显示Docker系统信息，包括镜像和容器数
docker info
# 进入容器
docker exec -it [容器id] bash 
# 查找所有容器
docker container ls -all 
# 删除实例
docker rm -f [容器id]
</code></pre></div>
<h3 id="参考">参考</h3>
<ul>
<li><a href="https://docs.docker.com/engine/install/centos/" rel="noopener noreferrer" target="_blank">Install Docker Engine on CentOS</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>内网穿透神器-NPS使用教程</title>
      <link>https://www.yevpt.com/articles/45</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/45</guid>
      <pubDate>Tue, 16 Jun 2020 02:37:50 GMT</pubDate>
      <description>Nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。几乎支持所有协议，支持内网http代理、内网socks5代理、p2p等，简洁但功能强大的WEB管理界面...</description>
      <category>工具</category>
      <content:encoded><![CDATA[<h3 id="官网介绍">官网介绍</h3>
<blockquote>
<p>Nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。几乎支持所有协议，支持内网http代理、内网socks5代理、p2p等，简洁但功能强大的WEB管理界面，支持服务端、客户端同时控制，扩展功能强大，全平台兼容，一键注册为服务。</p>
</blockquote>
<p><img src="https://blog-oss.yevpt.com/blog/articles/45/images/d018d0f4f7b2050d9399e96f87a97b83.png?a=b4c0e27aa5833799f3aed41fe5c1d680&#x26;b=6a4865ad" alt="8TFr6I.png"></p>
<h3 id="安装服务端">安装服务端</h3>
<p>这里只用centos 64位作演示
首页去<a href="https://github.com/ehang-io/nps/releases" rel="noopener noreferrer" target="_blank">官方</a>找到并复制最新的下载链接</p>
<p> </p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 创建并进入指定目录
cd /path
mkdir nps
cd /path/nps
# 将复制的对应的服务端下载并解压到当前目录
wget https://github.com/ehang-io/nps/releases/download/v0.26.7/linux_amd64_server.tar.gz &#x26;&#x26; tar zxvf linux_amd64_server.tar.gz
# 执行安装命令
sudo ./nps install
# 启动
sudo nps start
</code></pre></div>
<p>配置文件参数如下(安装后的配置文件在/etc/nps/conf/nps.conf)：
根据实际情况修改</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>#web管理端口
httpport
#web界面管理密码
password
#服务端客户端通信端口
bridePort
#ssl certFile绝对路径
pemPath
#ssl keyFile绝对路径
keyPath
#域名代理https代理监听端口
httpsProxyPort
#域名代理http代理监听端口
httpProxyPort
#web api免验证IP地址
authip
#客户端与服务端连接方式kcp或tcp
bridgeType
</code></pre></div>
<p>修改完配置文件后，重启服务</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo ./nps restart
</code></pre></div>
<p>服务端常用命令:</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 服务端开始/停止/重启/配置文件重载/卸载服务/安装服务
sudo nps start/stop/restart/reload/uninstall/install
#  服务端更新

sudo nps-update update (请更新前停止服务)
</code></pre></div>
<p>默认的web端口是8080，账号是admin/123
提前放开防火墙和云服务的安全策略</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>firewall-cmd --zone=public --add-port=8080/tcp --permanent 
firewall-cmd --reload
</code></pre></div>
<p>另外对于服务用到的bridePort，httpsProxyPort，httpProxyPort也最好提前放开，不然客户端是无法请求到服务端的。</p>
<h3 id="客户端使用">客户端使用</h3>
<p>首先看看<a href="https://ehang-io.github.io/nps/#/use" rel="noopener noreferrer" target="_blank">官方文档</a>，了解基本操作和指令。</p>
<h4 id="1linux系统">1、Linux系统</h4>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 创建并进入指定目录
cd /path
mkdir npc
cd /path/npc
# 将复制的对应的客户端下载并解压到当前目录
wget https://github.com/ehang-io/nps/releases/download/v0.26.7/linux_amd64_client.tar.gz &#x26;&#x26; tar zxvf linux_amd64_client.tar.gz
</code></pre></div>
<p>为了客户端的服务能正确的断网重连，这里使用配置文件的方式启动</p>
<p>配置/conf/npc.conf的内容：(具体的含义和修改请根据官方文档配置)</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>[common]
server_addr=这里填写服务端的服务端口，比如tcp端口
conn_type=tcp
vkey=这里填写服务端配置vkey
auto_reconnection=true
max_conn=1000
flow_limit=1000
rate_limit=1000
# crypt=true
# compress=true
</code></pre></div>
<p>然后启动注册服务并启动客户端：</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo ./npc install -config=/path/npc/conf/npc.conf
sudo ./npc start
</code></pre></div>
<p>但是官网这种安装方式只能安装一个npc的客户端，如果需要同时连接多个服务端同时穿透，这种方式就不合适了。
我选择使用Supervisor来配置多个npc客户端同时运行</p>
<p>在/etc/supervisord.d中配置npc-1.ini</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>[program:npc-1]
directory = /path
command = /path/npc -config=/path/npc/conf/npc.conf -debug=false
autostart = true
startsecs = 5
autorestart = true
startretries = 3
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /var/log/npc/npc-1.log
</code></pre></div>
<p>完成之后执行</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 识别配置文件并启动
supervisorctl reread
supervisorctl update
# 启动
supervisorctl start npc-1
# 查看状态
supervisorctl status npc-1
</code></pre></div>
<p>具体的Supervisor安装和使用请参考
<a href="https://www.chengxulvtu.com/supervisor-on-centos-7/" rel="noopener noreferrer" target="_blank">CentOS 7 配置 Supervisor</a></p>
<p> </p>
<h4 id="2windows系统">2、Windows系统</h4>
<p>首先下载win版<a href="https://github.com/ehang-io/nps/releases/download/v0.26.7/windows_amd64_client.tar.gz" rel="noopener noreferrer" target="_blank">windows_amd64_client.tar.gz</a>并解压。</p>
<p>建议使用GitBash命令行软件的管理员模式来启动。</p>
<p>如果要使用最简单的模式，可以运行官方指导的以下命令。</p>
<p>但是对于我有多个服务器，想同时连接多个nps服务端的话，可以使用单独注册系统服务的方式：</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># 如果有npc1服务请先删除
sc delete npc1
# 注册npc服务
sc create npc1 binpath= "D:\Apps\npc\npc.exe -server=xxxx -vkey=xxx -type=tcp" start= auto displayname= "npc1"

</code></pre></div>
<p><img src="https://blog-oss.yevpt.com/blog/articles/45/images/06057fc290cfa432b18d775f0fc29776.png?a=a3549563efebd739094281dd54d316ad&#x26;b=6a4865ad" alt="iShot2020052415.06.39.png"></p>
<p>然后鼠标右键底部任务栏，打开任务管理器，找到服务选项，然后底部打开服务，找到npc1,启动服务，并且点开顶部恢复菜单，将第x次失败几个选项都勾选为‘重新启动服务’，即可。
每次需要一个新的npc客户端的时候，按照上述步骤即可。</p>
<p> </p>
<h3 id="mac端">Mac端</h3>
<p>基本和Linux一致，注意的是下载的压缩包是 darwin_amd64_client.tar.gz</p>
<h3 id="参考">参考</h3>
<ul>
<li><a href="https://ehang-io.github.io/nps" rel="noopener noreferrer" target="_blank">NPS：一款轻量级、高性能、功能强大的内网穿透代理服务器</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>缭乱的漫望</title>
      <link>https://www.yevpt.com/articles/40</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/40</guid>
      <pubDate>Sun, 28 Jun 2026 06:28:50 GMT</pubDate>
      <description>时间或许过于稚嫩，脚步充斥着散漫与不经心，夏夜里适逢的一道凉风掠过发梢，就不见了匆匆一面的夏天，依稀只留了影踪在岁月的墙壁上雕刻了明与昨的年...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>时间或许过于稚嫩，脚步充斥着散漫与不经心，夏夜里适逢的一道凉风掠过发梢，就不见了匆匆一面的夏天，依稀只留了影踪在岁月的墙壁上雕刻了明与昨的年华烙印。</p>
<p>雷雨总是比较匆忙，所以想起抬头的时候，往往一夜已然逝去，朝阳冲破黑夜器宇轩昂地在灰色天空里睥睨。时间就是这样，你起初的留意与否都不重要，它是热烈的冷酷地在你惦记它时，它已将高昂的头颅抬起，目中再也没有了你。</p>
<p>我们似乎在用一生考虑时间，无论是走路，交流，思考的外态，还是幸福，孤独，伤感的内态，时间都扮演着或怂恿或劝慰的角色，然而其实在我看来，时间可以是不存在的。如果让我用一种诠释来定义时间，我认为是改变。</p>
<p>因为时间，改变了你的动作、思绪、位置、心情，进而改变了你的年龄、经历、人生。每种改变可以是一秒也可以是一年，但这种或近或远的改变就是远近时间对你做出的安排。</p>
<p>余晖唱晚，皎月初升，淡蓝的天空里写满了诗意，可是往往我的惬意会在这一刻就断了风筝，诗意是什么？是来源于悲剧的艺术？这就又微妙地涉及到了感官与真正的世界所带来的差异。</p>
<p>其实这有些类似于黑客帝国的背景设置，我们所谓的2000年世界其实只是母体给我们编译的一道程序，真正的世界是看不到黎明的黑暗，可是沉浸于虚拟世界的人感觉这一切都是真实的，这就是感官带来的欺骗，但是我们不知道这是一场欺骗，所以我们痛苦或快乐于生活。就像是下面这个问题：你看到的颜色一定就是真实的色彩？那么为什么狗看到的是灰白的世界？它们的视觉不会产生我们的色彩，它们或许也会认为灰白才是真实的色彩。所以我们自认为的一切很虚幻很没有道理。</p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/40/images/de66e07c0db70dfd700e8fb80789c419.png?a=ca1243052b1d53935997187966cd5254&#x26;b=6a48c6a9" alt="ChatGPT Image 2026年6月28日 14_27_56 (1).png"></p>
<p>有意义？没意义？说不清道不明，如果感受就是一切的话可以当做有意义吧，毕竟越是明白人越会有种世人皆醉我独醒的悲哀与痛苦，所以才有一句话，难得糊涂，你的清醒只会换来糊涂人的嘲讽与不知所谓。最可悲的是，也许最后你都不知道你否是真正是清醒的吗。</p>
<p>可是从小学开始老师就告诉我们要认知真理，难道都错了吗？其实这个问题本身就毫无意义，因为这些老师或许也只是皆醉的一份子。</p>
<p>世界是没有存在意义的，所以属于世界的我们这些同样没有意义的人创造了所谓的意义；生存是残忍而痛苦甚至令人恐惧的，所以我们创造了所谓的文化与规矩，用牢笼方圆囚困起我们与生俱来的恐惧。随着时间的改变，人渐渐被传承下来的所谓三观在一些方面蒙蔽了恐惧，我们忙碌在学业，成家，传代的所谓人生之路上，这期间所遇到的恐慌与空虚已经是生命的趋利避害的微弱表现了，先哲们如果看到这一切或许也会欣慰自己所作出的努力，是他用天花乱坠不知所云让我们用糊涂拯救了我们自己。</p>
<p>就像你站在山巅，立于云端，俯瞰脚下的一切，感叹于山河壮丽之美时候，我们根本不知道什么是美。只是前人说这是一种美，我们便自觉感受到了美。</p>
<p>面对着所谓无穷的繁华与世间沉浮，有些不知所措的是看见流于其中的悲喜变幻，时而果断的无情，时而自认的多情。然后我们学会了伪装，学会了逃避，学会了欺骗，最后终于蒙蔽了自己，瞎了所谓的双眼。</p>
<p>这是一个被所谓勾勒的世界，我们都在虚幻里真实了自己。</p>
<p>你认为的成功就是成功，你认为的失败就是失败，你认为的高傲便是高傲，你认为的低贱便是低贱，一切都想当然了你以为。于是世界越发感官，越发无尽起来，因为你总觉得世界奥妙无穷，有那么多挖掘不出的真理。却不知道其实这一切都可以简单的归结为没有意识不断盲动的世界本源。虽然我也不认可这一种归结。</p>
<p>所以有些的事情没必要想太多就别自寻烦恼了，毕竟每个人的所谓未必相同，但往往深陷其中的我们对这些莫须有的事情却又异常敏感，这真是一个悲伤的故事。</p>
<p>没有宿命，因为根本没有命。万物飞烟，垂首到老只是枯木一根化灰烬。人们眼中的蔑视与躲闪也终会被时间带走。百年之后，再也没有了蔑视与躲闪，你却依旧存在，在尘埃中，在某个生命其中。原来这就是永恒。</p>
<p>于是我便会想到我小时候一个无线绕弯的问题：宇宙是无穷的，那么宇宙之外是什么？宇宙是有限的，那么宇宙的边界之外难道就不是宇宙了？宇宙是从来就有的，还是从无到有的？如果是从来就有的，还是突然产生这个结果的，既然是有了有的结果自然也应该有无的开始？如果是从无到有的，那么既然一切都并不存在，按照物理学，岂不是根本不会无无生有？</p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/40/images/c825b19d382a2379f94980c88ce079ea.png?a=d5b1e1cf29136c63d7832387592715dd&#x26;b=6a48c6a9" alt="ChatGPT Image 2026年6月28日 14_27_56 (2).png"></p>
<p>最后发现我们学过的一切东西都无法解开这些疑惑，也就只好置于脑海深处偶尔翻出来没有结论的思考一番。在这些的促进下，似乎就像是迷一样的宇宙一般，我们的一切都充满了不可知，不可答，可以知可以答的又不再信。这真是可笑。</p>
<p>瞥了瞥窗外的灰黯天空。总是觉得其间封印了一些东西，却没有力量破开，也许破开了，也不过遇到新的封印，大概是因为本没有封印，有的只是执着地认为存在封印的心思吧。</p>
<p>终究是秋叶带走了夏天，岁月生锈了流年，我们在一塌糊涂的路上走得越发遥远。</p>
<p>简洁如一首诗：</p>
<p>弃我去者，昨日之日不可留</p>
<p>乱我心者，今日之日多烦忧</p>
<p> </p>
<p>古今多少出入世，终究逃不掉无谓的纷扰。</p>
<p>-ye-</p>]]></content:encoded>
    </item>
    <item>
      <title>如果可以死</title>
      <link>https://www.yevpt.com/articles/39</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/39</guid>
      <pubDate>Thu, 26 Nov 2020 15:16:08 GMT</pubDate>
      <description>如果我可以死，在暖风拂动春意的此夜，像不久前白昼在我眼前，被漆夜一点点残忍吞噬掉一样，旋律扭曲在耳梁回环肆无忌惮，月光折射在琉璃间碎散，然后我蒙上眼眸，等候死...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>如果我可以死，在暖风拂动春意的此夜，像不久前白昼在我眼前，被漆夜一点点残忍吞噬掉一样，旋律扭曲在耳梁回环肆无忌惮，月光折射在琉璃间碎散，然后我蒙上眼眸，等候死亡。</p>
<p>所谓理想 梦想 幻想 被折叠起来统统丢进无人问津的垃圾箱，不再有敷衍了事的怂恿和欺骗，没人会去为难一个于世无害的濒死之人。我可以在难得平静中，披上夹克，一个人彳亍在霓虹笼罩里感受深夜城市的明明灭灭。</p>
<p>拒绝掉虚假的挽留，真诚的悲痛，义无反顾，歇斯底里地把我乏善可陈的人生葬送。或者隐匿着的太阳也会为此而莞尔。不再有一个人总是无耻地汲取他的光芒，却诅咒他死亡。</p>
<p>不再教室里对着黄昏白驹过隙，亦不复划着屏幕，空虚漫长。是该服一粒安眠药，还是泡杯咖啡，尝试去深味死前的恐惧？有人说，人会用弥留之际的时间去回忆，让过往用最精挑细选的方式去再次绽放。可无论如何，故事总会短暂，至如今，更只不过电石火花，那为何还要回忆，他们说，除了回忆还能作何？我无言以对，死前大致人会变得一样，都想再眯紧眼睛，试图多看一眼世界，可眼睛疲惫地一旦松绑，就没有了睁开的力量。</p>
<p>世界会把我遗忘，化作尘土，飞扬，飞扬，终不过洒落一地沉默。</p>
<p>如果我可以死，爱因斯坦却用冷峻的表情告诉我，你的假设不成立。</p>
<p>毕竟我其实不想死，死亡是一种华丽丽的漆暗，当你不想尝试时，化作遥远的狂想，总归虚妄。大致就像那个日本老头村上春树所铺张的那般意境，“我几次朝夜幕伸出手去，指尖毫无所触，那小小的光点总是同指尖保持着一点不可触及的距离”</p>
<p>我是怕死的，具体说畏惧死亡的过程，而不是结果。无论是鲜血淋漓艳红，还是五官扭曲动容。我想，我唯一能接受的死法是去荷兰的医院享受安乐死。但我想如果我必须死，我也是永远到达不了那里。</p>
<p>如果必须死，无法回避，我想我便再也不会心怀顾忌地去向说出心声了，我可以埋藏在心里的语句在在乎的人前点燃，让硝烟迷离我们的双眼，最后欢畅地死去，不是离别。因为一个注定将尘逝的人，是刀枪不入，死亡最惹人爱恨交织的也正是此。</p>
<p>我会在乍暖还寒的季节，在还夹着些丝冷冽的海浪里游泳，好奇是我是否将于临死前从旱鸭子变成飞鱼，这是出挺有意思的游戏，原来，生命在死亡面前抵不过一场游戏。
<strong>世界变成一个万花筒，而我想要葬身其中。</strong> 可终归也就是说说而已，我还没有活够，我只是在想象一种死亡的氛围。</p>
<p>如果我会死，我会走在无人的街道，望着朝阳，去猜测夕阳，去牵着月亮的柔荑，感受着夜的芬芳，彩虹环绕着溅射泉花。在各种幻觉的冲击之中，笑着死去。</p>
<p>可事实是我一点死的觉悟都没有，因为这只是对于死生话题的一点感想。</p>
<p>我需要我活着，如果我不得不死，请让我，告诉我自己。</p>
<p>可，这都是如果。</p>
<p>好吧，这只是我太久没写点东西，不甘词汇量明显单薄事实后的产物。练笔之作，如斯而已，好了，死亡时间到 我投笔从容。</p>]]></content:encoded>
    </item>
    <item>
      <title>狼语 天涯泪</title>
      <link>https://www.yevpt.com/articles/38</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/38</guid>
      <pubDate>Thu, 26 Nov 2020 15:17:24 GMT</pubDate>
      <description>爱情里，不分种类，不分年龄。  爱情里，  总有一些人伤的撕心裂肺，  却依然爱的无可救药...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<h2 id="序">序</h2>
<p>爱情里，不分种类，不分年龄。</p>
<p>爱情里，</p>
<p>总有一些人伤的撕心裂肺，</p>
<p>却依然爱的无可救药。</p>
<br>
<h2 id="壹">壹　</h2>
<p>夜深了，月儿楚楚动人地在天上哭诉着。</p>
<p>每每在凄清的深夜，他便会默默地伏在断崖边，舔舐着白日留下来的伤痕，同时，目光含泪地注视着皎月，深情地，深沉地，深刻地。</p>
<p>他的爪子如钢铁般攥住冰冷的大地，死死不肯放松。</p>
<p>似乎在这天地之间，传出这样的一首诗：</p>
<br>
<p>星光黯淡 一狼俯山 眼哀悬岸 ～</p>
<p>昔日浮空射人肠</p>
<p>断壁搁浅痛人凉</p>
<p>北朝轻歌洒浪漫</p>
<p>南方艳舞烈琼阳</p>
<p>醉酒仰天一声啸～</p>
<p>多情苍茫照焱杨</p>
<p>争一方狼</p>
<p>谁晓凄月有狼叹</p>
<p>旧浇心酸 我自愁忙 沧桑！</p>
<p>口噬心沸 总把伊人看城墙</p>
<p>欲来难断 天涯峰上悲个凉</p>
<p> </p>
<h2 id="贰">贰</h2>
<p>是啊，他永远也无法忘却与她在一起的三百六十一天，遗忘不了她那秀美的容颜，总是萦绕在梦幻与现实之中，久久难以平复。</p>
<p>追忆里的每一天都是那般色彩绚丽，每一日都充斥着柔情。</p>
<p>他真的渴望她会再次用她那纤细柔嫩的手缓缓地抚摸着自己，一生一世，然后自己便眯着眼睛，偷偷地欣赏她的脸庞，闻着她身上独有的芬芳，迷离着，朦胧着，却也是动人着。</p>
<p>然而，他知道她是一个可怜的姑娘，她往往在他的身旁托着下巴，眼中弥漫着哀伤，而在这悲凉的同时，她却不曾注意到他的双眸里的苦涩，苦涩的像深海中的水。</p>
<p>她喜欢在傍晚一个人看月亮，所以他便也爱上了月亮特有的苍凉，甚至比她更为依恋。</p>
<p>为了麻痹此刻的自己，他会在白昼不断地寻找敌人，之后，拼命地与其厮杀，搏斗。他要用自己坚硬的利爪，无情的利齿，撕裂一个个敌人，同时用满身的伤痕，淋漓的鲜血来洗礼自己受伤的灵魂，以此麻痹，以此自慰。</p>
<p>她一定喜欢着自己，他欣慰地想。甜甜的笑容在遍体鳞伤的渲染烘托之下，彰显地异常恐怖。</p>
<p>虽然她总是不在乎他的感受，虽然她经常只是用宠物的目光看待他。</p>
<p>但他真的不在乎，他依然愿意一厢情愿的执着自己的认知，她一定也喜欢着自己“吧”。</p>
<p> </p>
<h2 id="叁">叁</h2>
<p>还记得，她总会调皮地不断热一大堆不必要的麻烦，呵呵，她可真是个惹祸的小精灵。</p>
<p>他始终会心甘情愿地为她打扫残局，默默去除一切对她有威胁的人。</p>
<p>虽然他知道，也许，她根本不在乎，但他真的，很在乎。</p>
<p>他看着残缺的月亮，无意间流露出一抹天真的微笑。</p>
<p>久违了，我的姑娘，虽然在这个世界里，我是一匹狼，而你，却是我们狼族的天敌——人。</p>
<p>但，这算什么？我只是怕你会嫌弃，只是怕这样会伤害了你，所以，我总是不愿意说出那重要的三个字。</p>
<p>一次一次，他有些心酸的看着她和别人在一起，看见她为别人做着他所幻想的事，比如，一个温暖的怀抱。</p>
<p>他总是会情不自禁地眼泄凶光，然而，当“别人”遇到危险时，他还是义无反顾地撕碎“别人”的敌人。</p>
<p>或许，只是担心她会心伤。</p>
<p>可是，这些她真的懂吗？她知道吗？</p>
<p>可能，这些却是不需要她明白，只要他自己了解就行了。</p>
<h2 id="肆">肆</h2>
<p>她只会在孤单、彷徨与哀伤的时候才会理睬他。</p>
<p>想到这里，他幽幽地流下了清冷的眼泪，晶莹贯穿着心酸，滑落于地，折射着同样冰冷的月光。</p>
<p>他依然深深地喜欢着她。喜欢她，已经成为他生命的一部分。</p>
<p>世事无常，当她中了“别人”的圈套，陷入重重阴谋之中，他们要夺取她身上那块绯月仙珠时，他真的疯狂了。</p>
<p>他咆哮着冲向他们这些人，所有的他们都该死，他咬牙切齿地想着。</p>
<p>站了起来，看看自己的一身伤痛，现在只剩自己一个，在这天涯峰，对月长鸣。</p>
<p>他那时感觉似乎天都要坍塌下来了，压抑着自己愤怒的情绪，她是绝不可以这样离开的，她，因为她在他心中甚至比他自己还要重要。</p>
<p>鲜血纷飞，尸骨残。她受到致命的伤害，生命摇摇欲坠。</p>
<p>她疲倦地合起了双眼，就这样离开了，永远地尘逝了。</p>
<p>你能够想象出他那时的痛苦吗？她临死之前看的人，竟然是那个“别人”</p>
<p>虽然他很失望，但他还是认为，她是暗暗地喜欢着自己的，至于刚才，一定是不忍看自己。</p>
<h2 id="伍">伍</h2>
<p>为了那份虚无的喜欢，他暴走了。</p>
<p>他的眼神散发出莫名的狰狞，他也不知为何，好像在身体之中有什么地方被唤醒了一样，一瞬间，感觉自己突然拥有了无可匹敌的力量。</p>
<p>他趁机奔上去，扬起利爪，张开血盆大口，悍不畏死地撕咬着一个个敌人，纵然在其中，他被刺穿了双眼，震聋了双耳。</p>
<p>虽然已经失明失聪，但他却凭借那股力量，一个一个的撕开了敌人的心脏，他要把他们当做自己的“美餐”，一口口将其吞噬，狠狠地咀嚼在嘴里。</p>
<p>沉重地一步一步爬到她身旁，她真的好美，美的自己撕心裂肺。虽然他什么也看不见，但他却依然不断地触摸着她，寻找她的体温。</p>
<p>“嗷……”他啸傲着，嘶吼着，无尽地痛苦啊……</p>
<p>在一块墓碑前，他安安静静地坐着，看着看着。</p>
<h2 id="六">六</h2>
<p>山啸叠峦 九斗连崖</p>
<p>淘不尽的大海 数不尽的凄楚哀伤</p>
<p>无酒无醉 悲幽起</p>
<p>多情多愁 苦自生</p>
<p>墓前 伟岸屹立 泪流冰痕 吻落残亘</p>
<p>冷清的世界冷清的人 伤心故事伤心痕</p>
<p>冷落枯枝 落日神伤</p>
<p>月煞人颜 厉气贯肠</p>
<p>凉云惆怅 独自氤氲</p>
<p>朦胧了沧桑 看不清历史江沉烟染</p>
<p>默然悄走 留下了千古难言的哽咽惆怅……</p>
<h2 id="尾">尾</h2>
<p>也许，你会在某个清冷的夜晚，听到狼的长啸，看到狼残酷冰冷的身影，发现狼在无神眼中夹杂着的一颗泪珠。</p>
<p>狼，或许是可恨的，可恶的，但他绝不是无情的，只不过是深沉的感情在岁月的引流下不断浇灌在一个未知的远方。</p>
<p>我看到他那萧索的背影，渐渐地离开墓地，我走到墓地后面，为他刻上了一首诗，留作纪念。</p>
<p>勿言再见</p>
<p>当我什么也看不见</p>
<p>我迷茫的双眼</p>
<p>弥望的全是眷恋</p>
<p>勿言再见</p>
<p>当我的耳畔唯有沉默</p>
<p>我残破的身体</p>
<p>留下的全是凹陷</p>
<p>勿言再见</p>
<p>当我想和你再次见面</p>
<p>我孤寂的心情</p>
<p>不曾希望再也不见</p>
<p>勿言再见</p>
<p>当我的利爪</p>
<p>沾满了鲜血</p>
<p>我舞动着斩向苍天</p>
<p>为你祭奠</p>
<p>勿言再见</p>
<p>当我丧失了自我</p>
<p>我仇恨的怒火</p>
<p>狰狞的燃烧了岁月</p>
<p>勿言再见</p>
<p>我对你的爱</p>
<p>容不得不见</p>
<p>曾经的一切</p>
<p>依稀在心低摇曳</p>
<p>勿言再见</p>
<p>我们总会相见</p>
<p>在一个未知的位面</p>
<p>相识相知相恋</p>
<p>请别对我说再见</p>
<p>我愿为你化作碎片</p>
<p>相聚在幽冥世界</p>
<p>And to my dear Mr. Wolf, for he that deep feelings.</p>
<p>谨献给亲爱的狼先生，为了他那深刻的感情。</p>]]></content:encoded>
    </item>
    <item>
      <title>坏夏</title>
      <link>https://www.yevpt.com/articles/37</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/37</guid>
      <pubDate>Fri, 24 Apr 2020 03:52:53 GMT</pubDate>
      <description>说不出怎般心绪，     大概是突然卸下了一切负担的反向压抑。     烟圈于眼前扭曲。     相背酸涩地分割，时间平衡中空间分离。     此夏终结，再也不会。     天蒙蒙，看不清前方的瞬间，立刻被过往霸占...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>说不出怎般心绪，</p>
<p>大概是突然卸下了一切负担的反向压抑。</p>
<p>烟圈于眼前扭曲。</p>
<p>相背酸涩地分割，时间平衡中空间分离。</p>
<p>此夏终结，再也不会。</p>
<p>天蒙蒙，看不清前方的瞬间，立刻被过往霸占。</p>
<p> </p>
<br>
<p>忘了从某一天学会抽烟，</p>
<p>我的世界就变成了灰色。</p>
<br>
<p>走马观花地逃课打架，疏离自我孤立。</p>
<p>只是讨厌麻烦，因此不断制造着麻烦。</p>
<br>
<p>我举着啤酒瓶在寂寞课上一人狂欢。</p>
<p>我看着风起乱了景致跳窗不顾尖叫。</p>
<p>我站在家长背后对着老师微微地笑。</p>
<p>我坐在地上呆滞地看着天空安静了。</p>
<br>
<p>当我起床，就是白天，世界亮了。</p>
<p>当我睡着，就是黑夜，世界暗了。</p>
<p>没有别人，没有其他，只有天空，只有我。</p>
<p>我没说过让别人进入，是你非请而入，那别怪我。</p>
<p>我的世界，健康的快乐的理所应当的，就是这些。</p>
<br>
<p>夏雨哭哭啼啼，没完没了在喧闹。</p>
<p>你什么都没说，看着我闭上眼睛。</p>
<p>香烟堵你唇间，呛声让我笑不停。</p>
<p>对饮青春凌晨，爸妈找不到的你。</p>
<p>你说你学坏了，我笑你自寻烦恼。</p>
<p>夏风谣，褶皱衬衫牵起乱舞裙摆。</p>
<p>红眸累，刻意转身没看见的谎言。</p>
<p>在坏了的夏天中妄自成长与腐烂。</p>
<br>
<p>最后证明，</p>
<p>青春是场赌注，</p>
<p>我是个丢了筹码的赌徒。</p>
<p>在梦里寻找，之后揉碎希望。</p>
<p>没有明天的明天是我的明天。
<br></p>
<p>我不懂这个世界，</p>
<p>我的想法被遗弃，</p>
<p>我的内心被屏蔽，</p>
<p>只有自己听得到。</p>
<p>而后来我学会后悔，</p>
<p>却自欺咬牙说无悔。</p>
<br>
<p>而这些，</p>
<p>本不属于你，</p>
<p>你的误闯误入，</p>
<p>让人唏嘘叹息。</p>
<p>让我无端生愧。</p>
<p>我没想过太多，</p>
<p>亦从未作承诺，</p>
<p>只想你青春万岁，</p>
<p>却缄默一世罪名。</p>
<br>
<p>终究离开的，</p>
<p>不是过去，不是你，</p>
<p>是无穷的灰色与悔恨，</p>
<p>要湮灭所以离去。</p>
<p>现在，我不再作我。</p>
<p>过去，我从未改变。</p>
<br>
<p>而如今，</p>
<p>你是我的过去，</p>
<p>甚至是我自己。</p>
<p>至少于我如是。</p>
<br>
<p>而最后的自私，</p>
<p>去效仿这世界。</p>
<br>
<p>/ end -</p>
<p>听到两三句歌词就随手写了写。请不要代号入座~</p>
<p>还有我不吸烟的。。</p>]]></content:encoded>
    </item>
    <item>
      <title>雪演</title>
      <link>https://www.yevpt.com/articles/36</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/36</guid>
      <pubDate>Thu, 26 Nov 2020 15:10:15 GMT</pubDate>
      <description>白昼倒戈黑夜， 随帘袭来寒冽犹豫冷暖之间， 眈眈倦恋挣扎。 眼前陌生，雪花嫣舞。 精致诱惑讶异。 然寻不到，时空失控。</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>白昼倒戈黑夜，</p>
<p>随帘袭来寒冽犹豫冷暖之间，</p>
<p>眈眈倦恋挣扎。</p>
<p>眼前陌生，雪花嫣舞。</p>
<p>精致诱惑讶异。</p>
<p>然寻不到，时空失控。</p>
<br>
<p>路人挥袂，星雨开天，新雪绵延；</p>
<p>似雾不是雾，似舞不是舞，</p>
<p>旋身采蜜蜂成涌，</p>
<p>似水怎是水，似睡怎能睡，</p>
<p>静如处子心听声。</p>
<br>
<p>今夜终不夜，万物皆忘眠，</p>
<p>欲与梅飘四处，玄灯酩曲流连，</p>
<p>婀娜绰约转盘旋，</p>
<p>几瞬间，弥眼千里漆银盐，</p>
<p>回眸见，黑白乍明显，</p>
<p>任风卷，万箭穿心田。</p>
<p>动若脱兔追雪舞。</p>
<br>
<p> </p>
<p>闭眸黑躲避白，</p>
<p>手臂却缺省盲索在每寸方落，</p>
<p>惴惴认定失落。</p>
<p>鼻翼熟稔，旧梦吟呻。</p>
<p>模糊唤醒灵识。</p>
<p>近前的你，新城重筑。</p>
<br>
<p>染黑一切过往，</p>
<p>描摹洁白未来。</p>
<p>谁与谁说的，</p>
<p>第一场雪落讯息，</p>
<p>黑鬓白首在预演。</p>
<br>
<p>2015-1-21</p>]]></content:encoded>
    </item>
    <item>
      <title>Centos7安装Jenkins</title>
      <link>https://www.yevpt.com/articles/32</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/32</guid>
      <pubDate>Wed, 25 Nov 2020 15:33:43 GMT</pubDate>
      <description>之前没有重视系统安全，服务器被挖矿病毒侵扰多日，清除了好多次之后依旧不断死灰复燃，决定重装，顺便整理了Jenkins的安装以及之前遇到的一系列问题...</description>
      <category>工具</category>
      <content:encoded><![CDATA[<h2 id="安装">安装</h2>
<h3 id="下载rpm包">下载rpm包</h3>
<p>目前(2020411)最新 jenkins LTS版本:</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.164.3-1.1.noarch.rpm
</code></pre></div>
<p>可以去<a href="https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/" rel="noopener noreferrer" target="_blank">清华大学镜像站</a> 替换成最新的链接。</p>
<h3 id="安装-1">安装</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sudo yum install jenkins-2.164.3-1.1.noarch.rpm
</code></pre></div>
<h2 id="配置">配置</h2>
<h3 id="修改端口">修改端口</h3>
<p>为了系统安全建议修改为其他端口</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>vim /etc/sysconfig/jenkins

#监听端口
JENKINS_PORT="XXXX"

</code></pre></div>
<p> </p>
<h3 id="配置权限">配置权限</h3>
<p>为了不因为权限出现各种问题，这里直接使用root</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>vim /etc/sysconfig/jenkins

#修改配置
$JENKINS_USER="root"
</code></pre></div>
<h3 id="修改目录权限">修改目录权限</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
</code></pre></div>
<h3 id="重启">重启</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>service jenkins restart
</code></pre></div>
<h3 id="查看jekins进程">查看jekins进程</h3>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>ps -ef | grep jenkins
</code></pre></div>
<h2 id="问题解决">问题解决</h2>
<h3 id="解决下载插件缓慢">解决下载插件缓慢</h3>
<p>进入jekins的updates目录</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>cd /var/lib/jenkins/updates

</code></pre></div>
<p>执行sed替换jekins插件下载地址为清华镜像</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json &#x26;&#x26; sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
</code></pre></div>
<h3 id="手动安装jekins更新">手动安装jekins更新</h3>
<p>如果无法自动安装jekins的更新，通过以下方式安装即可。</p>
<p>进入 https://mirrors.tuna.tsinghua.edu.cn/jenkins/war 选择最新的版本（20200411最新的为：https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.173/jenkins.war）</p>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code>cd /usr/lib/jenkins
mv jenkins.war /usr/local/src/
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.173/jenkins.war
/etc/init.d/jenkins restart
</code></pre></div>
<h2 id="解决报错">解决报错</h2>
<p>Jenkenis报错：该jenkins实例似乎已离线</p>
<p>更换JDK到更低版本如：JDK8即可。</p>
<h2 id="相关指令">相关指令</h2>
<div class="md-code-wrapper"><button class="md-copy-btn md-copy-btn-abs" type="button" aria-label="复制代码"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"></path></svg></button><pre><code># Jenkins跟随系统自动启动
sudo systemctl enable jenkins
# 启动Jenkins
sudo systemctl start jenkins
# 启动Jenkins
sudo systemctl restart jenkins
# 停止Jenkins
sudo systemctl stop jenkins
# 查看Jenkins状态
systemctl status jenkins
</code></pre></div>
<h2 id="相关参考">相关参考</h2>
<ul>
<li><a href="https://www.cnblogs.com/stulzq/p/9291237.html" rel="noopener noreferrer" target="_blank">CentOS 7 安装 Jenkins</a></li>
<li><a href="https://blog.csdn.net/qiuyeyijian/article/details/104570642" rel="noopener noreferrer" target="_blank">Jenkins 使用国内镜像快速安装（rpm安装）</a></li>
<li><a href="https://www.cnblogs.com/richiewlq/p/11919081.html" rel="noopener noreferrer" target="_blank">Jenkins 插件加速下载</a></li>
<li><a href="https://www.cnblogs.com/weifeng1463/p/11186246.html" rel="noopener noreferrer" target="_blank">Jenkenis报错：该jenkins实例似乎已离线</a></li>
<li><a href="https://segmentfault.com/a/1190000015389941" rel="noopener noreferrer" target="_blank">CentOS使用yum安装jdk</a></li>
<li><a href="https://my.oschina.net/VASKS/blog/3106314" rel="noopener noreferrer" target="_blank">jenkins 插件下载加速最终方案</a></li>
<li><a href="https://www.cnblogs.com/richiewlq/p/11919081.html" rel="noopener noreferrer" target="_blank">Jenkins 插件加速下载</a></li>
<li><a href="https://gitee.com/oschina/Gitee-Jenkins-Plugin/issues/IWZSR" rel="noopener noreferrer" target="_blank">配置webhook测试报错403</a></li>
<li><a href="https://www.cnblogs.com/xiaochina/p/9838807.html" rel="noopener noreferrer" target="_blank">jenkins执行shell提示命令不存在</a></li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>环城Ⅰ</title>
      <link>https://www.yevpt.com/articles/31</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/31</guid>
      <pubDate>Sun, 28 Jun 2026 06:25:44 GMT</pubDate>
      <description>晚云收，淡天一片琉璃。陈昔托着下巴在阳台坐着，眺望城市灯火辉煌的夜。  每逢在这种静谧浅夜,他总会沦陷...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>写在前面：</p>
<p>记得写这篇短篇小说的时候还是高一，如今时间一去不返，只剩当时的思绪永留其中。</p>
<p>- - - - - - - - - - -  正文 - - - - - - - - - - -</p>
<h3 id="壹">壹</h3>
<p>晚云收，淡天一片琉璃。陈昔托着下巴在阳台坐着，眺望城市灯火辉煌的夜。</p>
<p>每逢在这种静谧浅夜,他总会沦陷沉思之中，久久僵坐，皎月偷偷地抚摸他的脸庞，又像是生怕惊扰他似的，柔情似水。</p>
<p>此情此景，如沐春风，他亢奋地匆匆疾步奔至小区的商店。</p>
<p>“张叔，来瓶酒，照旧，快”</p>
<p>张叔正在桌案前算着一天的收入，见他正气凛然地吆喝着跑进来，没好气地说“你小子，大呼小叫什么，每次见你都一副难民相，张口就是酒，现在的年轻人啊……”</p>
<p>话虽如此，他还是利索地拿了一瓶啤酒给他，陈昔喝不惯葡萄酒的味道，也喝不了白酒的浓度，到头来，还是酷爱的啤酒爽快，可豪饮可慢品。</p>
<p>陈昔一手抓住酒瓶，张叔甫欲叨唠几句，便不见了他的踪影，只是隐隐地听见“来得太急了，没带钱，明儿还你。”</p>
<p>张叔一阵苦笑，也不计较，重新开始了算账，陈昔为人还算是诚信，倒真没欠过不还的时候，所以他毫不在意，在夜光的照映之下，他闲适的身影被拉得很长。</p>
<p>……</p>
<p>或许，正因为过分沉湎于黑夜，便在同事过分地厌恶清晨，惺忪带着迷茫，纵然有清冷的凉风拂面，他还是昏昏沉沉，甚至对这风战栗起来，似乎是不胜风力的捶打。</p>
<p>但单调的旋律，总是会引人厌烦，陈昔在多日的思虑后，觉得自己的确需要调剂一下，于是陌生地来到并不陌生的火车站，他之所以要选择更混乱，更嘈杂的火车，单单是因为要尝试，便要来的极致一些。</p>
<p>车站的人群就像是小说中的字，密集列布，不过这里更为错杂，丝毫不讲究章法。</p>
<p>售票厅长龙的人群缓缓蠕动，沉闷的氛围，陈昔感到无所适从，用袖子捂住鼻子，仍然抵挡不住层层叠叠，排山倒海涌涌而来的浊气，夹杂了熏人肺腑的汗涩味，各种风味小吃的味道，人们身上幽幽传出的劣质香水味道，以及……众多不堪闻嗅的气味。</p>
<p>这里确实足够的嘈杂，人们漫无目的的喊叫，小贩顾客的买卖声，手机频频传出的难听DJ，然后便是声声推波助澜的噪音，你方唱罢，我登场，让久蛰在寂静深居的陈昔一声轰炸的呼吸惴急，不耐地看着灰朦朦的天空。</p>
<p>“对不起，实在不是故意的。”这时一个人急匆匆地跑过来，不料由于人群流动毫无规律，不小心撞了他一下，他烦闷地看了她一眼。</p>
<p>她是一位女人，或者说时女孩，玄瞳闪烁间夹杂着狡黠，灵动的眼眸像是一口深不见底的井，波光粼粼。</p>
<p>“哦”陈昔面无表情的回应，然后就又重新回到了漫长的等待之中，女孩看了他一眼，微微一笑便走开了，消失在人海。</p>
<p>蛮横的队伍终于开始渐渐撞进售票处。</p>
<p>售票员披张祸国殃民的脸，满腔怨气横在眉宇间，用不耐烦的语调纵声道“去哪？”</p>
<p>陈昔在脑中简单整理了下全国地图，缓缓地说“随便，你就给我一张去西藏的好了。”</p>
<p>售票大娘嚷道“什么随便，你到底去哪？西藏的哪个地方？？”</p>
<p>……</p>
<p>恍恍惚惚地上了火车，迷离地躺在卧铺上，眼波在景色迭换中空洞着。衬衣的汗浸湿了被单，他将被子甩在一旁，他不习惯用这些别人使用过的东西。</p>
<p>无聊之际，他从小背包中取出一部书，这本《静阁》是前不久在书店买的，灵魂锁定般地，他莫名其妙地买了它，又莫名其妙地，直到现在才看。</p>
<p>—— 2011.06.25</p>
<h3 id="贰">贰</h3>
<p>“静阁的游者，一旦你踏及门槛，你就不再允许离开这里。这里是归宿，同样也是墓地。”</p>
<p>“静思在书海中吧，阁中的一切都如梦幻泡影，但且不要认为这里的一切都是虚无缥缈的，至少，你的灵魂切实到达了这里。”</p>
<p>时间似水轻漂，陈昔的脑海一枚遗失的贝壳被他拾起。记忆是一剂药，服用适宜则药到病除，反之，就会于你心中爆发不可阻遏的进攻，剧毒攻心。</p>
<p>都已经过去一年了，一年来的孤盏相伴，与月为友。他未尝后悔不去上大学，也不曾后悔离开了父母。一切的过往昔事，他一概无悔。只是，一些喟叹在所难免。</p>
<p>冲动似乎已经成为他生命的诠释，这也许是他致命的缺点，不过，他并不想去试图改变。即使他不是一个顺其自然，逆来顺受的人。年华悄逝，但是他才20岁，颓老距离他甚遥。</p>
<p>猛地抬起了头，看到一道似曾相识的倩影掠过。身着丹白相间的裙子，像一朵绽放出生命的荷花，跫步罩着朦胧的光线，浅浅的，却是独有一层风味，如同镀上了一层银沙。</p>
<p>是她？他突然想起她是谁来了，不过她怎么会也去西藏，旅游吗？还是中途下车？淡淡摇了下头，也不去瞎猜，继续畅游在《静阁》的世界里，对 “她”现在他已经爱不释手了，无意识的喜欢。</p>
<p>“怀想往日，当你醉倒在酒香醇味之中，怎会深尝愁离伤绪？又怎可能在飞翔时刻，孤身脱群？又怎可能在游弋时刻，自甘沉溺？请静思浅忆，生命的火花，总要用悲欢离合作燃料，故以遇到伤心事也不要刻意压制，这其实是静阁之门为你点亮的一盏明灯”</p>
<p>他顿了一会儿，细细咀嚼着这一段文字，但终究什么也推敲不出来，不过，他很快便一笑释怀，继续要读下去。</p>
<p>“先生”在陈昔的眼前，一双美丽的大眼晴笑盈盈的看着他，似乎看见了零食的小孩，明眸楚楚动人，朱颜皓齿立在那里，陈昔不好意思她直白的眼神，淡淡的说“哦，是你。有事？”</p>
<p>她将脸凑过来“怎么？你还打算把我这‘老朋友’一直和你站着和你说话？”
陈昔一阵汗颜，我只是和你擦肩而过，并且还是你撞的我，怎么还成了老朋友，最可恶的是，她竟然毫无愧疚之心。看着她似若不怀好意的笑容，陈昔摆出一副一脸无所谓的样子摆摆手“你要站要坐，是你自己的事，我顾不得。”说完又拿起放在身侧的书。</p>
<p>她撅起嘴，本来因为无聊而生起的消遣的对话如此干燥，嘟囔着“真没见过你这么没绅士风度的男生，哼。”不料，她甫要离开，看到他手中的书，眼睛顿时一亮，似乎水晶般的，折射出异样的色彩。</p>
<p>“喂，这是你的书？”</p>
<p>“嗯”</p>
<p>陈昔很不乐意地回答了这个脑残级别的问题。她一下子乐了，颊露出小人得志的神色，得意地看着陈昔，陈昔疑惑弥目的看着她，今天似乎真是见了鬼，不然就是蜗居一年，已经赶不上时代的潮流了，这有那么值得笑道的？不就是自己在看一本书吗？</p>
<p>“呃，你别误会，我也正好看过这本书而已。”说着她眼珠一转，把书一把抢过手，大大咧咧地说“看你那么诚恳的神情，我就也跟着你再看一遍！”
陈昔恨不得将她一脚踢下去不过作为一个‘良好’绅士，这一点风度他还是拥有的，所以他无可奈何的在她霸道的“陪读”下，开始了接下来的阅读。
“星辰是最不耀眼，他的光芒脱去了华丽的锦缎，从而具备了穿透心灵审视苍生的能力，将宇宙一切机关都见缝插针般放入静阁之中”</p>
<p>他并不曾注意到，女孩正默默地注视着他的眼晴的波动，有一滴欣慰的苦水在瞳孔中打了一转，兀自滑落。</p>
<p>许久，许久，他才一叹，息声延在两人的喘息之间。</p>
<p>——2011.06.26</p>
<h3 id="叁">叁</h3>
<p>他们两个人一同站在这扇洞开的窗前，吸纳着从外面逃窜进来呼啸寒风，默契地不言不语。</p>
<p>天空是深蓝色的，煞像浓情的双瞳，似乎是太阳系中一双怒目，威严地睥睨着苍生。</p>
<p>“能告诉我，你怎么买到那本书的吗？据我所知，它可一点也不畅销啊。”似乎是自言自语般，她始终注视着窗外，但明显是心不在焉。</p>
<p>“说来，我也是一片迷茫，在书店最不起眼的角落，自我看到它，便好像受了魔法操控一般，情不自禁地买下了它。”他苦笑道。</p>
<p>女孩眼神一亮，“哦？还有这种事？”她妙目侧瞄向陈昔，打量着他。</p>
<p>瘦削的身段，睿明含智的眼睛，永远微启的嘴唇，还有那双插在裤子口袋的手，有意无意散发出的彷徨与忧伤，更多的是孤独。</p>
<p>他收回目光，一阵风来，掠进了她的脖子，感觉一丝冷，她无意间向陈昔靠了靠，两人紧接着不约而同地对对方说“你……”双方的气息交接，一抹朦胧。然后是四目相对，最后又不谋而合地相顾而笑，也许是看开了些什么，她依着她，他偎着她。</p>
<p>“你希望自己属于西藏？”陈昔突然问道。</p>
<p>“不”她看着天空“我要属于天空，西藏只是天空的一角，或许，我只属于自己，你呢？”</p>
<p>陈昔唏嘘道“我吗？我向来做事只凭借着直觉，自然这次亦无异。”</p>
<p>是的。他因为直觉，放弃了所谓的大学，摒弃了所谓的前途，果断地断了父母之线，从此浪迹天涯，写一些不违心的文章，自己封闭在自我的三维空间之中，冷却，然后失真地看着透明的真实的自己，因为他认为有时候，模模糊糊反而更清晰。</p>
<p>他用一句话写尽了自己的心声。</p>
<p>“Not all man could sail with wind , sometimes , a drop of water also leads a journey full of poetry”</p>
<p>乘风旅行并非唯一，心有所属，纵然是一滴水也能够带你踏入诗意的海洋。</p>
<p>也确实是这样，在文章的国度，他是一个独行侠，在风雨凄凄瑟瑟中漫步。不过，现在的他已然厌倦了这样的生活，人一旦对某件事运生烦感，那么也便意味着终结……至少，绝不会长久。</p>
<p>她眼睛轻轻扑朔着，“直觉吗？那是一种很神秘的东西耶，虽然未必可靠，但以此行事一定会很有趣吧。”</p>
<p>陈昔没有回应，他关上了车窗，轻说“走吧，别感冒了。”随后他水平横展开手臂，伸了个懒腰，向自己的床铺悠然走去。她幽幽地同样卧在自己的地盘，眼光黯散若乌云地盯着冥空，天空的面容愈发枯槁，最后一寸寸地被黑暗吞噬干净，只隐约地传出一声凄厉的惨叫。</p>
<p>……</p>
<p>耳边甫一接触“呼噜”声，便似会传染一般，从而在这一节火车之内，肆无忌惮，争先恐后地不断升腾，“呼噜”之声充斥在耳尖，扰的陈昔心烦意乱，睁开弥溢哀伤的双眸，抬起自己的左手，再次宁神进入书海之中。</p>
<p>“静海本应似海奔淌，她是有灵魂的！然而，亘古至今，也无人能够启迪她的智慧，于是静海始终无波无澜，潜在人们的梦乡中，藏在静阁的尘埃里。”</p>
<p>陈昔若有感悟，于是用笔卸载这段文字的旁边“文华与众不同于他的可塑性，文华有彳亍在文华的去留之中。”完笔，他脸色一舒，红扑扑地似乎忘却了周遭那跌宕起伏，“声声”不息的呼噜之声。</p>
<p> </p>
<p>——2011.06.26</p>
<h3 id="肆">肆</h3>
<p>这时，一辆贩饭车推来，“请问，先生要点什么？”女士礼貌地对陈昔问道“我们这有四川的特产……”</p>
<p>“不用了”他摆摆手，随意的要了一份，便又返回书海漫游去了。可还不及他进入状态，就听见广播嘟嘟的传出这样的信息：各位乘客，由于在前方的广安发生了百年一遇的特大洪水，交通受阻，请乘客们带上你们的行李，准备离车，若本次的事故对你的旅途产生影响，敬请谅解。</p>
<p>百年一遇，又是百年一遇？陈昔不屑地想到，每次在报纸上就经常看到百年一遇，千年一遇等等，这根本没有根据的夸大事实，不过是一种逃避责任。吐了一口闷气，无奈的从床上起来，顿了一下，又拿起了行李—一个背包。</p>
<p>车徐徐缓缓地停了下来，火车的门“腾”地打开了，夜晚的冷冽之风趁势夺门而入，不少人不禁又披上了一件外套。</p>
<p>他看到她，她正微开嘴唇的看着他，他勾起嘴角，走过去。</p>
<p>“这下，可以体验一下异地的风情了。”陈昔笑着说。</p>
<p>她看了眼他洒脱的行李，并且还是皱巴巴的，笑道“你倒是毫无牵挂，什么也不眷恋。”</p>
<p>他看了一看她挂在身上的小肩包“彼此彼此，来，我给你拿着吧。”</p>
<p>她也懒得拒绝，他背着一个不超过五斤的小包，手提一个同样轻巧的包，一马当先的走在前面，穿过层层叠叠，森乱密布的人群。</p>
<p>“今晚怎么过？一场洪水淹没了一段本该一帆风顺的旅途，不过，想想也是，人生，本就像是一段逆旅，不曲折不痛快，不混乱不精彩。我也早就看开了，呵呵。”陈昔淡淡地说。</p>
<p>“你也真有闲心从这感慨，这里人生地不熟的，万一遇上个劫匪，你怕不怕？”她没好气的说，同时看着空旷的天空，一片惨淡，却在同时有很温和。</p>
<p>“我个堂堂九尺男儿，难道还会怕那些劫匪？小姑娘，你不用当心，他们要是敢过来劫咱们，有我给你扛着。”陈昔一挥拳头，郑重地说。</p>
<p>她诧异的地看了一眼他，总是感觉，他和起初的他有些不同，变得开朗的多，也许，这才是他的天性吧，毕竟，不是每个人天生都是冷漠的，看似冷漠的人也未必就是真的冷漠，或许，或许只是生活强迫他伪装自己。</p>
<p>她就这样，不知道要说些什么，他的脸还是不会放任笑容，他已经很难卸下那份劳人心脾的面具。</p>
<p>两人一起的走着，寻找旅馆，晚上的天笼着大地，不过由于两旁的灯光贯穿相接，这里亮如白昼，他看着她冻得嘴不住地哆嗦，便将身上的外套悄悄地披在了她的身上，埋怨道“你不知道西藏那里很冷吗？也不事先带件衣服。”</p>
<p>她颤抖着穿好他披在自己身上的外套，心里如蜜，嘴里却反驳“还说我？你看看你自己。”</p>
<p>陈昔一瞬间也无话可说，因为自己除了来的时候穿在身上的那件薄薄的外套，也是，什么也没带。</p>
<p>随着路线的蔓延，灯光少了不少，道路上车辆稀疏，人踪鲜觅，两个人在厚云的遮蔽下走向这座未知名的城市的深处。</p>
<p>……</p>
<p>“抱歉，先生，这里刚刚住满，还是请你去别的地方看看吧。”前台的服务生办公化的说完，接着就低头翻看着什么。</p>
<p>陈昔深深吸了一口气，转过头，看了一眼没心没肺从那左顾右盼的她，一脸毫无所谓，狠狠地说“看什么呢？走啊。”</p>
<p>两人也不再花费力气去找什么旅馆了，家家满人，也让他们彻底放弃了。
他看着她好奇地打量这个城市的夜，有一些羡慕起来，或许，这才是真正的算是淡泊吧。</p>
<p>偌大的繁华，却只有街边的长椅可以依靠。</p>
<p>——2011.06.26</p>
<h3 id="五">五</h3>
<p>七月流火，天已经开始转凉，尤其是清冷的夜。</p>
<p>青草掩雾的虫鸣，不停地歌唱，无休无息。椅子后边是一条静谧的小河，延伸到未知的远方，天涯沦落，早已他乡。</p>
<p>“你想家吗?”她像好奇宝宝一样，认真地看着他。</p>
<p>“不，有什么可眷恋的，再说，那不过只是一栋房子罢了。浪子四方，还有什么值得自己可思而不舍的呢？”他苍白的话在疾风的剥削下有些失真。</p>
<p>“是吗？”</p>
<p>“恩”</p>
<p>“你这是典型的口是心非！”</p>
<p>“哦？你说说看。”</p>
<p>“每一个嘴里说毫无所思的人，都深深地刻怀烙印在心底一份浓烈的思恋，在一处不可磨灭的地方。”</p>
<p>“这重要吗？”他看着她，冷声道。</p>
<p>她丝毫不畏惧他突发的残酷眼神，反而直视着他，似乎穿透了眼睛的层层阻碍，看穿了他的本质，说“对你来说本来就很重要。”</p>
<p>他感到呼吸有些急促，挠了一下头，立即平稳了心态，“别说这些了，现在都这样了，说这些有何裨益？”</p>
<p>她看着黑蒙蒙的星空，捕捉着几点星光，飘渺的声音空明地传出“星辰日隐月现，或许，也不过是舍不得吧。”</p>
<p>不知不觉中，他攥紧了拳头，又渐渐舒开了。</p>
<p>天愈发越深，趋至夜阑未央之际……</p>
<p>一晃儿，五日已在指尖溜走，无声无息，陈昔与她终于开始了剩下来的路途。这一次，两个人的床铺，却是对面。</p>
<p>几日来，冷冷淡淡清清浅浅地度过，似乎就像白开水一般煮开然后纯净的什么也找不到。</p>
<p>他依然沉浸在书里。而她依旧注视着他沉思的眼睛，有条不紊。</p>
<p>“岁月漂白了痕迹，让一切希望都演化成绝望。无心酸，寡言语，脉脉相视，静阁思之。”</p>
<p>“每一条无情的鱼，总会有一条多情的鱼相缠，水边长干，终不过是多情反被无情恼。”</p>
<p>一页页反过来，书已见底。他转目凝盼，她此刻睫毛弯弯，睡姿似猫，脸枕在手上，慵懒地侧躺着，眉梢挂着几分疲惫。真累坏她了，这几日。</p>
<p>陈昔下床，为她盖上了白色的被子，只是没想到，她被惊醒了，“你干吗？”她瞪着他。</p>
<p>陈昔淡淡地说“既然你醒了，那么盖不盖由你”</p>
<p>她怒视着他“你都觉得脏的东西，你干吗给我盖！？”说完愤懑地一脚将无辜可怜的被子踢飞。</p>
<p>他没有生气，只是闭着眼，也不知道胡思乱想些什么。</p>
<p>看着他榆木疙瘩的回应，她是真的生气了。</p>
<p>之后，之后他们间就像是隔着一汪太平洋，相见争如不见，最熟悉的陌生人。</p>
<p>……</p>
<p>这个时候，令人怨恨的丧钟再次无情地敲响了。</p>
<p>“各位乘客，前方出现泥石流，所以本次列车，被迫中止，如果为你的旅途带来不便，望请谅解。”</p>
<p>广播甫停，不少人已经开始大骂，也怨不得他们素质低下，就连陈昔都恨不得破口大骂了，不过，他本来就没有个固定的方向，也就没有去聒噪，而是释然了。</p>
<p>他看见了她，她同时也看见了他。</p>
<p>她对他笑了笑，他也回给她一个笑容。</p>
<p>冰释，一笑泯恩仇。</p>
<p>这一次，她却是主动牵起了他的手。他错愕地看着她。</p>
<p>“干吗？有什么意见吗？”她调皮地瞪了陈昔一眼，他内心不由一挑眉。
这里已经是青海了，环城高山又环空，只是又是一个惨无人道的夜，所以看不大清楚。</p>
<p>——2011.06.26</p>
<h3 id="終">終</h3>
<p>陈昔吻着寒潮气流，“夜曲如波，荧荧星空，乍是秋风一阵清凉，嗖嗖地无悲便是欢。”</p>
<p>女孩勾着黛眉笑盈盈地说“还挺有诗意内涵的嘛。”</p>
<p>站在烈风鼎立的火车站，何去何从？</p>
<p>是天意弄人吧，本来简单的旅途，让他和她相遇，又让他们一次次被迫相依，这世道难道真的有缘分？</p>
<p>不知为什么，手心传来的身温穿透了皮肤，一滴滴沃野了心田。</p>
<p>他停住了脚步，看着她几日来苍白的容颜，冰冷地触接在唇齿之间。</p>
<p>他的心跳很快，像是仓皇地逃窜，然而，独有一份温馨。</p>
<p>浅尝辄止，似乎什么也没发生。</p>
<p>街边，长夜的直灯，光线温和地把他们包围。</p>
<p>……</p>
<p>馥郁芬芳花满堂，西宁的景色确实沁人心脾，这里绝不是想象中的那般落后。</p>
<p>川流在人群中时常走过的少数民族，异域风光，悉堆眼角。</p>
<p>“哎，最终还是又出事了，西藏啊，还真成了到达不了的终点了。”陈昔笑容盈目地看着静怡宜人的她。</p>
<p>“这不好吗？这比一帆风顺来的更迷人更深刻，不是吗？我永远也忘不了这段刻骨铭心的旅途。”她看着白云氤氲，同样，白云也看着她。</p>
<p>点点头，没有起伏的经历，只不是一杯被过滤的纯水罢了，最终也会被时光冲的无影无踪。</p>
<p>“这束花好漂亮，你可以买给我吗？”她的眼神一动，跑到一家弥漫芳香的花店，温柔地抚摸着一束淡黄的花。</p>
<p>他付了钱，看着抱着淡黄花束，一脸满足的她，不知然的由衷地笑了。</p>
<p>“笑什么？可恶！”她恶狠狠地扫了他一眼，然后又“嘻嘻”地傻笑起来。夕阳满山，斜晖赤彩，湖水略流光。</p>
<p>在这时，他们靠在一块看着池塘。</p>
<p>霞披金袍，落天吻水，携游弋之孤鹜，凌江波驾腾浪，仙侣似飞。</p>
<p>天坠秋水，水照秋色。</p>
<p>闲风瑟瑟，冷以微澜皱眉。</p>
<p>赤彩丹颜，染得迷峰沉醉。</p>
<p>一男，一女，一世界。</p>
<p>所有天地间的嘈杂都消弭了。</p>
<p>目光流盼，举手长劳劳，两情同依依。</p>
<p>“我要走了。”她淡淡地说，看着池塘，两眼迷茫。</p>
<p>“不去西藏了。”他浅浅地问。</p>
<p>“嗯，不去了，那里不重要”</p>
<p>“哦”他的头低下去，她站起来，一步步走开。</p>
<p>听得她脚步声渐渐走远，他突兀地对着她的背影喊道“喂，你叫什么名字？”</p>
<p>她回过头来，泪流满面，咽下泪水，破涕而笑“你真是个傻瓜，我叫回梦！”说完便果决地反身快步跑远了，直至消失，消失在人海茫茫。</p>
<p>“回梦？回梦。回梦！”他急促地从背包里找出《静阁》，只见上面作者明晃晃地刻着“回梦”。</p>
<p>原来是她。</p>
<p>陈昔忧伤地翻开了书，书里面夹杂着一张纸条。</p>
<p>他看着看着，便笑着抽了抽鼻子，哭了。</p>
<p>…… END ……</p>
<p>——2011.06.26<br>
　</p>
<h3 id="后言">后言：</h3>
<p>环城重重之中，迷茫的城市居住着迷茫的人。</p>
<p>迷茫的人做着迷茫的事。</p>
<p>赶着去迷茫的地方。</p>
<p>认识了同样迷茫的人。</p>
<p>又是一件件迷茫的际遇，结缠着一份迷茫的感情。</p>
<p>总之，这一部就是充满着迷茫的小说，当然在Ⅱ中，一切都会有所改变。
最后，埋了几个坑，暂且留着，等着Ⅱ去慢慢填吧。</p>
<p> </p>]]></content:encoded>
    </item>
    <item>
      <title>3の3 - 温 暖</title>
      <link>https://www.yevpt.com/articles/24</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/24</guid>
      <pubDate>Sun, 28 Jun 2026 05:33:00 GMT</pubDate>
      <description>城市到夜晚会趋于安静， 路边的流浪猫嘶哑清晰。 灯光慵懒倒躺于地面看， 长椅之上走又来的人...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>城市到夜晚会趋于安静，
路边的流浪猫嘶哑清晰。
灯光慵懒倒躺于地面看，
长椅之上走又来的人群。</p>
<p> </p>
<p>想必很多人都有这样的感受，你孤单一人站在空荡的街上，夜色再抚媚暖风再惹人难让你避免思念。</p>
<p>会想到过去，模糊的，清晰的，往事如烟接踵而来。父母慈爱的眸眼，朋友熟悉的表情，爱人迷人的容颜。天空变作黑板，涂抹着他们的生动，深陷在无尽的怀念，就像是再次回到过去。直到心有些疼，眼有些痛，从怀里哆嗦地掏出止疼药和湿巾，才意识到，这一切都不在了。</p>
<p>我依托着拐杖，老了。虽然我多般抗拒衰老，终究还是走到这一步。一个个熟悉的人不在了。似乎我活着仅剩的意义就是对他们的思念直到我在最后也睁不开污浊的眼。我终于懂得老人喜欢小孩的缘由了，因为伙伴实在无多。</p>
<p>手机铃起，摇摇晃晃地接通，原来该回去吃夜宵了。想起当初父亲催吃晚饭的时光，我突然很想他做的饭，可是吃不到了，我有一个遗憾就是没好好跟他学做菜，不过也好，这样不容易触味生情。老了之后就没胃口，年轻时候就认为吃饭很累的我，老了后开始重视，也瞒不过内心的应付。</p>
<p>我想趁着这天色还不够恐慌，再想些事，无论悲欢都好。想起当初一场无疾而终的感情，多么幼稚却多么感慨。记得最深的一场真是痛入了骨髓，耗尽心力终究还是分手告终。想起当初每个阶段的好友，有的慢慢地变成陌生人，有的也成了备注之交。鲜活的记忆在慢慢腐化，想到在我生命里的最后一天，这些拼凑起来独自无二的画面就永远随着我消失了，真的有些伤感。</p>
<p>到了那一天，总有人舍不得，为我流泪为我辗转难眠吧，虽然我不在了但我依然希望可以占有你的心田的某一方某一寸，是我自私吧。</p>
<p>我会在那一天戴着耳机，听着孩子们嫌弃的老歌，在热闹的街上走着，走到累，累到想躺下，躺在我的心里头，疲倦让我缓缓睡去，慢慢陷入我的梦里面，里面暖洋洋的，再也没了冷意，终于可以永远陪伴你，不用说再见。</p>]]></content:encoded>
    </item>
    <item>
      <title>3の2 - 同 步</title>
      <link>https://www.yevpt.com/articles/23</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/23</guid>
      <pubDate>Sun, 28 Jun 2026 05:52:51 GMT</pubDate>
      <description>我对她说，不要考虑明天，就这样盲目在还充斥吸引力的心球旋转，若次日，我们见不到彼此，亦不要担心，只是我们中某一个离心而去了，想必不会再回来，务必照顾好自...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>我对她说，不要考虑明天，就这样盲目在还充斥吸引力的心球旋转，若次日，我们见不到彼此，亦不要担心，只是我们中某一个离心而去了，想必不会再回来，务必照顾好自己。</p>
<p>她咬着牙同意了，可是嘴里还嘀咕着，“干嘛这么吓唬我，我知道你不会离开我，而我更不会离开你啊。”</p>
<p>我注视着她的眼睛，有一种坚定的色泽，一种我以前看到就忍不住陷入的魔力，但经受的多了，也就不受迷惑了。</p>
<p>我对她说，“我想现在最重要的是，把能说的情话都说给你听。”</p>
<p>她茫然地看着我。</p>
<p>傻妞，同样的话，现在说是甜蜜或肉麻，明天兴许就成恶心与反胃了。</p>
<p>谁知道明天会发生什么呢，我们连今天都不能把握。至于昨日，亲爱的，那不是恋旧，是受制于过去的畏缩。</p>
<p>“我听过一首歌，旋律依旧能在脑海复刻，只不过歌词已经淡忘了。我可以哼给你听，如果你恰巧能听音识曲，我就把这首歌练好，下次唱给你听。”我蛊惑她。</p>
<p>她果然已经跃跃欲试，说“那还不快唱。”</p>
<p>于是我哼了一首昨天在她歌单上看到的我单曲循环过的歌。</p>
<p>她得意地要我在她不久后的生日晚会上唱给她。</p>
<p>我被她拉着看了那夜的流星雨，可是流星那么快，我哪有时间许愿，看到她认真捧手闭着眸眼呆萌的模样，我拿出手机给她拍了个俏皮的特写。</p>
<p>她说，三个愿望都与我有关，我笑着抚摸她的长发，说，“那第二个替我，第三个属于我们两个。”</p>
<p>“好好好。你个懒蛋。”</p>
<p>逛累了街在咖啡厅歇脚，随便点了就开始打量周遭，她对我说，“你看还有人在这玩电脑也是奇葩。”</p>
<p>我忍不住一笑，在她耳边说，“你仔细再看看谁才是奇葩。”</p>
<p>她视线转了个遍才发现零散不多的人，似乎都在电脑面前聚精会神。</p>
<p>“真见鬼，还是换个地吧，好别扭。”</p>
<p>“好担心以后当我们考虑结婚的时候，我爸妈会是什么态度。”她趴在我的肩膀上慵懒地念叨，突然转过头对我说，“我决定了，我爸交给我，我妈就你自求多福吧，嘿嘿。”</p>
<p>“那还是算了吧，丈母娘最可怕了，昨天头条还惊现最强丈母娘，我还想多活几年呢。”我撇嘴。</p>
<p>“那怎么办。”</p>
<p>“能怎么办，生米煮成熟饭呗。”</p>
<p>“你不要脸。”</p>
<p>我一直都以为
会是我先疲倦，
或者她先乏味。
答案是我错了。</p>
<p>那天凌晨，我收拾好行李打算离去时候，我走进她房间，想要把答应给她的歌献给她，却发现，已经人去楼空。</p>
<p>...</p>
<p>果然听歌写的东西关掉歌再看就没节奏感了。</p>]]></content:encoded>
    </item>
    <item>
      <title>3の1 - 鱼 知</title>
      <link>https://www.yevpt.com/articles/22</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/22</guid>
      <pubDate>Thu, 26 Nov 2020 15:14:55 GMT</pubDate>
      <description>他会在热闹喧嚣中缄默到让世界忘却，亦会在安静里嘟囔个不停。他不记得上次聚会她有没出现，没太在意，所以连记忆都显得应付...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>他会在热闹喧嚣中缄默到让世界忘却，亦会在安静里嘟囔个不停。他不记得上次聚会她有没出现，没太在意，所以连记忆都显得应付。</p>
<p>他将一本一本的书排地整整齐齐，直到看他似乎又要开始整理歌单时，A终于忍不住对他喊道“我去，我们都结束十几分钟了，快点啊你。”</p>
<p>“哦哦”他本来想解释自己不小心神游，刚才不过是下意识动作罢了，但话到嘴边又不好意思说，他自己亦不晓得最近是怎么了。</p>
<p>时间是圈养鱼的海。我们就像是一条一条的鱼，纵然游尽一生，亦无法甚至不敢逃出海的牢笼。我们被时间束缚同时被时间哺育。他两年前就不再戴手表，他怕一低头就是百年，他宁肯一秒一秒的经历，一分一分的失神，也不愿时间在视线接触的一瞬间更迭万千，如果可以的话他甚至想忘记时间。因为他怕老，他不怕死，他真的只是怕变老。</p>
<p>“你说我们老了考虑死时，突然发现，为生计为感情所做的一切劳碌其实没有丝毫意义时，是否会心痛的不行？”A问B。</p>
<p>“心痛不痛我不知道，但就这个空气与饮食质量，我想我们能否有机会变老都是未知数，何况就算老了，也是身体痛的不行，那还管得了心”捏着鼻子说着说着B忍不住也笑了起来。</p>
<p>他攥着手机，看着荧屏上的照片，突然觉得肩膀沉重，痛地不行，他兀自摇头自嘲，“原来我真老了”。</p>
<p>他和她不同校不同岁，从陌生到熟悉一切都像是命中注定，而分开亦是。</p>
<p>岁月的齿轮永不停歇，它翻滚着海的浪花，却在海底波澜不惊，于是一点一点，他渐渐忘记了她，因为，时间让他遇上一个又一个的她，在宣告幼稚后他也不再偏执于永恒与所谓唯一，他开始相信爱情就是当时的一时兴起，他不再有所犹豫，他可以让她充满安全感，给她自由空间，给她浪漫的惊喜，给她感动的拥抱，也给她转身的湿泪盈眶。他突然觉得一切都不过如此，她们能给他的总是这些，他也给不了她们更多，他已经变得麻木，他突然累了，于是，他用心挑选了自己的新娘，交付给了她自己剩下的所有气力。他穿上肃穆的西装革履，戴上争分夺秒的手表，他步入中年，越发成熟稳重，他撕掉日历的一页又一页，穿透了过往的一切，却再也找不到她的痕迹，很悲伤的，他终于彻底忘了她。</p>
<p>他不知道为何心会痛，像是丢掉了什么重要的东西，却翻箱倒柜怎么都找不到，最让他难受的是，他甚至不知道找的是什么。</p>
<p> </p>
<p>“十七年了吧，真的太久了，还能在这么多年后再次相见，真的不容易，我都想要落泪了。”同学聚会上，C抹着眼泪说。而他的视线却猛然凝固在某个角落，陌生而熟悉的感觉。</p>
<p>他一步一步走过去，仔细端详了她半晌，她抱着孩子疑惑地问，“先生，你是？”</p>
<p>他记不起她是谁，“抱歉，我刚才觉得你很眼熟，但想来认错了。”</p>
<p>鱼儿相濡以沫，
在分开了之后，
再记不得彼此。</p>
<p>他转过身离开。
她低头哄孩子。
他们擦肩而过。</p>
<p>曾经任凭想象汹涌，
如今放任悲伤狂妄。
别再怂恿探讨爱情，
不过一场情绪流淌。</p>]]></content:encoded>
    </item>
    <item>
      <title>你们轻轻唱，听完我就走。</title>
      <link>https://www.yevpt.com/articles/1</link>
      <guid isPermaLink="true">https://www.yevpt.com/articles/1</guid>
      <pubDate>Sun, 28 Jun 2026 05:44:43 GMT</pubDate>
      <description>我听着一首歌，莫名其妙地来到一个陌生的地方，邂逅了春夏秋冬，她们告诉我她们是两对双胞胎，分别是春、秋与夏、冬...</description>
      <category>文学</category>
      <content:encoded><![CDATA[<p>我听着一首歌，莫名其妙地来到一个陌生的地方，邂逅了春夏秋冬，她们告诉我她们是两对双胞胎，分别是春、秋与夏、冬，我不知道为什么会有这么迥异的双胞胎出现，她们旁若无人地哼着歌，说着我晦涩难懂的语言，我觉得她们的言语韵律动听，不知不觉就忘了许多心绪阻塞的烦恼，她们狡黠的目光里有一抹空明的味道，但是融入我的视线却显得熨贴而温暖。</p>
<p>她们遵循着一种和谐的拍子在跳动，夏姿势优雅雍容，秋忧郁愁目引人心疼，冬冷面拒人千里，春调皮冲我扮着鬼脸，她们毫无顾忌我是个外人，好像出现在这里顺其自然。</p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/1/images/c1f4dbf6f7e17cf467e44140bc6723af.png?a=ad3ea5073ffdeb2da8101bebd0e11830&#x26;b=6a4806e2" alt="ChatGPT Image 2026年6月27日 15_04_50 (1).png"></p>
<p>这是一处没有天空的世界，广袤无垠的黑暗里，我们的眼眸天生携带着明净的光束，涂抹着几分如深海蛤蟆鱼头上发出的淡蓝色，然而任凭我怎么借着光打量她们，我都无法看清她们的面容，却又可以清晰地感受到她们多变的神情。</p>
<p>我就这样看着她们围着我舞步翩跹，蜻蜓点水掠过我的周遭，给我带来轻如絮的风，我想说些什么，她们却已经悄然捂住了我的唇，这一刻的我只能安静地看着这一切，我想着心事，以前让我那么惨淡，那么悲伤，那么失落，那么值得我泪流的往事在现在感受而来却是发自内心的笑意，第三视角看着过去懵懂的自己，原来过去的自己是这个样子的，那么不爱惜自己，那么天真傻气，不自禁就想去孕育些所谓心疼与怒其不争的情绪，可是在这个地方，我失去了产生负面情绪的能力。只能摇头哭笑不得，为什么当真正无法心酸的时候，我竟然会想念熟悉的负面情绪，没有它们我是那么孤单。</p>
<p>秋缓缓停下动作，无声地坐到我身边，遥望着远方逐渐黑暗的死寂，我问她，你怎么了。她摇摇头，说，只是冷了。这里没有风，没有寒冷与温暖，她的冷我感受不到，想脱下自己外套递给她，却发现我没法触摸到自己。我突然发现她的瞳眸很漂亮，踏着节奏在淡蓝色里像是在拉扯一段说不清道不明的伤心故事，可是她会在我沉迷进去的瞬间闭上眸子，让我失魂落魄却无能为力，她说，没有温暖，闭上眼才能逃避冷。一股力量支使我站起来，我想我是不想看到她这个模样的，因为那种积压在心底共鸣的情绪无法发泄，我还不受控制的微笑着看着她，说，暖与冷看不见摸不着，也许只是你的错觉。我默默离开，想让她一个人静静，其实，是我不忍看到她咬住的唇。</p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/1/images/920da31a301e9381a250ea15d974c5df.png?a=dfb6334ba05e65d875e8656cabb45128&#x26;b=6a4806e2" alt="ChatGPT Image 2026年6月27日 15_04_50 (3).png"></p>
<p>这个时候一双娇嫩的手从背后捂住我的眼睛，嘻嘻笑着让我猜是谁。</p>
<p>我好笑地问，难道你是夏？</p>
<p>哼唧声嘀咕着不满，她窜到我面前，指着自己的脸蛋，狠狠地说，我怎么会是夏，她那么讨厌，你也很讨厌，都讨厌。
可是她说着就抱住了我这个讨厌人士的胳膊，她煽动着大眼睛，八卦地问，你是不是看上我秋姐姐了。</p>
<p>我说，没。任凭她巧舌如簧，把死人说成活人，兀自过滤了令人无奈的自言自语，着迷了她浑然天成的语调。她就是生机勃勃的花朵在争相绽放，幼稚又令人头疼，但是我想终究她也会长大，也会失去最初的没心没肺，这真是令人可惜，我多么希望她能一直开心下去，可是我只是个没有肉身的过客，只能微笑着注视她皎洁如月勾起的眉，含羞草般热烈却没有安全感，我才发现，她也有属于自己的秘密，但是我不会揭开，温柔地躲避了那里，我感觉到一些窒息，但是很快发现这是错觉，因为一切负面情绪都与我无关，这一刻，我是最没心没肺的人，是谁剥夺了我的负面情绪，我想不到答案，此时只能感到开心的我，也不会去自寻烦恼。</p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/1/images/d22567523c2bcc0d817bf456d9aa49cf.png?a=50a51dedb8160d1992ce44e154d86068&#x26;b=6a4806e2" alt="ChatGPT Image 2026年6月27日 15_04_51 (4).png"></p>
<p>春觉得我很没意思，她一个人追着一只蝴蝶，留下我一个人看着夏与冬有一些压抑的气氛，却只能看，感受不到。</p>
<p>夏的笑靥散发着清凉的味道，黑色的紧身衣衬托出她细腻的身姿，眼眸里无时无刻不燃烧着热情的火焰，但是她只是靠着冬。冬的手时不时会攥起，好像在忍耐些痛楚，我走过去，问，你们这里有没有时间。</p>
<p>夏瞪着眼晴似乎想知道时间是什么东西，冬抬头看了眼我，说，有也没有。</p>
<p>夏一脸不解地看着冬，就像在说，喂，我都不知道的事情，作为妹妹的你怎么会知道。</p>
<p>冬的嗓音清澈却没有任何感情波动，只是喉咙物理作用后自然而然没有人为加工过的句子。她说，当你置身事外，觉得一切包括自己都与自己无关，那时候时间就不存在了，因为你不在意一切事情，也就不会刻意体会时间轮盘带给这个世界的改变，而时间本质上就是改变的抽象描述。</p>
<p>她没有再解释时间存在的方面，她像是一个机器人，冰冷不给人接触，然而只有处在我这种超然状况的人才会看到她不知不觉颤抖着的手。还有夏眼里炙热火焰的刹那低靡。</p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/1/images/2e6f47c2ad4339a482984fae13467cce.png?a=a284da1f421ac69b31e0fdda1a7487c2&#x26;b=6a4806e2" alt="ChatGPT Image 2026年6月27日 15_04_51 (5).png"></p>
<p>她们都有自己的喜怒哀乐，她们都有自己的难言之隐，她们都有让自己更加神秘的过去。</p>
<p>而我呢？廉价的笑容以外还剩下什么，我试图愤怒，我试图鄙夷自己，但是事实却嘲讽着我的徒劳。</p>
<p>我孤立在原地，看着她们篝火前说说笑笑，偶尔冷了表情，却在火花的面前消融了。一杯杯鲜艳的玉浆被她们灌进嘴里。头顶无际的黑暗动荡不安，却只有我听见，她们这一刻笑容真诚，递给我一杯，我谢着接过，猩红的液体有一些浓稠，润过我的舌尖，深喉，淌过我的全身，我似乎感受到了自己的心跳。感受到了积蓄已久的情绪。我红了的眼睛掠过她们，夹带着诚恳的感激。</p>
<p>她们不在意地点点头，春还俏皮地瘪了瘪嘴，我蓦地艰涩地产生一种类似难受的滋味，就像是一块破碎的骨头悬在胸口，我知道或许我就要离开了，可能再也无法见到她们。</p>
<p>你本来就不属于这里，遇见我们是你的意外，说不上幸与不幸，有的人从这里懂得了微笑或哭泣，但是我们并没有想过传递什么。冬淡淡地说。</p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/1/images/9c85e3ffae63c9b62054c00cac8cad50.png?a=0c6b7cb74bc9d053c6332732bb25d1c5&#x26;b=6a4806e2" alt="ChatGPT Image 2026年6月27日 15_04_51 (6).png"></p>
<p>我逐渐找回了自己的形体，再次感受到了血液流动特有的旋律，我没有时间细细感受，就眼睁睁地看着夏眼里的火焰被残忍熄灭，秋在无边的寒意中化为灰烬，冬平静地在合上双眸融化进了天地间，而春面露惊惧求助地看着我最后被撕碎了身体。</p>
<p>天空缓缓显出了真容，而我已经意识不到了。</p>
<p>只是冷了，不是我思念了。
只是淡了，不是我忘记了。
复苏了万物，只是我孤单了。
热烈了世界，只是我掩饰呢。</p>
<p>我重获了新生，懂得了情绪，透析了时间，代价却是，你们出现了，让我铭记了你们，然后匆匆离开了。
最后这个世界只剩下自己了。</p>
<p>摘下耳机，我迷迷糊糊看了看屏幕上的时间 1：20 。没有了屏蔽外界的音乐，在平板熄灭了之后我看到的是如之前那般的黑暗，可是没有淡蓝色目光，没有春夏秋冬，只有平稳的呼吸声，只有自己坐直的身躯。洗了把脸，看着镜子，里面什么都没有。</p>
<p>原来这并不是自己。</p>
<p><img src="https://blog-oss.yevpt.com/blog/articles/1/images/2de65d54930636fd180bc2ce8e4e1327.png?a=7d775edeb1e8ed3655136318378ce1d3&#x26;b=6a4806e2" alt="ChatGPT Image 2026年6月27日 15_10_45.png"></p>
<p> </p>
<blockquote>
<p>本文配图由 AI 生成，仅作文章氛围呈现。</p>
</blockquote>]]></content:encoded>
    </item>
  </channel>
</rss>