<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Gavin Liu</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <icon>https://gavinliu.cn/img/favicon.png</icon>
  <id>https://gavinliu.cn/</id>
  <link href="https://gavinliu.cn/" rel="alternate"/>
  <link href="https://gavinliu.cn/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Gavin Liu</rights>
  <subtitle>代码人生与科技生活</subtitle>
  <title>Gavin Liu - 代码人生与科技生活</title>
  <updated>2026-09-18T16:33:42.018Z</updated>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="AIGC" scheme="https://gavinliu.cn/categories/AIGC/"/>
    <category term="Stable Diffusion" scheme="https://gavinliu.cn/tags/Stable-Diffusion/"/>
    <category term="Stable Diffusion 基础" scheme="https://gavinliu.cn/tags/Stable-Diffusion-%E5%9F%BA%E7%A1%80/"/>
    <id>https://gavinliu.cn/2023/09/03/eb04f5f4b7b4.html</id>
    <link href="https://gavinliu.cn/2023/09/03/eb04f5f4b7b4.html"/>
    <published>2023-09-03T15:21:54.000Z</published>
    <summary>
      <![CDATA[<h2 id="前言"><a href="#前言" class="headerlink"]]>
    </summary>
    <title>Stable Diffusion 基础 4 | 文生图功能拆解</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="AIGC" scheme="https://gavinliu.cn/categories/AIGC/"/>
    <category term="Stable Diffusion" scheme="https://gavinliu.cn/tags/Stable-Diffusion/"/>
    <category term="Stable Diffusion 基础" scheme="https://gavinliu.cn/tags/Stable-Diffusion-%E5%9F%BA%E7%A1%80/"/>
    <id>https://gavinliu.cn/2023/08/17/472fd093cf4f.html</id>
    <link href="https://gavinliu.cn/2023/08/17/472fd093cf4f.html"/>
    <published>2023-08-17T15:21:54.000Z</published>
    <summary>
      <![CDATA[<h2 id="什么是提示词"><a href="#什么是提示词" class="headerlink" title="什么是提示词"></a>什么是提示词</h2><p>讲提示词前，需要给大家先讲一个概念]]>
    </summary>
    <title>Stable Diffusion 基础 3 | 提示词快速上手</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="AIGC" scheme="https://gavinliu.cn/categories/AIGC/"/>
    <category term="Stable Diffusion" scheme="https://gavinliu.cn/tags/Stable-Diffusion/"/>
    <category term="Stable Diffusion 基础" scheme="https://gavinliu.cn/tags/Stable-Diffusion-%E5%9F%BA%E7%A1%80/"/>
    <id>https://gavinliu.cn/2023/08/10/c414370b5334.html</id>
    <link href="https://gavinliu.cn/2023/08/10/c414370b5334.html"/>
    <published>2023-08-10T12:21:54.000Z</published>
    <summary>
      <![CDATA[<h2 id="模型是什么？"><a href="#模型是什么？" class="headerlink"]]>
    </summary>
    <title>Stable Diffusion 基础 2 | 模型快速上手</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="AIGC" scheme="https://gavinliu.cn/categories/AIGC/"/>
    <category term="Stable Diffusion" scheme="https://gavinliu.cn/tags/Stable-Diffusion/"/>
    <category term="Stable Diffusion 基础" scheme="https://gavinliu.cn/tags/Stable-Diffusion-%E5%9F%BA%E7%A1%80/"/>
    <id>https://gavinliu.cn/2023/08/08/8d43c2363159.html</id>
    <link href="https://gavinliu.cn/2023/08/08/8d43c2363159.html"/>
    <published>2023-08-08T21:12:54.000Z</published>
    <summary>
      <![CDATA[<h2 id="Stable-Diffusion-是什么"><a href="#Stable-Diffusion-是什么" class="headerlink" title="Stable Diffusion 是什么"></a>Stable Diffusion]]>
    </summary>
    <title>Stable Diffusion 基础 1 | N 种安装上手方式</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Flutter" scheme="https://gavinliu.cn/tags/Flutter/"/>
    <category term="Dart" scheme="https://gavinliu.cn/tags/Dart/"/>
    <id>https://gavinliu.cn/2019/08/03/28c8bf9a2b0a.html</id>
    <link href="https://gavinliu.cn/2019/08/03/28c8bf9a2b0a.html"/>
    <published>2019-08-03T22:34:15.000Z</published>
    <summary>
      <![CDATA[<p>在 <code>Dart</code> 的 <code>Library</code> 中有很多返回 <code>Future</code> 或 <code>Steam</code> 对象的函数，他们都是异步函数。</p>
<p>在 <code>Dart</code>]]>
    </summary>
    <title>Flutter 基础 4 | Dart 异步编程</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Flutter" scheme="https://gavinliu.cn/tags/Flutter/"/>
    <category term="Dart" scheme="https://gavinliu.cn/tags/Dart/"/>
    <id>https://gavinliu.cn/2019/07/29/595461cfef0f.html</id>
    <link href="https://gavinliu.cn/2019/07/29/595461cfef0f.html"/>
    <published>2019-07-29T20:21:14.000Z</published>
    <summary>
      <![CDATA[<h2 id="Dart-运行平台"><a href="#Dart-运行平台" class="headerlink" title="Dart 运行平台"></a>Dart 运行平台</h2><p>首先需要了解下 Dart]]>
    </summary>
    <title>Flutter 基础 3 | Dart 核心库</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Flutter" scheme="https://gavinliu.cn/tags/Flutter/"/>
    <category term="Dart" scheme="https://gavinliu.cn/tags/Dart/"/>
    <id>https://gavinliu.cn/2019/07/27/25169a6bad3f.html</id>
    <link href="https://gavinliu.cn/2019/07/27/25169a6bad3f.html"/>
    <published>2019-07-27T22:34:15.000Z</published>
    <summary>
      <![CDATA[<p>本文主要是对 Dart 官网的 <code>Language tour</code> 的学习笔记，完整内容详细阅读官方文档</p>
<p><a]]>
    </summary>
    <title>Flutter 基础 2 | Dart 基础语法</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Flutter" scheme="https://gavinliu.cn/tags/Flutter/"/>
    <category term="Dart" scheme="https://gavinliu.cn/tags/Dart/"/>
    <id>https://gavinliu.cn/2019/07/26/4214776b99a2.html</id>
    <link href="https://gavinliu.cn/2019/07/26/4214776b99a2.html"/>
    <published>2019-07-26T21:37:42.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>Flutter 应用是使用 Dart 语言进行开发，所以不管语言怎么样，首先了解下相关的代码相关的规范是很有必要的。</p>
