小编Eve*_*man的帖子

Clojure的defrecord - 如何使用它?

我正在尝试使用defrecordClojure 创建自己的不可变数据类型/方法.目标是拥有一个我可以创建实例的数据类型,然后调用其方法以返回带有变异变量的自身的新副本.说a和b是向量.我想更新两者中的值并返回整个结构的新副本,并更新这些向量.这显然不会编译,我只是试图让我的想法得到解决.

(defrecord MyType [a b]
  (constructor [N]
    ; I'd like to build an initial instance, creating a and b as vectors of length N
  ) 

  (mutate-and-return [] 
    ; I'd like to mutate (assoc the vectors) and return the new structure, a and b modified
  )
)
Run Code Online (Sandbox Code Playgroud)

我想按照我的意愿多次调用构造函数然后调用mutator(还有其他函数不会变异,但我不想让问题变得更复杂).

或者,如果这不是惯用的Clojure,你应该怎么做这样的事情呢?

clojure

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

brew install mongodb错误:懦弱地拒绝'sudo brew install'Mac OSX Lion

我不知道为什么我收到此错误:

$ brew install mongodb
==> Downloading http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.0.4.tgz
######################################################################## 100.0%
Error: Permission denied - /usr/local/var/log/mongodb
Run Code Online (Sandbox Code Playgroud)

所以我尝试用sudo运行它:

