程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
软件定制开发/软件按需定制 技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
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
开源项目
Pinia Colada 实战:query key、enabled 与缓存失效的坑
编程
Pinia Colada 实战:query key、enabled 与缓存失效的坑
2026-11-12 21:31:30
Pinia Colada 在 Vue 3 里做数据获取层的实操记录:query key 必须是函数、inject 在 query 函数里重拉时失效、store 里消费 query 会让它永生、enabled 暂停共享查询、分页用 placeholderData 保留旧数据、清缓存要先 cancel 再 remove、setQueryData 会强置 status=success。
Vue
Pinia
前端
缓存
TypeScript
MySQL 9.7 弃用 FLUSH PRIVILEGES:多数脚本里它本来就多余,顺手把 Connection Control 换成组件
编程
MySQL 9.7 弃用 FLUSH PRIVILEGES:多数脚本里它本来就多余,顺手把 Connection Control 换成组件
2026-11-12 21:06:19
MySQL 9.7 把 FLUSH PRIVILEGES 标为弃用,执行即产生 warning,FLUSH_PRIVILEGES 权限、mysqladmin flush-privileges/reload 也在弃用清单里。而这条语句在 GRANT/REVOKE 之后本来就是冗余的,真正受影响的是一堆初始化 SQL 和运维脚本。另附 Connection Control 从插件换成 component_connection_control 的替换顺序,以及失败登录计数表搬到 performance_schema 后的监控改法。
MySQL
数据库运维
权限管理
升级
Go 1.28 小 key 哈希从 AES 换成 wyhash:swissmap 转正后,旧 map 基准不再可比
编程
Go 1.28 小 key 哈希从 AES 换成 wyhash:swissmap 转正后,旧 map 基准不再可比
2026-11-12 21:04:33
Go 1.28 把 map 小 key 的哈希从 AES 换成 wyhash,阈值按微架构不同:Zen 4 是 8 字节、Apple M1 Max 是 16 字节,arm64 的延迟阈值还没做。同时 swissmap 成为唯一实现,mapaccess2 被内联进 mapaccess1,interface key 的哈希折入动态类型 typehash。文章说明为什么这意味着旧 map 基准不再可比、GOEXPERIMENT=swissmap 失效。
Go
运行时
哈希表
性能
nginx 1.31.0 拒收 h2/h3 里的 Connection、Keep-Alive:先排查前面那台 1.1 网关
综合
nginx 1.31.0 拒收 h2/h3 里的 Connection、Keep-Alive:先排查前面那台 1.1 网关
2026-11-12 21:04:23
nginx 1.31.0 按 RFC 9113 强制校验:HTTP/2、HTTP/3 请求里出现 Connection、Proxy-Connection、Keep-Alive、Transfer-Encoding、Upgrade,或 TE 不是 trailers,一律拒绝。以前这些字段只是被忽略,现在会直接挂。文中给出三类高危链路(自研 SDK 复用 1.1 头表、1.1 网关回源透传、h2 里发 Upgrade)、抓包复现与十步升级检查清单。
nginx
HTTP
2
运维
反向代理
Go 1.28 开发分支:复合字面量按目标类型省略,函数参数、append、switch 已支持
编程
Go 1.28 开发分支:复合字面量按目标类型省略,函数参数、append、switch 已支持
2026-11-12 21:03:06
Go 1.28 开发分支已经落地讨论十年的提案 #12854:复合字面量在目标类型可推断时可省略元素类型,覆盖 struct 字面量、函数参数、append、copy、delete、switch 和与有类型操作数的比较。文中列出已合入的 CL、仍走旧规则的边界(两侧都无类型的比较)、go 指令决定语言版本,以及用 -lang 对比验证的办法。
Go
语言提案
类型推断
编译器
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
352
下一页
共 352 页
到第
页
确定