<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Projects - 分类 - 一峰的记录</title>
        <link>https://www.simplife.tech/categories/projects/</link>
        <description>Projects - 分类 - 一峰的记录</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Thu, 26 Mar 2026 14:03:03 &#43;0800</lastBuildDate><atom:link href="https://www.simplife.tech/categories/projects/" rel="self" type="application/rss+xml" /><item>
    <title>基于 mitmproxy 的手机 Proto 埋点抓包工具</title>
    <link>https://www.simplife.tech/posts/mitm-event-detector/</link>
    <pubDate>Thu, 26 Mar 2026 14:03:03 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/mitm-event-detector/</guid>
    <description><![CDATA[<h2 id="一背景">一、背景</h2>
<p>在工作中，我们埋点数据的调试和验证一直是一个痛点。传统的抓包方案（如 Charles、Fiddler）虽然能够抓取 HTTPS 流量，但对于使用 Protocol Buffers 编码的埋点数据，只能看到二进制内容，无法直接阅读和解析。</p>]]></description>
</item>
<item>
    <title>Sticker - macOS 桌面贴纸应用</title>
    <link>https://www.simplife.tech/posts/sticker/</link>
    <pubDate>Wed, 07 Jan 2026 17:53:28 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/sticker/</guid>
    <description><![CDATA[<p><video src="/images/sticker/demo.mp4" controls autoplay loop muted playsinline style="max-width: 600px; width: 100%; margin: 20px 0;"></video></p>
<h2 id="一背景">一、背景</h2>
<p>在日常工作中，我经常需要记录一些临时的信息：</p>
<ul>
<li>一段需要重复使用的代码片段</li>
<li>一个常用的命令</li>
<li>某个网页的 URL</li>
<li>临时的想法或待办事项</li>
</ul>
<p>使用传统的便签应用有个问题：<strong>它们是独立的窗口</strong>，会遮挡其他内容，而且无法&quot;贴&quot;在屏幕上任意位置。</p>]]></description>
</item>
<item>
    <title>基于云真机的主题皮肤佩戴效果测试方案</title>
    <link>https://www.simplife.tech/posts/cloud-machine-theme-test/</link>
    <pubDate>Tue, 11 Nov 2025 22:07:22 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/cloud-machine-theme-test/</guid>
    <description><![CDATA[<h1 id="基于云真机的主题皮肤佩戴效果测试方案">基于云真机的主题皮肤佩戴效果测试方案</h1>
<blockquote>
<p>专利申请公布号：CN120687363A</p>
<p>申请号：2025107977487</p>
</blockquote>
<h2 id="一背景">一、背景</h2>
<p>对主题皮肤的测试具备以下特点：</p>
<ol>
<li>测试所需的操作步骤短</li>
<li>需要尽可能覆盖更多机型和系统版本</li>
<li>除保证功能正常，还需要判断展示是否美观，因此使用测试数据没有意义</li>
<li>每天都有若干主题上架</li>
</ol>
<p>基于以上特点，运营、测试人员难以在测试环境，在相对有限的时间内完成尽可能多的设备覆盖。</p>]]></description>
</item>
<item>
    <title>Rust 微服务框架设计与实践</title>
    <link>https://www.simplife.tech/posts/rust-microservice-design/</link>
    <pubDate>Fri, 27 Oct 2023 15:35:18 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/rust-microservice-design/</guid>
    <description><![CDATA[<h2 id="一项目背景">一、项目背景</h2>
<p>工作中接触了微服务架构，大多基于 Java 或 Go。作为 Rust 爱好者，想尝试用 Rust 写一套适合实际业务的微服务框架。另外我自己写了一个记账App一直在运行中，自己也一直在用，于是刚好用Rust和微服务架构来重构一下。Rust上并没有已有的成熟微服务框架，于是我刚好自己去实现(或者说接入)微服务通信、上下文处理、trace等功能，来加深对微服务系统的理解。</p>]]></description>
</item>
<item>
    <title>Finetest: 一个 Web 自动化测试框架的技术实现</title>
    <link>https://www.simplife.tech/posts/finetest-%E4%B8%80%E4%B8%AA-web-%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95%E6%A1%86%E6%9E%B6%E7%9A%84%E6%8A%80%E6%9C%AF%E5%AE%9E%E7%8E%B0/</link>
    <pubDate>Tue, 12 Oct 2021 14:28:21 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/finetest-%E4%B8%80%E4%B8%AA-web-%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95%E6%A1%86%E6%9E%B6%E7%9A%84%E6%8A%80%E6%9C%AF%E5%AE%9E%E7%8E%B0/</guid>
    <description><![CDATA[<h2 id="项目简介">项目简介</h2>
<p>Finetest 是一个基于 Python + Selenium + pytest 的 Web 自动化测试框架，框架集成了智能元素定位、可视化回归测试、用例录制回放、文件对比等功能，旨在降低 UI 自动化测试的门槛，降低维护成本，提高测试效率。</p>]]></description>
</item>
<item>
    <title>录制浏览器请求生成 RobotFramework 代码</title>
    <link>https://www.simplife.tech/posts/xhr-recorder-robotframework/</link>
    <pubDate>Sun, 12 Sep 2021 12:00:22 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/xhr-recorder-robotframework/</guid>
    <description><![CDATA[<p>我们组的自动化测试用的是RobotFramework。在编写自动化测试时，大部分工作集中于一个页面，页面上有若干报表，我们需要使用特定数据源创建特定报表，然后抓取报表数据网络请求的request和response，手动写入RobotFramework中。</p>]]></description>
