程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
迁移 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
Go 1.27 运行时迁移:asynctimerchan 被移除,traceback 头部会带 pprof 标签
编程
Go 1.27 运行时迁移:asynctimerchan 被移除,traceback 头部会带 pprof 标签
2026-10-23 21:07:04
Go 1.27 移除了 asynctimerchan,time 包 channel 永远无缓冲,Stop 后手动排空的旧写法可能永久阻塞;同时 go 指令 1.27 的模块,traceback 头部会带上 pprof 标签。给出改写方式与验证代码。
Go
运行时
迁移
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
事务池
Echo v5 迁移清单:Context 变结构体、Logger 换 slog,v4 还能撑到 2026-12-31
编程
Echo v5 迁移清单:Context 变结构体、Logger 换 slog,v4 还能撑到 2026-12-31
2026-10-10 00:05:27
Echo v5.0.0(2026-01-18)破坏性变更逐条排查:Context 从 interface 变结构体、Logger 换成 log/slog、Router 抽接口、Response 返回 http.ResponseWriter,附迁移 sed、泛型取值助手与测试代价,并说明 v4 支持到 2026-12-31。
Go
Web
框架
Echo
log
slog
迁移
net
http
Labs
18
Go 1.27 的 encoding/json/v2 与 jsontext:默认行为变化与迁移顺序
编程
Go 1.27 的 encoding/json/v2 与 jsontext:默认行为变化与迁移顺序
2026-10-08 21:02:05
Go 1.27 新增 encoding/json/v2 与 jsontext 两个包,v2 默认拒绝无效 UTF-8 和重复名字,encoding/json 已由 v2 实现。本文讲清两包分工、默认行为差异、MarshalJSONTo 流式接口、GOEXPERIMENT=nojsonv2 回退,以及 DefaultOptionsV1 + jsonsplit 的安全迁移顺序。
Go
encoding
json
jsontext
迁移
语法
反序列化
KDE
DI
Node.js 25.9.0 迁移:模块 mock 合并为 exports,AsyncLocalStorage 支持 using scopes
编程
Node.js 25.9.0 迁移:模块 mock 合并为 exports,AsyncLocalStorage 支持 using scopes
2026-10-07 21:03:40
Node.js 25.9.0 把 test runner 的模块 mock 选项 defaultExport/namedExports 合并为单个 exports,并提供 npx codemod 自动迁移;同时新增 --max-heap-size、AsyncLocalStorage using scopes、TurboSHAKE/KangarooTwelve。文末汇总升级到 25.x 需注意的移除项(Corepack、SlowBuffer、fs.F_OK 等)。
Node.js
JavaScript
测试
运行时
迁移
Vite 8 迁移:Rolldown 与 Oxc 接管 esbuild / Rollup 后要改什么
代码
Vite 8 迁移:Rolldown 与 Oxc 接管 esbuild / Rollup 后要改什么
2026-10-07 21:02:18
Vite 8 用 Rolldown + Oxc 取代 esbuild 与 Rollup:依赖预打包、JS 转换、压缩、配置打包全部换引擎,esbuild 变成可选依赖。给出迁移清单:optimizeDeps.esbuildOptions→rolldownOptions、esbuild→oxc、transformWithEsbuild→transformWithOxc,以及从 rolldown-vite 升级的步骤。
Vite
前端构建
Rolldown
Oxc
迁移
未来
打包
Tailwind CSS v4.2/v4.3 迁移:start-*/end-* 弃用改 inset-s-*,webpack 插件提速
编程
Tailwind CSS v4.2/v4.3 迁移:start-*/end-* 弃用改 inset-s-*,webpack 插件提速
2026-09-28 21:02:47
Tailwind CSS v4.2 与 v4.3 的迁移笔记:四套新调色板、官方 @tailwindcss/webpack 插件提速 2 倍、逻辑属性工具与 start-*/end-* 弃用改为 inset-s-*/inset-e-*,以及 v4.3 的 scrollbar、@container-size、zoom-* 等工具,附类名对照与兼容性说明。
Tailwind
CSS
前端
构建
迁移
tail
Express 5 迁移:app.del 直接抛错、通配符必须命名、async 抛错自动进错误中间件
编程
Express 5 迁移:app.del 直接抛错、通配符必须命名、async 抛错自动进错误中间件
2026-09-28 00:04:52
Express 5 与 4 的 API 基本一致,破坏性变更分两类:用了就崩的移除项和不崩但行为变了的点。本文按官方迁移指南整理旧写法到新写法的对照,覆盖 app.del、req.param、res.send/res.redirect 签名、通配符命名、async 抛错转发、urlencoded 与 static 的 dotfiles 默认值,并附各步 codemod 用法。
Express
风格
Express风格
Node.js
迁移
PHP 8.6 弃用 mb_ereg* 与 mb_split:Oniguruma 停维护后怎么排查、怎么迁到 PCRE /u
代码
PHP 8.6 弃用 mb_ereg* 与 mb_split:Oniguruma 停维护后怎么排查、怎么迁到 PCRE /u
2026-09-24 21:12:23
PHP 8.6 因 Oniguruma 上游停维护,弃用 mbstring 全部正则函数(mb_ereg*、mb_split),PHP 9.0 移除。给出 grep 排查法、迁移到 PCRE /u 的六个坑(UTF-8 语义、\p{}、替换串转义、非法 UTF-8、全局选项),以及 8.6 其他弃用项清单。
PHP
正则
mbstring
迁移
PHP 8.4 升级笔记:property hooks 和 readonly 不能共存,E_STRICT 移除会改 CI 行为
编程
PHP 8.4 升级笔记:property hooks 和 readonly 不能共存,E_STRICT 移除会改 CI 行为
2026-09-12 21:02:02
PHP 8.4 迁移要点:property hooks 与 readonly 不兼容、传引用可能绕过 set hook、E_STRICT 移除会改 CI 行为、round() 与 str_getcsv() 改抛 ValueError、JIT 默认值变化。附一份可以照着做的 7 步迁移顺序。
PHP
版本升级
迁移
Vite 6 升级排障:真正的断点是默认值重排,不是 Environment API
编程
Vite 6 升级排障:真正的断点是默认值重排,不是 Environment API
2026-09-10 00:04:00
Vite 6 升级真正咬人的不是 Environment API,而是若干不报错、不告警的默认值重排。以 resolve.conditions 条件重排导致双发布包被静默切换实现为最典型断点,梳理 JSON stringify auto、Sass 现代 API、postcss-load-config、库模式 CSS 文件名、SSR CSS import 等可复现断点及规避方式。
Vite6
Vite
前端构建
Environment
API
resolve.conditions
迁移
DiT
生产环境替换 DNS 解析器不靠英雄救火:18 万行 C++ 到 1.2 万行 Rust
编程
生产环境替换 DNS 解析器不靠英雄救火:18 万行 C++ 到 1.2 万行 Rust
2026-09-07 14:19:45
中型云服务商六个月把 18 万行 C++ DNS 解析器换成 1.2 万行 Rust:影子流量、金丝雀上线、渐进切换、随时回滚。核心经验是基础设施替换的价值在迁移纪律而非代码本身。
Rust
DNS
基础设施
迁移
当逃生路线变成收费公路:JetBrains 研究程序员如何在编程语言之间迁移
编程
当逃生路线变成收费公路:JetBrains 研究程序员如何在编程语言之间迁移
2026-09-07 05:14:06
JetBrains 2025 调查揭示编程语言迁移路径:项目需求是切换主因但 Kotlin 是例外(体验驱动)、C 流失率高、Java 流向 Python/TypeScript、计划迁移与实际完成差距大。
编程语言
迁移
Kotlin
Java
JavaScript
TypeScript
JetBrains
Go 1.27 的 encoding/json 底层换成 v2:默认拒绝非法 UTF-8 与重复 key,旧项目回退与兼容方案
编程
Go 1.27 的 encoding/json 底层换成 v2:默认拒绝非法 UTF-8 与重复 key,旧项目回退与兼容方案
2026-09-06 21:07:17
Go 1.27 将 encoding/json 底层切换到 v2 实现后,默认拒绝非法 UTF-8 与 JSON 对象重复 key。老项目升级可能遇到原本静默通过的数据现在直接报错。本文讲清楚行为差异、如何用 v1 的 Options 恢复宽松语义,以及构建期 GOEXPERIMENT=nojsonv2 的紧急回退开关。
Go
encoding
json
jsonv2
兼容性
迁移
PHP 5.6 升 8.x:跳级就是引爆
编程
PHP 5.6 升 8.x:跳级就是引爆
2026-08-27 21:06:48
PHP 5.6 直接升 8.x 会把 mysql_* 移除、each/create_function 移除、严格类型化三波破坏性变更一次引爆。本文给出 5.6→7.2→7.4→8.0→8.1/8.2 逐级跳板路线、PHPCompatibility 静态扫描、Nginx 双 fpm 灰度,以及按必炸排序的兼容坑和最小改造清单。
PHP
升级
迁移
兼容
Go 1.26 深度实战:new(expr) 语法糖、Green Tea GC 与智能工具链的工程化胜利
编程
Go 1.26 深度实战:new(expr) 语法糖、Green Tea GC 与智能工具链的工程化胜利
2026-06-26 17:44:00
2026年Go 1.26深度实战指南:new(expr)语法糖、Green Tea GC默认启用、Cgo性能提升30%、智能go fix工具链、errors.AsType泛型错误检查等全面解析,附迁移指南和性能实测数据。
Go
Go 1.26
Green Tea GC
new(expr)
性能优化
编译器
GC
垃圾回收
工具链
迁移
Valkey 9.1 深度实战:当开源社区 Fork 出一个「超越 Redis」的内存数据库——从架构革命到生产级迁移的完全指南(2026)
编程
Valkey 9.1 深度实战:当开源社区 Fork 出一个「超越 Redis」的内存数据库——从架构革命到生产级迁移的完全指南(2026)
2026-06-09 19:19:51
Valkey 9.1 深度实战:从架构革命到生产级迁移的完全指南,涵盖原子化Slot迁移、Hash字段级过期、集群多DB、CLUSTERSCAN、MSETEX、数据库级ACL等核心特性解析与代码实战
Valkey
Redis
内存数据库
开源
集群
迁移
性能优化
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调