写作

文章

记录技术探索、项目实践与业务思考。既复盘做过的事,也讨论值得研究的问题。

技术笔记

记录工程实践、原理梳理与方案分析。

  1. 只讨论一个问题:异步请求为何在等待外部服务时仍持有数据库连接,以及怎样通过独立短会话缩短占用,而不破坏业务事务。

    • Python
    • SQLAlchemy
    • 异步请求
    • 连接池
  2. 把视口坐标、画布逻辑坐标、业务几何与像素密度分开,分析缩放和页面滚动后图形可见但点选不准的原因。

    • Canvas
    • 坐标变换
    • 命中检测
    • 跨端交互
  3. 聚焦异步结果的归属判断:请求取消为何还不够,如何用请求代次处理连续切换、重复刷新、旧异常和组件卸载。

    • Vue
    • 异步竞态
    • AbortController
    • 状态管理
  4. 从聊天记录分页分析滚动锚点:为什么补偿 scrollHeight 只适合部分情况,动态图片、实时消息和用户主动滚动应如何协调。

    • 聊天界面
    • 滚动定位
    • 动态高度
    • 交互状态
  5. 以多字段总量固定为唯一问题,讨论状态建模、相邻补偿、无效输入和整数余量。尺寸编辑只是案例,方法也适用于配额分配与布局编辑。

    • TypeScript
    • 状态建模
    • 不变量
    • 数值精度
  6. 聚焦跨设备的执行互斥:为什么前端 loading 不够,如何用数据库原子获取、带身份的续租与释放,避免旧任务误删新任务的占用状态。

    • PostgreSQL
    • 并发控制
    • 租约
    • AI Agent
  7. 从独立交付的组件库出发,讨论资源版本、发布顺序和旧页面存活期,让一次更新对应一组完整产物,而不是分别覆盖几个文件。

    • 组件库
    • 静态资源
    • 版本管理
    • 缓存
  8. 聚焦组件库与宿主的运行时依赖边界:external 和 peerDependencies 各负责什么,ES 与 UMD 怎样找到外部依赖,以及如何验证没有悄悄多打一份 Vue。

    • Vue 3
    • Vite
    • 组件库
    • 工程化
  9. 从 AI 对话的流式输出出发,拆开字节解码、事件分帧和业务更新,分析中文截断、半包与连续事件为什么会让前端状态失真。

    • SSE
    • 流式响应
    • UTF-8
    • 协议解析
  10. 从 ERP 大表格场景分析行节点复用:用稳定行标识管理草稿、校验和焦点,避免滚动、排序与刷新让编辑内容串行或丢失。

    • 虚拟列表
    • 表格编辑
    • 状态管理
    • 稳定标识
  11. 聚焦第三方依赖的兼容边界:区分语法、运行时 API 与 Worker 加载,建立可复现的浏览器验证链,而不是仅修改编译 target。

    • WebView
    • 浏览器兼容
    • PDF.js
    • Worker
  12. 把页面返回、数据同步与流程推进拆开,分析消息延迟、重复回调和旧页面残留动作如何影响跨端多步骤交互。

    • uni-app
    • 微信小程序
    • WebView
    • 生命周期
  13. 聚焦内容一致性:用 Astro 内容集合区分数据与展示,让中文首页、项目归档和 A4 简历消费同一份项目资料,减少多处复制后的口径漂移。

    • Astro
    • 内容建模
    • 静态站点
    • 打印样式

业务思考

梳理流程、业务规则与产品取舍。

  1. 围绕配置、报价与下单的业务承诺,分析哪些变更应触发重算、旧报价如何展示,以及用户需要在什么时点重新确认。

    • 业务规则
    • 报价流程
    • 变更管理
  2. 从聊天与售后工单协作出发,分析处理、确认、关闭和重新打开各自代表什么,避免按钮状态替代真实服务结果。

    • 售后协作
    • 工单流程
    • 业务状态
  3. 从功能开放范围出发,讨论配置能力与后续交付之间的关系。如何在入口、操作步骤和最终提交之间明确开放范围,避免投入大量操作后才被告知不可用。

    • 业务分析
    • 多步骤流程
    • 功能开放范围