小编Rob*_*lan的帖子

是否有任何通用算法可实现分布式系统的最终一致性?

是否有任何算法通常用于实现分布式系统中的最终一致性?

有一些算法是为分布式系统中的ACID事务开发的,特别是Paxos,但是有一个类似的理论体系是为BASE场景开发的,具有较弱的一致性保证吗?

编辑:这似乎是一个刚刚开始发展的学术研究领域.Mcdowella的回答表明,该领域至少有一些工作.

algorithm distributed consistency eventual-consistency

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

我可以创建一个clojure宏,它将允许我获取宏创建的所有函数的列表吗?

我想要一个我称之为def-foo的宏.Def-foo将创建一个函数,然后将此函数添加到集合中.

所以我可以打电话

(def-foo bar ...)

(def-foo baz ...)
Run Code Online (Sandbox Code Playgroud)

然后会有一些设置,例如all-foos,我可以称之为:

all-foos
=> #{bar, baz}
Run Code Online (Sandbox Code Playgroud)

从本质上讲,我只是想避免重复自己.我当然可以用正常方式定义函数,(defn bar ...)然后手动编写集合.

一个更好的选择,比宏观想法更简单,将做:

(def foos #{(defn bar ...)    (defn baz ...)} )
Run Code Online (Sandbox Code Playgroud)

但我仍然很好奇是否有一个很好的方式让宏观思想发挥作用.

macros dry clojure

5
推荐指数
2
解决办法
111
查看次数

从incanter数据集中获取一系列列的惯用方法是什么?

从Incanter数据集中获取一系列列(作为向量或其他)的最佳方法是什么?

我想到了:

(to-vect (trans (to-matrix my-dataset)))
Run Code Online (Sandbox Code Playgroud)

但理想情况下,我想要一个懒惰的序列.有没有更好的办法?

clojure incanter

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

在c ++ 11中,是否仍然需要传入对接受函数输出的对象的引用?

在C++ 11之前,如果我有一个在大型对象上运行的函数,我的本能就是用这种原型编写函数.

void f(A &return_value, A const &parameter_value);
Run Code Online (Sandbox Code Playgroud)

(这里,return_value只是一个空白对象,它将接收函数的输出.A只是一些庞大且复制成本高的类.)

在C++ 11中,利用移动语义,默认建议(据我所知)更直接:

A f(A const &parameter_value);
Run Code Online (Sandbox Code Playgroud)

是否仍然需要以旧方式执行此操作,传入一个对象来保存返回值?

c++ move-semantics c++11 return-by-value

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

是否有一个if-clojurescript宏?

是否有Clojure和ClojureScript的宏,该宏允许您根据在Clojure还是Clojurescript中编译文件来插入不同的表达式?

(if-clojurescript
   (my clojurescript definition)
   (my clojure definition))
Run Code Online (Sandbox Code Playgroud)

本质上,我在寻找一些#ifdef SOME_PLATFORM您可能会看到的宏,例如C / C ++代码。我认为这对于希望成为交叉功能一部分的文件很有用,但是对于该文件的一小部分在Clojure / ClojureScript之间不兼容。

macros clojure clojurescript reader-macro

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

Cython c ++示例无法识别c ++,为什么?

我试图在Cython C++页面上构建"在cython中使用c ++" 的例子,但是setup似乎没有识别语言c ++.

从同一页面获取的文件是:

Rectangle.cpp

#include "Rectangle.h"

using namespace shapes;

Rectangle::Rectangle(int X0, int Y0, int X1, int Y1){
    x0 = X0;
    y0 = Y0;
    x1 = X1;
    y1 = Y1;
}

Rectangle::~Rectangle() {}

int Rectangle::getLength() {
    return (x1 - x0);
}

int Rectangle::getHeight() {
    return (y1 - y0);
} 

int Rectangle::getArea() {
    return (x1 - x0) * (y1 - y0);
}

void Rectangle::move(int dx, int dy) {
    x0 += dx;
    y0 += dy; …
Run Code Online (Sandbox Code Playgroud)

c++ python cython

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

为什么clang ++无法在Mac下编译,在Mavericks下,除了sudo?

在我的mac上进行了最新的软件更新之后,我无法在没有sudo的情况下编译和链接c ++ hello world程序.

该程序(helloworld.cpp):

#include <iostream>

int main(){
  std::cout << "hello world\n";
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

调用:

clang++ helloworld.cpp
Run Code Online (Sandbox Code Playgroud)

失败错误:

ld:无法写输出文件:a.out用于体系结构x86_64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

但如果我在sudo下这样做,

sudo clang++ helloworld.cpp
Run Code Online (Sandbox Code Playgroud)

这里没有问题.

可能导致这种情况的原因,以及我如何解决这个问题?


编辑,再次:答案结果证明不是工作目录权限,正如一些人建议,但与我的hello world程序的输出文件a.out相关联的权限.感谢Petesh的解决方案.

c++ macos clang xcode6

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

是否可以使用main方法创建clojure类型?(使用deftype,而不是gen-class)

我在clojure中定义的主要方法的例子都使用gen-class和(defn -main ...).是否可以使用deftype定义具有可执行主方法的类?

clojure

3
推荐指数
1
解决办法
382
查看次数

序列化持久性/功能性数据结构

持久性数据结构依赖于结构的共享以提高效率.有关示例,请参见此处.

在序列化数据结构并将其写入文件或数据库时,如何保留结构共享?如果我只是天真地遍历数据结构,我将存储正确的值,但我将失去结构共享.我希望能够将包含共享组件的数据结构保存到文件中,还原它们,并且仍然可以在还原的数据中共享大部分结构.

language-agnostic serialization functional-programming persistent data-structures

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