Hexo 博客部署到 Cloudflare Pages 完整流程

这篇文章记录一次将 Hexo 博客源码托管到 GitHub,并通过 Cloudflare Pages 自动构建、部署、绑定自定义域名的完整过程。

写这篇文章的背景也很简单:之前博客一直部署在阿里云服务器上,但服务器到期后,如果只是为了放一个静态博客,继续续费一台云服务器有点浪费。Hexo 本身生成的就是静态文件,而 Cloudflare Pages 免费额度已经足够个人博客使用,还自带 HTTPS、CDN、DNS 和基础安全防护,所以这次就把博客迁移到了 Cloudflare Pages。
最终效果是:每次本地写完文章后,只需要把代码推送到 GitHub,Cloudflare Pages 就会自动拉取代码、执行 Hexo 构建,并把博客发布到自己的域名上。

阅读更多

从 Promise.race 到并发任务调度器:实现可控的文件上传

在实现文件上传功能时,很多时候会使用 Promise.race 来控制并发:

const pool = new Set();

for (const file of files) {
const task = upload(file);
pool.add(task);
task.finally(() => pool.delete(task));

if (pool.size >= limit) {
await Promise.race(pool);
}
}

这段代码确实能限制同时上传几个任务,但它本质上只是一个”信号灯”——它只知道”有一个任务完成了”,却不知道是哪 一个,也不知道当前队列的真实状态。

当我们需要实现暂停、恢复、取消、状态追踪等功能时,Promise.race 就力不从心了。

阅读更多

MCP、Skill、Rule 区别与联系

最近在看 AI Agent、Cursor、Claude Code、Codex 这类工具时,MCPSkillRule 这几个词经常一起出现。

它们单独看都不难理解,放在一起却很容易混淆:

  • 它们是不是都属于 Prompt 的高级形态?
  • SkillRule 看起来都像是在“指导 AI”,差别到底在哪里?
  • MCP 听起来更底层,它和 SkillRule 到底是什么关系?
阅读更多

Agent Skill 实战解析

Agent Skill 是 Anthropic 于 2025 年确立的开放式 AI 代理构建标准。其本质是将复杂的 Prompt 工程、外部知识库(Reference)与执行逻辑(Script)封装为标准化的本地文件结构(通常以 SKILL.md 为核心)。

它的核心技术突破在于渐进式披露(Progressive Disclosure)架构:模型不再需要一次性读取所有背景设定,而是仅在推理过程中,根据当前任务的意图动态挂载必要的规则片段或数据引用。

阅读更多

前端性能优化-长列表虚拟滚动

在前端开发中,一次性渲染大批量数据的列表是性能杀手。一次性创建数万个 DOM 节点,导致浏览器样式计算和布局耗时巨大,会造成首屏加载白屏、滚动严重掉帧。可以使用虚拟滚动 进行优化。

1.核心思想:只渲染用户“看得见”的那部分 DOM 元素

想象一个滚动的长条,虽然数据有 10000 条,但用户的屏幕(视口)只能看到 10 条。我们只需要创建这 10 个节点的 DOM,随着滚动动态更新它们的内容和偏移量。

阅读更多