首页 文章 精选 留言 我的

文章列表

共 228793 篇
Go 中 http.Server 的 Shutdown 为什么没有立即关闭连接

Go 中 http.Server 的 Shutdown 为什么没有立即关闭连接

线上服务做优雅重启时,调用 http.Server 的 Shutdown 方法后发现进程仍然卡住不退出,日志显示有大量连接在几十秒后才被释放。这个问题通常出现在使用长连接、SSE 或者客户端没有正确关闭连接的场景中。Shutdown 的设计目标是停止接收新请求并等待正在处理的请求完成,但它的行为受连接状态和上下文超时控制,如果客户端保持空闲的 keep-al...

Node.js 中 exec 和 execFile 的细微差别:一次线上文件处理服务的踩坑记录

Node.js 中 exec 和 execFile 的细微差别:一次线上文件处理服务的踩坑记录

我们有一个用 Node.js 写的后台服务,负责接收用户上传的 CSV 文件,然后调用系统上的 csvtool 命令行工具做格式转换和统计。上线后一直运行正常,直到某天运营反馈说,某些包含中文和特殊符号的文件名在处理时报错。查日志发现 child_process.exec 返回了 Syntax error: Unterminated quoted strin...

PostgreSQL 中 IS NULL 与 = NULL 的区别及索引行为分析

PostgreSQL 中 IS NULL 与 = NULL 的区别及索引行为分析

在 PostgreSQL 日常开发中,不少人在处理可空字段时踩过坑:明明写了 WHERE col = NULL,查询却永远返回空结果;或者给可空列建了索引,但带 IS NULL 的查询依然走全表扫描。这类问题常见于数据迁移后的脏数据排查、报表统计里对缺失值的过滤,以及 ORM 自动生成的 SQL 与手写查询混用的场景。根本原因在于 SQL 的三值逻辑&mda...

Go 语言中如何正确使用 context 控制 goroutine 生命周期

Go 语言中如何正确使用 context 控制 goroutine 生命周期

在 Go 服务端开发中,启动 goroutine 处理异步任务很常见,比如处理 HTTP 请求时发起下游 RPC 调用、写日志、刷新缓存。这些 goroutine 如果不加控制,在请求超时或客户端断开后仍会继续运行,造成资源泄漏甚至向已关闭的 channel 发送数据导致 panic。context 包就是为解决这类问题设计的,但实际代码里经常看到只把 co...

Node.js中处理CPU密集型任务的三种实用方案与避坑指南

Node.js中处理CPU密集型任务的三种实用方案与避坑指南

在Node.js里写业务代码,迟早会碰到一个绕不开的问题:某个接口突然变慢,甚至整个服务卡住不响应。排查一圈发现不是数据库慢,也不是网络问题,而是某段同步计算把事件循环堵死了。比如生成大体积PDF、解析几十MB的CSV、做图片缩略图、跑加密签名,这些操作在单线程模型下会直接让后续所有请求排队。很多团队一开始用setImmediate或者Promise包装一下...

Node.js 中 Promise.all 并发请求导致内存暴涨的排查与修复

Node.js 中 Promise.all 并发请求导致内存暴涨的排查与修复

最近在维护一个基于 Node.js 的数据聚合服务时,遇到一个不太容易复现的问题:服务运行一段时间后 RSS 内存会缓慢上涨,最终触发容器 OOM 重启。这个服务主要负责从多个上游接口拉取数据、合并后返回给前端,单次请求会并发调用 8 到 12 个下游 HTTP 接口。用 Promise.all 把请求包起来是最直观的写法,代码也一直这么跑着。问题出现在上游...

React 中 useEffect 依赖数组引发无限循环的三种真实场景与修复

React 中 useEffect 依赖数组引发无限循环的三种真实场景与修复

