最近更新
共 32 篇 · 第 1 页-
SDD + TDD 多 Agent 协同代码审查流程最佳实践
适用场景:Vibe Coding 中利用 AI 生成/修改代码,通过「规格驱动 + 测试驱动 + 多 Agent 交叉审查 + 人工兜底」构建可信交付流水线。 核心理念:AI 生成的代码天然不可信,可信度不来自任何单个 Agent,而来自结构化的制衡机制。 一、核心思想 原则 说明 规格是唯一事实源 代码是否符合预期,以 SDD 规格文档为准,而非任何 Agent 的"解释" 测试是唯一验收器 所有结论必须能被可执行的测试用例证实或证伪,拒绝"我觉得没问题" 独立产生信息量 两个高度相关的审查者…
继续阅读 → -
MySQL储存过程和存储函数
1. 存储过程 1.1 语法: 说明: 1. 参数前面符号的意思: IN:有入参无返回值 OUT:无入参有返回值 INOUT:有入参有返回值 2. 形参可以是MySQL中的任何类型 3. 表示创建储存过程中指定的对储存过程的约束条件,其取值信息如下: :表示存储过程使用SQL语句,默认值是SQL : 表示存储过程是否是确定的,默认值是NOT DETERMINISTIC : 表示存储过程包含SQL语句,默认值是CONTAINS SQL : 表示存储过程不包含SQL语句 : 表示存储过程只读数据库,…
继续阅读 → -
请使用performance.now()而不是new Date().getTime()
在Web开发过程中,我们经常会遇到这样的需求,即比较两个时间点的时间差,大多数同学都会使用以下方法: 一般来说,这样做是不会出现什么问题的,但是假如 函数执行时间非常长,那么就会出现异常。 考虑以下场景: 当在执行 函数时,我手动或者使用NTP软件把系统时间修改了,那么 和 之间的差值就会变得不准确。 所以 这个函数是不可靠的,它受系统时间影响较大。因此我们需要另寻他法。幸运的是,WEB API给我们提供了 这个函数。 表示从页面加载到当前时间点所经过的毫秒数。它是以一个恒定的速率慢慢增加的,不…
继续阅读 → -
前端模拟面试
1. 请说一说 JavaScript 中闭包的概念以及它的作用 <details> <summary>查看答案</summary> 闭包是 JavaScript 中一个重要的概念,它允许函数在定义时访问其外部函数的变量和参数。 <br> 闭包的作用是: <ol> <li>实现私有变量,保护数据的安全性和隐私性。</li> <li> 可以让函数的变量值始终保持在内存中,延长变量的生命周期。</li> <li>可以模拟块级作用域,在 JavaScript 缺乏块级作用域的情况下实现类似的效果。</l…
继续阅读 → -
JS中this的指向
总结一下 的指向: 调用方式 示例 指向 解释 通过 调用 新对象 ,此时this指向 直接调用 全局对象 取决于运行环境,在浏览器中为 ,在node中为 通过对象调用 前面的对象 函数 的this指向 通过 / / 调用 第一个参数 ,此时this指向 由此可见,this的指向取决于调用方式,而不是函数定义方式。当你定义函数的时候, 的指向尚未确定。只有调用函数时,this的指向才会确定。
继续阅读 → -
一文说清SKU算法的实现
什么是SKU SKU(Stock Keeping Unit)是库存管理中的基本概念,指的是库存进出计量的单位,也是产品库存控制的最小可用单位。 SKU是商业运营中对商品进行管理和追踪的一种独特标识符,通常是由一串数字或字母数字组合而成的代码。 对于不同的商品,即使颜色、尺寸、款式等属性有所差异,也会被赋予不同的SKU号,这样就能在库存系统中精确区分每一种具体的产品变体。 业务场景 当我们在选择商品时,通常会根据用户每一次的选择,来找出其余属性是否能被选择,如果无法被选择,则需要将其置灰,避免用户…
继续阅读 → -
使用Typescript实现一个LRU缓存算法
1. 什么是 LRU 缓存算法 LRU(Least Recently Used)算法是一种常用的页面替换或缓存淘汰策略。它的核心思想是在资源有限的情况下,当需要添加新的数据项但存储空间已满时,优先淘汰最近最少使用的数据项,以保证最常访问或最近使用过的数据能够保留在缓存中。 2. 实现 LRU 算法的核心步骤 1. 数据结构选择 使用哈希表(如 HashMap)来实现 O(1)时间复杂度的查找和更新操作,用于存储键值对及其在缓存中的位置引用。 使用双端队列(Deque,例如 LinkedList)…
继续阅读 → -
React深入理解
React自从 React 16 版本引入 Fiber 架构后,渲染过程变得更加精细和可控。整个更新流程主要可以分为三个关键模块:Scheduler(调度器)、Reconciler(协调器) 和 Renderer(渲染器)。 关键模块 Scheduler(调度器) 调度器是React内部的一个核心模块,它负责决定何时以及如何执行更新任务。在React应用中,当状态发生变化时,会触发重新渲染,而调度器的作用就是根据任务优先级将这些更新任务排队。 Scheduler 遵循可中断的工作循环模型,允许高…
继续阅读 → -
使用exiv2读取或者修改图片元数据
0. 前言 开发环境为Windows,使用vcpkg安装exiv2库。关于vcpkg的安装,请参考vcpkg官方文档。 如果使用其他环境,请自行通过搜索引擎查找相关资料。 1. 安装 exiv2 2. CMmakeLists.txt 配置 3. 引入头文件 4. 读取图片元数据 5. 修改图片元数据 6. 完整代码
继续阅读 → -
Typescript装饰器简介(下)
在上一篇文章中,我们介绍了装饰器的基本概念,并通过一个简单的例子来展示了装饰器的使用方法。然后,Typescript同时支持装饰器的新语法和旧语法。本文来介绍Typescript的旧语法。 在本文中,所使用的语法均为旧语法。 1.装饰器配置 如果通过旧语法使用装饰器,需要在tsconfig.json中配置compilerOptions.experimentalDecorators为true。 2.装饰器的类型 属性装饰器 方法装饰器 参数装饰器 类装饰器 3. 装饰器语法 3.1 属性装饰器 3…
继续阅读 →