Developer Growth Report

报告周期: 2026-03-02 ~ 2026-04-01

Work Summary

本周期主要围绕三条主线展开:fenshululu 成绩录入系统的认证模块从零到上线、Cloudflare 内网穿透的稳定性攻坚、以及多个工具项目(any2text、rsspulse、static-project)的并行推进。

fenshululu-auth 项目经历了完整的从架构设计到生产部署的周期。核心挑战是 EdgeOne Edge Function 的调试困境——边缘函数日志不可见,导致排查 CORS 和 418 状态码问题时严重依赖猜测。最终决策是将有问题的接口全量迁移到 Node Functions,获得了可观测性,同时性能也有显著提升(异步化 metrics 写入后延迟明显下降)。

Cloudflare 隧道稳定性问题贯穿整个周期,多次出现 edge 节点掉线、DNS 解析异常、代理链路中断。最终方向是 VPS + Tailscale + CF Tunnel 的混合架构,但尚未完全收敛。磁盘告警(85%+)也在此期间触发,根因是 Docker 容器日志无限增长,通过配置日志轮转解决。

Improvement Areas

1. 可观测性前置,而非事后补救

现象:EdgeOne Edge Function 出问题后无法看日志,花了大量时间在 CORS、418、JSON parse error 等问题上反复猜测,最终不得不整体迁移到 Node Functions。

根因:部署前没有验证日志可达性,把"能部署"等同于"能调试"。

行动项

2. 基础设施变更要有回滚路径

现象:Cloudflare 隧道多次出现连接故障,每次都是紧急排查,没有预案。Docker 日志磁盘打满也是被告警触发后才处理。

根因:基础设施配置缺乏"防御性设置"——日志没有 max-size、隧道没有健康检查和自动重启策略。

行动项

3. 多任务并行时上下文切换成本过高

现象:同一时间段内在 fenshululu-auth、rsspulse、any2text、static-project 之间频繁切换,导致每个项目都有"继续"、"现在完成了吗"、"你提交了吗"这类碎片化跟进。

根因:没有明确的任务边界,每个会话都在多个项目间跳跃,AI 上下文丢失后需要重新同步。

行动项

4. 数据隔离要在设计阶段确定,不能靠事后修补

现象:fenshululu 新注册用户能看到其他用户的班级和学生数据,发现时已经有多个 API 写入了数据,需要大范围重构。

根因:初期设计时没有明确 tenant 隔离边界,user_id 过滤条件在部分查询中缺失。

行动项

Strengths

Action Items

  1. P0 - Docker Compose 模板加入日志轮转默认配置 → 防止下次磁盘告警
  2. P0 - Cloudflare 隧道加入 Prometheus 连接数监控 → 故障前预警
  3. P1 - fenshululu 全量 API 做 RLS 审计 → 确认数据隔离无遗漏
  4. P1 - 建立"新部署环境检查清单"(日志可见、健康检查、回滚方案)

Tech Trends

今日 HackerNews 热门技术话题精选。

1. What are skiplists good for?

Points: 262 | Comments: 64

跳表(skiplist)是一种随机化数据结构,通过多层链表实现 O(log n) 的查找效率,可替代二叉搜索树。Antithesis 将跳表推广到树结构,发明了"skiptree"——每层维护一张 SQL 表,从而将递归的祖先遍历转化为固定数量的 JOIN 操作(约40个),在 BigQuery 等分析型数据库中大幅降低树形数据查询成本。

Key Takeaways:


2. Show HN: A working reference implementation of context engineering

Points: 22 | Comments: 9

Context Engineering 将上下文视为"first-class engineering artifact"——可版本控制、可检索、可执行。它由五个组件构成:语料库、检索、注入、输出、执行。基于 Amazon Bedrock 实现全流程,检索层使用 FAISS,执行层采用 LLM-as-judge 模式,以 ADR 和代码标准作为检索语料。

Key Takeaways:


3. Prove you are a robot: CAPTCHAs for agents

Points: 43 | Comments: 28

Browser Use 推出"反向验证码"机制——不需要邮箱或 OAuth,只需让 Agent 解决一道经过混淆处理的数学题(随机符号插入、多语言数字拼写)即可获得 API Key。人类看到乱码会放弃,而 Agent 能在单次推理中完成解析。

Key Takeaways:


Learning Resources

Cloudflare Tunnel 稳定性

Docker 运维

EdgeOne / Supabase