首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

协同文档:OT与CRDT实现协同编辑笔记

Changeset 一个文档可以被抽象为一系列操作的集合,这个集合便是 changeset。... changeset 依次应用于 空文档 之后得到的 定义运算 $AB$,意为将 changeset $B$ 应用到 $A$ 上 定义 $C = AB$,意为 changeset $C$  产生的效果等等价于依次应用...$A$, $B$ 产生的效果 changeset 一般表示为 $C_v$, 意为一个基于版本号 $v$ 的 changeset 对于 changeset,通常可以使用 json 的形式表示。...,本地文档看上去的样子显然应该是 $V=AXY$ 当收到服务端推送过来的 changeset $B$ 时,客户端应该 确认是否是可以应用到 A  上的版本的 changeset 处理 changeset...: number;   changes: Change[]; } | null;type FollowFunc = (cs1: Changeset, cs2: Changeset) => Changeset

1K31
您找到你想要的搜索结果了吗?
是的
没有找到

协同文档的技术实现

Changeset 一个文档可以被抽象为一系列操作的集合,这个集合便是 changeset。...changeset 具有如下的特征: changeset 是对文档一系列操作的集合 这些操作必须是指定的一些操作其中的一种或多种 changeset 只有它基于某个特定的版本的文档时才是有意义的 一个文档可以表示为一系列的...changeset 依次应用于 空文档 之后得到的 定义运算 $AB$,意为将 changeset $B$ 应用到 $A$ 上 定义 $C = AB$,意为 changeset $C$ 产生的效果等等价于依次应用...$A$, $B$ 产生的效果 changeset 一般表示为 $C_v$, 意为一个基于版本号 $v$ 的 changeset 对于 changeset,通常可以使用 json 的形式表示。...,本地文档看上去的样子显然应该是 $V=AXY$ 当收到服务端推送过来的 changeset $B$ 时,客户端应该 确认是否是可以应用到 A 上的版本的 changeset 处理 changeset

2.5K11

使用liquibase与h2助力单元测试

中使用,来决定一个changeSet是否运行,会在下面给出一个例子 changeSet changeSet意思是更改集,也就是我们数据库变更的主要部分,在这里面可以创建表,添加表行,删除表行,删除某个表...两个表,其中DATABASECHANGELOG里面每一行代表的就是一个changeSet,里面的元素记录了changeSet的状态,决定后续的执行 创建表: 删除表列 id并没有要求必须是唯一的,在DATABASECHANGELOG表中,id,author,filepath(changeSet所在文件路径)三者决定了一个changeSet,id也未要求必须是数字,...如果changeSet的执行顺序有要求,可以在上面使用runOrder来指定 还有runAlways runOnChange等决定changeSet的运行时机 在changeSet中使用preConditions

1.6K20

pnpm + workspace + changesets 构建你的 monorepo 工

配置changesets 安装 $ pnpm add -DW @changesets/cli 初始化 $ pnpm changeset init 执行完初始化命令后,会在工程的根目录下生成 .changeset...目录,其中的 config.json 作为默认的 changeset 的配置文件。...,开始交互式填写变更集,这个命令会将你的包全部列出来,然后选择你要更改发布的包 { "changeset": "changeset" } 执行 changeset version,修改发布包的版本...RC版不会再加入新的功能了,主要着重于除错 $ pnpm changeset pre enter beta 之后在此模式下的 changeset publish 均将默认走 beta 环境,下面在此模式下任意的进行你的开发...,举一个例子如下: # 1-1 进行了一些开发... # 1-2 提交变更集 pnpm changeset # 1-3 提升版本 pnpm version-packages # changeset version

3.9K30

了解并实践 Monorepo 和 pnpm

初始化changeset配置 csharp 复制代码 npx changeset init 这个命令会在根目录下生成.changeset文件夹,文件夹下包含一个config文件和一个readme文件。...和changeset version引起的文件修改 "fixed": [], // 设置一组共享版本的包 一个组里的包,无论有没有修改、是否有依赖,都会同步修改到相同的版本 "linked":...更新包版本并生成changelog 运行npx changeset version 这个命令会做以下操作 依据上一步生成的md文件和changeset的config文件更新相关包版本 为版本更新的包生成...": "run-s build releaseOnly", "releaseOnly": "changeset publish" } } 预发布版本 changeset提供了带...pre enter 进入预发布模式 changeset 确认发布包版本信息 changeset version 生成预发布版本号和changelog changeset publish 发布预发布版本

57230

带你了解并实践monorepo和pnpm,绝对干货!熬夜总结!

初始化changeset配置 csharp 复制代码 npx changeset init 这个命令会在根目录下生成.changeset文件夹,文件夹下包含一个config文件和一个readme文件。...和changeset version引起的文件修改 "fixed": [], // 设置一组共享版本的包 一个组里的包,无论有没有修改、是否有依赖,都会同步修改到相同的版本 "linked":...更新包版本并生成changelog 运行npx changeset version 这个命令会做以下操作 依据上一步生成的md文件和changeset的config文件更新相关包版本 为版本更新的包生成...": "run-s build releaseOnly", "releaseOnly": "changeset publish" } } 预发布版本 changeset提供了带...pre enter 进入预发布模式 changeset 确认发布包版本信息 changeset version 生成预发布版本号和changelog changeset publish 发布预发布版本

2.9K52
领券