Go语言技术文章
-
Redis List 用 BRPOP 做任务队列时,Worker 取走任务后宕机会让任务直接消失。更稳的做法是先用 LMOVE 转到处理中队列,业务成功后再 LREM 确认。449 收藏 -
科技周边 · 人工智能 | 3星期前 | 人工智能 · 前端流式输出 · AI聊天 · Fetch Stream · 前端 AI聊天 流式输出 ReadableStream TextDecoder Fetch Stream
用一个最小前端配方实现 AI 聊天流式输出,覆盖 Fetch Stream 读取、TextDecoder 解码、逐段渲染、AbortController 中断和 SSE 变体选择。448 收藏 -
Golang · Go问答 | 4天前 | WaitGroup · golang · goroutine · 并发编程 · Go问答 · Go 1.25 · Goroutine 并发 WaitGroup Go 1.25 sync.WaitGroup.Go Add Done
Go 1.25 为 sync.WaitGroup 增加了 Go 方法,常见的 Add、go func、defer Done 三段式可以收成一次调用。它能减少计数配对遗漏,却不会替业务处理 panic、取消或结果收集。本文用批量写入场景解释最小写法、和旧写法的边界差异、版本兼容与复用 WaitGroup 时容易忽略的顺序。448 收藏 -
Go 服务接收 JSON 时,json.Decoder 和 json.Unmarshal 的区别不只在写法。本文用连续 JSON 请求的真实场景,说明如何选择解析方式、如何检查请求体边界,以及怎样避免多读数据或漏掉尾部内容。446 收藏 -
围绕 Go 文件下载接口的路径穿越风险,解释 filepath.Clean 为什么不等于安全校验,并给出安全根目录、相对路径判断、扩展名白名单、审计日志和验证用例。445 收藏 -
文章 · php教程 | 4天前 | PHP · 函数式编程 · 升级 · PHP 8.5 · 管道操作符 · 代码可读性 · PHP 8.5 PHP 管道操作符 PHP |> 运算符 PHP 函数链 PHP 8.5 升级 PHP 输入清洗
PHP 8.5 已引入 |> 管道操作符,适合把一连串单输入、单输出的处理写成从左到右可读的链。本文从后台内容标题清洗场景出发,对比嵌套调用与管道写法,说明适用边界、版本落地方式,以及不该为了新语法强行改造的几类代码。445 收藏 -
Golang · Go问答 | 6天前 | time.Parse · 时间处理 · Go问答 · Go基础 · 日期解析 · Go 日期解析 time.Parse YYYY-MM-DD 2006-01-02
Go 的 time.Parse 不认识 YYYY-MM-DD 这类常见日期格式符,它用 2006-01-02 这组参考时刻来描述布局。文章从解析失败的报错入手,给出最小修复、UTC 与业务时区的边界、ParseError 的定位字段和可回归的日期测试,避免日期字段在接口或报表中悄悄偏移。443 收藏 -
科技周边 · 人工智能 | 5天前 | 安全 · oauth · 人工智能 · mcp · 工具调用 · MCP 401 MCP 403 MCP OAuth mcp resource_metadata MCP scope MCP token audience
远程 MCP 服务的工具调用返回 401 或 403,通常不是模型没有找到工具,而是授权发现、scope 或 token audience 没有和目标 MCP 资源对齐。本文按响应状态、WWW-Authenticate、Protected Resource Metadata 和 resource 参数逐步定位,并给出最小核对清单。443 收藏 -
文章 · 前端 | 3星期前 | 前端 · javascript · AbortController · 表单提交 · AbortController 旧响应覆盖 前端重复提交 loading锁 fetch取消 按钮防抖
用一个可复制的前端配方解决按钮重复提交:解释连续点击为什么会造成旧响应覆盖新状态,并用 loading 锁、AbortController、最新序号和 finally 恢复按钮状态。442 收藏 -
漫画更新时间要以作品页、官方公告和服务帮助说明为准。连载、完结、限时开放的规则不同,地区和时区也可能让读者看到不同日期;先看章节列表的发布时间和下一话提示,别把搬运截图当成固定更新表。442 收藏 -
Linux 开机慢时,不要只盯着启动分析工具的耗时排名第一行。本文从总启动时间、并行单元耗时、关键依赖链和网络等待四个角度,给出一套可复查的定位与调整路径。442 收藏 -
Redis 过期键通知适合做自动清理的提醒信号,但不能当成可靠消息队列。更稳的做法是订阅事件触发清理任务,同时保留补偿扫描、幂等门禁、失败重试和告警复盘。441 收藏 -
文章 · linux | 2星期前 | Linux · Path · sudo · 运维排查 · 权限配置 · Linux sudo path 绝对路径 command not found secure_path visudo
普通用户能找到命令,sudo 后却提示 command not found,多半是 sudo 使用了更受限的 PATH 或 secure_path。先用 command -v 找真实路径,再用 sudo -V、visudo 和绝对路径验证。440 收藏 -
暴雨预警的蓝、黄、橙、红代表不同的降雨强度和应对级别。本文整理各级预警的常见标准、出门前的核对方法,以及遇到积水、雷雨和山区路段时应避开的风险。439 收藏 -
Golang · Go问答 | 2星期前 | 并发 · channel · select · 性能排查 · Go问答 · select Go channel context default CPU飙高 忙等循环 ticker
Go select 里的 default 会在没有 channel 就绪时立即返回;如果外层套着无限 for,就会形成忙等循环,让 CPU 空转。更稳的写法是阻塞等待、用 ticker 控制检查频率,并用 context 处理退出。438 收藏