$ sudo brew install mongodb
Password:
Cowardly refusing to `sudo brew install'
Run Code Online (Sandbox Code Playgroud)

如果我自己尝试创建文件,我会得到这个:

Error: File exists - /usr/local/var/log/mongodb
Run Code Online (Sandbox Code Playgroud)

当你在homebrew的github上读到关于错误的这个帖子时,它变得更加有趣:

https://github.com/mxcl/homebrew/issues/9953

他们说brew不能写文件,因为它不是root,然后他们说这是因为他们认为它不应该以root身份运行.

这些是官方安装说明,怎么了?

如果您有更好的安装建议,那么我会忘记自制软件.

macos homebrew mongodb ruby-on-rails-3 osx-lion

21
推荐指数
1
解决办法
1万
查看次数

将批处理Upsert添加到MongoDB.

看起来MonogoDB不支持批量upsert.它是否正确?

如果没有,您将如何使用最有效的现有API添加批量upsert?批量upsert甚至对mongo db有意义吗?

mongodb

13
推荐指数
1
解决办法
6766
查看次数

在Meteor Collection中插入一个momentjs对象

我有一个简单的Meteor集合,我试图插入一个具有momentjs属性的文档.所以我这样做:

docId = Col.insert({m: moment()});
Run Code Online (Sandbox Code Playgroud)

但是,当我试图重新获得此文档时

doc = Col.findOne({_id: docId})
Run Code Online (Sandbox Code Playgroud)

我得到doc.m的"无效日期",如下所示:

Object {_id: "wnHzTpHHxMSyMxmu3", m: "Invalid date"}
Run Code Online (Sandbox Code Playgroud)

任何人?!

mongodb meteor momentjs

10
推荐指数
1
解决办法
6812
查看次数

用Neo4J模拟马尔可夫链

马尔科夫链是由一组其可以以一定的概率转换到其他状态的状态的.

通过为每个状态创建一个节点,每个转换的关系,然后用适当的概率注释转换关系,可以很容易地在Neo4J中表示马尔可夫链.

但是,你能用Neo4J 模拟马尔可夫链吗?例如,可以强制Neo4J在某个状态下启动,然后根据概率转换到下一个状态和下一个状态吗?Neo4J可以打印出通过这个状态空间的路径吗?

也许通过一个简单的例子可以更容易理解.假设我想根据公司科技博客的文本制作一个2克的英语模型.我启动了一个执行以下操作的脚本:

  1. 它删除了博客的文本.
  2. 它迭代每对相邻的字母并在Neo4J中创建一个节点.
  3. 它在每个相邻字母的3元组上再次迭代,然后在由前两个字母表示的节点和由最后两个字母表示的节点之间创建Neo4J指向关系.它将此关系的计数器初始化为1.如果关系已存在,则计数器递增.
  4. 最后,它遍历每个节点,计算已发生的总传出转换的数量,然后在特定节点的每个关系上创建一个新的注释等于count/totalcount.这是转换概率.

现在Neo4J图已经完成了,如何从我的2克英语模型中创建一个"句子"?输出可能是这样的:

在没有IST LAT WHEY CRATICT FROURE BIRS GROCID REPONSTURES的REPTAGIN是CRE的REGOACTIONA.

markov-chains n-gram neo4j cypher

9
推荐指数
1
解决办法
2154
查看次数

Maven m2e强制执行自己的编译器设置 - 禁用

启动Eclipse后,Mven似乎将编译器设置设置为1.5并忘记所有其他全局代码样式设置,以确保更高的代码质量.

有没有办法禁用此功能?或者我可以在POM中指定所有编译器和代码样式检查吗?

这非常烦人,因为Ecplise无法运行应用程序,因为不允许覆盖接口的注释.在重启后始终设置Java compiler- >中的勾选Enable project specific settings.

java eclipse m2eclipse maven m2e

8
推荐指数
1
解决办法
3945
查看次数

从单个Node.js应用程序打开多个Mongo连接是一个好主意吗?

背景:我正在尝试优化我在Amazon Cloud上使用Express和Mongoose构建的Node.js API的速度.我有一个API调用需要花费大量的时间来运行(我的/ stats API调用编译来自许多源的数据,因此产生了数百个mongo查询,因此运行大约需要20秒).我注意到,当这个API调用正在运行时,其他也调用了Mongo副本集的API调用返回的速度很慢.我的第一个想法是统计查询缓慢,因此阻塞,但根据我的统计小组,我没有任何查询需要超过100毫秒运行,而且我的Mongo DB统计数据都在相当健康的范围内(每个20多个查询)第二,<1%btree未命中,<5%锁定).

问题:现在,我的Node.js应用程序在启动时建立了与Mongo集的单个连接,并且所有查询都使用该连接.建立多个连接会更好吗?例如,我应该为每个入站API请求建立一个新的Mongo连接吗?或者,也许我应该有一个静态数量的连接到副本集,并在执行查询时这些连接之间的负载平衡?

或者我可能完全偏离基地?

mongoose mongodb node.js

7
推荐指数
1
解决办法
1万
查看次数

C++中的命名空间问题

我有两个文件Sample.cpp和Main_file.cpp.Sample.cpp只有一个名称空间n1,其中包含int变量的定义x.我想x在main_file.cpp中打印这个变量.我该怎么做呢?

//Sample.cpp_BEGINS

namespace n1
{
    int x=10;
}
//Sample.cpp_ENDS

//Main_FILE_BEGINS

void main()
{
    print x;
}
//MAIN_FILE_ENDS
Run Code Online (Sandbox Code Playgroud)

感谢您提供任何帮助.

c++ namespaces

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

多态对象的Mongodb模式设计

我是MongoDB的新手,正在尝试为一组python对象设计一个简单的架构。我在处理多态性方面遇到了困难。

下面是一些伪代码。您将如何在MongoDB模式中表示此继承层次结构:

class A: 
    content = 'video' or 'image' or 'music'
    data    = contentData  # where content may be video or image or music depending on content.

class videoData:
    length = *
    director = *
    actors = *       

class imageData:
    dimensions = *

class musicData:
    genre = *
Run Code Online (Sandbox Code Playgroud)

我面临的问题是A.data的架构取决于A.content。A如何在mongodb模式中表示?

python mongodb

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

ClojureScript:如何通过原型向JS对象添加方法?

我正在尝试为现有的JavaScript系统添加一些功能.然后再次从JavaScript中使用(而不是在ClojureScript命名空间中).也许这是不可能的?

这是我想要做的简化:

// JavaScript
String.prototype.foo = function() {
  return "bar";
}

# CoffeeScript
String::foo = ->
  "bar"
Run Code Online (Sandbox Code Playgroud)

我希望能够在上面运行我的脚本,然后从代码中的其他地方调用它.

我已经试过搞乱extend-typedefprotocol,沿export,但似乎没有什么暴露我foo的功能.

这可能是一个设计决定,ClojureScript在这里不适合我,但我只是想确保我没有忽略某些东西.

clojure clojurescript

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