</blockquote>
<h2 id="代码风格"><a href="#代码风格"]]>
    </summary>
    <title>Flutter 基础 1 | Dart 代码规范</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="运维手册" scheme="https://gavinliu.cn/categories/%E8%BF%90%E7%BB%B4%E6%89%8B%E5%86%8C/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="环境搭建" scheme="https://gavinliu.cn/tags/%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/"/>
    <category term="服务器" scheme="https://gavinliu.cn/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <id>https://gavinliu.cn/2019/05/01/507565c2bbcf.html</id>
    <link href="https://gavinliu.cn/2019/05/01/507565c2bbcf.html"/>
    <published>2019-05-01T19:09:24.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>本篇介绍一下如何通过 WebDAV 备份服务器文件，可以用来备份服务器数据库、配置文件，日志等等</p>
</blockquote>]]>
    </summary>
    <title>服务器 | 基于 WebDAV 的服务器文件备份方案</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="我的项目" scheme="https://gavinliu.cn/categories/%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE/"/>
    <category term="App" scheme="https://gavinliu.cn/tags/App/"/>
    <category term="必看精选" scheme="https://gavinliu.cn/tags/%E5%BF%85%E7%9C%8B%E7%B2%BE%E9%80%89/"/>
    <id>https://gavinliu.cn/2018/07/16/8074de967928.html</id>
    <link href="https://gavinliu.cn/2018/07/16/8074de967928.html"/>
    <published>2018-07-16T22:06:36.000Z</published>
    <summary>
      <![CDATA[<h2 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h2><p>Snapmod 可以让您轻松的把截图添加到设备外壳中，您可以用它分享您的截图、壁纸或者]]>
    </summary>
    <title>Snapmod - 更好用的带壳截图软件</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="运维手册" scheme="https://gavinliu.cn/categories/%E8%BF%90%E7%BB%B4%E6%89%8B%E5%86%8C/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="环境搭建" scheme="https://gavinliu.cn/tags/%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/"/>
    <category term="服务器" scheme="https://gavinliu.cn/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <id>https://gavinliu.cn/2018/05/29/bf70d57c5a96.html</id>
    <link href="https://gavinliu.cn/2018/05/29/bf70d57c5a96.html"/>
    <published>2018-05-29T11:05:58.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>为了服务器的安全一般都会在 Linux 上配置防火墙，对于一般开发者而言来说想要搞懂 iptable 这些东西，要花不少时间。UFW 就是一款 Linux 管理防火墙规则的工具，通过简单的几行命令使防火墙配置变得非常简单。</p>
