<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[twk93的博客用独立开发把副业做成持续收入 Figma插件 4万+ 用户｜网站月PV 10万+ 每周公开 SEO 获客、出海变现与真实复盘]]></title><description><![CDATA[用独立开发把副业做成持续收入 Figma插件 4万+ 用户｜网站月PV 10万+ 每周公开 SEO 获客、出海变现与真实复盘]]></description><link>https://blog.youkuaiyun.com/twk93</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; twk93]]></copyright><item><title><![CDATA[Agent 工程笔记③：为什么要有评测集（比单次演示重要）]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164099281</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164099281</guid><author>twk93</author><pubDate>Fri, 11 Sep 2026 20:30:00 +0800</pubDate><description><![CDATA[评测集（eval set）是一组固定的任务与验收标准，用来反复测量 Agent 或提示策略是否变好、变坏。

演示很会骗人：挑一个熟题，现场一次成功，不等于可上线。换个仓库、换个错误形态，就翻车。

![单次演示与评测集对照](https://ik.imagekit.io/4pjac7gmxh/blog/2026/10/eval-vs-demo_HLlwUtnkQ.png)

## 一、先说一个]]></description><category></category></item><item><title><![CDATA[理解 MIT 协议：对使用者意味着什么]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164099257</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164099257</guid><author>twk93</author><pubDate>Thu, 10 Sep 2026 19:15:00 +0800</pubDate><description><![CDATA[MIT License 是一种宽松的开源许可证。许多前端库、工具与 SDK 采用它。

对使用者，真正要记住的不是法律史，而是三件事：**你可以做什么、你必须保留什么、出了问题谁负责**。

![MIT：权限、条件、无担保](https://ik.imagekit.io/4pjac7gmxh/blog/2026/10/mit-permissions_JOfjdgldk.png)

## 一、先说]]></description><category></category></item><item><title><![CDATA[截图发群前先打码：模糊、马赛克、去 EXIF 三件套]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164191809</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164191809</guid><author>twk93</author><pubDate>Wed, 09 Sep 2026 13:15:00 +0800</pubDate><description><![CDATA[开发者、运营、测试同学发截图到钉钉群、微信群里，最怕两件事：**敏感信息没挡住**，以及 **照片里藏着拍摄位置**。

手机号、API Key、后台 URL、客户数据——涂鸦两笔不一定盖干净。更隐蔽的是 EXIF：很多手机拍屏或拍文档的照片，元数据里带着 GPS、设备型号，发原图等于间接报地址。

本文讲浏览器里 **打码 + 查看元数据 + 去除 EXIF** 的组合操作，发群前过一遍更安心。]]></description><category></category></item><item><title><![CDATA[三个月复盘：流量与关注从哪来]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164099214</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164099214</guid><author>twk93</author><pubDate>Tue, 08 Sep 2026 13:00:00 +0800</pubDate><description><![CDATA[三个月前定的目标很具体：平台流量、关注度、账号权重；纪律是零软广；文风走「理解 / 入门 / 详解」。

现在复盘，不谈感觉，谈机制：阅读、搜索、关注大概分别被哪类稿养活。

![题型与流量结构示意](https://ik.imagekit.io/4pjac7gmxh/blog/2026/10/retro-content-mix_wR5arK0WF.png)

## 一、先承认：没有完美数据也要]]></description><category></category></item><item><title><![CDATA[pnpm workspace 入门：多包仓库怎么组织]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164099143</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164099143</guid><author>twk93</author><pubDate>Sun, 06 Sep 2026 11:00:00 +0800</pubDate><description><![CDATA[pnpm workspace 是用 pnpm 包管理器把多个 package 放进同一仓库协同开发的方式，也就是常见的 monorepo 实践之一。

前端与 Node 项目长大以后，常拆成 `apps/*` 与 `packages/*`。没有 workspace，你会陷入：改共享库要先发版，再在应用里升版本，来回折腾。

![apps 与 packages 组成的 workspace](htt]]></description><category></category></item><item><title><![CDATA[稀疏注意力 / DSA：用白话讲清在优化什么]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164099171</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164099171</guid><author>twk93</author><pubDate>Sat, 05 Sep 2026 13:00:00 +0800</pubDate><description><![CDATA[稀疏注意力（sparse attention）指：计算注意力时，不让每个位置都与序列里所有位置两两交互，只连接一部分位置。

长上下文越来越常见，全量注意力的代价也越来越显眼。资料里又出现 DSA、各种稀疏模式缩写。先抓住它在优化什么，再记名字。

![稠密注意力与稀疏连接对照](https://ik.imagekit.io/4pjac7gmxh/blog/2026/10/sparse-vs-d]]></description><category></category></item><item><title><![CDATA[TypeScript：unknown 和 any 差在哪]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164099232</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164099232</guid><author>twk93</author><pubDate>Fri, 04 Sep 2026 19:45:00 +0800</pubDate><description><![CDATA[`any` 与 `unknown` 都表示「现在还不知道具体类型」，但对类型检查器的态度完全不同。

`any` 基本意味着：别管我，让我通过。  
`unknown` 意味着：先承认未知，想用就先收窄。

混用的代价是：以为自己在写 TypeScript，实际在关键路径上退回了 JavaScript。

![any 可随意用，unknown 需先收窄](https://ik.imagekit.]]></description><category></category></item><item><title><![CDATA[结构化输出 / JSON Mode 入门]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164099199</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164099199</guid><author>twk93</author><pubDate>Thu, 03 Sep 2026 20:15:00 +0800</pubDate><description><![CDATA[结构化输出（structured output）指让模型按约定形态返回数据，常见是 JSON，便于程序直接解析。JSON Mode / schema 约束是各厂商实现这一目标的手段。

聊天可以是散文；自动化要把结果喂给代码。这时「大概是个 JSON」不够，缺字段或尾随逗号都会让流水线断掉。

![自由文本与 JSON Mode 对照](https://ik.imagekit.io/4pjac7]]></description><category></category></item><item><title><![CDATA[SVG 图标导出 PNG/JPG：模糊、透明底、尺寸怎么设]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164191837</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164191837</guid><author>twk93</author><pubDate>Thu, 03 Sep 2026 19:30:00 +0800</pubDate><description><![CDATA[前端拿到设计师的 SVG 图标，要放进 PPT、交 Android 资源、或发运营做推文——对方往往只要 PNG/JPG。直接改扩展名不行，需要 **栅格化**：按指定像素宽高渲染成位图。

导出最常见的坑是 **尺寸太小发虚**，或 **该透明却铺了白底**。本文用浏览器工具讲清 SVG 查看、定倍率、选格式。

![SVG 矢量与栅格导出](https://ik.imagekit.io/4pj]]></description><category></category></item><item><title><![CDATA[Prompt 里「约束 + 验收」为什么比形容词有用]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164099151</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164099151</guid><author>twk93</author><pubDate>Thu, 03 Sep 2026 13:00:00 +0800</pubDate><description><![CDATA[Prompt（提示词）是你给模型的任务说明。写得含糊，输出就漂；写得可检查，输出才容易收敛。

很多人习惯堆形容词：「写得优雅、专业、全面、生产级」。这些词对人有感觉，对模型几乎没有可执行标准。更有效的写法是：**约束（不要做什么）+ 验收（怎样算完成）**。

![形容词提示与约束验收提示对比](https://ik.imagekit.io/4pjac7gmxh/blog/2026/10/pr]]></description><category></category></item><item><title><![CDATA[看懂平台数据：阅读、搜索、关注]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164099019</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164099019</guid><author>twk93</author><pubDate>Tue, 01 Sep 2026 20:00:00 +0800</pubDate><description><![CDATA[技术号常看的三类数是：阅读（或展现后的阅读）、搜索进入、关注（粉丝净增）。

同一周里，阅读暴涨不一定等于搜索变好，也不等于粉丝留下。把三个指标当成同一回事，会做出错误选题决策。

![阅读、搜索、关注的漏斗关系](https://ik.imagekit.io/4pjac7gmxh/blog/2026/10/platform-metrics-funnel_bF3J-mEyf.png)

## 一、]]></description><category></category></item><item><title><![CDATA[简历头像、微信头像一次裁方/裁圆（含常见尺寸）]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164126728</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164126728</guid><author>twk93</author><pubDate>Mon, 31 Aug 2026 12:00:00 +0800</pubDate><description><![CDATA[投简历、换微信头像、填报名系统，上传框往往写着：**「请上传正方形照片」「尺寸 295×413」「文件小于 2MB」**。手机相册里大多是竖构图全身或半身，比例不对直接被拒。

其实不需要开 PS。浏览器里 **裁方 → 裁圆 → 按像素导出**，几分钟搞定。

![证件照与头像裁剪](https://ik.imagekit.io/4pjac7gmxh/blog/09-avatar-hero_G0]]></description><category></category></item><item><title><![CDATA[简历头像、微信头像一次裁方/裁圆（含常见尺寸）]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164191854</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164191854</guid><author>twk93</author><pubDate>Sun, 30 Aug 2026 18:30:08 +0800</pubDate><description><![CDATA[投简历、换微信头像、填报名系统，上传框往往写着：**「请上传正方形照片」「尺寸 295×413」「文件小于 2MB」**。手机相册里大多是竖构图全身或半身，比例不对直接被拒。

其实不需要开 PS。浏览器里 **裁方 → 裁圆 → 按像素导出**，几分钟搞定。

![证件照与头像裁剪](https://ik.imagekit.io/4pjac7gmxh/blog/09-avatar-hero_G0]]></description><category></category></item><item><title><![CDATA[Agent 工程笔记②：上下文太长——砍什么、留什么]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164098541</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164098541</guid><author>twk93</author><pubDate>Sun, 30 Aug 2026 10:30:00 +0800</pubDate><description><![CDATA[专栏「Agent 工程笔记」第二篇：上下文超窗或噪音过多时，按优先级保留系统规则与当前目标，砍掉重复日志与过期闲聊。]]></description><category></category></item><item><title><![CDATA[上下文工程加强版详解：窗口、裁剪、工具结果与评测]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164098467</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164098467</guid><author>twk93</author><pubDate>Sat, 29 Aug 2026 10:30:00 +0800</pubDate><description><![CDATA[把上下文窗口、裁剪策略、工具结果治理与评测集串成一条可执行的上下文工程实践]]></description><category></category></item><item><title><![CDATA[Google Antigravity——Agent 被提到主界面]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164098452</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164098452</guid><author>twk93</author><pubDate>Fri, 28 Aug 2026 16:00:00 +0800</pubDate><description><![CDATA[围绕 Google 随 Gemini 3 推出的 Antigravity 做开发者向快评：是什么、怎么理解与现有 Agent IDE 的关系、值不值得立刻跟进]]></description><category></category></item><item><title><![CDATA[两张图横竖拼接：做对比图、PRD 附图不用开 PS]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164126763</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164126763</guid><author>twk93</author><pubDate>Fri, 28 Aug 2026 13:00:00 +0800</pubDate><description><![CDATA[写 PRD、做竞品分析、写测评文章时，经常要把 **两张截图拼一起**：左边旧版右边新版，或上面问题下面答案。开 PS 太重，画图工具排版又慢。

浏览器里可以 **左右拼、上下拼、多图宫格、叠水印**。本文讲最常用的拼接场景和步骤。

![数据对比与拼图示意](https://ik.imagekit.io/4pjac7gmxh/blog/10-merge-hero_Poal8ZJjg.jpg)
]]></description><category></category></item><item><title><![CDATA[Agent 工程笔记①：工具调用失败时，先查哪三层]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164098393</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164098393</guid><author>twk93</author><pubDate>Thu, 27 Aug 2026 20:15:00 +0800</pubDate><description><![CDATA[专栏「Agent 工程笔记」第一篇：工具调用失败时按模型决策、协议与参数、执行环境三层排查，避免只盯着报错原文空转。]]></description><category></category></item><item><title><![CDATA[理解 MCP：模型如何接上外部工具]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164002355</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164002355</guid><author>twk93</author><pubDate>Thu, 27 Aug 2026 12:00:00 +0800</pubDate><description><![CDATA[用白话说明 Model Context Protocol（MCP）：宿主如何通过统一协议把文件系统、数据库等工具接到模型，以及工具循环怎么转]]></description><category></category></item><item><title><![CDATA[理解流式输出：SSE 在聊天里干什么]]></title><link>https://blog.youkuaiyun.com/twk93/article/details/164002370</link><guid>https://blog.youkuaiyun.com/twk93/article/details/164002370</guid><author>twk93</author><pubDate>Wed, 26 Aug 2026 20:30:00 +0800</pubDate><description><![CDATA[说明聊天产品里的流式输出常见实现 SSE：服务器按事件推送文本碎片，前端边收边渲染，以及它解决什么、不替代什么]]></description><category></category></item></channel></rss>