知鸦日报2025-10-02

2025-10-01 16:30:00 ~ 2025-10-02 16:30:00

技术

How OpenAI Codex Works Behind-the-Scenes (and How It Compares to Claude Code)

摘要

OpenAI Codex和Claude Code是两款AI辅助开发工具,各有特色。Codex采用单代理循环设计,以Shell命令为核心,适合本地开发,强调安全性和简洁性。Claude Code则提供结构化工具,支持大规模代码库理解和复杂重构,计划透明度高。两者均支持差异优先的工作流程,鼓励小步迭代。Codex更注重灵活性和本地控制,Claude Code则在处理大型项目和工具集成上表现更优。

登录后可查看文章图片

Logarithmically-Spaced Snapshots

摘要

在处理一系列更新时,保留中间的快照有助于追踪历史版本。由于存储空间有限,快照密度需随时间递减,近期快照更密集,早期则稀疏。本文提出一种简单算法,通过对数间隔保留快照,仅需 2 log2(n) 个快照,无需复杂记录,每次更新仅需 O(1) 时间。算法核心是每次更新后添加新快照,并删除特定旧快照,快照密度可通过参数 d 调整。

CRDT: Text Buffer

摘要

协同编辑文本的算法基于CRDT技术,通过为每个字符分配唯一标识符(包括创建者ID和序列号)来管理编辑操作。插入字符时,其父指针指向插入点前一个字符,字符顺序通过前序遍历树确定。删除字符时,将其标识符加入删除集,保留位置信息以便后续操作。该算法通过内存块合并、连续数组存储和范围删除优化,提升效率。

CRDT: Mutable Tree Hierarchy

摘要

在树结构中,每个节点通过父指针进行重定向,但简单同步最新指针可能导致循环。为防止循环,节点需记录所有历史父节点,并通过计数器标识最新关系。算法通过优先选择最新且不形成循环的父指针,确保所有节点最终形成一致的树结构。重定向时,还需更新路径中所有相关节点的计数器,避免意外改变多个节点的父指针。这种方法保证了树的稳定性和一致性。

CRDT: Tree-Based Indexing

摘要

本文介绍了一种用于点对点应用中对象顺序同步的算法,适用于文本编辑等场景。算法通过为每个对象设置父指针,确保并发插入的对象序列不会交叉。插入时,新对象的父指针指向插入点前的对象,并通过树的先序遍历确定顺序。该算法简单易实现,适合对象邻接性要求高的场景,但频繁重排序会导致数据膨胀,且不适用于大规模对象或逆序插入的情况。

Figma 在协同编辑中使用的顺序一致性算法: Fractional indexing

摘要

Figma采用Fractional Indexing算法保证多人协同操作顺序一致性。图形对象用0到1之间的64位浮点数表示索引位置,插入新节点时取中点值,避免覆盖其他用户操作。虽存在精度和冲突问题,但通过字符串表示法和随机偏移值有效缓解。该算法简单高效,适用于图形编辑器协同场景。

CRDT: Fractional Indexing

摘要

该算法适用于点对点应用中保持一致对象顺序的需求,如照片相册同步。通过为每个对象分配0到1之间的分数位置,并按位置排序确定顺序。插入对象时,在其前后对象位置间生成新分数,并添加随机偏移以避免冲突。算法简单易实现,无需保留旧位置信息,但可能在某些极端情况下导致索引过长或位置冲突,不适合处理文本等对邻接性要求高的场景。

The Engineering behind Figma’s Vector Networks

摘要

Adobe Illustrator于1987年引入钢笔工具,用于创建和修改路径,成为图形设计行业的标志性工具。Figma在此基础上革新,推出了矢量网络,突破了传统路径的限制,允许任意两点间直接连接,简化了复杂图形的创建与编辑。矢量网络的核心是图数据结构,通过节点和边实现图形的灵活构建。Figma还引入了最小循环基算法,用于处理图形填充和交集的复杂问题,提升设计的易用性和效率。

登录后可查看文章图片

解读拓竹激光雕刻数据文件 lac 格式

摘要

Bambu Suite的图形编辑器采用C++和Qt开发,支持3D打印、激光雕刻等功能。其文件格式lac实为zip压缩包,内含2dmodel.json存储图形数据。编辑器支持多种图形类型如矩形、椭圆、文本等,并通过transform处理形变。组嵌套设计采用自上而下结构,但功能尚待完善。整体数据结构简洁,适合离线单机使用。

丝滑的画线稿(画线消抖动算法讨论与实现)

摘要


‹ 2025-10-01 日报 2025-10-03 日报 ›

qrcode

关注公众号
接收推送