<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>漂流记录</title>
  <link>https://drifter.itea.dev</link>
  <description>独立开发者的日常记录和思考</description>
  <lastBuildDate>Fri, 08 May 2026 14:41:08 GMT</lastBuildDate>
  <language>en-US</language>
  <generator>drifter</generator>
<item>
  <title>升级你的工作流</title>
  <link>https://drifter.itea.dev/post/journal/升级你的工作流</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/升级你的工作流</guid>
  <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[随着项目的进度越发缓慢，我不得不停下来调整自己的工作流。而且有一段时间没有关注 AI 工作了，现在的工作方式也有些过时，所以这个月我开始把重心转移到了重建工作流的工作上。]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-升级你的工作流.jpg" alt="升级你的工作流" />
<small>随着项目的进度越发缓慢，我不得不停下来调整自己的工作流。而且有一段时间没有关注 AI 工作了，现在的工作方式也有些过时，所以这个月我开始把重心转移到了重建工作流的工作上。</small>
<p>新的一月，我没有急着去编写新的项目，因为我开始发现自己的执行力在下降，比如会卡在某个项目上，或者因为一些其他事情搁置项目。回顾所有的开发状态，这不如说这是经常发生的事情，我需要一个能进一步解放生产力的方法。最近 AI 的工具也开始有了新的变化，也是时候重新整理一下自己的工作流了。</p>
<h3>审视过时的开发工作流程</h3>
<p>我意识到我已经很久没有更新自己的工作流了，现在做的事情实际上和去年6月时建立的工作流没有太大差别，只是生成 demo 后修修改改，然后上线网站。</p>
<p>更多的，我几个月前的工作流主要靠 Github Copilot 和 V0 的免费使用额度来完成，因为局限于工具的使用次数，这也极大地限制了我的开发速度。</p>
<p>但是这个月，稍微有些不一样。1 月快接近月底的时候，OpenClaw 突然火遍了全网，这也引起了我的注意。但是，在看到 OpenClaw 删除了别人电脑上的所有邮件的消息后，我望而却步？就我个人看来，这个工具更适合部署在完全隔离的 linux 系统，甚至是 docker 容器里。</p>
<p>有天，我在 LinuxDo 里寻找 OpenClaw 的实际使用场景时，一条不如 OpenCode 可控的评论让我感到好奇，因为我这段时间完全没听说过。</p>
<p>我预感这是个有趣的东西，不想错过好玩的东西，顺便看看是什么工具能让别人做出这样的评价。</p>
<h3>我的开发习惯被新工具颠覆</h3>
<p>我在搜索引擎搜索了 OpenCode，顺藤摸瓜找到了 Github 仓库。看完后才知道，原来是 Claude Code 的开源替代品。</p>
<p>在这之前 Claude Code 也火过一段时间，多少看过一些博客和视频，但是这种作为闭源的工具，加上一些账号层面的限制，翻了翻教程还得做很多工作，抛开模型来说很多东西也并不完善，我就没了兴致。</p>
<p>相反的是，当我看到 OpenCode 时，我双眼放光，一下子就陷进去了。只是使用 npm 一行命令，加上 OpenCode 提供限时免费模型，直接就达到了开箱即用的体验。</p>
<p>随后，我理解了许多最近 AI 产生的新概念，插件和 SKILL等。没过多久，我找到到了 Oh My OpenCode 插件，在开启 Sisyphus 无确认模式的状态，加上无限制的模型使用，Vide Coding有如神助。</p>
<p>折腾完 OpenCode，我打开了正在写的项目，把一段需求扔给了 OpenCode，看着终端发呆，这个过程我完全不知道 AI 改了什么，只能让等它每次改完跑去翻 git 修改历史。</p>
<p>我看了眼 VsCode 上 Copilot 超额度的对话窗口，心里有点膈应，不止一次想把这个废物东西也换了。VsCode 虽然换不了，但是我至少想办法把烦人的 Copilot 关了。于是，我进入设置完全把它关闭了，然后卸载了插件。这下总算干净了许多，眼不见心不烦。</p>
<p>AI 代码编辑器自然有不少，但问题还是在于模型的使用限制，如果还是对话几次，那基本和 Copilot 没什么区别。所以，国外的 AI 代码编辑器我直接忽略了，想起来国内有个 Trae 编辑器，以前用的时候没什么新奇的地方。</p>
<p>到官网看了下，发现推出了为独立开发者使用的 Trae Solo 模式，能实时跟踪 AI 的修改过程，也提供了一些免费模型。这就是我想要的功能，实际上用下来效果也不错，足够用来代替 VsCode 中的 Copilot 了。</p>
<p>于是，我借助 OpenCode 代替了 V0，Trae 代替了 Copilot。从以前的 V0 构建项目 + Copilot 修改代码，变成了 OpenCode 构建项目 + Trae 修改代码。</p>
<h3>两本 A6 笔记簿之下的惯性</h3>
<p>有一天，我在外面闲逛的时候，冒出一些有趣的想法，随手就拿出收集记录，看着笔记软件上的文字我总觉得少了点什么。</p>
<p>回到家里，我才发现比起纸质笔记，电子笔记不能画出一些东西作为思考的辅助。想要在手机上画一些图形把笔记结合起来，那可太费劲了，如果有一本小笔记本，就能像以前考试的草稿纸一样，画出一些简单的图形辅助一下思考。</p>
<p>于是，我买了两本 A6 笔记簿，其实这并不是为了记录，只是我觉得随身的一本小笔记，在我独自外出的时候拿出来会很酷，偶尔还能画点东西。</p>
<p>我的记忆力并不算强，但对于短期的事情我很会清晰的记住，但是事情一多起来就会产生认知负荷，在思维活跃的时候更是灾难。所以，我通常会在当天超过 4 件事情的时候，把一些超出的事情记在笔记里。</p>
<p>实际上，我会记录很多东西，单论手机上的笔记软件就超过了 6 个软件，每一个都是为了特定领域的内容而记录的。虽然看起来规划的很好，但实际上有些没有逻辑的事情总是没法准确分类好，所以大部分记录就堆在一个笔记里。</p>
<p>我也尝试过使用电脑上的笔记程序，但是不久之后就直接忘掉了，过个几周才想起来有这回事。与其说是记录，不如说是丢进垃圾堆，沉迷使用程序很容易让人产生惰性。</p>
<p>当我拿到笔记本的时候，第一个感觉是恰到好处，A6 的大小只比手机大一些，可以把它摆在桌面的每一个角落。和 APP 笔记的最大不同，就是能被一眼看到，你不需要寻找再启动这些繁琐的过程，最多只是拿起笔记簿。</p>
<p>越是忙碌起来，我就越倾向于使用纸质笔记记录，相比拿起手机忘记要做的事，忘记要去打开手机上的笔记软件，转而去另外一些事带来的干扰，也能让我更专注做眼前的事情。</p>
<p>我看到的是简洁有力的存在感，不管你想不想做完记录的事情，这本笔记簿都会躺在桌面上。</p>
<p>只要手上还有这本笔记簿，我就可以不再按照感觉规划自己要做的事情，而是有想法就写到笔记上，想做些事情的时候，就看看笔记簿记录了什么。</p>
<h3>AI 工作流下的随心所欲</h3>
<p>在升级完成工作流后，我并没有继续开始写项目，而是对以前的项目进行了修改，网站适配了多语言，布局也调整了一下，看起来舒服了很多。</p>
<p>想起来，刚开始独立开发时的第一个月，写了三个小工具，原来的布局非常简陋，有时候回去使用这些工具的时候，才会发现一些设计和交互上的不合理。而仅仅过了一年，现在却能用三个晚上随意修改了，让我感叹 AI 技术的更迭如此之快。</p>
<p>虽然这几个网站的流量并不大，可能只有我在使用，但把黑历史擦掉的感觉，也是挺奇妙的。</p>
<p>代码的技术力稀释的越来越多严重了，甚至开始跨越到了设计领域。在未来，会有更多人通过写工具满足自己的需求，来得到较为可用的替代品。我想怎么在这些不完美的替代品上更进一步，就是作为独立开发者的工作了。</p>
<h3>生产力提高后的反思</h3>
<p>还记得最开始时，我还计划着以后写出上百个工具站点才冲击独立开发的 web 方向，想着以数量取胜。但是越往后越发现，这可能不适用于我。直到现在，我连申请 Google Ads 都还没通过。</p>
<p>去年一整年，加上我的博客站点，只不过十几个站点。总感觉出于我偏执的思维习惯，大概率会走上更极端的路线。</p>
<p>仔细想想，我还没有想方设法的去推广它们，相反的好像开始陷入一种想要打造的更完美的产品的误区。实际上只要一个工具能够解决问题，就应该有分享的价值，这也是个问题。对于开发者最好的解决方式，还是使用代码去解决问题。</p>
<p>每天我还是都习惯性的打开网站的流量统计看好几遍，即使每天的数据没有太大的变化，单纯只是让自己意识到写的东西还有在使用。因此，我决定计划为工具站加个 PV 统计，当这个数量到达一定数量就专注到推广上。</p>
<p>这一年最大的改变，也许就是在我所意识到的事情上，想办法变得更简单了一些。在代码侧的能力虽然很强，但是对于其他方面的事情完全是一窍不通，我必须打破边界，这样现在工作流才能继续延伸下去。</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-升级你的工作流.jpg" type="image/*" />
</item>
<item>
  <title>从产品建立你的基础设施</title>
  <link>https://drifter.itea.dev/post/journal/从产品建立你的基础设施</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/从产品建立你的基础设施</guid>
  <pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[虽然工作繁忙，但这两个月我还是编写了一个工具。同时，随着对独立开发流程的持续维护，我的基础项目数量也到达了 10 个，因此我打算推进独立开发探索到下一个阶段。]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-从产品建立你的基础设施.jpg" alt="从产品建立你的基础设施" />
<small>虽然工作繁忙，但这两个月我还是编写了一个工具。同时，随着对独立开发流程的持续维护，我的基础项目数量也到达了 10 个，因此我打算推进独立开发探索到下一个阶段。</small>
<p>这两个月开始，工作变得繁忙了，加上天气变凉，在独立开发中投入时间也少了许多。好在还是写完了一个网站工具。随着对独立开发流程的持续维护，我的基础项目数量也到达了 10 个，是时候进行下一个领域的探索了。</p>
<h3>产品功能的接力</h3>
<p>最近，我开始意识到工具页的局限性，如果开发完成没有人去使用，就代表这个产品已经死亡了。</p>
<p>于是我开始思考，既然大多数产品的结果必然是沉没，那有没有能够让沉没的工具接力到下一个产品呢？也许，你会说可以建立一个快速启动的项目模板。</p>
<p>我的确有在逐步建立这些东西，但是这也仅仅只是停留在代码层面上的接力，如果要在不同项目让功能接力下去，复制黏贴绝对是最吃力不讨好的一件事。</p>
<p>在思考途中，我想起了自己的 <a href="https://meta-thief.itea.dev/">Meta Thief</a>产品。这个工具在原有功能的基础上，还保留了 API 的访问方式，也因比我能顺利的把这个功能扩展到提供给 AI 的 MCP 服务里</p>
<p>所有的产品，都是基础建设，每个产品都能被另一个产品所使用，并且保持最小的侵入性。能做到这一点的，最合适的就是 API 服务了，甚至这在现在 AI 产品的形态下十分常见。</p>
<p>与其做一个可能无人问津的工具，不如让产品同时成为一个更灵活和可能性更多的 API 服务。所以，这之后我在构建的产品时，会开始有意识的预留一个 API 接口。</p>
<h3>让你的产品串联起来</h3>
<p>我的大多数项目主要以链接检查为主，实际上用户传入的只有一个链接，只要我提供一个入口将输入携带在另一个网站跳转链接的查询参数中，两个网站工具就能建立一层单向的跳转关系。</p>
<p>想到这里，我就着手给相似的网站工具增加跳转，把各自独立的工具串联起来，形成一个半封闭的流量循环。</p>
<p>这样的好处是，你不需要为用户提供一个杂乱的网站清单，而是无意识的点击，如果用户不需要随时可以回退到上一页。这或许比在网站的页脚放置一个相关工具，易用性来的可靠的多，因为这是隐式的，没有太多干扰。</p>
<p>如果能借助高访问量的网站带动低访问的网站，这也是个不错的方式。</p>
<p>现在想起来，最开始做的几个工具，没几乎没有一点联系，做到预想的完整功能后，我就没怎么去修改和维护了。</p>
<h3>维护项目初始化的模板</h3>
<p>最开始我还只是照着 AI 生成的项目，逐步调整成我想要的结构，慢慢的我发现这些 AI 工具实际上也是从 CLI 中构建完成的项目。那么，我完全可以自己维护一个 next 开发的项目模板，让它拉取项目后在这个结构的基础上进行项目生成，这应该会比我不断对话调整来的好的多。</p>
<p>其实，最开始我有考虑过开源项目的一些模板项目，但是因为这些项目集成了很多东西，使用起来复杂度很高。虽然这对 AI 大模型来说并不是什么问题，但是心智负担还是会回到我这个代码审查者身上。</p>
<p>现在我自己创建一个模板项目，按照需要集成一些简单的功能，就没有前面的担忧了。总之，还是需要对已有项目的代码进行一定程度上的萃取，这样下一个项目维护起来也会轻松一些。</p>
<h3>借助平台插件的流量</h3>
<p>在工作的这段时间，我发现一些需求下，业务因为有 DDL，所以对插件有很大的依赖性，甚至愿意付费去使用一些插件。作为一个前端开发，平时就需要从 uniapp 的插件市场中寻找一些可用的插件来缩短开发复杂度。</p>
<p>值得一提的是，大多数情况下使用这些插件都需要观看广告，或者付费使用，作为开发者的一种激励。</p>
<p>这种形态下的市场，比我想象中的稳定，特别是在某种功能被某个插件独占的情况下，只能选择付费。于是，我开始学习着将工作中的一些功能编写成插件的形式，并开启广告激励，这样我既能够在以后的工作中得到加速，也能完成一部分转化。</p>
<p>实际测试下来，这是有效的，我只是发布了 6 个插件，每月的广告收益显示就有一块左右。也许你会说，这还不如支付宝微信的利息，但是如果发布上百个，也是挺可观的。比起自己琢磨尚未产生收益的产品，另辟蹊径也是一种选择。</p>
<p>不过，uniapp 插件市场的提现限制是 100 元，收益仅保持两年，并会收取一部分提现手续费。所以这种收益应该不能作为收入的一部分，只不过赚一些微信小程序的认证门票费应该是足够的。</p>
<p>既然自己没法马上从零建立起自己的产品，退一步依附在已有产品的生态，之后在扩展出来也是一种不错的选择。</p>
<h3>从部分到整体的设想</h3>
<p>大多数开发者都会经历多个产品的试错过程，在这个过程中很多产品都会被丢弃，包括我也是一样，但这样其实有点可惜，试错的产品本应该成为其他产品的有形资产，不应该只留下开发经验和产品过程这样简单，死去的产品不应该成为故事。</p>
<p>每个大型项目的雏形，最初都源于一个微小的功能需求。虽然原型开发速度很快，但一旦投入时间进行维护和迭代，就需要对产品功能长期规划。</p>
<p>更多的时候，每次开发新产品时，应该像制作零件一样。单个零件本身并不重要，关键是怎么让它在整个设施中开始运作。这可以是项目的 API，也可以一个插件，更可以是独立的 SaaS 服务。</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-从产品建立你的基础设施.jpg" type="image/*" />
</item>
<item>
  <title>保持专注的心流状态</title>
  <link>https://drifter.itea.dev/post/journal/保持专注的心流状态</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/保持专注的心流状态</guid>
  <pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[这个月在遭受 AI 攻击的状态下，我在巧合中的解决了这个问题。但是因为此前大量时间的投入，还得处理其他搁置的事情。所以，我决定优先处理其他事情，将独立开发工作放到后面。]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-保持专注的心流状态.jpg" alt="保持专注的心流状态" />
<small>这个月在遭受 AI 攻击的状态下，我在巧合中的解决了这个问题。但是因为此前大量时间的投入，还得处理其他搁置的事情。所以，我决定优先处理其他事情，将独立开发工作放到后面。</small>
<p>又过去了一个月，在遭受 AI 攻击的状态下，我花了大量时间学习如何防御 AI 的流量工具。幸运的是，我在巧合下找到了 AI 攻击网站的原因。同时，我也成功将网站完全迁移入了 Cloudflare。期间也进行了一些探索，但是因为此前大量时间的投入，我也不得不处理其他搁置的事情。</p>
<h2>在意外中崩塌的城堡</h2>
<p>在10月份，我突然收到了来自 Vercel 超额的警告邮件，我连忙查看了流量来源，结果是我的主站受到多个 AI 爬虫的攻击。</p>
<p>一夜之间，我部署在 Vercel 的网站全部不再可用，账号有很长一段时间改处于暂停状态，最后只能新建一个账号。</p>
<p>为了恢复所有网站，我花了长一段时间将大部分网站迁移到了 Cloudflare Pages 和 Netlify。</p>
<p>途中看到腾讯推出了 edgeOne，所以我顺手部署了玩了一下，虽然可用性不错，但是国内这种产品基本上过一段时间就会被腰斩，所以我还是想办法把这些的网站迁移进了 Cloudflare Pages。</p>
<p>后来，在某个夜晚我更新了robots.txt的抓取规则，第二天的请求突然直接降低到了几千。这下我才知道，原来AI一直在抓取我的网页中用于标签筛选的查询链接，导致循环抓取，这种情况我也只能对这些暴力抓取的 AI 苦笑。</p>
<p>还好我只是损失了半个月多的开发时间，并没有遭受额外的损失，我也因为这个研究一些网站被攻击的对策，总的上有得有失，就方式模拟被攻击了吧，毕竟互联网上还是不乏有一些坏人。</p>
<p>总之，一些比较重要的网站，还是部署到 Cloudflare 吧，这样也省的后续迁移网站。</p>
<h2>给未来的支持者们</h2>
<p>在处理完爬虫攻击的剩余时间，我开始构建属于自己的<a href="https://sponsor.itea.dev">赞助页</a>。我看到过一些开发者给自己的建立了一些赞助页，比起直接放一个二维码，我觉得更友好一些，后续只要把链接放上去就行了。</p>
<p>当然，并不说我也想要求一些赞助，即使有一些赞助也并不能让我真正完成独立开发生活这一个长久目标。不过，对于以后有支持我想法的人，还是应该建立一个赞助的感谢界面。</p>
<p>所以，在 V0 的协助下，所以我很快就把赞助页建设好了，随后我也更新了博客和主站的页脚。</p>
<p>有一个遗憾的是，我现在还没有能够开通 github sponsor 和 buy me acoffee 的条件，无奈下只能暂时保留，只留下了国内的赞助二维码。也许，未来有一天我能够处理这件事，现在就顺其自然吧。</p>
<h2>内容持续与共建</h2>
<p>我整理了漂流简报的每一期内容，为其创建了一个开源仓库<a href="https://github.com/isixe/swaying">swaying</a>。以后的漂流简报也会同步发布到这个仓库，</p>
<p>在最初的三个月独立开发探索中，我就计划着完成这些事情，以此来减轻长久以后的内容枯竭。而现在我总算完成了这些事情，做完了准备工作，现在就只需要等待停留在小站上的观众了。</p>
<p>如果有小伙伴想要分享自己的产品或者独立开发文章，也可以发布一个 issue。每期的漂流简报也会参考这些内容，选取一部分投稿作为简报的推荐。</p>
<h2>简易版的产品开发状态通知</h2>
<p>我在<a href="https://itea.dev">漂流实验室</a>的顶部加上了产品的开发和上线状态卡片，这样当我准备下一个产品时，就可以先完善产品的宣传，或者放置一个最小可用的链接。</p>
<p>原本我还尝试增加邮件订阅功能，以前给<a href="https://drifter.itea.dev">漂流</a>寻找邮箱通知服务时调研过一些邮箱服务，其中还有用于邮件营销的服务商。但深入研究后发现有关邮件营销的服务非常复杂，如果想要完全独立于平台发送订阅邮件，免不了花费几个月的时间，即使是开源社区也没有很好的接入方案。</p>
<p>最后，考虑到这类 CRM 邮件的复杂性，短时间并不能快速集成，也许我应该将这个功能搁置，先寻找替代方案。等以后再完成这个想法，再着手建立一个自己编写的 <code>Wait List</code> 项目。</p>
<h2>维持心流的运行</h2>
<p>因为最近的事情有点多，导致我没有及时整理其他事情，比如类似整理工作中的代码、写独立开发者博客和写新产品这些事情。</p>
<p>如果放着这些事情不管，后面可能会堆积起来，直到自己完全忘记或者不做，这样就有点可惜了，我还是想都捡起来。</p>
<p>现在想起来，以前也有没做的事情，长久之后就变成了一种执念。每次空闲下来都会想起来，但是不能马上做完，很容易给自己增加心智负担。</p>
<p>所以为了不被这些事情干扰，所以我打算优先解决这些事情，在处理独立开发这边的事情。当然，这也包括现在刚写完的漂流记录。</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-保持专注的心流状态.jpg" type="image/*" />
</item>
<item>
  <title>浇灌独立开发的树苗</title>
  <link>https://drifter.itea.dev/post/journal/浇灌独立开发的树苗</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/浇灌独立开发的树苗</guid>
  <pubDate>Sun, 28 Sep 2025 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[这个月我大幅度减缓了开发进度，保持着1个月开发一个工具项目的状态，让工作和独立开发达到了平衡。同时，考虑到自己的需求枯竭和没法达成目标，我计划着准备开始探索下一个方向]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-浇灌独立开发的树苗.jpg" alt="浇灌独立开发的树苗" />
<small>这个月我大幅度减缓了开发进度，保持着1个月开发一个工具项目的状态，让工作和独立开发达到了平衡。同时，考虑到自己的需求枯竭和没法达成目标，我计划着准备开始探索下一个方向</small>
<p>这个月我大幅度减缓了开发进度，保持着 1 个月开发一个工具项目的状态，让工作和独立开发达到了平衡。同时，考虑到自己的需求枯竭和没法达成目标，我计划着准备开始探索下一个方向。</p>
<h3>氛围编程成为了开发者的风向标</h3>
<p>最近，开始意识到以前我所尝试的对话编程原来有个概念，叫作 Vibe Coding。其实，刚开始看到我并没有太在意，因为 AI 圈子里隔一段时间就造个新词营销，也是很常见的事情了。</p>
<p>但这个新词开始出现在每天的信息流里，我就有点好奇，就去搜索了下这个词的来源。原来，这个概念在年初就有了。</p>
<p>现在的 AI 编程能力还在一直提高，大家都开始关注新的开发方式，开发的时候有个好帮手，确实可以让自己放心一些。</p>
<p>不过，也有开发者开始变成了只氛围不编程的状态。但是，追求效率的同时，Vibe Coding 也是在以成倍的速度生成不可控的代码。那些功能堆积成山的代码，是不会有人愿意去维护的，如果你需要让这些代码变得可控，就不可避免的每隔一段时间进行重构。</p>
<p>当然，不去重构 AI 生产的代码这也没什么问题，只是做出了取舍，只要控制得当，结果也是好的，没有什么比确认想法落地更重要。只不过，前提是不能把这些烂摊子丢给其他人。</p>
<p>对于独立开发者来说，没有参与感的产品，开发者能否对产品拥有绝对的信心，这将会持续影响着开发者的热情。</p>
<h3>无法成形的开发蓝图</h3>
<p>两个月前，我把 <a href="https://itea.dev">作品集</a> 作为主域名开始申请 Google Adsense，打着建立足够多的流量工具站的小算盘。</p>
<p>最开始的审核时间长达两周，在这个过程中我反复确认了放置的验证代码，说实话这让我有点不太耐烦。为此，我特地写了叫作 <a href="https://itea.dev/project/AdSenseDetective">AdSense Detective</a> 的一个检测工具，这之后我才放下心来，继续等待审核通过。</p>
<p>结果两周后，我收到了一封邮件，告知我的申请并没有通过。后续我也做了一些调整，申请了好几次，但是都以失败告终。</p>
<blockquote>
<p>我们的团队已完成审核，但遗憾的是，您的网站目前还没有完全达到要求，尚无法展示广告。您需要先纠正网站上存在的一些问题，然后您的网站才可以开始展示广告。</p>
</blockquote>
<p>每次收到的邮件都不会明确指出网站存在的问题，只是模糊的告诉你存在一些问题。</p>
<p>依靠谷歌广告这件事，走不通了。</p>
<h3>转向下一个路标</h3>
<p>既然谷歌广告没法通过，那就暂时找找替代品，然后找到了一个万维广告的国内广告联盟，申请需要网站访问量达到 10w 以上。</p>
<p>我在 v2ex 中收集独立开发者文章和作品的时候，看到过这个广告平台开发者的帖子，已经有些年月了。当时开发者还在询问这种平台是否可行，现在来看，显然他们是成功走上这条赛道了。</p>
<p>另外，我在一些国内的 UI 组件库文档有时也能看到万维广告的影子，也许以后值得一试。</p>
<p>到现在为止，我已经开发了8个工具项目了，无一例外都开源而且没有收益，当然也有个人因素在里面，而现在我没有做小工具的灵感了。也许，我应该前往下一个地方，是浏览器扩展，也可能是小程序或者APP。总之，当我完成第 10 个项目时，我就会准备开始新的探索。</p>
<h3>减法的艺术</h3>
<p>最近一个月花费时间在了一个 CSS 样式工具上，原本只是想要写一个替代工具，用来收集简单的预定义 CSS 样式。因为不断加入新的想法，又增加了样式编辑预览同步配置，这严重打乱了我的开发节奏。</p>
<p>最后，不得以把想要加入的新功能都砍掉，只保留最简单预览和复制。结果就是这个工具一天就完成了。</p>
<p>那一天，我覆盘这件事的时候想起了这样一句话：“多学会做减法。”</p>
<p>有时候，功能的丰富度不是最重要的，大多数的软件的功能都是在成型之后，逐步迭代建立起来的。所以，如果在工具建立的早期时候，只需要保留最原始的功能就足够了。</p>
<p>大部分工具我们用的并不多，即使缺少一两个附加功能，也总能找到其他方式完成。所以与其在不知道何时实现的功能上折磨自己，不如寻找其他办法，或者单独再写一个工具。</p>
<p>总之，比起做加法，不如做减法，考虑写什么样的东西对自己负担是最小的，而不是，还没完成的功能拖着跑，最后什么都没做出来就放弃了。</p>
<h3>于是走近生活</h3>
<p>随着开发产品开始放缓，我为了保持每个月完成一个工具，经常搁置生活的其他事情很久。有时候我会开始在意，这样一直写工具，真的能到达我想要的独立开发生活吗。我不知道，只是有个声音在说：“这还不够，还不能抵抗未来的风险。”</p>
<p>现在我做到了持续产出产品，运营博客和公众号，在社交媒体营销活跃等等。我明白，现在已经做了足够多的东西，导致我没法停下来，在没有收益和追随者的状态下，缺少一份坚持下去的情绪，只能凭借自身的约束力来完成这些事情。</p>
<p>我确实创造和找到了一些新的东西，但是那只存在于网络上，而在现实里，我还是停滞在一个擅长写代码的人的状态。我始终还是认为自己被代码约束了，以至于忘记了去看看身边的风景。</p>
<p>所以我提出了一个问题，我的生活有独立的色彩了吗？</p>
<p>没有，我始终没有走出那个放置电脑的昏暗房间，想要记录和观察生活的意识也开始变淡，想要急于完成某样东西的情绪却开始泛滥，我可能还是讨厌工作，但是又不得不为了抵抗工作而投入更多时间在独立开发上。所以，我应该找个时间停下来好好想想，独立开发如何继续融入我的生活。也许，下一个产品并不是最重要的事情，而是它是否能够改变我的生活。</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-浇灌独立开发的树苗.jpg" type="image/*" />
</item>
<item>
  <title>在任何时间推广你的产品</title>
  <link>https://drifter.itea.dev/post/journal/在任何时间推广你的产品</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/在任何时间推广你的产品</guid>
  <pubDate>Sat, 05 Jul 2025 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[三个月后，我找了一份新工作，但是与此前不同的是我选择了一个更适合独立开发生活的城市，从半全职开发切换到了下班开发的模式。]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-在任何时间推广你的产品.jpg" alt="在任何时间推广你的产品" />
<small>三个月后，我找了一份新工作，但是与此前不同的是我选择了一个更适合独立开发生活的城市，从半全职开发切换到了下班开发的模式。</small>
<p>现在的我有了一份工作，暂时不需要考虑生存问题了。但是，每天可用时间减少了，我不得不放慢产品的开发速度，来平衡工作的负担。我的想法仍在产生，但是我现有的生产力更不上了，这种感觉，就好像一度抓住的东西，突然间消失了一样。但是好在那一份独立开发的意识，还存在我的脑海中，那些纯粹的想法还在静静闪烁。</p>
<h3>存档然后重新开始游戏</h3>
<p>工作毕竟还是把时间交给了别人，失去了对生活的控制权，我还是对现状感到有些失望。我始终还是能够感受得到，拥有一份工作，在生活中是多么不便利的一件事。</p>
<p>不过，相对的是，那一份挡在我和社会之间的孤独感与违和感消失了。</p>
<p>所以，我开始调整自己的状态，每天下班写一两个小时代码，把一个产品的开发周期延长到一个月。</p>
<p>大概一个月之后，我不再感受焦虑和失眠了，我感受到自己的状态开始变好了，虽然开发速度大不如前，但是我认为养好身体也是一件很重要的事情。</p>
<p>一切处在平衡之中，这是我想选择的安定的生活，但是我想应该不会持续太久，所以我应该有所准备。</p>
<h3>在任何时候推广你的产品</h3>
<p>我希望我开源的工具始终能够受用他人，所以我还是想推广试试看。</p>
<p>于是，这个月中旬的时候，我开始在科技爱好者周刊推荐自己的几个网页工具。只不过，推荐的工具已经是三个月前完成的产品了。</p>
<p>但是，让我意外的是，我的一个短链检查工具 <a href="https://itea.dev/project/LinkChecker">Link Checker</a> 入选了一期周刊，收到了几十个 star，这让我很开心，我几乎每天都会看看有多少人 star 了这个项目。</p>
<p>实际上，对于部分开源项目我没有意愿加上访问统计和谷歌广告，所以有多少人在使用这个网页工具我并不知道。但是，这不重要了。</p>
<p>即使产品开发完成了几个月，但是依旧还是有人愿意使用。或许对于一个产品来说，只要产品还能够正常运作，就能够在任意时间推广，不论过去多久。</p>
<h3>独立开发不需要快速迭代</h3>
<p>在三个月前，我就否定了自己进行全职独立开发的路线。即使我有着清楚的认知，但是我还是急着推出下一个新产品，这最后使我心力交瘁，结果是产品并没有引起太大的反响。当然，这可能也和产品的受众规模有关。</p>
<p>产品能否给你带来收益，确实和产品何时上线有关，但是不能为了早期的利益，而累垮了自己。更多时候，我们需要做好计划，只要记录下想法，它就不会消失，这是可以确定的事情。</p>
<p>也许，一段时间后有人实现了你的想法，然后你会感到沮丧，但是有人在你之前进行了试错，我觉得这是一件好的事情。</p>
<p>另外，我在一些国外的独立开发者故事中，看到了一种先推广再开发的模式。他们会先在产品的主页加上 Waitlist，当产品完成后会通过邮箱通知用户。这种方式，让产品提前获得了初始用户，很好的避免了写完产品却没人使用的问题。</p>
<p>只不过，这取决于独立开发者个人的影响力和行动力，当你拥有几个成功的产品，或者在社区和社交媒体积累一定影响力后，就可以尝试这种方式了。</p>
<h3>链接自己和社区关联性</h3>
<p>因为有了独立开发相关的博客和月报，我比以前更需要停下开发的工作，然后把一些时间放在编写文章上，去维护博客的更新状态。所以，为了有更多的时间思考，我把这段时间确定在周末。</p>
<p>有时，我会一口气写下一篇记录的长文，然后慢慢调整，这往往会花费1-2两天的时间。但是，月报却让我感到有些棘手了，深度的独立开发者故事和值得一用的工具并没有我预期中的那么多，我甚至刷遍了搜索引擎和技术社区。</p>
<p>大多数开发者都忙着开发和推广，不太注重写深度的故事和总结，或者看起来感觉有些索然无味。但是，如果不写下深度的故事，别人又如何了解自己呢？</p>
<p>当然可以确定的是，开发者的文章只保留在个人博客和微信公众号这类私有的地方，单纯靠我自己的探索，无法到达。</p>
<p>也许，我后续应该考虑建立一个途径，让大家能够自发投稿文章和作品。</p>
<h3>留下空白感受时间的缓慢</h3>
<p>在我开始工作之后，缺少更多空闲的时间，我开始发现写代码是一件非常耗费时间的事情，一个想法的完成需要经历数个晚上。所以，我能感知到时间变快了。</p>
<p>一个星期甚至一个月会迅速过去，这和我前三个月的时间流动并不一样，好在就算只有一个晚上但是依旧能够做很多的事情。</p>
<p>总而言之，我做的事情似乎有些单调了，虽然我还是想着做出下一个产品，但我也并不想在这种状态让时间流失，让自己感到压抑。</p>
<p>为了感知时间，我需要让自己开始像三个月前一样切换状态，把时间时间分成两份，一半娱乐，一半开发。</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-在任何时间推广你的产品.jpg" type="image/*" />
</item>
<item>
  <title>半启动计划结束的反思</title>
  <link>https://drifter.itea.dev/post/journal/半启动计划结束的反思</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/半启动计划结束的反思</guid>
  <pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[三个月过去了，对我来说相对还是十分漫长的一段时间，也是时候给这个特殊的时间画下句号了。这篇文章是对作为独立开发者的总结，也是对三个月的整理和反思。]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-半启动计划结束的反思.jpg" alt="半启动计划结束的反思" />
<small>三个月过去了，对我来说相对还是十分漫长的一段时间，也是时候给这个特殊的时间画下句号了。这篇文章是对作为独立开发者的总结，也是对三个月的整理和反思。</small>
<p>短暂的三个月结束，但是我好像还剩下很多事情没有完成，可能还需要一段时间去处理这些事情。总之，说说结论吧，和我预想的一样，计划中的大部分尝试都完成了，另外也有意料之外的收获。</p>
<h3>我所收获的事物</h3>
<p>这段时间一直在思考、尝试和验证，认为有意义的事情我就想着尽快的完成，然后进入下一阶段。我一直尽力让工作不影响到睡眠，但是这很难，独立开发既是工作，也是生活。</p>
<p>思考未完成的事情，是一件非常消耗精神力的状态，即使不去思考也会在某个时间短想起来，这会极大影响睡眠质量。所以我最后还是让作息混乱了一段时间，但是我想做的事情都做到了，这让我很满足。</p>
<ul>
<li>7个网页工具</li>
<li>一个作品集站点</li>
<li>漂流者的纸船公众号</li>
<li>独立开发的博客，以及类月刊形式的简报</li>
<li>学会 Next.js 和 Shadcn/ui</li>
<li>在社区和论坛推广，写了几篇产品的文章</li>
<li>进行了 SEO 优化尝试，研究了 Google AdSence 申请和配置</li>
</ul>
<p>另外，还开设了一些社交媒体和论坛的账号，但基本上没有什么实质的作用，或者因为账号限制问题，没有什么收获，这里就不提了。</p>
<h3>独立开发不止宣发</h3>
<p>独立开发的分水岭，在于推广和营销。产品能不能从搜索引擎和市场获得流量，首先取决于个人的推广能力，然后是对用户需求的洞察力。</p>
<p>这让我深刻意会到，平时路过小摊时听到的吆喝不只是宣传，也是一种简短有力的表达方式。每一次宣传，都是和客户进行的一次沟通。</p>
<p>大部分情况，只一次建立信任的机会，如果让好的产品被更多人看到、接受，才能让自己收获更多的受众。</p>
<h3>成为自己产品的客户</h3>
<p>除此之外，有个很明显的变化，我更习惯深入思考了，比起能不能立即做出一个工具，我更多的会考虑受众群体、维护代价和开发周期这三个问题。简单来说这个工具，会被谁所使用，需不需要后面再维护项目，以及我需要多久的时间。</p>
<p>独立开发所写的产品，最好还是源自自身的需求，这样最坏的情况，至少产品本身还能够服务于自己。</p>
<p>只要想做的产品，基本上都能做出来，但是会花很多时间和精力，没有反馈的产品，只会增加自己的负担。换个方向思考一下，也没有人愿意维护一个自己都不使用的项目。</p>
<h3>做好长期的规划</h3>
<p>独立开发是一件长期建设的事，不利于长期收益的产品，就算开始了也要尽快结束，不要让下一个产品躺在在计划表里太久。</p>
<p>在论坛浏览的讨论时，有些开发追着搜索引擎的关键词热度做网页工具，愈发有从众效应的苗头。当尝完了爆款流量的甜头后，那些开发者又会转向下一个关键词，继续重复同样的事情。</p>
<p>久而久之，大多数人就会怀疑自己，陷入找不到做出爆款关键词的盲区，不知道做什么了。当热度过去后，相关网页的流量就达不到预期了，所以开发者也会不断在落差中挣扎，只能饮鸩止渴。</p>
<p>互联网的热度，其实是一个循环的圆，围绕常见话题的讨论总会轮到有人多的时候。因此，也有少数开发者只为自己开发的工具，某一天突然之间爆火了，这种情况并不是偶然，只是逻辑可循的规律。</p>
<p>有趣的是，我看到的真正看到的独立开发者，大多不是靠着关键词稳定收入的，而是产品产生的热度。独立开发者是一个非常独特的个体，也有开发者会在小众领域建立起自己的产品。如果我们跑到人多的地方，反而看不清眼前的风景，就可能迷失方向。</p>
<p>有时，也需要思考如果让流量主动找过来。</p>
<h3>代码之外还有生活</h3>
<p>独立开发不仅是一种创造收入的方式，也是一种追求自由生活的方式。</p>
<p>我的开发旅途暂时放缓了脚步，但是独立开发并不会结束，它只是成为了我生活的一部分。我是时候该回到原有的航线上了，但是我依旧知道，这次漂流会是下一次的起点。</p>
<p>独立开发者，不仅需要让开发融入自己的生活，还需要在生活中找到平衡，让创作成为生活的一部分，而非全部。如果，你想要尝试独立开发，那么请做好至少三个月的准备，因为这是找到与生活平衡点的过程。</p>
<p>请记住，独立开发是过程，而不是解药，不要让独立开发填满生活的全部。</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-半启动计划结束的反思.jpg" type="image/*" />
</item>
<item>
  <title>建立你的作品集</title>
  <link>https://drifter.itea.dev/post/journal/建立你的作品集</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/建立你的作品集</guid>
  <pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[在通过注重内容输出的过程中，我注意到了推广和写作的类似属性，于是在此之上建立起了一个独立开发的作品集合，并且将作品介绍的写入其中，让作品的推广内容变成了一种固有的格式。]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-建立你的作品集.jpg" alt="建立你的作品集" />
<small>在通过注重内容输出的过程中，我注意到了推广和写作的类似属性，于是在此之上建立起了一个独立开发的作品集合，并且将作品介绍的写入其中，让作品的推广内容变成了一种固有的格式。</small>
<p>在过去一周多的时间里，我近乎忙碌着文章的内容输出，以至于我无暇进行新工具的开发。在翻阅到自己两个月前社区中推广内容中，我发现内容并没有完整地传达工具的功能和想法。所以，我创建了一个完整的作品合集，并且让每个作品的推广内容完整的保留下来，并用这种方式逐渐形成自己的推广内容的排版格式。于是，我将作品推广的内容书写过程，变成了另一种作品集的内容转移。</p>
<h3>添加引用建立你的追随者</h3>
<p>我在开发者社区和公众号进行了漂流简报的内容编辑和发布，但是并没有引起多大的关注。发布之后，仅一天就石沉大海，阅读数量甚至不超过 50。也许，对于文章形态的内容，需要一段持续性内容输出的保持，才能得到更好的反馈。</p>
<p>但是，我仅保持最基本的记录，就已经达到瓶颈了，更不用说更垂直领域的独立开发报告。我只得安慰自己，让自己明白这些文章仅为了自己而写，比起速度更应该保持质量，不需要勉强自己去做更多超过能力范围的事情。</p>
<p>我在站外进行文章发布的主要想法，实际上是为了让更多人能够主要到这个站点。为此，我还在文章下留下了一段来源和订阅方式，这是我在阅读一些在公众号内容输出的文章上看到的做法。有了这个引用，那些充满好奇心的人就会找到你的文章，然后形成一种有趣的链接。</p>
<p>有意思的是，这种方式确实在我发布的内容中生效了。在我文章中是支持使用 RSS 订阅的，但是对大多数人来说， RSS 订阅依然是是少数派，因此我的站点并没有新的访问者，他们更倾向于查看公众号。</p>
<h3>个人在平台的困境</h3>
<p>在一些独立开发者的文章中，我了解到流行着一种 BuildInPublic 的形式，于是开始计划在社交平台准备账号。但是这似乎并没有我想象中的那么顺利，首先因为我的推特账号长时间没有使用，冻结了申诉无效，直接完成了出师未捷身先死的成就。</p>
<p>于是，我转向了 BlueSky，这里有少数人在发布 BuildInPublic 的推文，但是不多，在话题中介绍了我的站点工具，只有几位独立开发者觉得这个工具很有帮助，大多数人对你的推文不感兴趣。这让我有些失望，如果依靠社交媒体推广，大概率会石沉大海吧。</p>
<p>对我们独立开发者来说，账号就是财产，但是这个账号是平台在管理的，如果账号遭到封禁，那么我们辛苦建立起来的账号和粉丝群体一瞬间就会消失。</p>
<p>也许，使用一种无账号或者去中心化的方式，才能更安全进行产品推广。但是，在平台占据流量的现在，独立开发者只能做出取舍。</p>
<h3>作品集的潜在意义</h3>
<p>开始写独立开发者的博客后，原本我打算博客站点加上广告，但我还是不想用广告打扰我的读者们，所以打算换一种方式。</p>
<p>我花费一周左右的时间建立了一个叫作<a href="https://itea.dev">纸船实验室</a>的作品集，用来记录所有有关独立开发的产品。想要一个作品的想法，起初是看到<a href="https://lab.magiconch.com/">神奇海螺试验场</a>产生的。当时，我就想着自己也做一个类似的作品集，我也把自己产品的网站放进去，这样会很有意思。</p>
<p>现在，如果我在文章引用了自己的产品，那么会先跳转到带有广告的作品介绍下，通过作品介绍让使用者也能有一个预期的了解，我认为是个不错的替代方案。</p>
<p>另外，我的作品集使用了主域名，我的作品都挂载在这个域名的子域名下。有趣的是，好像所有的子域名都会成为主域名的一个外链，或许这对作品集的 SEO 会有一些帮助。</p>
<p>我把作品集里的作品完成时间具体到了年份和月份，这样就有了一条清晰的时间线，每次我打开这个作品集，我就可以看到过去一个月，或者一年内我创造了什么东西，这会让我知道自己代码开发的状态。</p>
<h3>快速网站广告的 MVP 验证</h3>
<p>有了一个作品集的站点，我就计划着准备给自己的作品集站点加上谷歌广告，作为一次 MVP 验证。当 Google AdSence 准备好你域名的广告显示，这个过程大概要等待一到两周时间，甚至更久。</p>
<p>这个过程很漫长，每天我都会查看一下，以至于我在这个过程中，发现 Google AdSence 的单元广告没有有效的验证方式，我只能打开控制台手动查找。</p>
<p>我并不喜欢这种没有效率的检查方式，所以我又写了一个 <a href="https://itea.dev/project/AdSenseDetective">Google AdSence</a>，用来快速检查广告验证和配置。这个工具的运作方式很简单，只是爬取网页让后正则匹配字符串，但是确实对我很有帮助。</p>
<p>有了这个工具，我甚至可以知道任何一个网站有没有谷歌广告，这对我平时收集没有广告的站点大有用处。</p>
<h3>建立在平台之外的城堡</h3>
<p>如果不去依靠社交平台，那么又该怎么做，我开始思考这个问题。目前，我以前认为独立开发者应该守护的阵地应该是类似于论坛的地方，只要活跃度足够高，在一个小圈子里就会有人认识你。但是，他们不一定是你的客户，这是一个很现实的问题。</p>
<p>这让我想起来一些去看过的景点，看过一次的景色就没法让人忘记，自然就记住了那个地方，但是很少会第二次再去。</p>
<p>那么，真正牵动他们的，是一片独特的风景，还是他们对新事物的探索心呢？</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-建立你的作品集.jpg" type="image/*" />
</item>
<item>
  <title>写下你的独立开发故事</title>
  <link>https://drifter.itea.dev/post/journal/写下你的独立开发故事</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/写下你的独立开发故事</guid>
  <pubDate>Sun, 20 Apr 2025 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[距离我开始独立开发半启动计划已经过去一个多月了，我并没有继续探索，而是搁置了编写下一个工具计划，调整自己的生活节奏，转而开始写下自己的独立开发故事，开始尝试对内容的转化。]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-写下你的独立开发故事.jpg" alt="写下你的独立开发故事" />
<small>距离我开始独立开发半启动计划已经过去一个多月了，我并没有继续探索，而是搁置了编写下一个工具计划，调整自己的生活节奏，转而开始写下自己的独立开发故事，开始尝试对内容的转化。</small>
<p>这个月开始，本应该继续编写工具的我，却因为混乱的生活的作息打乱了节奏。当我静下心来复盘和解决问题所在时，却因为心血来潮，开始了文章的内容创作。花费时间建立了一个新的站点的同时，也准备在一些社区和公众号发布自己的文章内容。</p>
<h3>独立开发的困扰</h3>
<p>独立开发最大的敌人，也许是作息。有时候，我越是花大量时间编写代码，作息就越容易失控，因为我没法忽视代码出现的新问题。</p>
<p>我常常会在半夜爬起来花一两个小时代码完成偶然的想法，直到身体疲惫后睡着，这开始让我的生物钟变得越来越晚。说实话，这种效率很低，醒来后状态会很差，而且会错过饭点，对身体也是一种负担。</p>
<p>所以我开始调整自己的状态，考虑到是因为负荷太大了，我在晚上尽可能离开桌面，不进行代码思考和工作，让自己晚上有时间处理完其他事情。但是，这不完全有用，遇到棘手的问题我还是会选择熬夜，之后报复性地刷手机。</p>
<p>于是，我在电脑上增加了休息提醒，每过半小时就强制锁定屏幕，没办法继续使用电脑，我自然就去休息了。但是，这不适合处理其他事情，有时候用不了电脑我反而拿起了手机...</p>
<p>所以，我感觉提醒并不重要，重要的是问题有没有解决，你想不想停下来。</p>
<h3>时间分配的可见平衡点</h3>
<p>在有次逛 Hacker News 的时候，我看到一个关于开发者被大量代码工作困扰的帖子，因此他决定每天只写一小时的代码，过了一周后发现效率还得到了提高。</p>
<p>这让我感到很惊讶，但是这种方式很有趣，不过每天只写一个小时在我看来还是有些散漫了，所以我打算做个更有效的时间实验。</p>
<p>于是，我开始反思现在的问题，写代码主要以脑力劳动居多，大部分时间其实都在盯着屏幕找代码和调试界面，直到看到具体的代码才开始思考。实际上，自己写的代码只需要停下来想一下，大部分就能回忆起来。那么，我需要能够停下来思考的时间。通过找到某个时间点，就能确定停下来的时间，但是这不够灵活，我并不喜欢没做完做某件事情的时候就停下来。</p>
<p>所以，我开始有意识的放慢写代码的时间，并且每一次代码编写，只完成一个任务，完成以后就开始休息。每个任务必须尽可能的小，小到能够让你随时停下来，比如只修改一个文件，只增加一个小功能，只修复一个bug等。</p>
<p>就这样过了三天，我发现每天做的事情显而易见的变多了，而且停下来去做其他事情更积极了，不断切换反而让生活有了层次性。</p>
<p>这让我想起三明治的结构，如果只是单纯地在中间夹上一块肉饼，味道可能会显得单调且油腻。然而，当在肉饼的两侧加入几片清脆的蔬菜，不仅能够平衡口感，还能丰富层次，让味觉体验更加鲜活而有趣。</p>
<p>所以，如果想要让一天的时间更有趣和充实，那可以试试在几件简单的事情中进行切换，适当的休息也是工作的一部分。</p>
<h3>独立开发的孤独感</h3>
<p>我在独立开发状态下生活了一个月，这是一种很平静的生活状态。没有人会打扰你，除了编写代码，每天需要考虑的只有如何做好自己的东西，我承认自己很喜欢这种生活，但是也很乏味。</p>
<p>对我来说，代码编写本身不会让我感到无聊，如果我愿意，我甚至可以一整天都伏案在电脑前编写代码。但是工作总会遇到暂时解决不了的时候，与其消磨时间，不如直接去休息，从头到尾把逻辑梳理一遍，答案自然就会了然于心。但是，只有在你停下来想要去做其他事情时，才会发现事实上基本无事可做。也许，确实像大多数独立开发者在文章中所说的那样，培养一个爱好很重要。</p>
<p>更多的是，我奇妙的想法，每一次创造出新事物，达成新目标的喜悦，没有人能够分享。每次在好友列表思索片刻，却找不到有人能够和一起分享这份心情，这让我感到有些失望和扫兴，似乎自己只是在自娱自乐。这种心情在我的脑海中挥之不去，后来愈发强烈。</p>
<p>最终，这份想要分享的渴望，不知不觉变成了写下故事，写下生活的想法。</p>
<p>也许，是为了抵抗这份孤独和乏味的状态，又或者是对独立开发的特殊情感，我想要将自己想法和收获传递给那些同样在独立开发中前行的人。于是，我决定将自己的所做的事情分享出来，作为一个独立开发的探索者。</p>
<p>这，就是<a href="https://drifter.itea.dev">漂流</a>的由来。</p>
<h3>思考和写作的艺术</h3>
<p>开始写文章后，我发现我似乎无形的多了一种身份，现在我可以是开发者，也可以是技术作家。这是一种视角的转变，在这两种身份上进行切换，也能够更客观的审视自己。</p>
<p>同时，我开始为自己文章的制作封面，同时也是让勉强够用的设计技能得到一定的维持。在探索新事物的时候加上一点特别的东西，这会让这些事情更变得更有趣。</p>
<p>大多时候，写一篇文章有时候会占据我一天的时间，这让我得以代码工作中解脱出来，开始思考这个过程中更重要的东西。与代码不同，写下文字更多是对思考的总结，你可以记下任何想到的东西，而不需要思考这样写的后果，如果觉得哪里不对，删掉再重新写就行了。</p>
<p>这让我想起了小时候以前写的一些日记，但是随着成长我不再写日记了，把很多东西都藏在心里不让别人知道，也因此我开始不再自我表达。但是，这对生活并没有太大影响，因为没有经过深度思考的枯燥记录，终究只会被遗忘在某个不起眼的收纳箱中，所以大多数人不会记录下自己的生活和经历的事情。</p>
<p>写下文字，我想这是一种最简单的自我的表达方式，只不过我们把它忘记了。</p>
<h3>创作不止于写作</h3>
<p>随着写了几篇文章后，我发现写出来还是得有人来看才对，所以我开始在一些社区发布，并试着开启了一个名为“漂流者的纸船”公众号。</p>
<p>总之，我打算后续把这些文章同步发到这些地方。</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-写下你的独立开发故事.jpg" type="image/*" />
</item>
<item>
  <title>第一次想法和现实的碰撞</title>
  <link>https://drifter.itea.dev/post/journal/第一次想法和现实的碰撞</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/第一次想法和现实的碰撞</guid>
  <pubDate>Fri, 14 Mar 2025 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[3月初，我首次编写了第一个工具，随之带来的更多想法席卷而上，促成了我对独立开发的另一种方式的尝试。这给我带来了很多收获，我得到了将想法的变为现实的能力，相对的还有对失控的反思。]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-第一次想法和现实的碰撞.jpg" alt="第一次想法和现实的碰撞" />
<small>3月初，我首次编写了第一个工具，随之带来的更多想法席卷而上，促成了我对独立开发的另一种方式的尝试。这给我带来了很多收获，我得到了将想法的变为现实的能力，相对的还有对失控的反思。</small>
<p>三月初，我开始了独立开发的尝试，起初我准备从最简单的导航站入手，用来整理我书签中独立开发者的一些站点，然后在进行谷歌广告接入的一些尝试，但在后来的实践中发现这似乎并不适合我，所以我将尝试转向了工具站。这一次对工具站的意外的尝试，却让我实现了从灵感到工具的臆想。</p>
<h3>为什么我无心建立导航站点</h3>
<p>最开始的几天，我在 Github 上寻找开箱即用的导航站，准备找到合适的就微调界面，然后形成自己独有的站点。我翻来覆去，找了很多站点都不尽人意，作为起点的项目是够了，但是完全不符合现代风格的审美，大多数过于简陋了。</p>
<p>相比较于我现在使用的 <a href="https://github.com/Lissy93/dashy">Dashy</a> 建立的导航站来说，开源的导航站看起来只是做了一个重定向的界面，而不是在一个界面中做一个即用即走的聚合功能。</p>
<p>总的来说，我的预期太高了，导致我不太愿意维护一个自己都不需要，并且只有跳转功能的导航站点。目前来看导航站不适合我，所以还是直接进入到工具站点的编写阶段。</p>
<h3>透过新鲜事物学习新技术</h3>
<p>现在的这个时间阶段，我已经知道 AI 已经很成熟了，甚至只需要一种截图就能快速生成一个原型站点。当然，我也只是道听途说，还没有真正使用，另外绘制布局对我来说并不困难，只是需要花费一些时间罢了。</p>
<p>从原型到界面，总会花费很多时间，这很大的限制了开发者的生产力。一个想法到落地，需要经过数天的时间，而在几天之后灵感可能就消失了。对于验证一个想法来说，借助 AI 的确是不错的选择。</p>
<p>早在半年前，我就听说了 <a href="https://v0.dev/">V0</a> 能够做到快速生成界面原型，当时忙于工作，于是错过尝鲜时间。实际上我很早就看中了云服务平台 <a href="https://vercel.com/">Vercel</a> 推出的开源的 <a href="https://github.com/shadcn-ui/ui">shadcn/ui</a> 组件，现代化的设计和简洁的 UI 风格非常适合小型站点的开发。</p>
<p><a href="https://v0.dev/">V0</a> 默认使用了 <a href="https://nextjs.org/">Next.js</a> + <a href="https://github.com/shadcn-ui/ui">shadcn/ui</a> + <a href="https://tailwindcss.com/">Tailwind CSS</a> + <a href="https://www.typescriptlang.org/">Typescript</a> 的技术组合来生成原型界面，实际上我对 Next.js 并不熟悉，所以使用这个 AI 工具也能够让我扩展技术边界。</p>
<p>于是，我尝试在 <a href="https://v0.dev/">V0</a> 的输入框中键入了一段话，仅不到 1 分钟，一个简单的工具就完成了，界面虽然有点奇怪的地方，但只要继续输入调整，就能马上修改。在这种工具加持下给我带来震撼的同时，更多的是对可能性的惊叹：“这个工具，说不定可以帮我实现想法后最初一版原型。”</p>
<h3>几个网页工具的初次尝试</h3>
<p>在尝到了 AI 工具的甜头后，我几乎没有思考就选择优化收藏夹中的站点，我要自己写一个更好的同类网站工具来代替收藏夹的工具，把别人的工具变成自己的工具。这样我既能将收藏夹清理出来，也能把自己写的工具整理出来。</p>
<p>一开始，我选择性写了两个简单的色彩工具：<a href="https://itea.dev/project/ColorPalette">ColorPalette</a> 和 <a href="https://itea.dev/project/ColorConverter">ColorConverter</a>，主要是因为这类工具比较少，同类工具也很分散，所以是对几个同类网站工具的融合。简单来说，是因为我想要这种工具。这类色彩工具受众并不多，界面比较单薄，所以我直接开源了。</p>
<p>因为 AI 生成的代码，实际上很多地方不太符合前端工程的规范，还会有些意料之外的 bug 要手动修复，所以我还是花了一些时间审阅重构原有的代码。除了少部分布局，实际上大部分代码都被我修改过了一遍，结果就是我对这一套技术组成更熟悉了，所以我可以做更复杂的工具了。</p>
<p>因为我使用的 <a href="https://github.com/Lissy93/dashy">Dashy</a> 是通过 Yaml 配置的，经常需要提取站点的 Metadata 信息，所以每次看到有趣的网站我都要通过元素审查工具把关键信息复制出来，这实在是有些在笨了，而且效率地下，所以我就决定了下一个工具。说起网站的 Metadata 标签，实际上是和 SEO 有些关联的，所以在这个基础上我把更多的网站信息提取了出来，这样也能在优化网站 SEO 的时候进行快速检查。另外，我还特地保留一个外部 API，用来通过请求查询网站的元信息。就这样，<a href="https://itea.dev/project/MetaThief">MetaThief</a> 工具完成了，这也是一个开源工具，但是特别的是我准备尝试推广这个站点。</p>
<h3>我所尝试的最小化的推广</h3>
<p>大多数的开发者，会在类似 <a href="https://www.producthunt.com/">Product Hunt</a>、<a href="https://v2ex.com/">V2EX</a> 、<a href="https://www.indiehackers.com/">Indie Hackers</a> 和 <a href="https://news.ycombinator.com/news">Hacker News</a> 等开发者平台或社交平台上分享自己的作品，但是在这些站点上推广我的工具站多少有些大材小用了，而且我上面的几个站点并没有打算投放广告的打算，也许，能够获得几个开源项目的 star，但推广意义不大。</p>
<p>我选了四个国内专注于独立开发的小众网站，<a href="https://w2solo.com/">w2solo 独立开发者社区</a>、<a href="https://solo.xin/product">Solo 独立开发者社区</a>、<a href="https://www.91wink.com/">独立开发者前线</a> 和 <a href="https://xinquji.com/">新趣集</a>，在这些站点上分享了 <a href="https://itea.dev/project/MetaThief">MetaThief</a> 工具，于是喜提 2 个项目 star，在刚开始的一周内访问量多了一些，之后就掉下去了。</p>
<p>好吧，也许这个工具受众并没有那么多。但是我的推广想要看到的结果达到了，推广只能带来短时间内的流量增加，这不是永久的，想要维持流量看起来还是得在搜索引擎的 SEO 优化排名上下功夫。</p>
<h3>我是如何掉进代码开发陷阱的</h3>
<p>有了前几次的经验，我就开始自大了起来，认为只要我想到的东西，立即去做就能马上写出来，所以我这次我想都没想直接写自己的需求。</p>
<p>在第一次工作时，因为涉及到逆向相关的东西，逆向接口和抓 Cookie 这些操作让我吃了很大一碗饭，本着下次不在同一个地方吃太撑的想法，我准备写一个能够解析内部 Cookie 工具。</p>
<p>但是，因为这个需求过于奇特，而且我还把布局拆分成了侧边栏方式的功能模块，复杂度直接上升了好几个等级，就算是 AI 也没能完全理解我想要什么。没办法，自己来吧，我把所有代码都修改了一遍，第一次尝试分离出核心的代码逻辑文件，为了弄明白 <a href="https://nextjs.org/">Next.js</a> 的一些 Hook 特性查了不少文档和资料。</p>
<p>为了完成这个工具，我爬起来第一件是就是继续打开电脑写代码，有好几次错过饭点，因为熬夜生物钟延迟了，生活节奏变得一团糟。不过我还是得写完，因为我需要这个工具，抵抗着对这个工具极大的怨气，两周后，这个 <a href="https://itea.dev/project/CookieInspector">CookieInspector</a> 工具完成了。</p>
<p>这个工具的受众实际只有我，但是为了完成这个工具，我却用掉了一周多的时间去重构代码，如果在全职开发这样做，很容易让自己浪费了时间，就当用一周多换了个教训吧。</p>
<p>后来我把这个工具也发到了前面的几个推广站里，发现甚至比第一个站点带来的访问量还要少得多。我开始反思这件事，这类网站工具看来需要有受众群体才能受欢迎，这样才能有初期流量。总的来说，这一次我的方向错了。</p>
<h3>方向调整和下一个的目标</h3>
<p>这个时候我才想起一些独立开发者说的看谷歌搜索关键词趋势，然后根据关键词写工具，原来是为了扩大受众，也许我也应该利用关键词做一些优化和调整。</p>
<p>几天后，我看到了一篇独立开发者用一年时间优化关键词、SEO 等站点信息，超过了仿照搜索引擎上高 SEO 排名写的站点的帖子。于是，我学着研究了同类站点的关键词，然后把同类站点有的关键词加入到自己的网站工具里，然后用我写的 Metadata 获取工具逐个检查了一遍。也许，这就是所谓的 SEO 优化的一部分？</p>
<p>到这里，我已经完成了独立开发半启动计划的两个目标，SEO优化和平台推广，当然这还只是开始，后续还需要继续编写工具，然后尝试如何进行广告投放。</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-第一次想法和现实的碰撞.jpg" type="image/*" />
</item>
<item>
  <title>三天的独立开发构想</title>
  <link>https://drifter.itea.dev/post/journal/三天的独立开发构想</link>
  <guid isPermaLink="false">https://drifter.itea.dev/journal/三天的独立开发构想</guid>
  <pubDate>Sat, 22 Feb 2025 00:00:00 GMT</pubDate>
  <author>isixe</author>
  <description><![CDATA[距离我开始 3 个月尝试还有大概不到一周的时间，在这个计划开始之前，我需要确定一条清晰的独立开发路线，所以我写下了一些有关独立开发的思考过程。]]></description>
  <content:encoded><![CDATA[<img src="https://drifter.itea.dev/images/journal/post-journal-三天的独立开发构想.jpg" alt="三天的独立开发构想" />
<small>距离我开始 3 个月尝试还有大概不到一周的时间，在这个计划开始之前，我需要确定一条清晰的独立开发路线，所以我写下了一些有关独立开发的思考过程。</small>
<p>早期接触独立开发者内容时，一些人会分享自己的作品或者写下自己的开发故事，我作为观众围观完他们的文章后，只是短暂停留，然后轻轻滑走。当我现在想要迈上这个台阶时，不由得开始思考成为一名独立开发者，意味着什么？</p>
<h3>独立开发的初遇</h3>
<p>大概七年前，在主流的软件社区中，我开始了互联网社区的探索。逐渐地，一些这些社区在显眼的位置大量投放广告，这让大多数人嗤之以鼻，转而寻找替代品。</p>
<p>一群特立独行的小众的手机 APP 的开发者开始进入我的视野。这里的大部分开发者为了兴趣爱好发布自己的 APP，在较为隐蔽的位置留下赞助方式，也就是所谓的靠爱发电。这其中，也有一些出色的 APP 形成了订阅和一次性买断的服务。</p>
<p>于此，我开始意识到独立开发是作为兴趣的一部分的延伸，作为生活收入的极小一部分的补充。</p>
<h3>独立开发的再续</h3>
<p>时间来到四年前，这时我开始接触了电脑和编程。归功于古老的教室机房系统和教学体系，一些流行的系统功能和软件却无法直接使用，这给了带来了我很大的不适。</p>
<p>好在系统拥有强大软件生态，在摸索一段时间后，我开始大量收集桌面端的工具，方便在自己电脑或通过 U 盘在学校的机房使用这些工具。随着工具的增加，我发现桌面软件采用的是一种软件密钥的订阅方式，这整体上和依赖 APP 服务订阅的方式非常相似。</p>
<p>后来，我开始接触了前端技术，开始大量使用浏览器查阅更多的资料和信息，因此转而研究起了浏览器的网页工具和插件。仅一个网页工具，就能在任何设备的浏览器中打开，这种跨越设备的使用的方式，让我随即注意到这种工具的巨大潜力。只不过，我收集的网页工具，只是堆满了我的书签，这让我苦恼了又一段时间。</p>
<p>直到后来，我看到了一种导航站的网页形态，这正好和我想要分离书签的需求一致。然后，我找到了一个名为 <a href="https://github.com/Lissy93/dashy">Dashy</a> 的开源项目，通过配置的方式将这些网页工具整理成了导航站，现在成为了我不可缺少的效率工具之一。</p>
<h3>独立开发的形态</h3>
<p>这些工具从软件到网页，总少不了广告的影子，这让我疑惑到底是什么魅力，让广告投放成为了在开发者不可缺少的一部分。</p>
<p>时至今日，我了解到了谷歌的广告投放，理解的广告的运作方式。在论坛中看到一些独立开发者的帖子，也总少不了一个导航站点的影子，甚至有开发者调侃道人手一个导航站。</p>
<p>大多数的独立开发形态都围绕着网页广告投放、订阅服务，本质都是相同的，只是换了一种方式。回望过去，实际上自己的每个过程，都伴随着独立开发者留下的痕迹。</p>
<p>那么，现在能够给出独立开发的定义了吗？是的，但是并不是全部。</p>
<h3>我所看到的独立开发的深层含义</h3>
<p>独立开发，首先需要的就是独立，至少我是这么认为的。独立开发，我曾经以为是依靠个人的力量对传统社会收入模式的一种对抗，因为独立开发的收入和运作都离开了雇佣关系的构成。</p>
<p>不过，自从我辞去工作后，我就在思考怎么依靠自己生活这个问题。为了生存我吃了不少外卖，但是现在我可以自己动手了，不用在担心会不会吃坏肚子，食材会不会不健康的这些问题。</p>
<p>如果现在我成为了一名独立开发者，抛弃了上层建筑，那么就需要自行管理生活的所有问题，收入、饮食、健康和社保等等这些事情，这就是需要付出的代价。好在，独立开发者拥有使用时间的自由，所以这应该不是什么问题。</p>
<p>在我看来，也许将自己的生活的存续交给了工作和公司，也是一种对自己不负责任的行为。有些事情我们有能力做到，但是却怕麻烦自己就交给了别人，这就让一些人有机可乘，最后让自己吃了亏，甚至自己还不知道。这并不好，我们应该尽可能地对自己的生活负责。</p>
<p>因此，我所构想的独立开发，就是用自己能依靠的任何东西，能力、想法、灵感和耐心，去对抗生活中的一切事物。</p>
<h3>我的独立开发半启动计划</h3>
<p>虽然，我现在有三个月的时间去尝试独立开发，但仅仅三个月的时间还是太短暂了。我看过太多独立开发者的心路历程了，他们大多数花费了半年到一年的时间。因此，三个月之后，我必然会失败。</p>
<p>也许你也听说过一些开发者几天上线一个网站，但这实际上排除了试错时间的天数，如果直接去做别人熟练掌握的事情，结果只会蹑手蹑脚，像个无头苍蝇乱转，想在几天内就完成这种事情，也是完全不现实的。</p>
<p>所以我需要的是做冷启动准备，而不是马上进行全职独立开发，闷头做自己的产品，这只会浪费大部分时间，甚至没有预期的反响。为此，我需要熟悉和独立开发相关的广告投放、SEO优化和平台推广，这三种最基本的独立开发模式，然后做最小化的尝试。</p>
<p>总之，这就是为了让我能够在未来某个时间段随时能切入到独立开发中进行的准备工作，我把这三个月称为半启动计划。</p>]]></content:encoded>
  <enclosure url="https://drifter.itea.dev/images/journal/post-journal-三天的独立开发构想.jpg" type="image/*" />
</item>
</channel>
</rss>