Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on null in /var/www/tgoop/function.php on line 65
2968 - Telegram Web
Telegram Web
#优质博文 #调试 #前端 #React #CSS
少有的讲述「在 vibe coding 中如何调试问题」的文章~当然也适合正常的 bugfix。
How to Fix Any Bug

AI 摘要:本文通过作者在开发一个 web 应用中遇到的「滚动失效」 bug,讲述调试问题的系统过程。核心思想是:编写可复现 (repro) 案例、不断缩小问题、保持 bug 的持续存在以保证分析方向正确,并通过持续简化最终发现真实原因——旧版 React Router 的 ScrollRestoration 组件在重验证过程中不当恢复滚动位置。文章强调调试纪律与“有根递归”(well-founded recursion) 的类比:每一步都要确保前进、缩小问题范围,而不是随意跳转、依赖猜测。

[以下是方便搜索索引的大纲 (AI 生成),请读原文]
1. 问题起点:不可解释的滚动抖动
• 在应用中添加服务器请求后按钮滚动出现抖动。
• 初步怀疑 React Router 数据重载或 React 重渲染机制,但理论上不应造成影响。

2. Step 0:别急着修——没有 repro 一切无从谈起
• Claude 被要求修 bug,多次尝试“修复”但都无验证性。
• 没有可重现测试 (repro) 等于盲目调试,AI 与人类在此常犯同样错误。

3. Step 1:建立可靠的 repro
• 一个 repro 需要明确定义操作步骤、预期结果、实际表现。
• 若复现概率不高,需移除不确定因素(如模拟网络)。
• AI 无法直观识别“滚动抖动”,需重新定义可量化的 repro。

4. Step 2:缩小 repro
• 替换为测量滚动位置前后差值的量化 repro。
• 验证策略:当注释掉网络调用时行为回归正常,说明新的 repro 合理。
• 确保新的 repro 仍能表现“正向结果”,避免偏离原始问题。

5. Step 3:剥去无关部分
• 通过循环:复现 bug → 删除一部分代码 → 验证仍复现 → 提交变更。
• 若删除后 bug 消失,回滚并缩小删除范围。
• Claude 犯误:过早进入假设与实验,导致丢失“仍复现”前提。
• “调试有根性”类比:如同 well-founded recursion,确保每次简化是真正向终点推进,而非原地打转。

6. Step 4:定位根因
• 继续按步骤简化后,确认问题出现在包含 React Router 的布局结构中。
• 发现旧版 ScrollRestoration 在动作 (action) 触发重验证时被误调用,导致对正在进行的 scrollIntoView 干扰。
• 更新或移除旧逻辑即可修复。

7. 方法论总结
• bug 调试的精髓是“跟踪与约简”:始终保持一个仍可复现的最小案例。
• 当推测与理论全部无效时,逐步删减代码仍是通用、可靠的终极方法。
• 旧版依赖和运行环境不一致也可能制造隐藏问题。


author Dan Abramov
🥰1
#优质博文 #AI #浏览器 #ChatGPT #新动态
有人体验过了不,发的有点晚了,不过为 Codex 买的 ChatGPT Plus 好像又有点用了。
(没有说 Codex 不好的意思——只是 gpt 现在比较少用网页版都是用 api 了)
Introducing ChatGPT Atlas

AI 摘要:ChatGPT Atlas 是 OpenAI 推出的智能浏览器,将 ChatGPT 深度整合进网页使用场景,使 AI 能理解网页内容、保留浏览记忆、自动执行任务。用户在浏览时可直接与 ChatGPT 对话、分析网页或完成操作,无需切换应用。它支持可控的记忆功能(memory)、智能代理模式(agent mode)、隐私与家长管理等,旨在打造一个安全且高效的网页工作助手。目前支持 macOS,Windows 与移动版即将推出。
#优质博文 #前端 #新动态
Next.js 16:Next.js 16 发布,此次更新让 Turbopack 成为默认打包器,React Compiler 支持正式稳定,并且引入了全新的 Cache Components、Next.js Devtools MCP,统一代理文件 proxy.ts 取代 middleware.ts。

[以下是方便搜索索引的大纲(AI 生成),请读原文]
1. 核心特性与架构升级
• 引入 Cache Components:基于“use cache” 指令的显式缓存机制,结合 PPR(Partial Pre-Rendering)完成静态与动态渲染的统一。
• 改进的缓存 API:新增 updateTag()、refresh(),更新 revalidateTag() 支持 cacheLife 配置,提升对缓存生命周期与数据一致性的控制。
• 增强路由系统:通过布局去重(layout deduplication)与增量预取(incremental prefetching)减少重复下载与数据冗余。
• 新的代理机制 proxy.ts:中间件(middleware.ts)演进为 proxy.ts,使网络边界清晰可见,并支持 Node.js 运行时。

