便捷支付应用的长期运维
我们负责一款支付频繁的手机支付应用,开发功能并长期运营。在不改变既有行为的前提下,把用旧开发语言写成的代码迁移到新结构,同时维持从支付请求到失败、重试的整条流程。对支付应用来说,一个小缺陷就直接是用户信任的问题。工作涵盖代码迁移、支付流程、相机证件提交、多语言以及应用错误的收集与修复。
不停下运行中的支付应用完成的代码迁移
这款手机支付应用运行在用旧开发语言写成的代码之上,我们把这些代码迁到了以现行开发语言为中心的结构。服务上有真实的支付往来,所以保留既有行为不变,朝着便于新功能开发与维护的方向逐步整理代码边界。迁移期间支付从未停止,因此发布保持保守,每次都重新检查改动周边。

从支付请求到重试都不丢失状态的支付流程
手机支付是一条由支付请求、认证、结果处理、失败响应与重试串起来的流程。在实现和维护这条流程时,我们细致检查了每个环节可能出现的异常与状态处理。因为在支付应用里,哪怕一个小缺陷也会立刻动摇用户信任。

相机证件提交与各语言含义一致的提示
这款手机支付应用有用相机拍摄证件并提交的功能。我们考虑了真实使用环境中的整个流程来实现和维护它:拍摄权限、所拍图像的质量、上传状态与失败处理。用户群体广泛,界面文字整理成多种语言;支付、认证、错误提示这类必须准确的文字,则结合界面流程逐一确认各语言之间没有偏差。

收集应用错误、从根源修复,崩溃几乎为零的运营
运行中的手机支付应用,其错误由错误收集工具汇总监控,追查原因后迅速修复。在运营期间,应用崩溃率一直保持在接近零的水平。我们与同一基础上运行的另一款支付应用并行运营,远程共享问题并梳理修改范围。

项目亮点
保持既有行为、把旧代码迁到新结构的转换
维护从支付请求、认证到失败与重试的支付流程
收集并修复应用错误,使崩溃几乎为零的运营
洞察
GA4 client_storage: 'none'은 정말 쿠키를 막을까?
두 달 전 이 블로그에 「GA4 쿠키 없이 쓰기」라는 글을 썼습니다. clientstorage: 'none' 으로 쿠키 저장을 끄고, 자체 분석이 쓰던 익명 ID 를 clientid 로 넘기면 쿠키 0개로 GA4 를 쓸 수 있다는 내…
GA4 Measurement Protocol: gtag.js 없이 서버에서 이벤트 보내기
랜딩 페이지의 전송량을 파일 단위로 쪼개 보다가, 가장 큰 파일이 우리 코드가 아니라는 것을 알았습니다. Google Analytics 의 gtag.js 였고, 방문 한 번에 176KB 를 받고 있었습니다. 페이지 전체가 1,094K…
중소 제조업 AI 도입 순서: DX를 먼저 끝내야 할까?
공장을 가진 중소·중견 제조기업 16만여 곳 가운데 스마트공장을 도입한 곳은 19.5%입니다. 회사가 작을수록 이 비율은 더 떨어집니다. 중소벤처기업부가 2025년 4월에 낸 제1차 스마트제조혁신 실태조사 결과입니다. 그림: 기업 규…
Next.js loading.tsx와 404: 버튼이 화면보다 먼저 살아나게 하기
관리 화면 왼쪽 위에 사이드바를 접고 펴는 ☰ 버튼이 있습니다. 폭 하나 바꾸는 버튼인데, 대시보드에서 누르면 2초 넘게 아무 반응이 없었습니다. 레이아웃만 바꾸는 일이 왜 이렇게 오래 걸리는지부터 들여다봤습니다. Next.js 16…



