小编gex*_*tra的帖子

如何在分布式环境下将数据附加到Riak密钥?

使用Riak我希望以一种方式顺序追加数据,这样我就可以获得我不时附加的所有数据.想想日志,如果我选择增加的日志行并将它们转移到riak,在某些时候我想要重新构建我所附加的内容.

我想通过为此目的创建一个新的存储桶,然后添加由序列号或日期时间戳定义的键,然后将内容添加到它,然后使用列表键API并重新构建我需要的数据.问题在于列表键API效率不高,建议使用生产.我喜欢这种方法的是数据没有并发写入问题(没有锁/等),因为所有键都是独立的.

另一种方法是使用单个密钥,打开它并附加到它,但我非常担心并发/锁定问题.此操作将在分布式环境下执行,肯定是一个糟糕的选择

问题:在Riak中有任何其他方法吗?对键的任何附加模式?

riak

5
推荐指数
1
解决办法
1357
查看次数

如何将javascript代码注入每个原型方法的开头?

我想在javascript中注入代码,用于调试目的,在javascript中的每个方法原型中.这个例子只显示了一个类,但假设我有数百个类,每个类都有几十个方法.此机制应在原型级别执行,而无需指定每个类/方法名称.

function MyClass1() {
    this.attrib = "ABC";
}

MyClass1.prototype.myMethod = function() {
   alert("first row");  // <---- THE INJECTION SHOULD OCCUR BEFORE THIS LINE OF CODE
}
Run Code Online (Sandbox Code Playgroud)

想法是在第一次加载/执行javascript代码期间,在myMethod()的第一行之前动态注入一些代码.如:

MyClass1.prototype.myMethod = function() {
   alert("I was injected dynamically");
   alert("first row");
}
Run Code Online (Sandbox Code Playgroud)

因此对于其他所有类和方法,同样应该发生.这可以使用Function.prototype方法实现吗?

javascript

5
推荐指数
1
解决办法
2224
查看次数

如何将SVG元素的内容复制到另一个SVG元素并保持同步

具有两个SVG元素(SVG1和SVG2),其中SVG1是具有各种元素的大区域,其被不时地添加,移除和重新定位.另一方面,SVG2需要用作SVG1图标化表示(小)版本,相当小,但无论SVG1显示什么,SVG2都以非常小的比例显示.

<SVG id="SVG1" width=1000 height=1000>
    <g transform="scale(1)">
    .... elements here....
    </g>
</SVG>

<SVG id="SVG2" width=100 height=100>
    <g transform="scale(0.1)">
    .... elements here....
    </g>
</SVG>
Run Code Online (Sandbox Code Playgroud)

我相信这种方法是以编程方式同步最终在SVG1上的元素更改,因此它们最终也会出现在SVG2上,当然还有唯一的ID.

...但我想知道是否有一种更简单的方法可以确保像镜像功能或类似功能,或者扫描SVG1的DOM树并将其复制到SVG2中.

svg

5
推荐指数
1
解决办法
953
查看次数

有没有办法从 /proc/PID 中识别拥有进程的用户

我正在解析进程详细信息/proc/PID,到目前为止我无法从该元目录的文件中找出谁拥有进程。

文档似乎也没有指出该信息。

linux

5
推荐指数
1
解决办法
6392
查看次数

在RabbitMQ中,我应该在Connections,Channels或两者上创建连接池吗?

使用用于RabbitMQ的Java客户端,我创建了一个连接池机制,该机制已建立并可用的一组rabbitmq连接.一旦客户端租用连接,客户端就会创建一个通道.如果我必须发送执行任务并发送100条消息,则对于每条消息,客户端将租用连接并使用API​​创建通道,例如:

rqConnection = MyPoolManager.leaseConnection();
rqChannel = rqConnection.createChannel();
Run Code Online (Sandbox Code Playgroud)

我可以在我的池中预先建立一个通道作为每个连接一个通道,还是可以在发送消息之前始终创建一个通道?我担心的是,通过渠道创建渠道可能会消耗资源.我可以让频道与包含连接和频道的类共存,因此它总是在其使用需求之前预先创建.如果信道创建不会造成资源消耗或泄漏影响,那么我可以继续我目前的方法.

rabbitmq

4
推荐指数
1
解决办法
7684
查看次数

如何停止d3力图布局模拟?

一旦d3.layout.force().... start()在D3中强制布局模拟,它就会继续运行一个活动事件.

