问题标签 [chord]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2314 浏览

emacs - emacs 烦人的组合键

我不知道这是否也困扰您。Emacs 出于某种原因使用了这些组合键。他们中的一些人很疯狂。你想撤销某事,猜猜怎么着!ctrl+shift+破折号!同时按下 3 个键,有时它们不会同时按下,你必须重复它。在这个漫长的过程中,您不断在屏幕上输入一些不需要的字符,并且必须稍后在 etc .... 或 ctrl+shift+< 上删除它们。在 vim 中撤消只是 "u" !

我厌倦了这些组合。但我喜欢 emacs 的其他特性,不想转向 vim。你们是如何处理这个问题的?你映射了键,还是习惯了 emacs 和弦键?

由于各种原因,我想重新映射 emacs 本机键不是一个好主意。不知道有多少人真正做到了。

0 投票
2 回答
2067 浏览

networking - Chord(分布式哈希表)

我想为 P2P文件共享创建自己的 Chord 实现 我关注了一篇文章,该文章解释了每个节点都有它的 ID(例如 IP 的哈希)

我的问题是:

  • 新客户端如何加入网络?必须有一个服务器来管理它。正确的?
  • 您如何为新客户设置手指表?
0 投票
1 回答
378 浏览

networking - 加入 Chord 网络 (dht)

我在我的局域网上写一个和弦网络(节点密钥是IP的哈希)
我读了很多关于Chord网络的文章
但我没有弄明白:
当一个新客户端想加入网络时,它必须知道网络中的另一个客户端或某种服务器来管理新客户端的加入。

我对吗?

0 投票
1 回答
1397 浏览

java - Android+Java 中的 Chord 实现

这是问题所在。我正在 Android 中实现 Chord DHT。我已经在 5554 启动了服务器(不完全是服务器),这就是每个新节点请求加入圆圈的地方。现在我比较新节点的标识符哈希和哈希节点在 5554 并更新两个节点的后继和前任。我一直在正确地做这件事。

现在我的问题是,如果另一个节点进来,我必须相应地更新 3 个节点中的前任和后继节点。如何更新这些?我用java。我不是在问代码。我只是在问实现这一点的逻辑。提前致谢。

0 投票
1 回答
857 浏览

visual-studio - 在 Visual Studio 中显示可能的和弦延续

Visual Studio(有甚至没有插件)有很多和弦键。我所说的“和弦”是指几个连续的按,比如

  • 格式化文档Ctrl+ D,F

  • 提取方法 (resharper) Ctrl+ R, Ctrl+M

当我按下第一个组合时,状态栏显示:

(Ctrk+K) 被按下。等待和弦的第二个键...

我记得当我按下和弦的第一个键时,Eclipse 会显示一个弹出窗口,列出所有可能的延续。

是否也可以在 Visual Studio 中实现这一点?可能是插件?有很多和弦,我很想看到一个快速列表,在我按下 ReSharper 的 Ctrl+R 等后重构延续。

0 投票
3 回答
3279 浏览

redis - 使用 django-celery 和弦,celery.chord_unlock 会一直执行,而不是调用提供的回调

我正在使用 Django Celery 和 Redis 来运行一些这样的任务:

所以基本上与文档中所述相同。

我的问题是,当调用此任务和弦时,celery.chord_unlock任务会一直重试。中的任务header成功完成,但由于chord_unlock从未完成,callback从未被调用

猜测我的问题是无法检测到任务header是否已完成,我转向文档查看如何自定义。我找到了一个部分,描述了同步是如何实现的,提供了一个示例,我缺少的是如何调用该示例函数(即是否有此信号?)。

此外,请注意,此方法不适用于 Redis 后端:

这被除 Redis 和 Memcached 之外的所有结果后端使用,它们在标头中的每个任务之后增加一个计数器,然后在计数器超过集合中的任务数时应用回调。

但也说,Redis 方法更好:

Redis 和 Memcached 方法是更好的解决方案

那是什么方法?它是如何实施的?

那么,为什么chord_unlock从未完成,我怎样才能让它检测到已完成的header任务?

我正在使用:Django 1.4、芹菜 2.5.3、django-celery 2.5.5、redis 2.4.12

0 投票
1 回答
2808 浏览

java - 基于 http 协议的 Chord p2p 分布式哈希表 (dht) 实现

我必须通过 http 实现 chord 协议作为我的项目,直到现在我已经考虑了三种方法:

  1. 在java中使用jxta

  2. 尝试编辑 open-chord [使用 tcp/ip]

  3. 在 Java 中使用套接字从头开始编码

有什么帮助吗?

0 投票
1 回答
698 浏览

protocols - 无限循环findSuccessor?

我目前正在处理 Chord 协议。

对于每个节点,有两个函数,findSuccessor它们closestPrecedingNode以伪代码的形式给出。

findSuccessor是:

closestPrecedingNode是:

创建节点时,其后继者最初设置为节点本身,其手指表为空。

现在我的问题是当只有一个节点时会发生什么,并且要求它提供除自己的 id 之外的任何id。然后findSuccessor运行else块并调用closestPrecedingNode. 由于手指表为空,节点本身返回到findSuccessor. 因此n'等于n

之后,findSuccessor调用 on n',这是对自身的递归调用。

然后我们有一个无限循环......或者我错过了什么?

注意:伪代码取自Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications,第 5 页。

0 投票
0 回答
144 浏览

p2p - Chord 协议:如果节点已满怎么办?

如果节点已满,即如果其磁盘没有剩余可用空间,在 Chord 网络中应该发生什么?

我应该/我该如何处理?

0 投票
1 回答
565 浏览

android - 三星和弦作为背景过程

我将参加三星 2013 应用程序竞赛,其中一项要求是您使用他们的 Chord API http://developer.samsung.com/chord

我计划允许用户向所有安装了我的应用程序的手机发送消息。根据我从上一个链接中收集到的信息,这意味着我需要有一个持续运行的后台进程,以便用户在他们当时没有查看应用程序时接收消息。

我想知道这是否属实,如果是,这可行吗?我正在考虑使用此处详述的方法: Android:如果我继续这样做,让后台服务保持活动状态(防止进程死亡) 。