OpenReplay 博客
为新 Web 应用选择身份验证策略
2026年 Web 应用认证怎么选:会话或 JWT、OAuth 2.0/OIDC、passkey 和托管服务,并比较失效、CSRF 与 UX。
打包与分发 Electron 应用
Electron Forge 与 electron-builder 指南:讲解打包、代码签名、公证、自动更新,以及用 GitHub Actions 发布 macOS、Windows、Linux。
LLM 的实际工作原理
LLM如何运作:token、嵌入、Transformer注意力、训练、采样、温度、幻觉,以及ChatGPT为何会出错。
现代 API 的分页模式
面向现代 API,比较 offset、cursor、keyset、page token 和 Relay GraphQL 分页,并附 TypeScript 与 SQL 示例。
为智能体编程配置远程服务器
用 Tailscale、tmux、mosh 和 systemd 在远程主机上搭建 Claude Code,并涵盖 SSH 密钥、密钥管理和私有访问安全。
AI时代的tmux开发者指南
面向AI编码代理的 tmux 指南:会话、窗格、最小配置、tmux-resurrect,以及何时在 SSH 工作流中优于 Zellij 或 Warp。
WebSocket 身份认证详解
WebSocket 认证方法解析:URL token、Cookie、子协议和首条消息认证,并涵盖令牌续期、吊销与逐消息授权。
JPEG XL vs AVIF:你该选择哪种格式?
2026年网页交付选 JPEG XL 还是 AVIF:对比压缩率、浏览器支持、编码成本,以及何时应发布 AVIF 或 JXL。
现代 React 应用背后的库生态
2026年现代 React 技术栈指南:Next.js、TanStack Query、Zustand、Tailwind v4、shadcn/ui、React Hook Form、Motion 及 RSC 兼容选择。
TanStack 生态系统实战指南
TanStack 生态指南:解析 Query、Router、Table、Form、Virtual、Store、Start、DB 和 AI 的用途、成熟度及协作方式。
使用 Inert 属性管理焦点与交互性
使用 inert 属性隔离模态框、抽屉和加载遮罩,阻止焦点、点击以及对可访问性树的访问。
Node.js 中的现代文件处理
Node.js现代文件处理:fs/promises、流、文件句柄、错误代码、并发处理和路径穿越防护。
使用视觉回归测试捕获 UI 缺陷
使用 Playwright 和 Vitest 的视觉回归测试可发现单元测试与 E2E 测试漏掉的 UI bug,并讲解 baseline、抖动控制和 CI 设置。
为什么不应该用正则表达式验证电子邮件地址
解析邮箱正则为何失败:它会拒绝有效地址、接受不可投递地址,还可能引发 ReDoS。更好的做法是用 HTML5 email 输入或库。
Svelte 5 中基于 Runes 的状态管理
Svelte 5 使用 runes 的状态管理:用 $state、$derived 和 $effect 共享组件状态,并避免 SvelteKit 中的 SSR 泄漏。
客户端授权与服务端授权:为何两者缺一不可
React和Next.js中的客户端与服务器端授权:在服务器强制权限,客户端只做UX,避免403权限偏差。
如何使用 AdonisJS 构建 CRUD API
使用 AdonisJS v7 构建 CRUD API:posts 路由、Lucid 模型、VineJS 验证,以及用 curl 测试的 JSON 响应。
JavaScript 新 Set 方法实用指南
JavaScript 新 Set 方法详解:union、intersection、difference、symmetricDifference 和子集检查,并说明 Map 支持与浏览器兼容性。
标签模板字面量:在 JavaScript 中构建迷你 DSL
JavaScript 标签模板字面量详解:cooked 与 raw 字符串、WeakMap 缓存、安全 HTML、SQL 参数化和迷你 DSL 示例。
LLM Harness:为何封装层比模型本身更重要
LLM代理的成败不只取决于模型,关键在于 harness。编排、工具、上下文与验证决定 AI 功能表现。
使用 WebCodecs API 实现实时视频处理
使用MediaStreamTrackProcessor、TransformStream和VideoTrackGenerator进行WebCodecs视频处理,并讲解frame.close、backpressure、worker和浏览器支持。
5件不需要React的事
五种浏览器原生 API 可替代常见 React 组件:dialog、Popover、Custom Elements、container queries 和 View Transitions。
如何将 Bun 应用容器化
使用适合生产的 Dockerfile、.dockerignore、0.0.0.0 绑定、健康检查、Compose 和 SIGTERM 优雅退出来 Dockerize Bun 应用。
2026年还有人在使用Polyfill吗?
2026年还需要 polyfill 吗?检查 core-js、Browserslist 和 Babel,移除冗余负载,保留 Temporal,并弃用 polyfill.io。