[]
已收录文章:15篇
-
PHP 导出或后台列表一到几十万行就内存耗尽,常见原因不是 PDO 连不上,而是 fetchAll() 一次把剩余结果集堆进数组。先用最小测量定位峰值,再按用途改成 SQL 限制、逐行 fetch() 或分页批处理,才能把结果集大小和内存边界重新拉回可控范围。495 收藏
-
Go 项目的 CI 不该只在最后跑一次 go test。把触发范围、最小权限、go vet、go test 和 go build 拆成可读阶段,PR 出问题时能更快定位,也不会把不需要的写权限交给工作流。485 收藏
-
国家医保服务平台亲情账户适合帮老人、孩子展示医保码和查询医保相关服务,绑定时要从官方 App 或可信应用商店进入,按实名信息添加家庭成员,并分清亲情账户、家庭共济和医保钱包的用途。480 收藏
-
Linux 里 Permission denied 不只是文件没有权限,也可能是当前用户不对、父路径没有进入权限、属主属组不匹配或脚本缺少运行位。本文从用户操作场景出发,给出一套可复用的排查顺序,帮助你安全修复权限问题。476 收藏
-
用 Python 做临时文件夹清理,重点不在递归删除本身,而在边界、阈值、白名单和试运行。本文从一个小工具项目出发,带你完成扫描、过滤、预览、删除确认和运行验收,适合处理 __pycache__、旧日志、构建缓存等可清理文件。428 收藏
-
浏览器会在请求中带上 Sec-Fetch-Site 等 Fetch Metadata。用一层 Go 中间件先区分 same-origin、cross-site 和缺失请求头,再与 CSRF、Origin 校验配合,可以为敏感接口补上一道跨站访问边界。349 收藏
-
Go 1.22 改掉了 for 循环变量在闭包里容易共用同一个变量的老坑,但迁移时仍要看 go.mod 版本、旧兼容逻辑、go vet 提示和并发测试。本文用旧语义、新写法和回归清单说明怎么判断代码是否还能保留手动复制。348 收藏
-
Flask 表单保存后直接渲染页面,刷新浏览器往往会再次提交 POST。用 Post/Redirect/Get 把保存动作和展示页面拆开,再配合 flash 把一次性反馈交给下一次 GET,能让刷新、回退和提示消息各自落在正确边界。343 收藏
-
Java 后端接口调用远程服务时,不能只把同步等待套进 CompletableFuture 就结束,还要处理超时、兜底值和异常记录。本文用一个小实验演示 supplyAsync、orTimeout、completeOnTimeout 和 join 的组合写法,让页面在远程接口变慢时仍能给出可控响应。304 收藏
-
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 收藏