程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
go 相关技术文章(第3页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
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
Go 1.28 计划引入的泛型集合:set.Set、hash.Map、tree.Map 分别补上哪种能力,抽象接口为何暂不导出
编程
Go 1.28 计划引入的泛型集合:set.Set、hash.Map、tree.Map 分别补上哪种能力,抽象接口为何暂不导出
2026-10-27 21:01:38
Go Collections 工作组的伞形提案把泛型集合排进 Go 1.28:规范 set.Set、哈希 Map/Set、树形有序 Map、泛型堆,外加给存量 map[T]bool 的过渡包。逐个说清各自补什么、-With 后缀的取舍,以及抽象接口为何只做文档不导出。
Go
标准库
泛型
string(65) 在 Go 1.28 语言版本下编译失败:用 -lang 复现并迁移到 strconv.Itoa 或 string(rune(n))
编程
string(65) 在 Go 1.28 语言版本下编译失败:用 -lang 复现并迁移到 strconv.Itoa 或 string(rune(n))
2026-10-27 21:01:38
Go 1.28 语言版本收窄了整数到字符串的转换:string(int) 直接编译失败,只接受 byte/rune。用 go tool compile -lang 复现报错原文,再按调用点区分 strconv.Itoa 与 string(rune(n)) 两种迁移写法。
Go
版本升级
编译错误
CA 中间证书私钥泄漏:Go 把黑名单编进 crypto/x509,旧二进制必须重新编译
资讯
CA 中间证书私钥泄漏:Go 把黑名单编进 crypto/x509,旧二进制必须重新编译
2026-10-27 20:04:24
Go 1.27.3 / 1.26.10 只带一个安全修复:因某 CA 中间证书私钥泄漏(CVE-2026-111943),crypto/x509 的 Verify 会过滤掉含这批中间证书的链。黑名单编在二进制里,不是改系统根证书库,所以容器镜像和静态二进制必须重新编译。文中给出 go version -m、govulncheck -mode=binary 的核对命令,以及 Prometheus 镜像重建的做法。
Go
TLS
安全
证书
x509
connect-go v2:砍掉 Request[T] 包装,handler 回归 (*Req) (*Res, error),迁移工具还有四点改不掉
编程
connect-go v2:砍掉 Request[T] 包装,handler 回归 (*Req) (*Res, error),迁移工具还有四点改不掉
2026-10-27 20:03:15
connect-go v2 于 2026-10-07 发布,只破坏 Go API,协议仍兼容。本文按代码对照讲清五处变化:unary 签名去掉 Request[T]/Response[T] 包装、transport 拆出 connecthttp 与 connectinprocess、interceptor 合并成两个函数类型、裸 error 不再上线(只发 CodeUnknown)、metadata 移到 context 里的 CallInfo;再给出 connect-go-v2-migrate 的两遍迁移流程、buf.gen.yaml 与模块路径改动,以及工具改不掉的四个手写点。
Go
connect-go
RPC
Buf
迁移
Beszel 部署排障笔记:两条连接通道、unix socket 与几处静默失败
编程
Beszel 部署排障笔记:两条连接通道、unix socket 与几处静默失败
2026-10-27 00:05:02
Beszel 的 hub/agent 双通道模型决定了排障顺序:同机部署为什么 localhost 不通、host network 与 rootless 容器丢哪些指标、FILESYSTEM/NICS/SMART 必须显式设置的值,以及反代 gzip 掐断 SSE、自签 CA、TRUSTED_AUTH_HEADER 这几个静默失败点。
Beszel
服务器监控
Docker
运维排障
Go
bcrypt 的 72 字节是截断点:Go 报错、PHP 静默截断、WordPress 先 HMAC 再哈希
编程
bcrypt 的 72 字节是截断点:Go 报错、PHP 静默截断、WordPress 先 HMAC 再哈希
2026-10-27 00:04:17
bcrypt 只把前 72 字节送进 Blowfish 密钥调度,第 73 字节起不参与运算。三套实现态度不同:Go 的 GenerateFromPassword 返回 ErrPasswordTooLong,但 CompareHashAndPassword 不检查长度;PHP 只拦 NUL 字节,超长交给 crypt() 截断;WordPress 6.8 先用 HMAC-SHA384 + base64 压到 64 字符再哈希,输出带 $wp 前缀。给出可复现代码、cost 与 rehash 升级做法,以及 OWASP 当前参数值。
bcrypt
密码哈希
Go
PHP
安全
PocketBase v0.40.6:缩略图有了像素上限,更新命令也不再走 GitHub
资讯
PocketBase v0.40.6:缩略图有了像素上限,更新命令也不再走 GitHub
2026-10-26 21:34:24
PocketBase v0.40.6 把缩略图生成的像素上限做成全局限制(默认 250<<20,PB_THUMBS_MAX_SOURCE_PIXELS 可调),根因是 Go image.Decode 缺少解码选项;同时更新命令改为从 ganigeorgiev.com 拉版本,这很可能是 GitHub 上最后一个 release。附 CI 与上传入口的改动建议。
Go
PocketBase
后端
发布说明
pkg.go.dev 开放查询 API:GET-only、/v1beta,包路径有歧义时必须显式指定 module
编程
pkg.go.dev 开放查询 API:GET-only、/v1beta,包路径有歧义时必须显式指定 module
2026-10-26 21:33:41
pkg.go.dev 官方查询 API 的工程笔记:GET-only /v1beta 端点、OpenAPI 契约、version 参数解析伪版本的规则,以及「精度优先」带来的坑——包路径存在于多个模块时 API 会报歧义错误,必须显式带 module。附 curl 输出字段和 pkgsite-cli 的安装与用法。
Go
工具链
API
包管理
稳定性
Go 1.27 的 HTTP/1 连接复用:不读完 resp.Body 也不会再丢连接,代价是 50ms/256KB 的后台排空
编程
Go 1.27 的 HTTP/1 连接复用:不读完 resp.Body 也不会再丢连接,代价是 50ms/256KB 的后台排空
2026-10-26 21:04:00
同一个只看状态码的 Go 函数,Go 1.26 上打 100 次要 710ms,1.27 上只要 150ms。差别在 HTTP/1 连接复用:响应 body 没读到结尾时旧版本直接弃连接。这篇讲清 RTT 成本、json.Decoder 少读一个换行导致复用失败,以及 1.27 里 Transport 异步排空 50ms/256KB 的行为。
Go
HTTP
性能优化
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
24
下一页
共 24 页
到第
页
确定