</item>
<item>
    <title>基于 ARP 的 DNS 欺骗实现</title>
    <link>https://www.simplife.tech/posts/dns-spoofing/</link>
    <pubDate>Sat, 02 May 2020 21:01:35 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/dns-spoofing/</guid>
    <description><![CDATA[<h1 id="基于-arp-的-dns-欺骗实现">基于 ARP 的 DNS 欺骗实现</h1>
<h2 id="一背景">一、背景</h2>
<p>DNS 协议基于 UDP 协议且明文传输，这意味着如果能够控制网关，便能够篡改该局域网设备的 DNS 解析结果。</p>
<p>而 ARP 协议是将 IP 地址解析为 MAC 地址的协议，且 ARP 是无认证协议，任何主机都可以发送 ARP 相应，接收方并不会做任何校验。于是，攻击者可以发送虚假 ARP 响应，将自己伪造成网关，即可进一步劫持受害者的 DNS 解析结果。</p>]]></description>
</item>
<item>
    <title>基于频域的图片数字水印实现与原理</title>
    <link>https://www.simplife.tech/posts/digital-watermark/</link>
    <pubDate>Mon, 29 Apr 2019 20:05:11 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/digital-watermark/</guid>
    <description><![CDATA[<h1 id="基于频域的图片数字水印实现与原理">基于频域的图片数字水印实现与原理</h1>
<h2 id="一什么是数字水印">一、什么是数字水印</h2>
<p>数字水印是指在图像、音频等载体中嵌入不可见的信息来实现防伪等功能。评价数字水印有三个维度(以图像为例)：</p>
<ol>
<li>不可见性：肉眼无法分辨出图像嵌入了信息</li>
<li>鲁棒性：压缩、旋转、裁剪甚至截屏、录屏后依然能提取信息</li>
<li>安全性：不容易被破解</li>
</ol>
<h2 id="二什么叫频域">二、什么叫频域</h2>
<p>频域相对于空间域。对空间域的处理就是直接改像素，而频域是将图片从空间域通过一个变换方法变换到一个新的域，即频域，在这个频域处理信息，然后可以将频域变换回空间域，从而实现在图片中嵌入内容。常用的变换方法有DCT、DFT等。</p>]]></description>
</item>
<item>
    <title>哈课表架构</title>
    <link>https://www.simplife.tech/posts/curriculum/</link>
    <pubDate>Thu, 03 Jan 2019 15:11:59 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/curriculum/</guid>
    <description><![CDATA[<h1 id="哈课表架构">哈课表架构</h1>
<p>用户已过千。</p>
<div class="mermaid" id="id-2">flowchart LR
    U[用户&lt;br/&gt;微信小程序] --&gt; W[外网服务器]

    subgraph PUBLIC[外网环境]
				W --&gt;|查询缓存| DB
    		DB --&gt;|返回课表/成绩| W
    end

    subgraph PRIVATE[内网环境]
        I[内网服务器]
        SYS[教务系统]

    end

    W &lt;--&gt;|frp隧道| I

    W --&gt;|无缓存时请求| I
    I --&gt;|爬取/查询数据| SYS
    SYS --&gt; I</div><p>本系统采用“内外网分离”的架构设计：</p>]]></description>
</item>
<item>
    <title>Design a Computer</title>
    <link>https://www.simplife.tech/posts/design-a-computer/</link>
    <pubDate>Thu, 12 Jul 2018 18:38:46 &#43;0800</pubDate>
    <author>一峰</author>
    <guid>https://www.simplife.tech/posts/design-a-computer/</guid>
    <description><![CDATA[<h1 id="design-a-computer">Design a Computer</h1>
<p>github: <a href="https://github.com/naughtz/design-a-computer" target="_blank" rel="noopener noreffer ">https://github.com/naughtz/design-a-computer</a></p>
<blockquote>
<p>本项目使用vivado2018.2进行开发，使用的开发板为EGO1。实现了16条MIPS指令，并用这些指令实现二叉树中序遍历的功能。CPU的设计、测试与<a href="https://github.com/voldemortX/design_a_computer/wiki" target="_blank" rel="noopener noreffer ">voldemortX</a>及小组成员们共同完成。</p>]]></description>
</item>
</channel>
</rss>