</blockquote>]]>
    </summary>
    <title>服务器 | UFW - Linux 上最简单的防火墙配置工具</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Android" scheme="https://gavinliu.cn/tags/Android/"/>
    <id>https://gavinliu.cn/2017/04/25/58243d002fd0.html</id>
    <link href="https://gavinliu.cn/2017/04/25/58243d002fd0.html"/>
    <published>2017-04-25T22:51:38.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>增量更新技术源于 <code>Android 4.1</code> Google Play 引入的一项技术，以实现 apk 升级节约 2&#x2F;3 的流量。Google 把这个功能叫做 <code>Smart App Updates</code>。</p>
</blockquote>]]>
    </summary>
    <title>Android | JNI 移植 bspatch 实现增量更新功能</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Android" scheme="https://gavinliu.cn/tags/Android/"/>
    <id>https://gavinliu.cn/2017/04/15/f2ddf4da38bf.html</id>
    <link href="https://gavinliu.cn/2017/04/15/f2ddf4da38bf.html"/>
    <published>2017-04-15T17:54:21.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>Java Native Interface(Java 本地接口) 简称 JNI，是一种编程框架，使得 JVM 中的 Java 程序 可以调用本地应用&#x2F;或库，也可以被其他程序调用。其过程可以不负责任的理解成 Java 的反射，因为代码逻辑和反射调用很像。</p>
</blockquote>]]>
    </summary>
    <title>Android | 写给 Android 应用开发者的 JNI 快速入门指北</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Android" scheme="https://gavinliu.cn/tags/Android/"/>
    <id>https://gavinliu.cn/2017/04/12/2ba6531d7673.html</id>
    <link href="https://gavinliu.cn/2017/04/12/2ba6531d7673.html"/>
    <published>2017-04-12T17:43:46.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>据非官方不负责任的统计，有百分之八十的 Android 应用开发者，不会或者很少有机会写 C&#x2F;C++。<br>如果你是一个有追求的程序员，还是把 C 语言捡起来吧。</p>
</blockquote>]]>
    </summary>
    <title>Android | 写给 Android 应用开发者的 C 语言快速入门指北</title>
    <updated>2026-09-18T16:33:42.018Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Android" scheme="https://gavinliu.cn/tags/Android/"/>
    <category term="FFmpeg" scheme="https://gavinliu.cn/tags/FFmpeg/"/>
    <id>https://gavinliu.cn/2017/03/21/2e911dd486d9.html</id>
    <link href="https://gavinliu.cn/2017/03/21/2e911dd486d9.html"/>
    <published>2017-03-21T11:02:53.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>Android 上使用命令运行 有直接导入 ffmpeg.c 源码 和 直接编译 ffmpeg 二进制执行文件，两种方式。<br>这篇介绍 直接编译 ffmpeg 二进制执行文件</p>
