程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
Go 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
SemVer 2.0.0 优先级比较:alpha.10 排在 alpha.9 之前,以及五个实现坑
编程
SemVer 2.0.0 优先级比较:alpha.10 排在 alpha.9 之前,以及五个实现坑
2026-10-16 00:04:24
从 SemVer 2.0.0 规范的优先级比较算法切入,讲清 alpha.9 与 alpha.10 的排序、前导零非法、构建元数据不参与比较、0.x 下 ^ 退化,以及 Go 的 v 前缀与 golang.org/x/mod/semver 用法,附可运行的排序与校验示例。
语义化版本
SemVer
版本号
依赖管理
Go
Heron:agent 只读采集、hub 不下发命令的自托管主机监控
案例
Heron:agent 只读采集、hub 不下发命令的自托管主机监控
2026-10-15 20:02:43
Heron 是 Go 写的轻量自托管主机监控:hub 用一个静态二进制加 SQLite 文件存储、展示、告警,agent 只读采集上报。它的安全边界设计值得一读——agent 不照单执行 hub 指令,hub 能影响的只有上报节奏、探测任务、出口地址探测开关和验签后的更新任务。附安装命令与平台限制。
运维
监控
Go
自托管
开源项目
Go 1.27 标准库加入 uuid:NewV7 时间有序,别再拿 v4 做主键
编程
Go 1.27 标准库加入 uuid:NewV7 时间有序,别再拿 v4 做主键
2026-10-11 21:01:23
Go 1.27 把 uuid 包收进标准库(RFC 9562),无需再依赖 google/uuid。重点讲 NewV7:时间有序,插入 B-tree 索引时落在右侧,避免 v4 随机主键把索引写散、写入吞吐下降的问题,并附 API 对照与同版本其他变化。
Go
uuid
MySQL
数据库
标准库
ant
encoding/json
MPT
encoding/json/v2
ql
js
RSI
UTF-8
格式化
生态
pkg.go.dev
DI
New
类型
代码
Dev
ng
密码
主键
ODS
in
lm
tree
Duration
Go 1.27 goroutine 泄漏剖析:用 GC 可达性找出永久阻塞的 goroutine
编程
Go 1.27 goroutine 泄漏剖析:用 GC 可达性找出永久阻塞的 goroutine
2026-10-11 21:01:23
Go 1.27 把 goroutineleak 做成正式 pprof profile:借 GC 的可达性计算,找出永久阻塞在 channel 或 sync 原语上的 goroutine。本文给出 /debug/pprof/goroutineleak 的 curl + go tool pprof 用法、五步检测原理,以及它的局限:阻塞在仍可达原语上的泄漏检测不到。
Go
goroutine
pprof
性能
运行时
runtime/pprof
es
net/http
服务
ST
sync
Log
goroutine leak
PR
OTA
url
类型
Bug
Dev
in
func
IM
type
Profiler
把数据库 schema 当代码管:Atlas 的声明式与版本化迁移怎么选
编程
把数据库 schema 当代码管:Atlas 的声明式与版本化迁移怎么选
2026-10-11 00:03:47
数据库 schema 靠手写 ALTER TABLE 会漂移、删列没人拦。以 Atlas(ariga/atlas)为例拆解 Schema-as-Code 的两条工作流:声明式(schema apply 定义期望状态、破坏性变更被拒)与版本化(migrate diff/lint/apply 生成可审阅迁移文件),以及 atlas.sum 完整性、CI lint 能拦下的表锁与并发索引问题。<|end▁of▁thinking|>
Schema-as-Code
数据库迁移
Atlas
MySQL
Go
运维
Terra
ble
ql
计算
Base
OTA
声明式
版本
代码
团队
The
Management
ALTER
TABLE
用 Go 处理 ACH 文件:moov-io/ach 的 reader/writer/validator 与 HTTP 服务
代码
用 Go 处理 ACH 文件:moov-io/ach 的 reader/writer/validator 与 HTTP 服务
2026-10-10 21:31:29
moov-io/ach 用 Go 实现了 ACH(Nacha 标准)文件的 reader、writer 和 validator,另有 Docker 镜像和 HTTP API。本文给出 Docker 启动与 curl 读写示例、环境变量、支持的 SEC 代码、achcli 命令行,以及「不持久化、纯内存、无内存加密」这个必须自己兜底的设计取舍。
Go
ACH
Nacha
支付文件
开源工具
rome
Metrics
服务
CLEAR
test
文件
Read
error
Use
Auto
AR
url
内存
代码
METR
The
AD
事件
Go 1.27 的 simd 包:一份向量代码同时跑 AVX、NEON 和 wasm
编程
Go 1.27 的 simd 包:一份向量代码同时跑 AVX、NEON 和 wasm
2026-10-10 21:02:48
Go 1.27 引入平台无关的实验性 simd 包,用 GOEXPERIMENT=simd 就能写一份向量代码跑在 amd64(AVX/AVX2/AVX512)、arm64(NEON)和 wasm 上。本文梳理它如何隐藏宽度与掩码差异、支持哪些操作、怎样与 archsimd 互转,以及 GODEBUG=simd 各档位的含义。
Go
SIMD
性能
ARC
ARM64
amd64
RVV
avx
AVX512
内存
代码
能力
1.26
IM
25
Echo v5 迁移清单:Context 变结构体、Logger 换 slog,v4 还能撑到 2026-12-31
编程
Echo v5 迁移清单:Context 变结构体、Logger 换 slog,v4 还能撑到 2026-12-31
2026-10-10 00:05:27
Echo v5.0.0(2026-01-18)破坏性变更逐条排查:Context 从 interface 变结构体、Logger 换成 log/slog、Router 抽接口、Response 返回 http.ResponseWriter,附迁移 sed、泛型取值助手与测试代价,并说明 v4 支持到 2026-12-31。
Go
Web
框架
Echo
log
slog
迁移
net
http
Labs
18
Go Web 框架选型:Go 1.22 之后,net/http 兼容性才是那条分界线
编程
Go Web 框架选型:Go 1.22 之后,net/http 兼容性才是那条分界线
2026-10-10 00:04:35
以 Go 1.22 起 net/http.ServeMux 支持方法匹配与路径参数为分水岭,拆 Go 框架选型:Chi 100% 兼容 net/http、Gin 的 *gin.Context 与 c.Copy() 坑、Echo 返回 error 的集中错误处理、Fiber 基于 fasthttp 不在 net/http 线上,并给出按场景的取舍。
Go
Web
框架
Gin
Echo
Chi
Fiber
net
http
框架选型
生态
兼容
Labs
超时
UX
可观测
LiveForge:单二进制的多协议流媒体服务器,音频转码用 build tag 开关
编程
LiveForge:单二进制的多协议流媒体服务器,音频转码用 build tag 开关
2026-10-09 00:03:50
用 Go 单二进制跑 RTMP/RTSP/SRT/WebRTC/HLS/LL-HLS/DASH/GB28181 的流媒体服务器 LiveForge:协议矩阵、任意到任意桥接、LL-HLS 与 HLS 的差别、音频转码为何需要 audiocodec tag+CGO+FFmpeg,以及和 MediaMTX/SRS/Monibuca 的取舍对照。
Live
Streaming
LiveStreaming
流媒体服务器
Go
RTMP
WebRTC
HLS
GB28181
自托管
许可证
FFM
单二进制
编译
许可
中文
Go 1.27 的 encoding/json/v2 与 jsontext:默认行为变化与迁移顺序
编程
Go 1.27 的 encoding/json/v2 与 jsontext:默认行为变化与迁移顺序
2026-10-08 21:02:05
Go 1.27 新增 encoding/json/v2 与 jsontext 两个包,v2 默认拒绝无效 UTF-8 和重复名字,encoding/json 已由 v2 实现。本文讲清两包分工、默认行为差异、MarshalJSONTo 流式接口、GOEXPERIMENT=nojsonv2 回退,以及 DefaultOptionsV1 + jsonsplit 的安全迁移顺序。
Go
encoding
json
jsontext
迁移
语法
反序列化
KDE
DI
Go 1.27 工具链:go fix 添 4 个 modernizer,GODEBUG 写成旧值会直接报错
代码
Go 1.27 工具链:go fix 添 4 个 modernizer,GODEBUG 写成旧值会直接报错
2026-10-08 21:02:04
Go 1.27 工具链的几个实用变化:go fix 新增 atomictypes/embedlit/slicesbackward/unsafefuncs,go doc 支持 package@version,go mod tidy 合并 require 块;同时 go 命令开始识别已移除的 GODEBUG 设置,设为旧值会构建失败。附命令与 opt-out 开关。
Go
工具链
go
fix
mod
GODEBUG
mcp-ssh-go:8 个 SSH 工具、一个静态 Go 二进制,输出上限按模型上下文窗口算
编程
mcp-ssh-go:8 个 SSH 工具、一个静态 Go 二进制,输出上限按模型上下文窗口算
2026-10-08 20:02:43
mcp-ssh-go 是单个静态 Go 二进制实现的 SSH MCP 服务端,刻意只给 AI agent 八个可审计的 SSH 操作,没有交互式 PTY、提权、端口转发。本文拆解它的取舍:为什么单二进制、8 个工具分别做什么、2223/2224 两个固定端口怎么配、输出上限如何按模型上下文窗口(而非字节)来定尺寸,以及 Docker 与 MCP 客户端的接法。
Go
MCP
SSH
Docker
运维工具
引用
隧道
端口转发
Go 1.28 的 synctest.Subtest:把 t.Run 和 synctest.Test 合成一层
编程
Go 1.28 的 synctest.Subtest:把 t.Run 和 synctest.Test 合成一层
2026-10-06 21:01:53
Go 1.28 新增 testing/synctest.Subtest,把 t.Run 和 synctest.Test 合并,为表格驱动测试省掉一层缩进,并避免把 TestB 误写成跑 testA 的复制粘贴错误。讲清 bubble、假时钟、Wait/Sleep 语义与命名取舍,附前后代码对比。
Go
testing
synctest
单元测试
闭包
循环
Go 1.28 草案三处改动:url.MustParse、net 类型 TextUnmarshaler、代理变量小写优先
编程
Go 1.28 草案三处改动:url.MustParse、net 类型 TextUnmarshaler、代理变量小写优先
2026-10-06 21:01:53
Go 1.28 草案里三处容易被忽略的改动:net/url 新增 MustParse 处理常量 URL,net 的 IPMask/IPNet/HardwareAddr 实现 TextUnmarshaler 为 JSON 未来格式铺路,ProxyFromEnvironment 改为小写代理变量优先。给出代码片段与各自适用边界。
Go
net
url
ProxyFromEnvironment
TextUnmarshaler
降级
草案
OpsFlash v0.4.1:修掉 SSH 非交互命令不结束、流式收尾死锁与 CMD 多行校验误伤
编程
OpsFlash v0.4.1:修掉 SSH 非交互命令不结束、流式收尾死锁与 CMD 多行校验误伤
2026-10-06 20:02:27
开源运维工具 OpsFlash 的 v0.4.1 更新,三个 SSH 坑:后台进程占着 PTY 时 sshd 不发 EOF 导致 Wait() 永久阻塞、x/crypto/ssh 不关 stdout writer 造成流式收尾死锁、CMD 多行脚本校验误伤交互式与守护进程模式。
Go
SSH
运维工具
Wails
Vue3
死锁
管道
超时
GoatFlow 0.10.0:accept[:16] 越界 panic、PostgreSQL 卡在 migration 5、token 无 session 无法注销
综合
GoatFlow 0.10.0:accept[:16] 越界 panic、PostgreSQL 卡在 migration 5、token 无 session 无法注销
2026-10-06 20:01:47
开源工单/ITSM 系统 GoatFlow 发布 0.10.0(93 commits,154 项修复):登录 token 现在带 sid 才能注销,PostgreSQL 从"装不上"到跑通全套件,插件沙箱开始强制校验权限。附带复盘 demo 里一个 curl 一请求就 500 的 accept[:16] 越界 panic。
Go
开源工单系统
PostgreSQL
ITSM
Wails
重试
身份
Go 1.24 的 map 换成了 Swiss Table:从 8 槽 group 到 #81299 的无限 split
编程
Go 1.24 的 map 换成了 Swiss Table:从 8 槽 group 到 #81299 的无限 split
2026-10-05 21:31:39
拆解 Go 1.24 起内置 map 的 Swiss Table 实现:8 槽 group 与 uint64 控制字、H1/H2 切分、三角探测、7/8 load factor、1024 槽后 split、directory 与 global/local depth;并用 golang/go#81299 的最小复现说明同哈希键超过 896 个时为何会无限 split 与 OOM。
Go
SwissTable
map
运行时
哈希表
性能
布局
哈希
kage:用 headless Chrome 抓站,剥掉 JS 后打包成 ZIM 或单个可执行文件
综合
kage:用 headless Chrome 抓站,剥掉 JS 后打包成 ZIM 或单个可执行文件
2026-10-05 21:31:39
kage 是 Go 写的离线网站归档工具:用 headless Chrome 渲染页面、快照 DOM、剥离全部脚本并把资产本地化,支持断点续爬与幂等;可打包成 ZIM(Kiwix 格式)或约 13 MiB 的自包含二进制,附完整命令与关键 flag。
Go
kage
离线归档
headless
Chrome
ZIM
Kiwix
网站克隆
追踪
打包
GORM v1.30 的 gorm.G[T]:泛型 API 与链式 API 并存,复用实例不再污染 SQL
编程
GORM v1.30 的 gorm.G[T]:泛型 API 与链式 API 并存,复用实例不再污染 SQL
2026-10-05 00:04:54
GORM v1.30.0 起引入泛型 API gorm.G[T],本文对照传统链式写法给出 CRUD、Joins/Preload 新签名与移除的 FirstOrCreate/Save 迁移方式,并解释复用一个泛型实例为何不再条件污染(apply 每次 NewDB session 并重放 ops)。
GORM框架
Go
ORM
Go语言
数据库
ARTEX:双图架构的 LLM 自主渗透测试系统,Go 单二进制自托管
综合
ARTEX:双图架构的 LLM 自主渗透测试系统,Go 单二进制自托管
2026-10-04 21:30:54
ARTEX 是百度「agent+」攻防挑战赛冠军项目:Go 后端 + Next.js 前端,用资产图 + 探索图的双图架构驱动 LLM agent 自主渗透。自托管五路部署、页面一键更新与回滚、SSE 反代配置,附 AGPL-3.0 合规声明。
ARTEX
自托管
LLM
Agent
渗透测试
Go
仪表盘
布局
攻防
go-redis v9.22 改了跨 SDK 默认值:超时 5s、集群刷新 60s,故障暴露会变慢
代码
go-redis v9.22 改了跨 SDK 默认值:超时 5s、集群刷新 60s,故障暴露会变慢
2026-10-04 21:02:38
go-redis v9.22 把一批默认值对齐到各 Redis 客户端共享的提案:读写超时 3s→5s、重试退避上限 512ms→1s、集群状态刷新 10s→60s、TCP keep-alive 改 30s/5s/3 probes。本文说清这些改动如何拖慢故障暴露与故障转移感知,附维持旧行为的代码,以及 HIMPORT fieldset 与连接池的兼容做法。
Go
Redis
go-redis
客户端
感知
故障转移
拓扑
Go 1.27 的 ML-DSA:crypto/mldsa、TLS 1.3 签名方案与 MLKEM1024 配置
编程
Go 1.27 的 ML-DSA:crypto/mldsa、TLS 1.3 签名方案与 MLKEM1024 配置
2026-10-04 21:01:45
Go 1.27 把后量子签名放进标准库:crypto/mldsa 实现 FIPS 204 的 ML-DSA,crypto/x509 能处理 ML-DSA 密钥,crypto/tls 在 TLS 1.3 里新增 MLDSA44/65/87 签名方案。本文给出签名、证书、握手的配置片段与 MLKEM1024/MLDSAMu 的用法,并说清证书体积、握手开销与回退路径的取舍。
Go
后量子
ML-DSA
TLS
加密
握手
goto:用 TUI 管理 SSH 连接,别再手敲 ssh -i 长命令
综合
goto:用 TUI 管理 SSH 连接,别再手敲 ssh -i 长命令
2026-10-03 21:03:39
goto 是用 Go 写的终端 SSH 管理器:TUI 统一管理多台服务器连接,支持跳板机、连接后自动执行脚本与本地端口转发,配置在 ~/.config/goto/config.yaml,单二进制约 500KB。含键位表、安装命令与同类工具定位差异。
SSH
运维
Go
命令行
工具
跳板机
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
20
下一页
共 20 页
到第
页
确定