文章

开发笔记

接到阿里云电话之后,我才发现页脚备案号是错的

2026年10月14日

先接到阿里云客服电话,再读到备案核查邮件。邮件点名 gunlabs.cn 应悬挂桂ICP备2025072478号-3。我顺着提交记录看这个号是何时被换掉的,以及改回之后怎样确认线上。

阅读全文

官网截图太重,我把三张设备图合成了一张

2026年10月12日

手机、平板、电脑叠在一起很好看,但也意味着三次图片下载。记录我把五个站点的设备展示改成响应式合成图的过程,以及怎样验证体积、布局和维护成本。

阅读全文

迁到 Coolify 之后,我又给部署补上了版本验证和回滚

2026年10月12日

Coolify 解决了容器管理,但上线了哪个版本、失败后退回哪个镜像,仍需要自己回答。记录五个落地页从面板部署到可追溯发布的下一步。

阅读全文

我删掉了官网里那些“听起来很厉害”的功能介绍

2026年10月12日

重新检查几个产品的落地页时,我发现好看的文案不一定对应已发布的功能。记录这次怎样核对产品介绍、隐私说明和展示内容,并把事实约束留给下一次修改。

阅读全文

订阅系统最难的不是付款:是重复通知、退款和恢复购买

2026年10月12日

一次购买成功,只覆盖订阅系统的一小段路径。记录这次服务端修复里,怎样处理通知重试、事件顺序、匿名购买和交易恢复,以及哪些验收还不能代表生产业务完整通过。

阅读全文

App 已经上架,后端怎么升级才不逼用户更新?

2026年10月12日

几款 App 已经在用户手机上,服务端修复却不能等所有客户端重新过审。记录这次兼容发布里,我怎样划定接口边界、验证旧请求,并区分兼容性与凭据轮换。

阅读全文

被 Apple 连拒两次之后,我决定把 GPlay 的"伪装功能"彻底下线

2026年4月19日

一个连续 9 个版本通过审核的"计算器伪装"功能,突然被 2.5.1 拒了。申诉失败。我花了一天时间把它从代码里彻底拔掉——以及这一天里我想明白了什么。

阅读全文

一个 Flutter Monorepo 的自然死亡:拆分成 20+ 个独立仓库的全过程

2026年4月19日

在新电脑上 git clone 直接超时失败——这是我拆分 Monorepo 的导火索。记录从单仓到多仓的决策过程、用 Melos 重建工作区视角的做法,以及拆完之后出现的新问题。

阅读全文

从 300 行 Shell 脚本到 Coolify:独立开发者的部署进化

2026年3月29日

维护一个 Monorepo、8 个服务的部署脚本有多痛苦?记录我把所有服务迁移到 Coolify 的全过程,以及踩过的 10 个坑。

阅读全文

本站展示个人独立开发的产品与技术实现过程。技术交流或对产品有反馈,请邮件联系。

© 2026 GunLabs · 刘罡 · 桂ICP备2025072478号-3 · 隐私政策