</blockquote>]]>
    </summary>
    <title>Android | FFmpeg 命令行运行方式 2</title>
    <updated>2026-09-18T16:33:42.017Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Android" scheme="https://gavinliu.cn/tags/Android/"/>
    <category term="FFmpeg" scheme="https://gavinliu.cn/tags/FFmpeg/"/>
    <id>https://gavinliu.cn/2017/03/21/ca2f8be1d455.html</id>
    <link href="https://gavinliu.cn/2017/03/21/ca2f8be1d455.html"/>
    <published>2017-03-21T11:02:50.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>Android 上使用命令运行 有直接导入 ffmpeg.c 源码 和 直接编译 ffmpeg 二进制执行文件，两种方式。<br>这篇介绍 导入 ffmpeg.c 源码的方式</p>
</blockquote>]]>
    </summary>
    <title>Android | FFmpeg 命令行运行方式 1</title>
    <updated>2026-09-18T16:33:42.017Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Android" scheme="https://gavinliu.cn/tags/Android/"/>
    <id>https://gavinliu.cn/2017/03/20/2a69045c34b2.html</id>
    <link href="https://gavinliu.cn/2017/03/20/2a69045c34b2.html"/>
    <published>2017-03-20T00:43:01.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>本文介绍一种相似图片搜索算法：感知哈希算法。这种算法是对每一张图片生成一个指纹，然后对比指纹，越接近就表示越相似。</p>
</blockquote>]]>
    </summary>
    <title>Android | 一种相似图片搜索算法的实现</title>
    <updated>2026-09-18T16:33:42.017Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="运维手册" scheme="https://gavinliu.cn/categories/%E8%BF%90%E7%BB%B4%E6%89%8B%E5%86%8C/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="环境搭建" scheme="https://gavinliu.cn/tags/%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/"/>
    <category term="服务器" scheme="https://gavinliu.cn/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
    <id>https://gavinliu.cn/2017/03/17/b39f48972d17.html</id>
    <link href="https://gavinliu.cn/2017/03/17/b39f48972d17.html"/>
    <published>2017-03-17T20:02:59.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>Supervisor 是一个服务器软件启动管理工具，使用它可以方便的启动关闭服务器端的程序，并监控进程状态。</p>
</blockquote>]]>
    </summary>
    <title>服务器 | Supervisor 使用小结</title>
    <updated>2026-09-18T16:33:42.017Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Android" scheme="https://gavinliu.cn/tags/Android/"/>
    <category term="FFmpeg" scheme="https://gavinliu.cn/tags/FFmpeg/"/>
    <id>https://gavinliu.cn/2017/03/14/055ec18cc51e.html</id>
    <link href="https://gavinliu.cn/2017/03/14/055ec18cc51e.html"/>
    <published>2017-03-14T16:22:44.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p><a href="/2017/03/05/8a2b6d7863c0.html">上篇</a>讲了如何编译 FFmpeg for android，但是里面包含了多个 so 库，很多时候我们希望只有一个 so 库，这篇介绍如何打包成一个库。</p>
</blockquote>]]>
    </summary>
    <title>Android | FFmpeg 编译成单 so 库</title>
    <updated>2026-09-18T16:33:42.017Z</updated>
  </entry>
  <entry>
    <author>
      <name>Gavin Liu</name>
    </author>
    <category term="研发小记" scheme="https://gavinliu.cn/categories/%E7%A0%94%E5%8F%91%E5%B0%8F%E8%AE%B0/"/>
    <category term="代码人生" scheme="https://gavinliu.cn/tags/%E4%BB%A3%E7%A0%81%E4%BA%BA%E7%94%9F/"/>
    <category term="Android" scheme="https://gavinliu.cn/tags/Android/"/>
    <category term="FFmpeg" scheme="https://gavinliu.cn/tags/FFmpeg/"/>
    <id>https://gavinliu.cn/2017/03/05/55f7d80e13cc.html</id>
    <link href="https://gavinliu.cn/2017/03/05/55f7d80e13cc.html"/>
    <published>2017-03-05T13:02:57.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>AndroidStudio 2.2 开始支持 <code>CMake</code> 编译，网上的文章清一色都是 <code>ndk-build</code>，记录一下我用 CMake 搭建环境的过程。</p>
</blockquote>]]>
    </summary>
    <title>
      <![CDATA[Android | FFmpeg & Mac & AndroidStudio & CMake 环境搭建]]>
    </title>
    <updated>2026-09-18T16:33:42.017Z</updated>
  </entry>
</feed>
