google docs share 上使用了哪些技术

2024-01-31

我需要理解并知道我该如何做某事。在我的项目中,我需要创建类似于谷歌文档上的技术的东西。

当我与其他人共享文档并且他和我同时编辑时,我会看到他的更改。

我不知道这是否称为反向ajax或其他类型的技术。

有人可以向我解释一下这是一种什么样的发展吗?

--EDIT--

在 trello.com 上我发现了同样的想法。当有人更改仪表板中的问题选项卡时,我会收到此信息。


这称为运营转型 (OT)

这篇文章会有用:http://en.wikipedia.org/wiki/Operational_transformation http://en.wikipedia.org/wiki/Operational_transformation

摘自同一篇文章:

OT的基本思想可以通过简单的文本编辑来说明 场景如下。给定一个带有字符串“abc”的文本文档 在两个合作站点复制;和两个并发操作:

O1 = Insert[0, "x"] (to insert character "x" at position "0")
O2 = Delete[2, "c"] (to delete the character "c" at position "2")

分别由协作站点 1 和 2 的两个用户生成。 假设这两个操作按照O1和O2的顺序执行(在 站点 1).执行O1后,文档变成“xabc”。执行 O1 之后的 O2,O2 必须针对 O1 进行变换,变为: O2' = 删除[3, "c"],由于其位置参数加一 O1 插入一个字符“x”。在“xabc”上执行 O2' 删除正确的字符“c”,文档变为“xab”。 然而,如果O2在没有转换的情况下执行,它会错误地 删除字符“b”而不是“c”。OT的基本思想是 根据以下内容变换(或调整)编辑操作的参数 之前执行的并发操作的影响,以便 改造后的操作可以达到正确的效果并保持 文件一致性.

还有一个非常酷的链接来实现这个:http://sharejs.org/ http://sharejs.org/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

google docs share 上使用了哪些技术 的相关文章

随机推荐

  • 我可以更改 Google 地图嵌入式地图 (iframe) 中的标记吗?

    我知道我可以使用 Google 地图 API 来做到这一点 但您知道是否有办法更改嵌入式 Google 地图中的标记 我想将默认的 A 按钮替换为 B 按钮 http www ideasfestival co uk wp content t
  • 使用 Linq to XML 选择 Xml 节点

    我的 Xml 文件
  • 如何在iPhone中播放m3u8格式

    我有一个网址http stream alayam com alayam alayam playlist m3u8 http stream alayam com alayam alayam playlist m3u8想在iPhone上播放 m
  • 指定要处理的文件到 Perl 一行

    他们给了我一段 Perl 俏皮话 它具有以下形式 perl pe 如何指定程序要处理的文件 有关如何启动的文档perl发现于perlrun http perldoc perl org perlrun html手册页 perl pe i fi
  • 如何捕获当前视图屏幕截图并在代码中重用? (iPhone SDK)

    当用户旋转设备时 我试图从一个 UIView 转换到另一个 UIView 这本身并不困难 但是 由于我在旋转后显示完全不同的内容 因此 UIKit 提供的默认动画 旋转当前显示的视图 在概念上是不合适的 简单地禁用动画并突然交换视图是可以忍
  • ASP.NET Core 在单例服务上调用异步初始化

    我有一个服务 可以通过名为的方法从文件中异步读取一些内容InitAsync public class MyService IService private readonly IDependency injectedDependency pu
  • 使用 python 通过迭代列表创建 XML 文件

    我正在尝试获取一个如下所示的 xml 文件 以便我可以将其导入到 Moodle 成绩册中
  • 如何确定递归代码的Big-O?

    我有以下代码 这是这个问题的答案 https leetcode com problems add digits https leetcode com problems add digits class Solution public int
  • 同一图中连续的 matplotlib 动画

    我有一个算法 它由两个不同的部分组成 我想依次可视化这两个部分 同时可能在动画 2 开始时在屏幕上保留动画 1 的最终状态 我可以通过调用分别可视化这两个部分animation FuncAnimation and plt show 由于这两
  • Heroku 资产文件始终为空

    首先 我做了很多谷歌搜索 甚至让 Heroku 上的东西正常工作 但似乎无论我是让 Heroku 在 slug 编译期间预编译我的资产 还是我自己预编译它们并提交它们 无论哪种方式 我的 Rails 4 应用程序的 application
  • 解码和理解汇编代码

    所以有一点背景 我是 c 和汇编代码的初学者 我们有一个 炸弹 分配 用 c 编写 它调用需要某些密码的方法 但代码不可见 我需要通过查看汇编代码来确定正确的密码 该代码表明此方法的密码是 6 个数字 该密码作为 输入 传递到方法第 2 阶
  • Google 云端硬盘文件 ID 是全球唯一的吗?

    Google 云端硬盘文件 ID 在全球范围内是唯一的吗 UUID 是否有可能使用生成NSUUID类将与 Google 驱动器文件 ID 相同吗 仅供参考 这不是重复的 Google 文档 驱动器资源 ID 是否全局唯一 https sta
  • 如何从转义闭包中更改 inout 参数?

    我试图从转义闭包中修改函数的参数 如下所示 var completion gt Void func addCompletion closure escaping gt Void completion append closure func
  • jQuery 文件上传显示剩余时间?

    嗨我正在使用jQuery 文件上传 https github com blueimp jQuery File Upload wiki 它工作正常 我向用户显示一个进度条 显示上传进度 代码如下 fileupload fileupload p
  • 让 CMake 使用 gccfilter

    GCC过滤器 http www mixtion org gccfilter 是一个简洁的 Perl 脚本 允许对 GCC 的输出进行着色 从而使调试变得更加有趣 更重要的是 速度更快 您可以通过调用 GCCFilter 与 CMake 生成
  • OpenSSL::SSL::SSLError 仅限 Ubuntu 12.04

    我正在使用 Evernote Ruby API 开发 Web 应用程序 使用 Rails 和 oauth 但是在 Ubuntu 12 04 中运行该应用程序时 我收到错误 SSL connect SYSCALL returned 5 err
  • 使用 applescript 我想将文件夹中的每个文件移动到根文件夹

    我一直在尝试制作一个脚本将文件夹中的每个文件移动到根文件夹以包含每个子文件夹 我不想创建新文件夹 只需将其移动到根文件夹即可 我希望能够选择文件夹 然后仅在该特定文件夹上完成操作 原因是为了组织 我的确切情况是我有超过 TB 的电影 并且文
  • 可以在创建时将字典传递给 django 模型吗?

    是否可以用 a 做类似的事情list dictionary或者是其他东西 data dict title awesome title body great body of text Model objects create data dic
  • jQuery 处理表单

    这是一个非常简单的问题 我希望 但由于只是学习 掌握 jQuery 我提前道歉 如果我有一个表格 例如
  • google docs share 上使用了哪些技术

    我需要理解并知道我该如何做某事 在我的项目中 我需要创建类似于谷歌文档上的技术的东西 当我与其他人共享文档并且他和我同时编辑时 我会看到他的更改 我不知道这是否称为反向ajax或其他类型的技术 有人可以向我解释一下这是一种什么样的发展吗 E