2. 开发体验(DX)与工具改进
• Next.js Devtools MCP:集成 Model Context Protocol,支持 AI 调试代理,可透视应用路由、缓存与日志。
• 日志系统优化:构建与运行阶段的耗时分析细化,日志结构更清晰。
• Turbopack 默认启用:替代 Webpack,提供最高 10 倍快速刷新与 2–5 倍构建速度提升,支持文件系统缓存(File System Caching)。
• create-next-app 简化:模板默认启用 TypeScript、App Router、Tailwind CSS、ESLint,降低项目启动门槛。

3. React 与构建链支持
• React Compiler 支持:稳定集成 React Compiler 自动记忆化能力,减少不必要的重新渲染。
• React 19.2:支持新特性 View Transitions、useEffectEvent()、<Activity /> 等,即时交互体验优化。
• Build Adapters API(alpha):允许自定义构建适配器,实现部署平台与构建流程的联动。

4. 行为变更与重大调整
• 异步访问要求:params、cookies()、headers() 等需 await 调用。
• Node.js 20.9+、TypeScript 5+ 成为最低版本要求。
• Turbopack 成为全局默认打包器;middleware.ts 弃用,重命名为 proxy.ts。
• 图片策略更新:默认缓存时长延长、质量设置调整、新安全策略限制本地 IP 优化。
• 部分配置项(如 AMP、next lint、runtimeConfig)彻底移除或转为环境变量管理。

5. 性能与生态
• Node.js 原生 TypeScript 支持:新增 --experimental-next-config-strip-types。
• Dev/Build 输出目录分离,实现并行构建。
• 引入锁文件防止多实例冲突。
• 进一步提升 next dev / next start 命令性能。
#优质博文 #测试 #前端 #工程化 #新动态
Announcing Vitest 4.0:Vitest 团队宣布推出 Vitest 4.0,这是该测试框架的重大版本更新。此次版本将 Browser Mode 标记为稳定,让开发者能在真实浏览器环境中运行单元测试,从而获得更高的可靠性。此外还引入了 视觉回归测试 与 Playwright Trace 支持,提升了调试与测试体验。

[以下是方便搜索索引的大纲 (AI 生成),请读原文]
1. 发布概况
• Vitest 在过去一年内从每周 700 万下载增长至 1700 万,社区影响力显著提升。
• 经过近一年的开发,Vitest 4.0 正式发布。
• 该版本包含若干重大变更(breaking changes),需参考迁移指南进行升级适配。

2. Browser Mode 稳定
• Browser Mode 结束 Beta 阶段,正式进入稳定版。
• 支持在真实浏览器中运行组件测试,不再局限于 JSDOM 等模拟环境。
• 使用相同的 Vitest API,无需修改测试代码。
• 基于 Playwright 等 provider 实现执行环境,但不替代现有 E2E 工具,仅改变测试运行方式。

3. 新增功能与改进
视觉回归测试 (Visual Regression Test):在 Browser Mode 下进行组件截图与参考图对比,用于检测视觉变化。
Playwright Traces:生成可在 Trace Viewer 中分析的跟踪文件,辅助调试。
• 报告系统 (reporter) 更新、类型感知钩子 (type-aware hooks) 等多项改进。

4. 版本变更与迁移
• 此次为主版本升级,包含不兼容改动。
• 官方提供迁移指南:Migration guide

5. 未来计划与社区
• 团队将重点优化性能和 Browser Mode 体验。
• 报告问题可通过 GitHub Issues 提交。
👍2
#优质博文 #设计 #配色 #UI #CSS #color #tools
ColorMate – Free Color & Gradient Generator Tools

AI 摘要:ColorMate 是一款面向设计师与开发者的免费在线配色工具,可快速生成符合无障碍标准(Accessibility)的调色板。用户可提取图片配色、即时预览 UI 效果、进行对比度测试(Contrast Checker),并将结果以 HEX、CSS 或 PNG 格式导出。它还提供由 AI 命名、锁定颜色及实时生成新方案的功能,并收录多种热门配色示例。
2025/10/23 17:53:49
Back to Top
HTML Embed Code: