<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>技术笔记 on kj’s blog</title><link>https://kfjie.me/categories/notes/</link><description>Recent content from kj’s blog</description><generator>Hugo</generator><language>zh-CN</language><managingEditor>None (Kfjie)</managingEditor><webMaster>None (Kfjie)</webMaster><copyright>本博客所有文章除特别声明外，均采用 BY-NC-SA 许可协议。转载请注明出处！</copyright><lastBuildDate>Thu, 29 Oct 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://kfjie.me/categories/notes/index.xml" rel="self" type="application/rss+xml"/><item><title>12GB 显卡怎么微调视频模型：一次 ZeRO-3 多卡折腾记录</title><link>https://kfjie.me/post/zero3-multigpu-debugging/</link><pubDate>Thu, 29 Oct 2026 00:00:00 +0800</pubDate><author>None (Kfjie)</author><guid>https://kfjie.me/post/zero3-multigpu-debugging/</guid><description>
<![CDATA[<h1>12GB 显卡怎么微调视频模型：一次 ZeRO-3 多卡折腾记录</h1><p>作者：Kfjie（None）</p>
        
          <p>这篇记录一下之前在服务器上折腾视频模型微调的过程。</p>
<p>用的是 Video-ORA，任务是让模型看视频，输出值得保留的时间段，再交给后面的程序剪辑。我这边做 SFT，也就是拿视频和对应答案做监督微调，用 LoRA 训练少量附加参数。</p>
        
        <hr><p>本文2026-10-29首发于<a href='https://kfjie.me/'>kj’s blog</a>，最后修改于2026-10-29</p>]]></description><category>Notes</category></item><item><title>记录：链表反转</title><link>https://kfjie.me/post/reverse-linked-list/</link><pubDate>Sun, 18 Oct 2026 20:00:00 +0800</pubDate><author>None (Kfjie)</author><guid>https://kfjie.me/post/reverse-linked-list/</guid><description>
<![CDATA[<h1>记录：链表反转</h1><p>作者：Kfjie（None）</p>
        
          <p>r：单链表全反转</p>
<h2 id="先看这组链表">
<a class="header-anchor" href="#%e5%85%88%e7%9c%8b%e8%bf%99%e7%bb%84%e9%93%be%e8%a1%a8"></a>
先看这组链表
</h2><p>比如现在有这样一组链表：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">head
</span></span><span class="line"><span class="cl"> ↓
</span></span><span class="line"><span class="cl"> 1 → 2 → 3 → 4 → null
</span></span></code></pre></div><p>保持图中各个节点的位置不动，我们要把节点之间的指向反过来：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">null ← 1 ← 2 ← 3 ← 4
</span></span><span class="line"><span class="cl">                   ↑
</span></span><span class="line"><span class="cl">                  head
</span></span></code></pre></div><p>原来 <code>1</code> 是头节点，没有前一个节点；反转之后，<code>1</code> 就变成尾节点，它的 <code>next</code> 应该指向 <code>null</code>，新的头节点则是 <code>4</code>。</p>
        
        <hr><p>本文2026-10-18首发于<a href='https://kfjie.me/'>kj’s blog</a>，最后修改于2026-10-18</p>]]></description><category>Notes</category></item><item><title>ChatGPT 优惠 Checkout 的 iDEAL 提链记录</title><link>https://kfjie.me/post/chatgpt-trial-ideal-redirect-extraction/</link><pubDate>Thu, 20 Aug 2026 00:10:00 +0800</pubDate><author>None (Kfjie)</author><guid>https://kfjie.me/post/chatgpt-trial-ideal-redirect-extraction/</guid><description>
<![CDATA[<h1>ChatGPT 优惠 Checkout 的 iDEAL 提链记录</h1><p>作者：Kfjie（None）</p>
        
          <p>这篇整理一下 2026 年 7-8 月前后短暂能跑的 iDEAL 提链路线。后来 iDEAL 限制明显收紧，也开始搞一号一扫了。这里保留当时观察到的请求和状态变化。</p>
<blockquote>
<p><strong>声明</strong>：本文参考了开源社区的已有项目和提链脚本。我做的部分主要是把链接提取和后续支付流程串起来。相关接口与风控规则随时可能变化，这里只作协议研究和排错记录。</p>
        
        <hr><p>本文2026-08-20首发于<a href='https://kfjie.me/'>kj’s blog</a>，最后修改于2026-08-20</p>]]></description><category>Notes</category></item><item><title>ChatGPT 优惠 Checkout 直卡绑定记录</title><link>https://kfjie.me/post/chatgpt-trial-direct-card-extraction/</link><pubDate>Thu, 20 Aug 2026 00:00:00 +0800</pubDate><author>None (Kfjie)</author><guid>https://kfjie.me/post/chatgpt-trial-direct-card-extraction/</guid><description>
<![CDATA[<h1>ChatGPT 优惠 Checkout 直卡绑定记录</h1><p>作者：Kfjie（None）</p>
        
          <p>这篇补一份 2026 年 8 月前后跑通的 ChatGPT 优惠 Checkout 直卡记录。当时采用“先绑卡，再创建 Checkout”，用来处理特定卡头在结账页直接提交时容易被拒的问题。</p>
<blockquote>
<p><strong>声明</strong>：本文参考了开源社区的已有项目。我做的部分主要是把订单创建和自动支付流程串起来。相关接口与风控规则随时可能变化，这里只作协议研究和排错记录，请勿用于非法用途。</p>
        
        <hr><p>本文2026-08-20首发于<a href='https://kfjie.me/'>kj’s blog</a>，最后修改于2026-08-20</p>]]></description><category>Notes</category></item><item><title>树莓派 4 VNC 白屏解决方案</title><link>https://kfjie.me/post/raspberry-pi-4-vnc-white-screen-solution/</link><pubDate>Tue, 17 Feb 2026 23:55:00 +0800</pubDate><author>None (Kfjie)</author><guid>https://kfjie.me/post/raspberry-pi-4-vnc-white-screen-solution/</guid><description>
<![CDATA[<h1>树莓派 4 VNC 白屏解决方案</h1><p>作者：Kfjie（None）</p>
        
          <p>在使用 Raspberry Pi 4B (4GB, Rev 1.5) 搭载 Raspberry Pi OS (64-bit) 时，初次配置 SSH 并开启 VNC Server 后，使用 RealVNC Viewer 连接可能会遇到白屏问题（仅能显示右键菜单）。这通常是因为系统默认使用的 Wayland 显示服务器与 RealVNC 不兼容导致的。</p>
        
        <hr><p>本文2026-02-17首发于<a href='https://kfjie.me/'>kj’s blog</a>，最后修改于2026-02-17</p>]]></description><category>Notes</category></item><item><title>Linux 服务器目录结构详解</title><link>https://kfjie.me/post/understanding-the-server/</link><pubDate>Sat, 07 Feb 2026 21:18:00 +0800</pubDate><author>None (Kfjie)</author><guid>https://kfjie.me/post/understanding-the-server/</guid><description>