我想设置5秒的超时让图形强制布局模拟成形并停止(调用.stop()或alpha(0).这可以停止,但是一旦我拖动一个节点,模拟就会重新开始.

下面的代码,也可以从jsfiddle轻松测试,在最后一行显示stop()将被发出并且模拟立即停止,但是一旦拖动任何节点,模拟将再次开始.我认为这在力量拖拽中是硬编码的.有没有办法禁用/取消注册?

var svgContainer = d3.select("#svgContainer");

var element0a = svgContainer.append("g").attr("class","node").attr("transform","translate(100,100)");
var element0b = element0a.append("rect").attr("x",0).attr("y",0).attr("width",20).attr("height",10).attr("fill","red");

var element1a = svgContainer.append("g").attr("class","node").attr("transform","translate(100,200)");
var element1b = element1a.append("rect").attr("x",0).attr("y",0).attr("width",20).attr("height",10).attr("fill","green");

var element2a = svgContainer.append("g").attr("class","node").attr("transform","translate(100,300)");
var element2b = element2a.append("rect").attr("x",0).attr("y",0).attr("width",20).attr("height",10).attr("fill","blue");

var nodeArray = new Array();
nodeArray[0] = { id : "000", label : "label 000", ui : element0a };
nodeArray[1] = { id : "001", label : "label 001", ui : element1a };
nodeArray[2] = { id : "002", label …
Run Code Online (Sandbox Code Playgroud)

d3.js force-layout

4
推荐指数
1
解决办法
9772
查看次数

如何禁用要在ElasticSearch中编制索引的属性

我使用默认机制索引数据(不传递任何架构/结构).我只是XPOST JSON文档.

我想用:

  • 单一指数
  • 各种类型,但不依赖于数据本身

我遇到的问题是我的JSON文档有一个特定的属性,有时递归嵌套自己.当它这样做时,ElasticSearch会对数据索引PUT操作产生错误.

此类属性的内容对于我的搜索/索引目的并不重要.我知道我可以从数据中排除它,但我仍然希望它像NoSQL解决方案一样存储.

例:

{prop1:"something",dirty_prop:{someprop:123,dirty_prop:{....}}}

从上面可以看出,有一个嵌套的包含,它将失败.

问题是:如何避免错误,保留数据.我 假设从索引中删除dirty_prop将允许它通过.排除它的最简单方法是什么,而不必提供完整的结构(我无法提供完整的结构/模式,因为我在数据中获得了新属性).

elasticsearch

4
推荐指数
1
解决办法
3205
查看次数

D3 v4 中没有边逃离图形的节点

我构建了一个使用 D3.js V4 动态加载数百个(有时数千个)节点的图表。尽管我尝试调整其力量,但节点簇可能会变得不那么混乱,但最终排斥力会将没有边缘的节点推向画布的边界。

似乎没有简单的方法可以设置单个节点而不使边缘倾向于距中心更近的距离

以下是屏幕截图(注意右上角的节点): 在此输入图像描述

以下是涉及的力量:

    var repelForce = d3.forceManyBody()
                     .strength(-200)
                     .distanceMax(400)
                     .distanceMin(150);



var gSimulation = d3.forceSimulation()
    .force('link', d3.forceLink().id((d) => d.id))
    .force('charge', repelForce)
    .force('center', d3.forceCenter(gwidth / 2, gheight / 2));
Run Code Online (Sandbox Code Playgroud)

期待调整或优化特别无边缘的节点的替代方法......

d3.js d3-force-directed

4
推荐指数
1
解决办法
1446
查看次数

如何在erlang中获取一点十进制整数

给定一个数字(例如16877),我想测试一个位(pos)以查看是否为0或1。

例如,我知道上面的数字以数字表示,表示为100000111101101。

  • 位pos 1 = 1
  • 位pos 2 = 0
  • 位pos 3 = 1

考虑到数字应该已经作为二进制文件存储在erlang的vm中,我可以使用什么函数说:

Pos = 1,
Bit = getBit ( Pos , 16877 ).
Run Code Online (Sandbox Code Playgroud)

erlang

2
推荐指数
1
解决办法
238
查看次数

RabbitMQ是否在每个入站消息上序列化磁盘?

我正在评估RabbitMQ作为我的Web应用程序的异步中间层.我担心的是它会将收到的每条消息写入磁盘,作为一致性模型.是真的还是优化内存中的队列并不时将其序列化为磁盘?

rabbitmq

2
推荐指数
1
解决办法
1078
查看次数