多承运商轨迹归一 · 把 8 家快递的不同状态挤进同一台状态机
八家承运商的轨迹字段各不相同,各自还有自己的状态词。做法是先按承运商分发查询,再把字段映射到统一状态机(已揽收 / 运输中 / 派送中 / 已签收 / 异常),异常节点单独落表;对外只暴露一套 REST 与 Webhook,状态变化才推送。难点不在请求,在字段对齐与重试幂等。
打开实验 →(示例数据)
一个人的技术实验场:写代码、拆系统、把踩过的坑写成复盘。全部是个人项目与技术记录。
19 个案例,每个页面单独设计一套视觉风格:配色、字体、栅格、版式互不重复。
自己写着玩、也用来验证想法的几个小系统。全部跑在这台机器上,示例数据,可点开操作。
八家承运商的轨迹字段各不相同,各自还有自己的状态词。做法是先按承运商分发查询,再把字段映射到统一状态机(已揽收 / 运输中 / 派送中 / 已签收 / 异常),异常节点单独落表;对外只暴露一套 REST 与 Webhook,状态变化才推送。难点不在请求,在字段对齐与重试幂等。
打开实验 →(示例数据)
一张订单表、一张回款流水,人工核到眼花。这里按订单号建索引做匹配,逐单算出未回款 / 金额不符 / 多回款 / 重复回款四类差异,给出订单总额、已回款、未回款、差异笔数四个口径;导出 CSV 时写 UTF-8 BOM,Excel 直接打开不乱码。支持直接上传自己的 CSV 试跑。
打开实验 →(可上传自己的表)
从列表页按条件检索,逐条进详情抽字段(项目名、类型、地区、招标人、代理机构、发布时间、截止时间、预算),再下载 PDF/Word 附件解析正文补字段。分页与增量去重靠时间戳加唯一键,失败条目单独重试。本页演示字段口径与导出格式。
打开实验 →(示例数据)
把一套跑了十几年的老站整体搬到新机器:先做只读备份并逐文件哈希,再在新环境复原、接管旧链接 301、配 HTTPS 与自动续期,最后按页面清单逐个走通并留验证记录。动手前先判定有没有加密或绑定原机授权,不写源机。
打开实验 →(流程说明)
不引框架、不装扩展,用 PHP 直接读系统指标写进 SQLite,前端一张页面看磁盘、进程、站点连通性与响应时间。顺带做了并发基准:同一台机器上改 worker_connections 与 opcache 参数,对比站点平均响应时间的变化。
打开实验 →(基准报告)
常用的一套工具,选型偏保守:能少依赖就少依赖,能一个文件解决就不引框架。
Python 为主,PHP 用在轻量站点上。
手写 HTML / CSS / 原生 JS,不挂框架。
Linux 服务器从装系统到长期维护。
用自动化把重复的事交给脚本。
做站点、搬老系统、调性能时踩过的坑,写成短文留档。只谈实现与排查方法。
一个放笔记和实验的地方。
这里只放两类东西:自己写的工具,和拆系统时记下的复盘。写下来的目的很简单——下次再遇到同样的坑,能少查半小时。
站内所有演示都是本地示例数据,页面不带任何追踪脚本;没有账号、没有评论、不收集任何信息。
技术上刻意保持简陋:纯静态页面加少量后端脚本,一个 Nginx 就能跑,全站资源本地托管,不引第三方库、不挂 CDN。
内容不定期更新,写得慢,但都是真跑过的东西。