程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
go 相关技术文章(第3页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
Go 1.27 默认 500 个请求头就回 431:kube-apiserver 大批 group 用户被拒的排查
综合
Go 1.27 默认 500 个请求头就回 431:kube-apiserver 大批 group 用户被拒的排查
2026-11-03 21:01:18
Go 1.27 给 net/http 加了 MaxHeaderValueCount,默认 500 个 header value,超限返回 431。kube-apiserver 上 impersonate 或代理用户 group 超过 500 个就直接被拒,1.35.10 把上限提到 16384。讲清 431 与 413 的区别、头数量怎么数、curl 复现与 Go 侧配置。
Go
运维
Kubernetes
Go 1.27 让 net/http 自动 drain:HTTP/1 连接复用从 710ms 到 150ms
编程
Go 1.27 让 net/http 自动 drain:HTTP/1 连接复用从 710ms 到 150ms
2026-11-03 20:03:41
只取 StatusCode 就 Close 的 HTTP/1 请求,Go 1.26 之前每次都丢连接重建,100 次请求 710ms。Go 1.27 让 Transport 自动异步 drain 未读响应体(上限 50ms / 256KB),代码不变降到 150ms。含手写 drain 四步演进、JSON 换行差一个字节的典型坑,以及 release notes 提示的反向风险。
Go
net
http
性能优化
HTTP
1.1
割接切了地址,旧库还有连接在跑:*sql.DB、DNS TTL、keepalive 三处滞留
综合
割接切了地址,旧库还有连接在跑:*sql.DB、DNS TTL、keepalive 三处滞留
2026-11-03 00:03:54
割接窗口里数据侧切完、连接侧没切完,是旧库流量掉不下去的常见原因。分别拆解 Go *sql.DB 连接池换 DSN 的坑、DNS TTL 与 JVM/resolver 缓存、Nginx upstream 与 conntrack 的 keepalive 滞留,给出旧库 processlist 的判读方法和按连接侧排序的窗口清单。
割接窗口
MySQL
Go
connect
pool
DNS
nginx
kula 部署笔记:单二进制 Linux 监控,Docker 里必须共享 PID 命名空间
综合
kula 部署笔记:单二进制 Linux 监控,Docker 里必须共享 PID 命名空间
2026-11-02 21:31:59
kula 是单二进制 Linux 监控:每秒读 /proc 与 /sys,写入 1s/1m/5m 三层环形缓冲(默认 250/150/50 MB),面板在 27960。笔记给出安装命令、Docker 里为什么必须 --pid host、Prometheus 端点与 AGPLv3 单机定位的取舍。
Go
监控
Linux
Docker
运维
Go 1.27 泛型方法:方法能自带类型参数,接口方法仍然不行
编程
Go 1.27 泛型方法:方法能自带类型参数,接口方法仍然不行
2026-11-02 21:31:47
Go 1.27 允许方法声明自己的类型参数:给出 List.Map 的最小对比、method expression 与实例化的写法,列出四条硬限制(接口方法不能带类型参数、泛型方法不满足接口、reflect 拿不到、实例化递归被拒),最后说明何时仍应写顶层泛型函数。
Go
泛型
语言规范
编译错误
any-sync-bundle 部署笔记:外部地址首启就写死、备份要等干净停止、老 CPU 跑 AIO 会直接 illegal instruction
综合
any-sync-bundle 部署笔记:外部地址首启就写死、备份要等干净停止、老 CPU 跑 AIO 会直接 illegal instruction
2026-11-02 20:02:27
用 any-sync-bundle 单容器自建 Anytype 同步服务器:只开 TCP 33010 与 UDP 33020,默认内置 BadgerDB 与 MongoDB/Redis。重点是三个容易踩的坑——ANY_SYNC_BUNDLE_INIT_EXTERNAL_ADDRS 首启就固化进 bundle-config.yml、改环境变量无效;备份必须等 bundle_shutdown_complete;老 CPU 无 AVX 时内置 MongoDB 直接 illegal instruction。
自托管
Docker
Go
Anytype
运维
双击 Submit 插了两行:一次性 token、幂等键、CSRF 各挡哪种重复
编程
双击 Submit 插了两行:一次性 token、幂等键、CSRF 各挡哪种重复
2026-11-02 00:04:38
CSRF token 是 per-session 的稳定值,连续提交两次都通过;Idempotency-Key 是 header,裸表单浏览器不会带。所以只有 CSRF 的表单双击照样插两行。这篇把一次性提交 token 的 Mint/Scan/Consume 三步写成可跑的 Go 代码,并给出四个判据层面的错误:SETNX+EXPIRE 非原子、select+delete 校验 token 有并发窗口、指纹模式误杀相同内容的合法提交、以及用 429 回应重复提交等于叫客户端退避重试。
重复提交
表单防重
幂等
Redis
Go
HTTP
Go 的 sql.Stmt 与连接池:为什么句柄数约等于连接数乘 SQL 文本数
编程
Go 的 sql.Stmt 与连接池:为什么句柄数约等于连接数乘 SQL 文本数
2026-11-02 00:04:17
Com_stmt_prepare 一直涨、句柄数约等于连接数乘 SQL 文本数,多半不是代码反复 Prepare,而是 DB 级 sql.Stmt 在每条连接上各准备一份。讲清 css 记录机制、interpolateParams 的真实作用域(只影响隐式路径)、Tx.Stmt 反模式,以及先收敛 SQL 文本再调连接池的处置顺序。
prepared
statement
Go
database
sql
MySQL
连接数
mise v2026.10.15:24 小时冷却覆盖所有后端,pin 最新版会解析成 no versions found
编程
mise v2026.10.15:24 小时冷却覆盖所有后端,pin 最新版会解析成 no versions found
2026-11-01 21:32:29
mise v2026.10.15 把默认 24 小时 minimum_release_age 冷却从部分后端扩到全部后端,版本只发布不到 24 小时会解析成 no versions found;另附分钟级配置开关、版本列表改走 mise-versions 主机对自定义源的影响、read_json/read_yaml/read_toml 模板函数与 PowerShell 安装器。
mise
开发工具
版本管理
CI
dotfiles
Go
SILO 20261026 升级笔记:多池删除改成先清旧副本,跨站复制不再 BadDigest,也不能滚动降级
综合
SILO 20261026 升级笔记:多池删除改成先清旧副本,跨站复制不再 BadDigest,也不能滚动降级
2026-11-01 21:31:39
SILO(MinIO fork)20261026 版把多池删除改成先清非权威池再删权威副本,版本桶生命周期只加删除标记时保留远端分层数据,复合 CRC 分片复制透传 FULL_OBJECT 避免 BadDigest;附 mcli 新 pending 状态与退出码语义、升级顺序与一致性边界。
对象存储
S3
MinIO
SILO
运维
Go
Go 1.28 将拒绝 string(int):规则边界、go.mod 生效点与 go fix 顺序
编程
Go 1.28 将拒绝 string(int):规则边界、go.mod 生效点与 go fix 顺序
2026-11-01 21:05:43
Go 1.28 起 string(int) 只在基底类型为 rune/byte 或未类型化 rune 常量时允许,其余按 go.mod 的 go 指令拒绝编译。讲清规则边界、为什么这个转换反直觉、go vet 的 stringintconv 能提前发现,以及两种 go fix 方案的语义差异与「先 fix 再改 go 指令」的顺序。
Go
语言特性
迁移
golang.org/x/net v0.62.0 修的两个 html 漏洞:文本节点合并的 O(n²) 与 raw text 渲染的命名空间判断
资讯
golang.org/x/net v0.62.0 修的两个 html 漏洞:文本节点合并的 O(n²) 与 raw text 渲染的命名空间判断
2026-11-01 21:03:15
golang.org/x/net v0.62.0 修了两个 html 包漏洞:文本节点合并时用字符串拼接导致 O(n²) 分配(CVE-2026-78661),以及 raw text 渲染只看最近一层命名空间导致解析往返不一致(CVE-2026-97045)。附 go list -m / govulncheck 自查与升级命令。
Go
安全
html
依赖升级
TinyGo 0.44:interp 把 map lookup 和 memset 提前到编译期,启动路径再减一段
编程
TinyGo 0.44:interp 把 map lookup 和 memset 提前到编译期,启动路径再减一段
2026-10-31 21:07:17
TinyGo 0.44 把 map lookup、memset、接口哈希、私有原子与 deferred 初始化都挪到编译期求值,编译器跳过不可能的 slice 越界检查,RP2040/RP2350 的 PLL 计算移出启动。cores 调度器加了核心亲和性并把 ESP32-S3 拉进双核,还换了 LLVM 23 底座。文中列升级门槛与新增板子、驱动。
Go
TinyGo
嵌入式
WebAssembly
蓝牙
CVE-2026-98432 叠加 Go 1.24 的 MPTCP 默认:先打内核补丁,GODEBUG 只能当临时挡板
资讯
CVE-2026-98432 叠加 Go 1.24 的 MPTCP 默认:先打内核补丁,GODEBUG 只能当临时挡板
2026-10-31 21:02:20
Linux IPv4 的 use-after-free(CVE-2026-98432,CVSS 9.8)在 Anthropic 的利用里需要 MPTCP listener,而 Go 1.24 起 listener 默认就开 MPTCP。文中拆解释放时序、列出发行版修复版本,给出 ss -M / ip mptcp 自查、GODEBUG=multipathtcp=0 与 net.mptcp.enabled=0 两种临时挡板,以及为什么它们都不算完整修复。
Go
Linux
安全
内核
网络
Wails v3.0.0 发布:窗口和托盘变成显式对象,v2 项目要按新运行时重写
编程
Wails v3.0.0 发布:窗口和托盘变成显式对象,v2 项目要按新运行时重写
2026-10-31 21:01:13
Wails v3.0.0 于 2026-10-26 发布,把应用、窗口、服务、事件改成显式对象:多窗口与系统托盘进入模型,运行时 API 从全局函数改为对象方法,绑定重新生成。文中给出 v2→v3 启动代码对照、Windows 菜单栏与暗色模式崩溃修复、Linux 子 frame 消息拦截的已知限制,以及 nightly/weekly 发布节奏。
Go
Wails
桌面应用
WebView
版本升级
gopls v0.24.0 交互式重构:结构体标签、接口实现与跨文件移动都能先问再做
编程
gopls v0.24.0 交互式重构:结构体标签、接口实现与跨文件移动都能先问再做
2026-10-30 21:03:45
gopls 新增交互式重构:LSP 提案让语言服务器在计算编辑前先弹表单,结构体 tag 的组合与命名风格、要实现的接口、要移动的声明都可以自己填。记录 gopls v0.23.0/v0.24.0 与 vscode-go v0.56.0 的具体改动、代码前后对照,以及 Move Declaration、Change Signature 等仍未完成的部分。
Go
gopls
LSP
开发工具
Go 首次动用 URGENT track:7.5 小时内发版移除 eMudhra 中间证书信任
资讯
Go 首次动用 URGENT track:7.5 小时内发版移除 eMudhra 中间证书信任
2026-10-30 20:01:24
eMudhra 中间证书私钥可被微秒级恢复,Mozilla 先把 8 张证书加进 OneCRL。Go 团队 7.5 小时内发布 1.27.3 / 1.26.10,直接在标准库验证器里移除信任,这也是 Go 第一次启用 URGENT track。文内保留完整时间线、Linux 缺撤销机制的原因,以及 go version -m 与 govulncheck -mode=binary 的落地自查命令。
Go
安全发布
TLS
证书
运维
Idempotency-Key 的值不是存储主键:把键做成元组,三类跨租户事故就消失了
编程
Idempotency-Key 的值不是存储主键:把键做成元组,三类跨租户事故就消失了
2026-10-30 00:03:55
Idempotency-Key 落库时不能直接当主键:跨租户回放、支付与退款互撞、服务端自铸键被伪造值污染,三类事故都出在作用域。按 IETF draft-08 的边界,把存储键做成 (tenant, principal, route, namespace, key) 元组,讲清分隔符注入、fail-closed、分片路由与 v1 版本前缀的处理方式。
Idempotency-Key
幂等键
接口幂等
多租户
HTTP
API
Go
Go 1.28 提案:freegc、M-local storage、SIMD 与 Wasm 栈切换的进度
编程
Go 1.28 提案:freegc、M-local storage、SIMD 与 Wasm 栈切换的进度
2026-10-29 21:10:19
Go 1.28 的提案清单里,影响运行时的是编译器插入 runtime.free 的 freegc 实验(默认 16 字节阈值)和 sync 的 M-local 分片计数;另有 SIMD 的 archsimd 与可移植 simd 包进度、Wasm 栈切换只有约 20% 原生性能的现状。全部仍是提案。
Go
运行时
性能
Go 1.28 HTTP/2 parking 实测:5000 个空闲连接少 5000 个 goroutine,RSS 降 85–93 MiB
编程
Go 1.28 HTTP/2 parking 实测:5000 个空闲连接少 5000 个 goroutine,RSS 降 85–93 MiB
2026-10-29 21:01:45
Go 1.28 给 HTTP/2 server 加了 serveLoop parking:没活干的连接不再独占 goroutine。用同一份 1.28 二进制开关 parking 对照,5000 个空闲连接下少 5000 个 goroutine、少约 78 MiB 栈、RSS 降 85–93 MiB;文中给出完整 benchmark 参数与作者自己标明的局限。
Go
HTTP
2
性能优化
内存
加密字段要支持子串搜索:trigram 盲索引能救 LIKE,但两个汉字搜不到
编程
加密字段要支持子串搜索:trigram 盲索引能救 LIKE,但两个汉字搜不到
2026-10-29 00:04:28
加密字段上 LIKE '%kw%' 查不了,整值 HMAC 盲索引只解决等值。这篇把子串检索这一层拆开:trigram 写窗口 + HMAC-SHA256 截断 128 位存 token 表、域分离前缀、Exact/Prefix(n)/Ngram(n) 三种形态的取舍、"'abcd' 与 'cdef' 共享 'bcd'" 这类假阳性为什么在密文侧消不掉、短于 3 字符直接跳过索引、异步重建带来的几分钟滞后、多 key 轮换时的双算,以及中文场景 n=3 失效要换 bigram 的代价。
盲索引
加密字段
可搜索加密
HMAC
trigram
MySQL
PHP
Go
用 tbls 把数据库文档纳入 CI:diff、lint 与覆盖率的实际用法
编程
用 tbls 把数据库文档纳入 CI:diff、lint 与覆盖率的实际用法
2026-10-28 21:31:29
tbls 是 Go 写的单二进制工具,从 MySQL/PG 的活库生成 Markdown schema 文档。本文给最小 .tbls.yml、tbls diff 只比 Markdown 的坑(列顺序、--force 不删旧表文件)、lint 规则与 coverage 的真实适用边界,以及在 CI 里当 schema 漂移守门员的接法。
tbls
数据库文档
CI
schema
MySQL
PostgreSQL
Go
Argon2id 参数别照抄默认值:64 MiB 乘 40 个 worker 就 OOMKill,PHP 与 Go 的实现差异
编程
Argon2id 参数别照抄默认值:64 MiB 乘 40 个 worker 就 OOMKill,PHP 与 Go 的实现差异
2026-10-28 00:04:46
Argon2id 的 m/t/p 不是填个 19 MiB 就完事:m 是 KiB 且按 worker 数相乘、p 不乘内存,PHP 8.x 默认 64 MiB/t=4 乘上 pm.max_children 就能把容器 OOMKill。含内存预算公式、PHP 与 Go x/crypto/argon2 的实现差异(取整、panic、threads 在 libsodium 下失效、needs_rehash 要传 options)、可跑的 benchmark 脚本与 bcrypt 迁移路径。
密码哈希
Argon2id
PHP
Go
安全
退出码 0,测试数从 412 掉到 380:skip 为什么不算 PASS
编程
退出码 0,测试数从 412 掉到 380:skip 为什么不算 PASS
2026-10-28 00:03:58
CI 退出码 0、测试数却从 412 掉到 380:skip 被当成了 pass。对照 Go 的 t.Skip 与 go test -skip、PHPUnit 的 markTestSkipped / --fail-on-skipped、pytest 的 skipif 与 xfail strict、node:test、Playwright test.skip、Rust #[ignore],划清「无法执行」与「执行了但坏了」的界线,并给出让 CI 对新增 skip 变红的具体配置。
skip
测试
pytest
PHPUnit
Go
CI
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
25
下一页
共 25 页
到第
页
确定