程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
编程(第3页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
pg_advisory_lock 的两个悬挂事故:PgBouncer 事务池里的孤儿锁,和 25P02 之后再也解不开的迁移锁
编程
pg_advisory_lock 的两个悬挂事故:PgBouncer 事务池里的孤儿锁,和 25P02 之后再也解不开的迁移锁
2026-10-21 00:04:15
session 级 pg_advisory_lock 保护迁移时会挂在哪:PgBouncer transaction 模式下锁随连接归还池子、unlock 落到另一条后端返回 false 被静默丢弃,以及事务失败后 25P02 让 unlock 不可达、ROLLBACK 又不释放 session 锁。附 pg_locks 定位 SQL、pg_terminate_backend 清场、xact 锁改造与租约表取舍。
advisory
PostgreSQL
advisorylock
PgBouncer
数据库锁
连接池
迁移
运维
lock
事务池
RSA-OAEP 解密报 oaep decoding error:hash、MGF1、label 与模长四项不一致的排查顺序
编程
RSA-OAEP 解密报 oaep decoding error:hash、MGF1、label 与模长四项不一致的排查顺序
2026-10-21 00:03:53
同一个 RSA-OAEP 密文换语言就解不开,报错只是 oaep decoding error。按 RFC 8017 的编码结构逐项查四个参数:lHash 用的摘要、MGF1 的摘要、label、模长 k。附 Go/PHP/Node/Java/openssl 的默认值对照表、明文长度上限表,以及用 openssl pkeyutl 四种组合反推对端参数的排查步骤。
RSA-OAEP
非对称加密
PKCS1
OpenSSL
接口对接
密码学
staticcheck 抑制告警的三条路://lint:ignore 必填 reason,配置排除却不算「无用指令」
编程
staticcheck 抑制告警的三条路://lint:ignore 必填 reason,配置排除却不算「无用指令」
2026-10-21 00:03:42
Go 编译器几乎没有 warning 这一级,逻辑告警全靠 go vet 与 staticcheck。这篇拆 staticcheck 的三条抑制路径:staticcheck.conf 的 checks/inherit 合并、//lint:ignore 行级指令(reason 必填、只作用于下一行)、//lint:file-ignore,以及「没匹配到的指令会被当成问题报出来」「配置禁用的检查不算无用指令」这些反咬细节,最后给出从基线到只拦新增的清理顺序。
warnings
staticcheck
Go
代码质量
lint
lock
Pelican Panel + Wings 部署笔记:Compose、反代、节点上线
编程
Pelican Panel + Wings 部署笔记:Compose、反代、节点上线
2026-10-20 21:31:10
Pelican Panel 是 Laravel 写的开源游戏服务器面板,本文用 Docker Compose 跑通 Panel 与 Wings:APP_KEY 备份、BEHIND_PROXY/TRUSTED_PROXIES、Wings 的 docker.sock 与 2022 端口、反代 websockets、节点绿色心跳、端口分配与 Egg 导入,并说明 Docker 版仍属 WIP 的取舍。
Pelican
Laravel
Docker
自托管
运维部署
补丁版本也会改行为:Vue 3.5.44 中四处影响运行时的修复
编程
补丁版本也会改行为:Vue 3.5.44 中四处影响运行时的修复
2026-10-20 21:07:22
Vue 3.5.44 是补丁版本,但 25+ 修复里有四条改运行时行为:watcher 在别的 effect 内不再收集依赖(关闭 #5009)、once watcher 抛错也停止、SSR 开始传播 async setup 的错误、v-html 正确输出 0 和 false。附最小复现代码与升级检查清单。
Vue
前端
响应式
SSR
编译器替你 free:GOEXPERIMENT=runtimefreegc 的插入条件、16 字节阈值与收益边界
编程
编译器替你 free:GOEXPERIMENT=runtimefreegc 的插入条件、16 字节阈值与收益边界
2026-10-20 21:06:14
Go 的 runtimefreegc 实验让编译器在能证明对象已死的位置插入 runtime.free,减少 GC 扫描对象。本文讲它想省掉哪段工作、为什么阈值定在 16 字节、与 Go 1.25 栈分配 32 字节阈值方向相反的关系,以及哪些场景会纯亏,附 gotip 基准写法。
Go
GC
编译器
性能
PHP 8.6 部分函数应用:`?` 与 `...` 生成的闭包签名、可选性变化和报错
编程
PHP 8.6 部分函数应用:`?` 与 `...` 生成的闭包签名、可选性变化和报错
2026-10-20 21:02:49
PHP 8.6 的 partial function application 用 `?` 和 `...` 占位符让引擎直接生成闭包,省掉整段 fn 声明。本文整理它与 fn、FCC 的差别,`?` 占位参数不再继承可选性这条后续 RFC 的影响,以及 5 条常见报错原文。
PHP
PHP8.6
语法特性
MySQL 9.7.4 回退了收紧的建表校验,但 INSTANT DDL 仍在用严格行大小估算
编程
MySQL 9.7.4 回退了收紧的建表校验,但 INSTANT DDL 仍在用严格行大小估算
2026-10-20 21:01:33
MySQL 9.7.4 把 9.7 早期小版本收紧的 DDL 行大小校验回退了,但 ALTER TABLE ... ALGORITHM=INSTANT 仍走严格算法;同时版本号变成四段而 VERSION() 还是三段,EXCHANGE PARTITION 改双向检查 CHECK 与生成列。附可复现的验证 SQL 和报错原文。
MySQL
运维
DDL
版本升级
warnings
杀掉 MySQL 主库后的两秒:ProxySQL + Orchestrator 异步复制故障切换实验
编程
杀掉 MySQL 主库后的两秒:ProxySQL + Orchestrator 异步复制故障切换实验
2026-10-20 20:01:15
用 Docker 起一套 MySQL 8.4.11 + ProxySQL + Orchestrator 实验室,故意 docker kill 主库,逐秒记录 2 秒零吞吐、4 个失败事务的切换过程;并复现两个 failover hook 的真实 bug(admin 只能本地连接、LOAD MYSQL SERVERS TO RUNTIME 加载过期表让从库短暂变 writer)与提升后重启又变只读的坑。
MySQL
ProxySQL
Orchestrator
高可用
运维实战
在 RDS 上跑 pt-osc:ERROR 1419、参数组重启与 --recursion-method 假死
编程
在 RDS 上跑 pt-osc:ERROR 1419、参数组重启与 --recursion-method 假死
2026-10-20 00:06:37
在 Amazon RDS / Aurora 上跑 pt-online-schema-change,失败点不在 DDL 而在权限模型和工具默认行为:开自动备份就有 binlog,建触发器被 ERROR 1419 挡住,而 RDS 不允许 SET GLOBAL,只能新建 custom 参数组并重启;接着缺 PROCESS 权限、--recursion-method 自动发现从库导致进程挂死(PTDEBUG 停在 MasterSlave:4350 SELECT @@SERVER_ID);最后清理时 DROP 顺序搞反会撞上 ERROR 1146。
pt-online-schema-change
MySQL
RDS
Aurora
OnlineDDL
权限
Percona
AES-256-GCM 字段加密后 WHERE email=? 查不到:用 HMAC 盲索引补搜索,以及 4 个上线前缺口
编程
AES-256-GCM 字段加密后 WHERE email=? 查不到:用 HMAC 盲索引补搜索,以及 4 个上线前缺口
2026-10-20 00:04:37
手机号、邮箱做字段级加密后,随机 nonce 让密文失去可比性,登录查询和唯一约束同时失效。这篇用 PHP 的 AES-256-GCM 加 HMAC-SHA256 盲索引还原等值查询,给出建表结构、索引同步陷阱,并划清哪些列(低基数、password_hash、金额、时间)根本不该加密。
敏感信息加密
AES-256-GCM
盲索引
数据脱敏
PHP
VueUse v15 升级笔记:templateRef 被删、timer 换成 scheduler,还有 6 处会改行为的变更
编程
VueUse v15 升级笔记:templateRef 被删、timer 换成 scheduler,还有 6 处会改行为的变更
2026-10-20 00:04:32
面向已在生产使用 Vue 3 + VueUse 的项目:v15 要求 Vue 3.5、Node 22,templateRef 移除改用 useTemplateRef,timer 选项统一为 scheduler,useThrottleFn 的 trailing 默认改为 true,useEventSource 的 message 事件与 useIDBKeyval 跨标签页同步都会改变现有行为。逐项给出改法与回归顺序。
VueUse
Vue3
组合式函数
前端升级
pt-osc 中断之后:残留触发器、卡在 MDL 上的 DROP TRIGGER 与 3.6.0 的 --resume
编程
pt-osc 中断之后:残留触发器、卡在 MDL 上的 DROP TRIGGER 与 3.6.0 的 --resume
2026-10-20 00:03:55
pt-online-schema-change 被 kill 或 critical-load 中止后,原表会留下三个 pt_osc_* 触发器、一张拷了一半的 _table_new,以及 3.6.0 才有的 history 进度记录。本文讲残留物怎么核对清理、DROP TRIGGER 为什么会被 MDL 卡住一年(lock_wait_timeout 默认 31536000)、触发器没删却把新表 drop 造成 ERROR 1146 的失败顺序,以及 --history/--resume 的四个前提与局限。
pt-online-schema-change
MySQL
OnlineDDL
DDL
Percona
触发器
故障恢复
ghcr.io 拉镜像报 unauthorized / denied / manifest unknown:按凭据→权限→名字的顺序排查
编程
ghcr.io 拉镜像报 unauthorized / denied / manifest unknown:按凭据→权限→名字的顺序排查
2026-10-20 00:03:47
ghcr.io 拉镜像失败的三种形态(401 unauthorized / 403 denied / 404 manifest unknown)怎么区分:先用 docker logout 清本地坏凭据,再用 /token 换 token 打 manifest 接口定位是凭据还是权限;GitHub 侧要查包可见性、包与仓库链接的继承开关、组织 PAT 生存期策略、Actions 的 Manage Actions access,以及 K8s imagePullSecrets 里过期 token 的表现。
GHCR
Docker
容器镜像仓库
GitHub
认证
权限
运维
批量 UPDATE 撑大 binlog cache:临时文件、1197 报错与排查顺序
编程
批量 UPDATE 撑大 binlog cache:临时文件、1197 报错与排查顺序
2026-10-19 21:06:02
单个事务的 binlog 事件超过 binlog_cache_size 后会落到 tmpdir 临时文件,磁盘悄悄被吃掉;超过 max_binlog_cache_size 还会报 1197。含状态变量比值读法、tmpdir 排查顺序、按主键分批与 binlog_row_image 的取舍。
MySQL
运维
binlog
事务
Redis 8.4 XREADGROUP CLAIM:一条命令同时取空闲 pending 和新增条目
编程
Redis 8.4 XREADGROUP CLAIM:一条命令同时取空闲 pending 和新增条目
2026-10-19 21:04:19
Redis 8.4 给 XREADGROUP 加了 CLAIM min-idle-time,一次调用同时认领空闲 pending 与读取新增条目,替掉 XAUTOCLAIM 加 XREADGROUP 的两段式消费循环。含旧循环对照、阈值与重试预算的换算、XPENDING 监控与幂等边界。
Redis
消息队列
Streams
运维
PHP 8.6 的 PASSWORD_BCRYPT_SHA256:先做 HMAC-SHA256,避开 bcrypt 的 72 字节截断
编程
PHP 8.6 的 PASSWORD_BCRYPT_SHA256:先做 HMAC-SHA256,避开 bcrypt 的 72 字节截断
2026-10-19 21:03:04
bcrypt 只读前 72 字节,长密码会被静默截断。PHP 8.6 新增 PASSWORD_BCRYPT_SHA256:先 HMAC-SHA256 再送 bcrypt,沿用 Passlib 方案。含生成/校验写法、列宽与 password_needs_rehash 迁移顺序、与旧 bcrypt 不兼容的边界。
PHP
密码哈希
bcrypt
安全
Go 1.28 的七个集合提案:Union 为什么要拆成两个函数,Get 和 At 又在争什么
编程
Go 1.28 的七个集合提案:Union 为什么要拆成两个函数,Get 和 At 又在争什么
2026-10-19 21:02:30
Go 集合工作组 Issue #80590 的七个提案:container/set、mapset、hash.Map/Set、tree.Map、heap/v2,以及 Go 1.27 已落地的 hash/maphash.Hasher。重点讲 Union/UnionWith 拆分、Get 与 At 的命名争议、DeleteFunc 必须进接口的复杂度原因。
Go
泛型
标准库
集合
Redis 8.4 给 SET 加了 IFEQ/IFDEQ:条件写可以替代手写 Lua 乐观锁
编程
Redis 8.4 给 SET 加了 IFEQ/IFDEQ:条件写可以替代手写 Lua 乐观锁
2026-10-19 21:01:23
Redis 8.4 的 SET 新增 IFEQ/IFNE/IFDEQ/IFDNE 条件写,配合 DIGEST、DELEX、MSETEX 就能替代手写 Lua 做乐观锁与条件批量。含命令示例、返回值语义、字节比较与集群限制,以及仍该用 Lua/WATCH 的场景。
Redis
乐观锁
CAS
Lua
缓存
Laravel 13.36:长驻 worker 跑过一个写任务后,后面一万个任务的读都压在主库
编程
Laravel 13.36:长驻 worker 跑过一个写任务后,后面一万个任务的读都压在主库
2026-10-19 20:02:53
Laravel 13.36 允许队列 worker 在任务之间清掉粘性数据库连接。讲清 sticky 为什么把长驻 worker 的读一直钉在主库、新开关 Worker::$flushStickyConnections 怎么开、打开后复制延迟与任务依赖的代价,以及判断要不要开的三个核对点。
Laravel
PHP
队列
MySQL
读写分离
Inertia v3 上线踩的 8 个坑:409 版本冲突、303 重定向与被 CDN 吃掉的 Vary 头
编程
Inertia v3 上线踩的 8 个坑:409 版本冲突、303 重定向与被 CDN 吃掉的 Vary 头
2026-10-19 00:09:59
从 Inertia v3 的 HTTP 协议切入,拆开 X-Inertia 头、page object、409 版本冲突、302→303 转换、Vary 缓存分桶、partial reload 惰性求值与 SSR 13714 探活。每个坑给现象、原因和 curl 验证方式,面向已用 Laravel + Vue 上线、正在排查整页刷新和缓存串味的工程师。
Inertia.js
Laravel
Vue
PHP
SPA
前端路由
幂等防重不止唯一索引:幂等键的四层拦截与三个失效点
编程
幂等防重不止唯一索引:幂等键的四层拦截与三个失效点
2026-10-19 00:04:20
同一个请求被处理两次,问题往往不在业务代码某一行,而在幂等键设计。这篇划清幂等只在写操作上成立,给出键的三种生成方式与粒度、网关/Redis 原子消费/MySQL 唯一索引/状态机条件更新的四层拦截顺序,以及「每次重试重生成键」「先查后写」「去重记录与业务不同事务、TTL 短于重试窗口」三个失效点,附 Go 的 1062 判断与并发验证方法。
幂等防重
幂等键
Redis
MySQL
重复提交
优惠券
gh-actions-lock 0.2.0 升级后要处理的坑:粘性锁、更严的 --verify 与本地 action 迁移
编程
gh-actions-lock 0.2.0 升级后要处理的坑:粘性锁、更严的 --verify 与本地 action 迁移
2026-10-19 00:03:59
gh-actions-lock 0.2.0 升级排错笔记:锁文件 schema 变 v0.0.3、普通 run 改粘性锁、--rescan 移除、--verify 开始对未使用条目和未接入 workflow 报错、--verify-local 不再迁移 ./ 引用、--relock 与 --accept-moved 的分工、本地路径 action 跳过 onboarding 的路径解析坑,以及 allowlist 按 SHA 校验和 Dependabot 的 schema 兼容问题。
GitHubActions
actions-lock
CI
CD
供应链安全
lockfile
gh
PgDog v0.1.62:事务池复用连接时,SET/RESET 与 advisory lock 的会话状态怎么串味
编程
PgDog v0.1.62:事务池复用连接时,SET/RESET 与 advisory lock 的会话状态怎么串味
2026-10-19 00:03:42
PgDog v0.1.62 集中修了事务池下的会话状态泄漏:SET LOCAL ... TO DEFAULT 被当成会话级 SET、RESET 不恢复启动参数、ROLLBACK 撤销上一事务的 RESET、DISCARD ALL 命令标签错误打断 JDBC prepared statement、pg_try_advisory_lock 没拿到锁也 pin 连接。附最小复现 SQL、pgdog.toml 关键默认值与升级验证步骤。
PgDog
PostgreSQL
连接池
事务池
SET
advisory
lock
DISCARD
数据库代理
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
289
下一页
共 289 页
到第
页
确定