最新 最热

React列表key怎么选?重排后状态错位定位与稳定ID方案

React列表key应使用数据中的稳定唯一标识。会插入、删除、排序的列表不要用数组下标或Math.random,否则组件状态可能跟错数据或被反复重建。key只要求同级唯一,不传prop,业务ID需单独传。用插入、删除和重排三组操作测试key是否正确。

2026-09-20
17

Spring统一异常处理怎么做?业务、参数与未知异常分层

Spring统一异常处理应把业务异常、参数校验异常和未知异常分开。业务异常携带稳定code和HTTP状态,参数异常返回400和字段提示,未知异常记录完整堆栈并对外只返回通用信息。用@RestControllerAdvice统一分流,用MockMvc固定状态码与JSON契约。

2026-09-20
16

JavaScript数组排序怎么写?sort比较器、toSorted与四种场景

JavaScript数组排序默认按字符串比较,数字必须传(a,b)=>a-b。sort原地修改数组,toSorted返回新数组。中文字符串用localeCompare或Intl.Collator,对象多字段用比较器链。比较函数返回负数、零、正数三类结果,不能返回boolean。空值和NaN要显式处理,稳定排序不等于正确排序。

2026-09-20
14

MongoDB聚合查询怎么写?match 、match、group、$project三阶段管道完成分组报表

MongoDB聚合查询可先用match缩小数据,再用match缩小数据,再用group分组计算,最后用project整理字段。project整理字段。match放在前部可利用索引,group是阻塞阶段需关注内存,group是阻塞阶段需关注内存,project可改名、计算和排除_id。逐阶段增加并保存快照,用explain检查索引和扫描文档数。

2026-09-20
14

C++智能指针怎么选?unique_ptr、shared_ptr、weak_ptr所有权边界

C++智能指针按所有权选择:单一所有者用unique_ptr,多个共同所有者用shared_ptr,只观察不拥有用weak_ptr。优先使用make_unique和make_shared,避免从同一裸指针构造多个shared_ptr。循环引用用weak_ptr打断。函数参数只在需要延长寿命时传shared_ptr,否则传引用或裸指针。

C++
2026-09-20
13

Docker镜像太大怎么减?多阶段构建与依赖清理实战

Docker镜像太大时,先用history找出大层,再缩小构建上下文、拆分构建与运行阶段,并只保留生产依赖。删除文件要和创建缓存在同一RUN中,否则前一层仍占空间。多阶段构建让build阶段装工具链,runtime阶段只复制产物。优化后要检查大小、安全与可运行性。

2026-09-20
10