[]
已收录文章:19篇
-
Go 服务需要在不重启进程的情况下临时关闭一条新逻辑时,atomic.Bool 可以提供轻量的并发开关。本文用运行时功能开关示例说明 Load、Store、启动默认值、灰度比例和回滚检查该怎么组织,避免数据竞争与状态不一致。270 收藏
-
Go 解析 JSON 时,struct、map[string]any 和 json.RawMessage 适合不同场景。字段结构稳定时优先用 struct,临时排查或不固定字段可以用 map,嵌套消息需要延迟处理时用 RawMessage,生产接口还要配合 UseNumber 和 DisallowUnknownFields 做边界控制。250 收藏
-
DBeaver 导入 CSV 时,关键不是一路下一步,而是先准备好编码、分隔符和表头,再在 Data Transfer 向导里选目标表、映射字段、预览数据,最后核对导入行数和异常记录。操作重点放在界面路径、预览检查和结果确认上。217 收藏
-
Go 循环里反复调用 time.After 不一定立刻造成传统意义上的永久泄漏,但在高频循环里会让还没触发的定时器短时间堆积,内存和定时器队列压力都会上来。本文从现象排查到修复写法,讲清什么时候可以用 time.After,什么时候应该改成 time.NewTimer 并配合 Stop 和 Reset。181 收藏
-
Go 服务渲染首屏时,直接把 json.Marshal 结果转成 template.JS 很容易越过 html/template 的安全边界。更稳的做法是把结构体直接放在 script 的 JavaScript 值位置,让 html/template 按上下文生成安全 JSON;少量字段则用 data-* 属性。177 收藏
-
PHP 默认文件会话在同一用户并发请求下容易因为会话锁排队,接口越慢越明显。优化思路不是简单换 Redis,而是先缩短会话锁持有时间,再把会话存储迁到 Redis,并补上 TTL、回退和监控信号。164 收藏
-
给 JTable 加双击打开详情时,别直接把 getSelectedRow 当成业务行号。用 MouseAdapter 判断双击和左键,用 rowAtPoint 排除空白区域,再把视图行转换为模型行,排序和筛选后仍能打开正确记录。135 收藏