程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
软件定制开发/软件按需定制 技术文章 · 第8页
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
MySQL 8.4.13:漏掉的 OR 分支、gtid_executed 空洞与过期 AHI 条目
编程
MySQL 8.4.13:漏掉的 OR 分支、gtid_executed 空洞与过期 AHI 条目
2026-11-01 21:02:25
MySQL 8.4.13 里几条「语句正常执行、结果却不对」的修复:index_merge_union=off 时 OR 查询漏一个 disjunct 返回空集、XA RECOVER 与 GTID 可见顺序颠倒、binlogless 副本 FLUSH PRIVILEGES 在 gtid_executed 留空洞、过期 AHI 条目让点查读到已 discard 代际。附复现与验证方法。
MySQL
数据库
复制
优化器
Nuxt 4.6.3:修掉三个 dev server 漏洞,外加 dot segment 路径处理
资讯
Nuxt 4.6.3:修掉三个 dev server 漏洞,外加 dot segment 路径处理
2026-11-01 21:01:39
Nuxt 4.6.3 的五个安全修复里,三个落在 Vite dev server 上:错误报告可被用来读文件、dev 输出目录可被访问、dev 下发送自动生成的 app secret;另有请求路径 dot segment 处理与 island 重定向规则。附 GHSA 编号、版本要求与升级自查步骤。
Nuxt
Vue
前端安全
Vite
containerd 2.4.2 补丁说明:三个 CVE、修复版本矩阵与升级后必须手工清理的 checkpoint 挂载
资讯
containerd 2.4.2 补丁说明:三个 CVE、修复版本矩阵与升级后必须手工清理的 checkpoint 挂载
2026-11-01 21:01:39
containerd 2.4.2(2026-10-13)修掉三个漏洞:畸形 manifest digest 打崩 daemon、层数据不限大小写满磁盘、伪造 Content-Length 打崩并行取层;另有 checkpoint restore 失败泄漏 mount 与 pinned snapshot,升级后要手工卸载 /tmp/checkpoint* 才能回收。附修复版本矩阵与优先顺序。
containerd
Kubernetes
容器安全
运维
Nacos 3.3.0 升级笔记:Client API 鉴权默认开启,插件配置 key 集体改名
资讯
Nacos 3.3.0 升级笔记:Client API 鉴权默认开启,插件配置 key 集体改名
2026-11-01 20:03:57
Nacos 3.3.0 把 nacos.core.auth.enabled 的默认值改成 true,依赖默认配置的客户端升级后会鉴权失败;插件配置 key 统一成 nacos.plugin.{pluginType}.{pluginName}.*,且新 key 的空白值也会覆盖旧 key。本文整理完整 key 映射表、A2A 迁移必须设 AUTO、旧导入接口返回 410、Java 17 与 Spring Boot 4.0.6 等升级检查点。
Nacos
Spring
Boot
服务发现
运维
Caddy 2.11.7:修掉 2.11.6 默认超时引发的 panic 与流截断,新增 Incremental 头
资讯
Caddy 2.11.7:修掉 2.11.6 默认超时引发的 panic 与流截断,新增 Incremental 头
2026-11-01 20:02:38
Caddy 2.11.6 为防慢速攻击引入默认 idle 读写超时后,HTTP/2 上代理读完请求体可能出现 nil pointer panic,POST 打开的 SSE 在读完 body 后正好 60 秒被截断,静默 SSE 也会被 write_idle 重置。2.11.7 修掉这三处回归,并加入 RFC 10036 的 Incremental 头替代 nginx 的 X-Accel-Buffering,附升级判断清单。
Caddy
反向代理
SSE
运维
微信支付停发平台证书:自动下载证书的代码先挂,灰度期回调验签还会随机失败
代码
微信支付停发平台证书:自动下载证书的代码先挂,灰度期回调验签还会随机失败
2026-11-01 09:01:39
微信支付停发平台证书后,自动下载证书的服务会撞 RESOURCE_NOT_EXISTS / NOT_ENOUGH;灰度期回调按比例切公钥,用前缀二分验签会随机失败。文内给出证书 210/180/90 天生成规则、回调和应答两条进度条的比例算法,以及 openssl 手工验签命令。
支付接口
微信支付
PHP
ProxySQL 复用被一条 SET @x 永久关掉:GET_LOCK、SQL_CALC_FOUND_ROWS、文本 PREPARE 的复位条件
编程
ProxySQL 复用被一条 SET @x 永久关掉:GET_LOCK、SQL_CALC_FOUND_ROWS、文本 PREPARE 的复位条件
2026-11-01 00:05:58
应用侧几百个连接,ProxySQL 后端连接数也接近 1:1,说明复用等于没开。按"可恢复 / 永久"两类拆开禁用条件:活跃事务与表锁可恢复,而 SET @x、GET_LOCK()、SQL_CALC_FOUND_ROWS、CREATE TEMPORARY TABLE、文本协议 PREPARE 一旦出现就在该连接上永久失效。附 stats_mysql_processlist 的 extended_info 字段定位法、rules.multiplex 与 keep_multiplexing_variables 调优,以及 OFFLINE_SOFT 残留连接陷阱。
ProxySQL
MySQL
数据库代理
连接池
性能调优
运维排错
prepared
客诉工单 SLA 计时的三处实现错误:工作日 deadline、暂存停表、重复告警
编程
客诉工单 SLA 计时的三处实现错误:工作日 deadline、暂存停表、重复告警
2026-11-01 00:05:38
自建客诉工单系统里 SLA 最容易写错的三处:工作日口径不能 created_at 加小时、暂存与退回期间要用暂停区间累减而不是打标记、超时告警要靠 (ticket_id, level) 唯一键幂等。给出 biz_calendar 日历表、ticket_pause 区间表、ticket_alert 告警表结构与对账 SQL,并划清 UTC 存储、不用 NOW()、deadline_at 落列建索引这些边界。
客诉处理
工单系统
MySQL
SLA
运维
规则写了,SELECT 仍落到 default_hostgroup:ProxySQL 规则链语义与 fast_routing 的指针残留
编程
规则写了,SELECT 仍落到 default_hostgroup:ProxySQL 规则链语义与 fast_routing 的指针残留
2026-11-01 00:04:43
ProxySQL 里规则配了却不生效,SELECT 仍落到 default_hostgroup,不可达时报 ERROR 9001。拆开两种原因:flagIN/flagOUT/apply 的链式语义(初始 flag=0、flagOUT 仅命中时打标、apply 仅命中时终止、catch-all 不能设 destination_hostgroup),以及 3.0.x 未命中时 qr 指针残留导致静默跳过 fast_routing(#5620 / PR #5763 一行修复)。附 stats_mysql_query_digest 落点自查与 8 步排错顺序。
ProxySQL
MySQL
数据库代理
读写分离
查询规则
运维排错
微信小店客诉工单 platformkf 接入:超时未处理=默认判支持用户,reply_option 必填项要动态取
编程
微信小店客诉工单 platformkf 接入:超时未处理=默认判支持用户,reply_option 必填项要动态取
2026-11-01 00:04:15
微信小店客诉工单 platformkf 的接入顺序与三个坑:platformkf 与商家客服 commkf、纠纷单 syncworkorder 不是同一套数据;reply_option 的必填字段随选项变化,要从 GetTicketClassConfig 缓存里取而不是硬编码;超时未处理会按 platform_review_result=2 默认判支持用户并触发缺货处罚。附接口路径、状态值枚举与调用骨架。
客诉处理
微信小店
platformkf
接口对接
微信开放平台
容器里 TZ=UTC,SSR 日期少一天:Intl.DateTimeFormat 的默认值与边界
编程
容器里 TZ=UTC,SSR 日期少一天:Intl.DateTimeFormat 的默认值与边界
2026-11-01 00:03:59
Intl.DateTimeFormat 的默认 timeZone 取运行时区,不是 UTC:容器 TZ=UTC 时 SSR 与浏览器会差一天。文中给出 dateStyle 与组件选项互斥的报错原文、hourCycle h24 输出 24:00、Etc/GMT+8 符号相反、small-icu 静默退化为 en-US 等复现代码与判据,并附修复顺序。
Intl.DateTimeFormat
JavaScript
时区
前端
i18n
ASH
MySQL 多线程复制延迟排查:worker 没并行、WRITESET 回退、大事务各查什么
编程
MySQL 多线程复制延迟排查:worker 没并行、WRITESET 回退、大事务各查什么
2026-11-01 00:03:57
replica_parallel_workers 设成 8 延迟照样涨时,按五类分型排查:conflict 依赖太密、WRITESET 因无主键或外键回退、preserve_commit_order 的提交顺序等待、单个大事务占住 worker、worker 过载与 DDL 串行。附 performance_schema 表字段、版本默认值与判据。
复制延迟
MySQL
并行复制
主从复制
MTS
数据库运维
把 ABNORMAL 归进失败分支之后:重复建实例、误告警和一次 nodemanager 自杀
编程
把 ABNORMAL 归进失败分支之后:重复建实例、误告警和一次 nodemanager 自杀
2026-11-01 00:03:35
状态字段 ABNORMAL 和 FAILED 并列,不是失败终态。从 ModelArts pod status、VIAS task_state、BCC serverEventStatus 三份枚举出发,加上 MindIE-Motor PR #334 里快照恢复后过期 abnormal status 导致 nodemanager 自杀的案例,给出终态/聚合态/瞬时态三分判据与排查顺序。
ABNORMAL
状态机
接口对接
枚举值
运维排查
回调打不到本地:cloudflared quick tunnel 的 200 并发与 SSE 限制,换 zrok 之前先看清
综合
回调打不到本地:cloudflared quick tunnel 的 200 并发与 SSE 限制,换 zrok 之前先看清
2026-10-31 21:32:24
联调第三方回调时本地 localhost 收不到通知,先用 cloudflared quick tunnel 把服务挂到公网。这篇列出它的全部硬限制——无 uptime 保证、200 in-flight 后返回 429、不支持 SSE、邮箱验证要交互浏览器、hostname 每次重建都变——并逐条说明对回调联调的影响,再给出 zrok 公开/私有分享与自托管这条替代路径和对照表。
接口对接
webhook
联调工具
zrok
ASH
重试循环写错就是故障放大器:状态码分类、抖动退避、三道闸门与幂等键
代码
重试循环写错就是故障放大器:状态码分类、抖动退避、三道闸门与幂等键
2026-10-31 21:31:46
对接第三方接口时,"失败重试 3 次"往往把故障放大。这篇按状态码拆出可重试与不可重试,讲清连接超时和读超时的区别、超时后请求可能已成功,给出固定间隔/指数退避/抖动三级的取舍与可抄的 Python 实现,再用次数、总时间预算、熔断三道闸门收口,最后落到重试成本、指标与幂等键的位置。
接口对接
重试
幂等
稳定性
Traefik ForwardAuth 复用认证连接池:NTLM/Negotiate 身份会串到别的客户端
资讯
Traefik ForwardAuth 复用认证连接池:NTLM/Negotiate 身份会串到别的客户端
2026-10-31 21:08:42
GHSA-hrpp-p4fc-wwf8:Traefik 的 ForwardAuth 把认证子请求放进所有客户端共享的连接池,遇到 IIS Windows Authentication 这类连接绑定的 NTLM/Negotiate 时,已认证连接会被复用,未认证客户端拿到受害者身份并经 authResponseHeaders 打进后端。文中给出受影响版本、与四个旧 GHSA 的区别、自查项与临时绕过方式。
运维
反向代理
安全
Traefik
认证
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
蓝牙
Vite 8.3.5 的 21 条修复里有 8 条落在 bundled-dev:dev 也走打包之后,dev-only 语义得重写一遍
代码
Vite 8.3.5 的 21 条修复里有 8 条落在 bundled-dev:dev 也走打包之后,dev-only 语义得重写一遍
2026-10-31 21:06:16
Vite 8.3.5 的 21 条修复里 8 条属于 bundled-dev:dev 阶段也打包之后,HMR 传播、错误栈 source map、server.origin、import.meta.env 自定义变量这些本来"只在 dev 生效"的语义都得重新实现。逐条列修复与 issue 编号,并给出开不开 bundled-dev、行号对不上时怎么查的判断。
Vite
前端
构建
调试
版本升级
Vite+ 1.0 用一个 `vp` 收掉 Vite、Vitest、lint 和 Node 版本:升级只改一处,代价是也锁成一套
代码
Vite+ 1.0 用一个 `vp` 收掉 Vite、Vitest、lint 和 Node 版本:升级只改一处,代价是也锁成一套
2026-10-31 21:05:25
Vite+ 1.0 用一个 vp CLI 和一个 vite-plus 依赖替代 vite、vitest、eslint、prettier、tsup、turbo 的组合,顺带管 Node 版本与 git hooks。文中列出 vp check/test/dev/build/env/toolchain/migrate 的分工、vp toolchain 实际 pin 的版本,以及"升级只改一处"与"全家桶锁定"之间该怎么选。
Vite
前端
工具链
Vitest
工程化
PHP 8.6 的 quote_string():real_escape_string() 在 NO_BACKSLASH_ESCAPES 下失效的原因
编程
PHP 8.6 的 quote_string():real_escape_string() 在 NO_BACKSLASH_ESCAPES 下失效的原因
2026-10-31 21:04:32
real_escape_string() 只转义不加引号,一旦连接启用 NO_BACKSLASH_ESCAPES,反斜杠不再是转义符,拼接进引号里的值就能提前闭合。PHP 8.6 的 mysqli::quote_string() 把转义和加引号合并,并按连接 sql_mode 选风格。文中给出两种模式下的 SQL 对照、grep 排查命令、替换时的重复加引号与缓存陷阱,以及为什么预处理仍是首选。
PHP
MySQL
安全
SQL注入
版本升级
ASH
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
版本升级
PHP 8.6 的 Uri 类型:把 parse_url 的推断换成枚举判断
编程
PHP 8.6 的 Uri 类型:把 parse_url 的推断换成枚举判断
2026-10-31 20:04:02
PHP 8.6 新增 Uri\Rfc3986 类型,用枚举判断「是不是绝对 URL」「host 是不是 IP」,替掉 parse_url 加 filter_var 的推断。注意 parse() 失败返回 null、空串与相对路径也能解析成功,以及 UriBuilder 对畸形路径直接抛 InvalidUriException;百分号编码按 Path/Query 区分上下文。
PHP
8.6
URL
处理
PHP 8.6 的 `?` 占位符:partial 应用写法、`(...)` 的元数差异与 array_map 编进 foreach
编程
PHP 8.6 的 `?` 占位符:partial 应用写法、`(...)` 的元数差异与 array_map 编进 foreach
2026-10-31 20:03:24
PHP 8.6 的部分函数应用用 `?` 占位符替代手写箭头函数,但 `f(?)` 与 `f(...)` 元数不同,嵌套 `trim(?)` 会直接 TypeError。文中给出两版代码对比、编译期错误、闭包缓存性能数字,以及 RC3 把 array_map 快速路径在 strict_types=1 下关闭的原因。
PHP
8.6
函数式编程
性能
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
…
5
6
7
8
9
10
11
…
349
下一页
共 349 页
到第
页
确定