Go语言技术文章
-
Go 流式处理最容易留下 goroutine 泄漏的地方,是只取消一端却没有唤醒另一端。本文用 context、io.Pipe、CloseWithError 和底层 ReadCloser 组合出一套双端退出方案。498 收藏 -
两张原创纯黑金色花蕊 AMOLED 手机壁纸,一张居中偏下突出完整花朵,一张以右下侧视微距强化金色丝状花蕊,并附完整中英文提示词、下载按钮和锁屏适配方法。221 收藏 -
前端状态更新频繁时,批处理负责合并同一调度窗口的重复提交,去抖负责等待连续输入停止后再执行副作用。本文用原生 JavaScript 拆开两者的触发边界,并给出输入、请求、状态和绘制的组合方案。227 收藏 -
Go 的 io.Copy 会优先使用源的 WriterTo 或目标的 ReaderFrom,只有没有快路径时才进入通用缓冲循环;CopyBuffer 主要解决缓冲复用与尺寸实验,手写循环则用于进度、限速、校验等新增语义。本文解释三者的分派、错误处理和基准边界。243 收藏 -
Linux 负载高并不等于 CPU 已满。本文用 /proc/loadavg、vmstat、iostat、pidstat、ps 和锁统计,把 I/O 等待与锁等待拆成可复核的排查证据。398 收藏 -
Golang · Go教程 | 2星期前 | Go教程 · HTTP客户端 · 后端开发 · io.ReadAll io.LimitReader Go HTTP客户端 Go LimitedReader 响应体大小限制
Go HTTP 客户端面对未知或不可信响应体时,不应直接无界 io.ReadAll。本文用 io.LimitReader(max+1) 与一个哨兵字节准确识别超限,说明 Content-Length 预检、压缩响应、读取错误、Body.Close、连接复用及 httptest 边界测试。166 收藏 -
解释 PHP Session 文件锁让同一用户并发请求排队的原因,并用 read_and_close 与 session_write_close 缩短持锁区间,区分会话锁和数据库一致性控制。305 收藏 -
Python import 很慢时,应先用 -X importtime 区分模块自身耗时与包含子依赖的累计耗时,再排查模块顶层的文件 I/O、网络连接、插件扫描和重对象构造。本文给出轻量 __init__、函数内 import、按需初始化及复测方法,并说明延迟导入只是转移成本。292 收藏 -
Java 堆稳定而进程 RSS 持续上涨时,可用 NMT 建立基线并读取 summary.diff,按 committed 分类增量判断 Class、Thread、Code、GC/Internal 等来源;若 NMT 总量稳定而 RSS 继续增长,则应转向 JNI、第三方库和系统级内存证据。414 收藏 -
io.Reader 的 Read 允许在返回最后一批数据时同时给出 io.EOF。本文从返回值契约、读取循环、io.ReadFull 和常见误区说明调用方如何避免丢数据与误判结束。110 收藏 -
Go 可以用 io.Pipe 将 ZIP 生成器直接接到 HTTP 请求体,实现边生成边上传而不落整包临时文件。本文给出可取消、可传递错误的完整写法,并说明无缓冲背压、关闭顺序、重试和 Content-Length 限制。245 收藏 -
Golang · Go问答 | 2星期前 | error · api设计 · database/sql · Go问答 · database/sql errors.Is 错误封装 Go错误处理 错误转换 领域错误
Go 业务层通常不应直接暴露 sql.ErrNoRows 或具体驱动错误。本文用稳定领域错误、私有 cause、操作上下文和 errors.Is,兼顾调用方判断、内部诊断与数据库实现可替换性。409 收藏 -
Gemini 3.5 Flash 面向长周期、多步骤智能体任务,但应用架构不能只替换模型 ID。本文用一个最小任务执行器说明状态记录、检查点、工具权限、事件回调、预算与人工审批应如何拆分。224 收藏 -
Go 批量任务不要只返回一个模糊错误:用结构化失败记录保留输入编号与阶段,再用 errors.Join 汇总整批失败状态,并通过 errors.Is、errors.As 支持分类判断和重试。403 收藏 -
模型路由不只是按名称转发请求,而是根据任务难度、质量门槛、延迟预算和相对成本选择模型。本文用一个 Python 小项目实现可解释分类、分档选择、失败回退、质量升级和离线评测。147 收藏