代码随记

个人编程学习笔记与经验总结

Vue3组合式API实践心得

2025年1月15日

对比选项式API,组合式API在大型项目中的优势:

  • 逻辑关注点集中,相关代码更内聚
  • 更好的TypeScript类型推断支持
  • 自定义组合函数实现逻辑复用
  • 在实际项目中减少约30%的代码量

特别在复杂表单处理场景下,使用useForm组合函数显著提升了代码可维护性...

Docker容器内存泄漏排查记

2025年2月18日

现象:容器运行一周后出现OOM崩溃

排查过程:

  1. 使用docker stats监控内存增长趋势
  2. 通过jmap -dump:format=b,file=heap.hprof [pid]生成堆转储文件
  3. 使用MAT工具分析发现未关闭的JDBC连接池
  4. 最终定位到未正确实现AutoCloseable接口的资源类

解决方案:添加try-with-resources语句和ShutdownHook确保资源释放

动态规划解题范式总结

2025年3月15日

典型问题:背包问题、最长公共子序列、编辑距离等

解题方法论:

  • 1. 定义dp数组含义(状态)
  • 2. 确定状态转移方程
  • 3. 初始化边界条件
  • 4. 确定遍历顺序
  • 5. 举例推导验证

以LC 322零钱兑换问题为例:

// dp[i]表示凑成金额i所需的最少硬币数
dp[0] = 0;
for(int i=1; i<=amount; i++){
    for(int coin : coins){
        if(i >= coin) dp[i] = min(dp[i], dp[i-coin]+1);
    }
}

前端监控工具对比分析

2025年4月20日

对比维度:

工具 性能监控 错误捕获 源码映射
Sentry ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ 支持
Fundebug ⭐⭐⭐ ⭐⭐⭐⭐ 部分支持

实测结论:在React项目中,Sentry的ErrorBoundary集成和性能指标采集更全面...

HTTPS握手过程图解

2025年5月5日

关键步骤:

  1. ClientHello - 发送支持的加密套件列表和随机数
  2. ServerHello - 选择加密方式并下发证书
  3. 客户端验证证书链有效性
  4. Premaster Secret生成与交换
  5. 会话密钥派生与加密通信开始

优化点:Session Resumption减少完整握手开销,OCSP装订提升验证效率...