<![CDATA[<h1>Linux 服务器目录结构详解</h1><p>作者：Kfjie（None）</p>
        
          <p>Linux 文件系统采用树状结构，所有文件和目录都起始于 <strong>根目录</strong> (<code>/</code>)。</p>
<h2 id="linux-文件系统结构图">
<a class="header-anchor" href="#linux-%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%bb%93%e6%9e%84%e5%9b%be"></a>
Linux 文件系统结构图
</h2><pre class="mermaid">
  graph LR
    Root["/ (根目录)"]

    subgraph sg_core [核心系统]
        Usr["/usr/"]
        Boot["/boot/"]
        LinkBin["/bin, /sbin, /lib*"]
    end
    
    LinkBin -.-> Usr
    Root --> Usr
    Root --> Boot

    Usr --> UsrBin["bin/ (git, python3)"]
    Usr --> UsrSbin["sbin/ (nginx)"]
    Usr --> UsrLocal["local/ (手动安装)"]
    Usr --> UsrLib["lib/ (库文件)"]

    subgraph sg_data [配置与数据]
        Etc["/etc/"]
        Var["/var/"]
        Tmp["/tmp/"]
    end

    Root --> Etc
    Root --> Var
    Root --> Tmp

    Etc --> NginxConf["nginx/"]
    Etc --> Systemd["systemd/system/"]
    Etc --> Ssh["ssh/"]

    Var --> Log["log/"]
    Var --> Www["www/"]

    subgraph sg_apps [应用软件]
        Opt["/opt/"]
        Snap["/snap/"]
    end

    Root --> Opt
    Root --> Snap
    
    Opt --> OpenList["openlist/"]

    subgraph sg_users [用户空间]
        Home["/home/"]
        RootHome["/root/"]
    end
    
    Root --> Home
    Root --> RootHome

    subgraph sg_virtual [虚拟文件系统]
        DirProc["/proc/"]
        DirSys["/sys/"]
        DirDev["/dev/"]
        DirRun["/run/"]
    end

    Root --> DirProc
    Root --> DirSys
    Root --> DirDev
    Root --> DirRun

    subgraph sg_mounts [外部存储]
        Mnt["/mnt/"]
        Media["/media/"]
    end

    Root --> Mnt
    Root --> Media
</pre><hr>
<h2 id="1-核心系统目录">
<a class="header-anchor" href="#1-%e6%a0%b8%e5%bf%83%e7%b3%bb%e7%bb%9f%e7%9b%ae%e5%bd%95"></a>
1. 核心系统目录
</h2><h3 id="bin--sbin-binaries">
<a class="header-anchor" href="#bin--sbin-binaries"></a>
bin &amp; sbin (Binaries)
</h3><ul>
<li><strong>用途</strong>：存放可执行命令。</li>
<li><strong>说明</strong>：
<ul>
<li><strong>bin</strong>：存放所有用户皆可使用的基础命令，如 <code>ls</code>, <code>cp</code>, <code>mv</code> 等。</li>
<li><strong>sbin</strong>：存放主要用于系统管理的命令，通常只有管理员权限才能执行，如 <code>reboot</code>, <code>fdisk</code> 等。</li>
</ul>
</li>
</ul>
<h3 id="etc-etceteraconfiguration">
<a class="header-anchor" href="#etc-etceteraconfiguration"></a>
etc (Etcetera/Configuration)
</h3><ul>
<li><strong>用途</strong>：存放系统及软件的配置文件。</li>
<li><strong>说明</strong>：Nginx 配置、用户账户信息、网络配置等均位于此处。修改此目录下的文件会直接影响系统或服务的运行行为。
<ul>
<li>例如：我的 Nginx 配置文件位于 <code>/etc/nginx/nginx.conf</code>。</li>
</ul>
</li>
</ul>
<h3 id="lib-lib64-libraries">
<a class="header-anchor" href="#lib-lib64-libraries"></a>
lib, lib64 (Libraries)
</h3><ul>
<li><strong>用途</strong>：存放系统共享库。</li>
<li><strong>说明</strong>：类似于 Windows 的 <code>.dll</code> 文件，为系统中的程序提供运行时支持。</li>
</ul>
<h3 id="systemd-system-daemons">
<a class="header-anchor" href="#systemd-system-daemons"></a>
systemd (System Daemons)
</h3><ul>
<li><strong>关键目录</strong>：<code>/etc/systemd/system/</code></li>
<li><strong>用途</strong>：<strong>管家大本营</strong>。</li>
<li><strong>说明</strong>：这里存放着“服务配置文件” (<code>.service</code> 文件)。
<ul>
<li>当你运行 <code>systemctl enable nginx</code> 或 <code>systemctl start frps</code> 时，系统其实就是去这里找对应的文件。</li>
<li><strong>docker.service.d/</strong>：Docker 服务的自定义配置目录（如代理设置）。</li>
<li>如果你想让某个程序开机自动运行，你就得往这里丢一个配置文件。</li>
</ul>
</li>
</ul>
<h3 id="boot-boot-loader">
<a class="header-anchor" href="#boot-boot-loader"></a>
boot (Boot Loader)
</h3><ul>
<li><strong>用途</strong>：启动文件。</li>
<li><strong>说明</strong>：存放内核 (<code>vmlinuz</code>) 和启动引导程序 (GRUB)。一般不用动，除非你在修这台机器的启动问题。</li>
</ul>
<hr>
<h2 id="2-软件都在哪software-locations">
<a class="header-anchor" href="#2-%e8%bd%af%e4%bb%b6%e9%83%bd%e5%9c%a8%e5%93%aasoftware-locations"></a>
2. 软件都在哪？(Software Locations)
</h2><p>在 Linux 下，软件不像 Windows 那样集中在 <code>Program Files</code>，而是根据安装方式分散在不同位置。以下是我服务器上的实际情况：</p>
        
        <hr><p>本文2026-02-07首发于<a href='https://kfjie.me/'>kj’s blog</a>，最后修改于2026-02-07</p>]]></description><category>Notes</category></item></channel></rss>