2025-11-22-简谈前端包管理器npm,pnpm,yarn和bun
npm 作为 Node.js 的原生包管理器,最大优势在于生态兼容性无出其右——所有 Node.js 项目默认支持,社区最庞大、问题最容易搜到答案。它的扁平化依赖树和 package-lock.json 锁文件机制已经足够成熟稳定,对于大多数中小型项目来说完全够用,且学习成本几乎为零。但它的问题也相当明显:依赖解析依赖纯dependencies)问题,即代码可以意外引用未显式声明的包。磁盘占用方面,每个项目都独立下载和解压 node_modules,在 monorepo场景下空间浪费尤为严重。
2025-11-21-Web可视化实践—canvas
本文主要从本文主要从 Faster、KonvaJS、LeaferJS 三个渲染引擎来介绍 Canvas ,作为对渲染层的入门。个渲染引擎来介绍 Canvas ,作为对渲染层的入门。
2025-11-20-关于滑动窗口
滑动窗口(Sliding Window)是一种经典的算法设计技巧,主要用于处理线性数据结构(如数组、字符串、链表)上的连续子序列(子数组或子串)问题。它通过维护一个“窗口”在数据上滑动,避免重复计算,从而将暴力枚举的 O(n²) 或更高复杂度优化至 O(n)
2025-11-17-关于动态规划(背包问题为例)
动态规划(Dynamic Programming,简称 DP)是一种算法设计范式,用于解决具有重叠子问题和最优子结构性质的优化问题。它通过将原问题分解为若干子问题,先解决子问题并保存结果(通常使用表格或数组),从而避免重复计算,最终构建出原问题的解。
2025-11-15-配置 dnscrypt-proxy 实现加密 DNS 服务(Windows)
随着互联网的飞速发展,网络安全问题日益成为公众关注的焦点。从个人用户到企业机构,如何保护网络通信的安全性成为了不可忽视的问题。而在这之中,域名系统(DNS)作为互联网的基础服务之一,其安全性直接影响着整个网络环境的安全性。
2025-11-05-基于随机加权推断模型(IM)的参数估计算法
不可观测的泊松过程 B \sim \text{Poisson}(b) 和 S \sim \text{Poisson}(q),观测值 Y = B + S \sim \text{Poisson}(b + q) 和辅助变量 W \sim \text{Poisson}(m \cdot b),目标是估计参数 b、q
m?
Zhongye