程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
编程(第4页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
OpenSSL 4.0.0 升级排查:ENGINE 被删、SM2 默认 distid 变更,编译和互验都得先过一遍
编程
OpenSSL 4.0.0 升级排查:ENGINE 被删、SM2 默认 distid 变更,编译和互验都得先过一遍
2026-10-18 21:08:31
OpenSSL 4.0.0 不是 LTS,升级要先过一遍编译与互验:ENGINE 与 SSLv3 移除、ASN1_STRING 变 opaque 加 const 签名、c_rehash 换成 openssl rehash、SM2 默认 distid 变更会让新旧版本互验失败,签名算法名也改成 IANA 名字。
OpenSSL
TLS
升级迁移
ProxySQL 3.0.11/3.1.11/4.0.11:字面量用户变量不再钉死 hostgroup,caching_sha2_password 补齐 RSA 认证
编程
ProxySQL 3.0.11/3.1.11/4.0.11:字面量用户变量不再钉死 hostgroup,caching_sha2_password 补齐 RSA 认证
2026-10-18 21:05:04
ProxySQL 3.0.11 起 SET @request_id=1234 这类字面量赋值不再把会话钉在 hostgroup,多路复用得以保留;3.1.11 让非 TLS 客户端走 RSA 完成 caching_sha2_password 认证。文中给出开关配置、require_x509 与密钥轮换等升级前检查项。
MySQL
中间件
连接池
PHP 8.6.0 RC3 撤回三处「更快」改动:hrtime() 快了 4%、fiber 里警告被静音
编程
PHP 8.6.0 RC3 撤回三处「更快」改动:hrtime() 快了 4%、fiber 里警告被静音
2026-10-18 21:02:32
PHP 8.6.0 RC3 回滚了 8.6 自己引入的三处回归:fiber 内警告被静音、hrtime() 改用 CLOCK_MONOTONIC_RAW 后快约 4%、strict_types=1 下 array_map 加速路径抛 TypeError,另有 OPcache 把负零折叠。含实测表格与升级注意。
PHP
版本升级
性能
PHP 8.6 收紧 session 三个默认值:先受影响的是 SAML SSO 和跨域表单
编程
PHP 8.6 收紧 session 三个默认值:先受影响的是 SAML SSO 和跨域表单
2026-10-18 21:02:25
PHP 8.6 把 use_strict_mode、cookie_httponly、cookie_samesite 的默认值改成 1/1/Lax,SessionHandler::validateId() 也真正实现,外部提供的 session ID 会被拒。文中给出四步排查顺序、php.ini 与 Symfony 配置片段,以及为什么不建议全站放宽。
PHP
会话安全
升级踩坑
PostgreSQL 18 vs 17.9:2000 万行实测,大聚合慢 1.6 倍,skip scan 是唯一稳赢项
编程
PostgreSQL 18 vs 17.9:2000 万行实测,大聚合慢 1.6 倍,skip scan 是唯一稳赢项
2026-10-18 20:01:53
同样 2000 万行灌进 PostgreSQL 17.9 和 18,五类查询跑完发现:大聚合慢 1.6 倍,深 join 默认也慢,只有 skip scan 明确变快。附 io_method 三档对比、pg_upgrade 统计信息搬运与 checksum 默认开启带来的升级前置条件。
PostgreSQL
数据库升级
pg_upgrade
skip
scan
io_method
订单关单后的资源释放:库存回滚、优惠券退回与额度解冻怎么做到不重不漏
编程
订单关单后的资源释放:库存回滚、优惠券退回与额度解冻怎么做到不重不漏
2026-10-18 00:04:35
订单关单只改 status 会留下退不干净的库存、券和冻结额度。这篇给可落地的做法:关单事务只抢状态并写 outbox 释放任务、库存用 available/locked 预占模型并给 locked 加下界条件、流水表唯一键做幂等、优惠券过期与叠加退券的取舍、冻结额度双向更新、以及「locked 汇总 = 待支付明细」的每日对账 SQL 和重试/人工补偿口径。
订单关单
库存回滚
幂等
优惠券
对账
订单状态机
20 字限制卡住一个 👨👩👧👦:emoji 的码点、字节与 grapheme cluster
编程
20 字限制卡住一个 👨👩👧👦:emoji 的码点、字节与 grapheme cluster
2026-10-18 00:04:23
表单「20 个字」限制被一个家庭 emoji 撑爆、按码点截断后渲染成方块,是编码层最常见的错位。这篇把 emoji 的 7 种编码形式(VS16、肤色修饰、ZWJ、区域指示符、tag、keycap)和三种长度口径拆开,给出 Go/PHP/JS 按 grapheme cluster 计数与截断的可执行写法,以及 utf8mb4 列宽、排序规则与终端宽度上的边界。
emoji
Unicode
字符编码
Go
PHP
前端工程
锁文件存在不等于被遵守:七个包管理器的默认行为与强制模式对照
编程
锁文件存在不等于被遵守:七个包管理器的默认行为与强制模式对照
2026-10-18 00:03:49
把「锁文件」拆成尊重与强制两个维度:npm/pnpm 默认尊重但冲突时静默覆盖,Cargo/Pipenv 默认重新解析并改写锁文件,Poetry/Gradle/Go 默认即强制。附 npm install 与 npm ci 的 resolver 差异、lockfileVersion 1/2/3、隐藏锁文件的三条有效条件、integrity 校验与冲突重建步骤。
锁文件
lockfile
依赖管理
npm
CI
供应链
订单超时关单的三条触发链路:RabbitMQ 队头阻塞、Redis ZSET 抢单与扫表兜底
编程
订单超时关单的三条触发链路:RabbitMQ 队头阻塞、Redis ZSET 抢单与扫表兜底
2026-10-18 00:03:48
订单超时关单的触发链路怎么选:为什么要把到期时刻存成 expire_at、扫表怎么用游标分批和分片、RabbitMQ TTL+DLX 的队头阻塞与 x-delayed-message 插件代价、RocketMQ 18 级延时上限、Redis ZSET 用 Lua 原子抢任务以及 keyspace notification 为何不能当调度器。另含三个真实翻车点:消息里的状态快照不能当事实、积压恢复集中放量、关单双写失败靠兜底。
订单关单
延时队列
RabbitMQ
RocketMQ
Redis
定时任务
订单状态机
接口 504 排查:ServiceLatency 为 0,说明请求根本没到后端
编程
接口 504 排查:ServiceLatency 为 0,说明请求根本没到后端
2026-10-18 00:03:14
接口报错先别急着翻后端日志:用响应头里的 X-Ca-Error-Code / X-Ca-Request-Id、TotalLatency 与 ServiceLatency、以及 8 个 IO 时间点,判断请求是被网关拦截还是已转发到后端,耗时落在哪一段;附 Nginx $request_id、Go 中间件与 curl 计时对齐的自建落地方式。
接口排障
API网关
故障排查
可观测性
重试不是越多越好:出站 HTTP 客户端的分类、full jitter 与每依赖预算
编程
重试不是越多越好:出站 HTTP 客户端的分类、full jitter 与每依赖预算
2026-10-17 21:31:29
调用第三方 API 出问题时,最常见的错误是就地加重试。本文给出一套出站 HTTP 客户端的重试策略:按状态码和幂等性分类、带抖动的指数退避、正确合并 Retry-After、为每个依赖设置重试预算与并发隔离,并附一份可直接用的 Go 实现。
接口对接
HTTP
Go
重试
稳定性
Valkey 9.2.0-rc1 运维笔记:forkless RDB、服务端热 key、给运维留连接位
编程
Valkey 9.2.0-rc1 运维笔记:forkless RDB、服务端热 key、给运维留连接位
2026-10-17 21:10:10
Valkey 9.2.0-rc1 里三项运维直接相关的变化:forkless RDB 快照的开关与验证方法、服务端 HOTKEYS 近似 Top-K 检测的适用边界、priority-subnets 与 maxclients-reserved 预留管理连接位,另附 ACL roles、复制限流等条目。
Valkey
Redis
运维
缓存
OpenResty 1.31.1.1 落地:precontent 阶段、按请求校验上游证书与 cosocket TLS
编程
OpenResty 1.31.1.1 落地:precontent 阶段、按请求校验上游证书与 cosocket TLS
2026-10-17 21:09:03
OpenResty 1.31.1.1 里三处对网关直接有用的新能力:precontent_by_lua 阶段与 access/content 的分工、proxy_ssl_verify_by_lua 按上游动态决定证书校验、settrustedstore/getsslsession 把可信 CA 下沉到单次握手,附升级自查路径与验证命令。
OpenResty
Nginx
Lua
网关
TLS
MySQL 9.7 外键级联开始执行子表触发器:enable_cascade_triggers 的开关、映射与回滚边界
编程
MySQL 9.7 外键级联开始执行子表触发器:enable_cascade_triggers 的开关、映射与回滚边界
2026-10-17 21:05:31
MySQL 9.7 起外键 CASCADE 可执行子表触发器,需开启 enable_cascade_triggers(默认 OFF)。梳理级联类型与触发器映射、同语句同事务的回滚边界、回写父表与级联表数上限 30,以及 ROW/STATEMENT 复制的差异和上线顺序。
MySQL
触发器
外键
升级踩坑
CAS
Go 1.27 泛型方法:能链式调用,但反射扫不到它
编程
Go 1.27 泛型方法:能链式调用,但反射扫不到它
2026-10-17 21:04:39
Go 1.27 泛型方法的两条边界:接口方法不能声明类型参数、泛型方法也实现不了接口;以及由此带来的反射盲区——NumMethod 里看不到泛型方法,序列化/ORM/RPC 框架会漏 API。附链式调用与官方原因解释。
Go
泛型
反射
语言特性
Go 1.27 的 encoding/json 换内核:升级后默认行为变了,any 解析反而更慢
编程
Go 1.27 的 encoding/json 换内核:升级后默认行为变了,any 解析反而更慢
2026-10-17 21:03:50
Go 1.27 的 encoding/json 变成 json/v2 的兼容层后,升级即生效的行为差异:非法 UTF-8 报错、字段名大小写敏感、nil slice 变 []、[]byte 变 base64、Duration 无默认格式;以及解到 any 反而慢 1.5 倍的原因和渐进迁移顺序。
Go
JSON
版本升级
性能
PHP 8.5 把 FETCH_CLASS 的构造参数改成 CUFA 语义后,实体水合会坏在哪
编程
PHP 8.5 把 FETCH_CLASS 的构造参数改成 CUFA 语义后,实体水合会坏在哪
2026-10-17 21:02:54
PHP 8.5 把 PDO::FETCH_CLASS 的构造参数改成 call_user_func_array 语义:字符串键变命名参数、自动 by-ref 包装消失、fetch 中途 setFetchMode 直接抛 Error。给最小复现、报错形态、定位命令与四种修复路径。
PHP
PDO
升级踩坑
数据库
PHP 8.5 的 #[\NoDiscard] 和 (void):让被丢掉的返回值留下一条日志
编程
PHP 8.5 的 #[\NoDiscard] 和 (void):让被丢掉的返回值留下一条日志
2026-10-17 21:02:03
PHP 8.5 的 #[\NoDiscard] 与 (void) 在支付、加锁、队列代码里的实际用法:如何让被丢弃的返回值变成可检索的告警,error_reporting 与错误处理器怎么配,和静态分析各管什么,附 8.5 弃用的机械清理命令。
PHP
8.5
错误处理
静态分析
Laravel MCP 升级 1.0:initialize 换成 server/discover,每个 POST 都要带三个 header
编程
Laravel MCP 升级 1.0:initialize 换成 server/discover,每个 POST 都要带三个 header
2026-10-17 20:04:28
Laravel MCP 1.0 升级笔记:从 composer require 到第一个 Tool 的骨架,再到最疼的三处破坏——initialize 换成 server/discover、每个 POST 要带 MCP-Protocol-Version/Mcp-Method/Mcp-Name、sessionId 被移除,以及 -32020/-32022 错误码与 PKCE 强制、client_id 变 URL 的连带改动。
Laravel
MCP
PHP
AI
Agent
OAuth
协议升级
AWS Lambda 耐久执行 Go SDK:step/wait/callback 怎么写,以及重放逼你守的几条规则
编程
AWS Lambda 耐久执行 Go SDK:step/wait/callback 怎么写,以及重放逼你守的几条规则
2026-10-17 20:03:00
AWS Lambda 耐久执行 SDK for Go 的工程笔记:从建 module、构建 bootstrap、配 DurableConfig 跑通第一个耐久函数,到确定性、goroutine 所有权、ErrorType 匹配、Step 语义与重试、Wait 的整秒规则、Callback 的 RawSerdes、子上下文 256 KiB 上限、Retry 与 Map/Parallel。
Go
AWS
Lambda
Serverless
Durable
Execution
工作流
SDK
重试
git tag 推上去,镜像自动进 GHCR:多架构构建、semver 标签,以及 latest 被 prerelease 顶掉的坑
编程
git tag 推上去,镜像自动进 GHCR:多架构构建、semver 标签,以及 latest 被 prerelease 顶掉的坑
2026-10-17 00:04:38
打一个 v* tag 就自动构建、推送多架构 Docker 镜像到 GHCR 的完整 GitHub Actions 写法:semver 标签派生、latest 的 prerelease 门禁、QEMU 与原生 runner 两种多架构方案、provenance 导致 unknown/unknown、GITHUB_TOKEN 推 GHCR 与包公开设置。
自动化发版
Docker
GHCR
GitHub
Actions
CI
CD
写给别人复用的 composable:VueUse 官方指南里的 9 条约定与 5 处取舍
编程
写给别人复用的 composable:VueUse 官方指南里的 9 条约定与 5 处取舍
2026-10-17 00:04:14
面向「要写给别人复用的 composable」的库作者:整理 VueUse 官方指南的通用约定,并逐条说明理由——包大对象用 shallowRef、全局变量走 configurableWindow、内部 watch 透传选项、controls 选项让简单用法保持简单、新 Web API 输出 isSupported、异步函数返回 PromiseLike 以配合 Suspense、无渲染组件包装规范,附适用边界与代码。
Composables
Vue3
组合式函数
VueUse
前端
TypeScript
一次切干净还是渐进式:数据库割接的阶段、回滚,与 PgDog 的 CUTOVER 机制
编程
一次切干净还是渐进式:数据库割接的阶段、回滚,与 PgDog 的 CUTOVER 机制
2026-10-17 00:04:02
讲清 cut-over(数据库割接)到底切的是哪个动作:摄取冻结、最终同步、路由切换与回滚路径,all-at-once 与渐进式的选型判据,再拆解 PgDog 的 CUTOVER 命令、阈值配置、逆向复制,以及反向复制不停导致 WAL 堆积的坑。
cut-over
数据库割接
数据库迁移
PgDog
PostgreSQL
回滚
运维
warnings.warn 的 stacklevel 到底填几:默认 1 指错行、skip_file_prefixes 与怎么写测试断言
编程
warnings.warn 的 stacklevel 到底填几:默认 1 指错行、skip_file_prefixes 与怎么写测试断言
2026-10-17 00:03:32
讲清 Python warnings.warn 的 stacklevel 语义:默认 1 指向 warn 调用行、2 指向调用者;多层包装与装饰器下固定整数难维护;3.12 的 skip_file_prefixes 如何隐式取 max(2,stacklevel);3.13 warnings.deprecated 与 PEP 702;与 filter 的 module 参数交互;Ruff B028 建议与 unsafe fix;以及用 pytest.warns + inspect.currentframe 断言警告来源。
stacklevel
Python
warnings
DeprecationWarning
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
289
下一页
共 289 页
到第
页
确定