在 React 函数组件里用 useEffect 处理副作用时,依赖数组写错往往不会立刻报错,而是表现为组件反复渲染、接口被疯狂调用,甚至浏览器卡死。尤其在组件卸载后 setState、把对象或函数直接放进依赖、以及条件分支里调用 Hook 时,问题更隐蔽。这篇文章从实际项目里常见的三个场景出发,拆解每次渲染都生成新引用导致依赖比较失败的原因,给出用 use...

高校与医院采购如何破局?看锐竞平台如何打造“合规、降本与效率”的黄金平衡点

高校与医院采购如何破局?看锐竞平台如何打造“合规、降本与效率”的黄金平衡点

导语:在高校、科研院所以及公立医院的日常运转中,物资采购一直是一项极具挑战性的系统工程。与普通企业采购不同,高校与医院的采购面临着“高频、分散、品类极杂、专业门槛高”等特点。上至百万级的专业临床诊疗设备、精密科研仪器,下到几毛钱的离心管、一次性注射器,乃至受严格管制的易制毒化学品、高风险试剂。每一笔采购,不仅直接关系到科研实验的成败和...

Go 服务里 time.Ticker 泄漏导致 CPU 飙升的排查与修复

Go 服务里 time.Ticker 泄漏导致 CPU 飙升的排查与修复

线上一个用 Go 写的推送网关最近频繁被报警,表现是进程 CPU 占用从平时的 30% 左右一路涨到 200% 以上,重启后能恢复,但跑上两三天又慢慢变高。这个网关的核心逻辑是每个 WebSocket 连接建立后,启动一个 goroutine 用 time.Ticker 定时从 Redis 拉取该用户的消息并推送到连接上。排查的时候先用 pprof 抓了 g...

#WorkBuddy# #AI办公# 5.86GB 疑云结案:目标机一上线,四条联接点全招了——数据根本不在 C 盘

#WorkBuddy# #AI办公# 5.86GB 疑云结案:目标机一上线,四条联接点全招了——数据根本不在 C 盘

前天我给局域网那台 Windows 做完 AppData 下钻,留了个悬案:Roaming 一级 138 项逐个 robocopy 求和 13.37GB,整树实测却只有 7.51GB,多出来的 5.86GB 恰好等于 Adobe、Tencent、Seewo、Slack 四户之和。当时只敢推断"这四户本身是联接点或内含根级链接",因为目标机...

Node.js 中使用 worker_threads 处理 CPU 密集型任务时,为什么你的性能反而下降了?

Node.js 中使用 worker_threads 处理 CPU 密集型任务时,为什么你的性能反而下降了?

上个月帮朋友排查一个图片处理服务的性能问题,他们用 Node.js 起了一个 HTTP 服务,收到请求后对上传的图片做缩放和格式转换,用的是 sharp。逻辑本身没问题,但压测时 QPS 死活上不去,CPU 占用却跑满了。他听说 worker_threads 可以把计算任务挪到子线程,避免阻塞事件循环,于是把 sharp 调用包进了 Worker 里,结果吞...

Node.js 中处理大文件上传的流式方案与内存陷阱

Node.js 中处理大文件上传的流式方案与内存陷阱

在 Node.js 服务端接收文件上传时,很多人会直接使用 express 的 multer 或 formidable 默认配置,把整个文件缓冲到内存再写入磁盘。当上传一个几百 MB 的视频或数据包时,进程内存会瞬间飙升,轻则触发 GC 停顿,重则直接 OOM 崩溃。这类问题在后台管理系统、日志收集接口、批量导入功能里非常常见。根本原因在于 Node.js ...

Go 中 time.After 导致的内存泄漏:从一次线上 goroutine 暴涨说起

Go 中 time.After 导致的内存泄漏:从一次线上 goroutine 暴涨说起

线上一个用 Go 写的推送服务在运行十几个小时后内存持续上涨,pprof 显示 goroutine 数量从启动时的几百涨到了十万以上,堆内存也跟着水涨船高。排查后发现,问题出在一个看似无害的 select 超时控制上——代码里大量使用 time.After 做超时,但每次调用都会在底层创建一个定时器,直到超时触发才会被垃圾回收。在循环...

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册