程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
软件定制开发/软件按需定制 技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
防重放窗口:8192 − 64 = 8128,内核却接受 8129 个 counter
编程
防重放窗口:8192 − 64 = 8128,内核却接受 8129 个 counter
2026-11-14 00:04:50
防重放窗口的大小不是抄一个数字:WireGuard 内核里它由 8192 位位图减一个机器字得出,64 位机算出 8128、32 位机算出 8160,而 counter 的 +1 偏移又让实际接受区间变成 W+1 个值。附三种合法包被误判重放的原因、内核先验签后置位的顺序,以及能直接抄的边界自测。
重放窗口
WireGuard
IPsec
防重放
位图
Go
PHP 8.6 弃用了一批名字:let、namespace、in/out,以及 finally 里的 return
编程
PHP 8.6 弃用了一批名字:let、namespace、in/out,以及 finally 里的 return
2026-11-14 00:04:38
PHP 8.6(2026-11-19 发布)在语言层弃用了一批标识符命名:let、is、in/out/inout 不能再当类名函数名,namespace 不能作类常量名,readonly 不能当函数名,finally 里 return 也提示弃用。附 RFC 扫描数据、精确报错文案、list() 提案 23:23 未通过的判断,以及 grep/ast-grep 检测命令。
语法特性
PHP
8.6
弃用
关键字保留
版本升级
改了 replica_parallel_workers 却没生效:MySQL 多线程复制参数的生效时机、互斥与边界
编程
改了 replica_parallel_workers 却没生效:MySQL 多线程复制参数的生效时机、互斥与边界
2026-11-14 00:04:31
SET GLOBAL 改了 replica_parallel_workers 却没有反应、把它设成 1 之后另两个参数又不生效,问题都在生效时机与互斥关系上。逐条对照 workers、checkpoint_group、checkpoint_period 的默认值、范围与触发条件,给出按 channel 数相乘的线程数核算 SQL,以及 gap、STOP、RESET 的边界和版本移除导致的启动失败。
MTS
MySQL
并行复制
复制参数
数据库运维
MySQL 半同步复制:`enabled=1` 但 `status=0`,四处静默降级与 ACK 的真实边界
编程
MySQL 半同步复制:`enabled=1` 但 `status=0`,四处静默降级与 ACK 的真实边界
2026-11-14 00:03:55
rpl_semi_sync_source_enabled=1 而 Rpl_semi_sync_source_status=0 是常态:超时 10000ms 静默转异步、恢复不自动、wait_no_replica 默认 ON、崩溃重启自动提交这四个点,加上 ACK 只代表 relay log 已写(sync_relay_log 默认 10000),决定半同步只能约束等待上限,不能当主从一致性保障。
主从一致性
MySQL
半同步复制
主从复制
数据库运维
字段加密只存 Base64(nonce‖ct‖tag):A 行密文搬到 B 行照样解开,轮换时认不出 key_version
编程
字段加密只存 Base64(nonce‖ct‖tag):A 行密文搬到 B 行照样解开,轮换时认不出 key_version
2026-11-14 00:03:47
字段级加密的常见实现只存 Base64(nonce‖ciphertext‖tag),既没绑定 AAD 也没写 key_version:同一 DEK 下把手机号密文搬到别的字段或别的行,解密照样成功;密钥轮转后代码认不出该用哪把密钥。这篇讲清 AAD 该由哪些稳定字段组成、密文头 enc:v1:aes256gcm:k42:… 怎么设计、VARBINARY(512) 容量怎么算,以及 KEK/DEK/BIK 分离与轮转回填的失效点。
加密字段
AES-GCM
AAD
密钥轮转
MySQL
Nspawn 3.0:把 Docker Engine API 装到宿主,代价是 manage 等于 root
编程
Nspawn 3.0:把 Docker Engine API 装到宿主,代价是 manage 等于 root
2026-11-13 21:32:24
Nspawn 3.0 把 Docker Engine API 做到宿主:/run/nspawn/api.sock 由 nspawn-api.socket 打开,DOCKER_HOST 指过去 docker 命令就能操作 systemd-nspawn 机器。整理权限模型(manage 即 root)、机器内 socket 变为可写等破坏性变更、docker build 返回 501 等缺口,以及 GitLab Runner 接法。
systemd
容器
Linux
运维
Nginx + systemd 双实例摘流部署:Node.js 发布丢包从 2524 个到 0,含实测脚本
编程
Nginx + systemd 双实例摘流部署:Node.js 发布丢包从 2524 个到 0,含实测脚本
2026-11-13 21:32:24
在 Ubuntu 24.04 上用 systemd 模板单元跑两个 Node.js 实例、nginx 做上游,实测三种发布方式的丢包数:同时重启丢 2524 个请求,一次一个仍丢 422 个,先把实例从 upstream 标记 down 再重启才是 0。含完整部署脚本、回滚逻辑,以及脚本里漏写 local 导致发布「假成功」的教训。
Nginx
systemd
部署
运维
App Store Server Notifications V2 对接笔记:沙箱只投一次,生产重试 5 次,漏的怎么补
编程
App Store Server Notifications V2 对接笔记:沙箱只投一次,生产重试 5 次,漏的怎么补
2026-11-13 21:07:43
App Store 服务端通知 V2 的环境差异比事件类型更容易踩:沙箱每条只投一次、完全不重试,生产失败后按 1/12/24/48/72 小时重试 5 次;漏的靠 Get Notification History 回放(生产 180 天、沙箱 30 天),onlyFailures 只捞未送达的。附端点要求、appAppleId 环境陷阱与 Go 落库顺序。
支付
苹果订阅
对账
接口对接
curl 8.18.0 修了 6 个 CVE:带 `-L` 跟丢重定向时,Bearer token 会被一起送到目标
综合
curl 8.18.0 修了 6 个 CVE:带 `-L` 跟丢重定向时,Bearer token 会被一起送到目标
2026-11-13 21:06:57
curl 8.18.0 一次修了 6 个 CVE,影响脚本最直接的是跨协议重定向泄漏 bearer token:带 Authorization 加 -L,被 302 带到别的协议/主机时凭证一起过去。附版本自查、脚本粗筛、--proto-redir 降级顺序,以及内嵌 libcurl 的组件为什么也要升。
curl
安全
Shell
运维
systemd v259 升级运维清单:journal 默认落盘、HugeTLB 计入内存与 v260 的移除项
综合
systemd v259 升级运维清单:journal 默认落盘、HugeTLB 计入内存与 v260 的移除项
2026-11-13 21:06:11
systemd v259 把 journal 默认 storage 从 auto 改成 persistent,没建过 /var/log/journal 的机器升级后会突然写盘;cgroup2 也挂上 memory_hugetlb_accounting,HugeTLB 计入内存总量,同一 memory.max 下更容易 OOM。附排查命令、限流配置和 v260 的 SysV 移除清单。
systemd
Linux
运维
升级
Vite 7 升到 Vite 8:这些改动不报错,只在运行时出问题
代码
Vite 7 升到 Vite 8:这些改动不报错,只在运行时出问题
2026-11-13 21:04:36
Vite 8 换上 Rolldown 与 Oxc 之后,真正的坑是不报错的那批:CJS default import 规则变了、build.commonjsOptions 变 no-op、manualChunks 对象形式被删、默认浏览器目标上调到 Safari 16.4。按「会静默失败」的顺序列清楚,附 rolldown-vite 中间迁移路径。
Vite
Vue
前端构建
迁移
MTS
PHP 8.6 RC3:fiber 里的警告全部静默,这个回归修掉了
编程
PHP 8.6 RC3:fiber 里的警告全部静默,这个回归修掉了
2026-11-13 21:03:59
PHP 8.6 beta 与 RC2 有个隐蔽回归:没有 php.ini 时新 Fiber 以 error_reporting=0 启动,fiber 内所有 warning 静默,Revolt/AMPHP 上的异步代码看不到任何报错。RC3 修掉了它,并顺带回滚 hrtime 走快 4%、array_map 快速路径、OPcache -0.0 折叠与内置服务器 HEAD 泄漏 fd。
PHP
异步
升级
调试
Go 1.26 实验包 runtime/secret:函数返回时清空寄存器与栈,堆要等 GC
编程
Go 1.26 实验包 runtime/secret:函数返回时清空寄存器与栈,堆要等 GC
2026-11-13 21:02:11
Go 1.26 的实验包 runtime/secret 让一段处理密钥的代码跑在 secret 模式下:返回时同步清空寄存器与栈,堆分配则要等 GC 判定不可达后才擦除。本文记录它的启用方式、平台限制(仅 Linux amd64/arm64)、为什么手写清零会被编译器优化掉,以及哪些场景值得用。
Go
安全
运行时
内存
Go 1.26 的 go fix 重写:与 go vet 同框架,`//go:fix inline` 能做源码级 API 迁移
编程
Go 1.26 的 go fix 重写:与 go vet 同框架,`//go:fix inline` 能做源码级 API 迁移
2026-11-13 21:01:34
Go 1.26 把 go fix 彻底重写:旧历史 fixer 全删,改跑 go vet 同一套分析框架,靠几十个 modernizer 把代码迁到现代写法;新增 //go:fix inline 可把调用点直接替换成函数体,用来做 API 迁移。附 CI 顺序、diff 过大怎么拆、go mod init 降低默认 go 版本等副作用。
Go
工具链
重构
迁移
浏览器直传对象存储:multipart ETag 不是整文件 MD5,分片和清理怎么配
编程
浏览器直传对象存储:multipart ETag 不是整文件 MD5,分片和清理怎么配
2026-11-13 20:03:37
把上传从「应用服务器代理字节」改成浏览器直传 S3 兼容对象存储:服务端只签票、记会话、完成后复核。讲清预签名 PUT 与 POST 的签名范围差异、CORS 必配的 x-amz-* 与 ETag、key 结构、multipart 三个 API 与 UploadId 落库、分片大小三个约束、multipart ETag 不是整文件 MD5、IDOR 与孤儿分片清理。
对象存储
上传
后端
S3
MySQL 版本号跳到 26.10:升级必须先落在 9.7,AUTO_INCREMENT 也开始跳号
编程
MySQL 版本号跳到 26.10:升级必须先落在 9.7,AUTO_INCREMENT 也开始跳号
2026-11-13 20:01:33
MySQL 26.7 起版本号改成 YY.M 日历版本,26.10 又加了第四段 UPDATE。版本号不再能看出是不是 LTS,升级路径改由 compatibility lineage 判定:9.7.x LTS 是唯一能进第一代日历版本的入口,跨 lineage 和跳号都不行。另有 innodb_autoinc_preallocate 默认 50 导致异常停机跳号、四个新保留字、两个被移除的变量,以及 CSA 与 MRS 组件化。
MySQL
运维
数据库
升级
Stripe 沙箱退款永远成功:异步退款、拒付与卡级状态污染怎么复现
代码
Stripe 沙箱退款永远成功:异步退款、拒付与卡级状态污染怎么复现
2026-11-13 09:03:46
沙箱里用普通测试卡发起的退款立即成功、之后不再变化,线上却会出现 pending→succeeded 和 succeeded→failed。按退款、争议、Radar 拦截、卡级状态四条线,给出能复现这些行为的测试卡和代码要补的分支。
Stripe
支付测试
退款
风控
支付接口
USDT TRC20 出款:广播返回 true 但用户没到账,7 个坑与重试设计
代码
USDT TRC20 出款:广播返回 true 但用户没到账,7 个坑与重试设计
2026-11-13 09:02:31
TRC20 出款最典型的故障是广播超时后被当成失败重建,用户收到两笔。按构造、签名、广播、回执四步拆开,讲清 fee_limit 单位是 sun、BANDWITH_ERROR 与能量无关、DUP_TRANSACTION_ERROR 不代表上链、打包成功不等于执行成功,以及只重播同一份签名字节的幂等表设计。
USDT
TRC20
出款
波场
链上对账
支付接口
微信支付平台证书模式:/v3/certificates 返回的是 AES-256-GCM 密文,刷新时 clear() 会漏签
编程
微信支付平台证书模式:/v3/certificates 返回的是 AES-256-GCM 密文,刷新时 clear() 会漏签
2026-11-13 00:04:12
证书模式下 /v3/certificates 返回的 ciphertext 是 AES-256-GCM 密文而非 PEM,要按 associated_data=certificate 加 APIv3 密钥解出来。讲清首次为何只能用 CertificateDownloader.jar、解密四类报错分型、serial_no 别从 X509 反推、刷新间隔小于 12 小时、未知 serial 懒加载的单飞与冷却,以及刷新里 clear() 只留一张导致换证期漏签的实现 bug。
证书模式
微信支付
平台证书
APIv3
接口对接
验签
加密字段做等值查询:信标截断几位 HMAC、分几个区,以及存量数据补不回来
编程
加密字段做等值查询:信标截断几位 HMAC、分几个区,以及存量数据补不回来
2026-11-13 00:04:05
加密字段要支持等值查询,常见做法是截断 HMAC 生成信标与密文同存。这篇讲清三个参数的互相拉扯:截断位数、分区数、误报与查询扇出,附误报量级估算公式、看字段频率分布的 SQL、按分区扇出的 Go 示意代码,以及存量数据无法回填、偏斜与相关字段不适用等判据。
可搜索加密
信标
数据库加密
HMAC
字段级加密
加密字段
@dataProvider 在 PHPUnit 12 静默失效:测试照跑,报的是 0 passed
编程
@dataProvider 在 PHPUnit 12 静默失效:测试照跑,报的是 0 passed
2026-11-13 00:03:56
升级 PHPUnit 12 后 @dataProvider 注释被静默忽略,测试照跑却报 ArgumentCountError: 0 passed。按 provider 必须 public static、数据集个数与签名对齐、discovery 阶段不能碰 DB/网络三条规则逐条给报错原文与修法,附 autoload-dev 坑、迁移顺序和 12.x 后续硬弃用清单。
PHPUnit
PHP
单元测试
测试
数据提供者
自托管 zrok2 后客户端还在连 api-v1.zrok.io:默认值与 3022/1280 端口边界排障
编程
自托管 zrok2 后客户端还在连 api-v1.zrok.io:默认值与 3022/1280 端口边界排障
2026-11-13 00:03:48
自托管 zrok2 时最容易踩的两个坑:客户端 ZROK2_API_ENDPOINT 为空仍指向公共 api-v1.zrok.io,以及把 OpenZiti 的 3022(direct TLS)和 1280(mTLS)塞进 Caddy。给出默认值清单、端口接线、zrok2 status 核对方法、frontend Host 头与 host_match 的关系、zrok2-init 的观察顺序,以及公网 IPv4/CGNAT 这个绕不开的前提。
zrok
OpenZiti
内网穿透
自托管
反向隧道
Docker
aria2 自建 RPC 下载服务:先 curl 验通,再谈 AriaNg
编程
aria2 自建 RPC 下载服务:先 curl 验通,再谈 AriaNg
2026-11-13 00:03:25
AriaNg 连 aria2 一直「未连接」,多数不是密码错,而是 token: 前缀放错地方:JSON-RPC 里 params 首项必须是 "token:SECRET",而 AriaNg 输入框只填明文 secret。附 curl 直验 aria2.getVersion、rpc-listen-all 与 Docker 端口发布面(发布端口不受 ufw 过滤)、nginx 反代 /jsonrpc 的 Upgrade 与 basic auth 冲突、session 文件缺失导致不启动、用 system.listMethods 做免密钥健康检查。
aria2
下载工具
AriaNg
Docker
运维实战
用 @tanstack/ai-vue 接流式对话:SSE 端点、useChat 与工具审批
代码
用 @tanstack/ai-vue 接流式对话:SSE 端点、useChat 与工具审批
2026-11-12 21:32:08
用 @tanstack/ai-vue 在 Vue 3 里接流式 AI 对话:服务端 chat() + toServerSentEventsResponse 返回 SSE,客户端 useChat 必须传 threadId、connection 与 fetcher 二选一,返回值是只读 ref;toolDefinition 一份定义服务端客户端共用,needsApproval 通过 interrupts 审批,并给出什么情况下不值得引入这套 SDK。
Vue
TypeScript
大模型
SSE
开源项目
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
352
下一页
共 352 页
到第
页
确定