小编Dav*_* J.的帖子

如何在环形应用程序中维护不同用户会话的状态

我需要在不同的浏览器/用户会话上维护服务器上的全局状态.

我的假设是,当请求进入时创建的所有原子等都是特定于该请求的.一旦返回响应,就会销毁所有状态并释放内存.如果我错了,请纠正我.

可以使用会话中间件在内存中维护对特定会话的请求的状态.

但是,如何在多个用户会话和请求之间维护状态.如果可能的话,我想避免使用memcached/redis等将其存储在外部.是否有可能在内存中实现它?

clojure ring

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

在数据框中以数字方式对因子进行重新排序

我的系数从0到39。现在按以下顺序订购:

> levels(items$label)
 [1] "0"  "1"  "10" "11" "12" "13" "14" "15" "16" "17" "18" "19"
[13] "2"  "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "3" 
[25] "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "4"  "5" 
[37] "6"  "7"  "8"  "9"
Run Code Online (Sandbox Code Playgroud)

如何出于显示目的按数字顺序对其重新排序?我不想更改数据框的含义。

更新:如何items使用排序的因子更新原始数据框labels?这不应实质性地改变数据帧;我只希望这些因素在后续操作中以正确的顺序出现。

sorting r

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

Storm中的延迟队列/消息处理

在我的Storm拓扑中,在处理流时,我想延迟处理某些消息,直到将来某些时间点.这样做的合理选择是什么?

到目前为止,我已经考虑过以下几点:

  • 使用Java的Thread.sleep.(但是,根据一些讨论,这不是有效利用Storm资源的推荐方法.)
  • 使用延迟队列......
  • Storm是否有一些API来延迟我忽略的消息?
  • ZeroMQ是否提供Storm(如果已修改)可以利用的延迟消息传递API?

java clojure apache-storm

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

IntelliJ IDEA 代码高亮插件使用 ANTLR 语法吗?

我使用 ANTLRv4 语法来解析我的DSL。我想为我的 DSL 创建一个插件来支持 IntelliJ IDEA 中的代码突出显示和代码完成。

据我所知,IntelliJ 使用BNFFlex格式进行解析。

是否有可能:

  1. 使用 ANTLR 语法,或者
  2. 将 ANTLR 语法转换为 BNF 和 Flex ...

...为我的 DSL 制作一个 IntelliJ 插件?

grammar antlr jetbrains-ide intellij-idea intellij-plugin

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

何时/为什么将 --env-shebang 与 ruby​​ gems 一起使用?

Ikenna Okpala 推荐了这个.gemrc(我稍微修改了一下):

---
:详细:真实
:bulk_threshold: 1000
安装:--no-ri --no-rdoc --env-shebang
:来源:
- http://gems.rubyforge.org/
:基准:假
:回溯:假
更新:--no-ri --no-rdoc --env-shebang
:update_sources: 真

我之前没有注意到--env-shebang。我--env-shebanghttp://guides.rubygems.org/command-reference/查找了文档:

安装/更新选项:
...
-E, -?-[no-]env-shebang - 重写已安装脚本上的 shebang 行以使用 /usr/bin/env

实际上,为什么这个--env-shebang选项很重要?(我从来没有用过。)

ruby interpreter rubygems shebang

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

从 Clojure 记录返回普通地图

我有一个记录:

(defrecord Point [x y])
(def p (Point. 1 2))
Run Code Online (Sandbox Code Playgroud)

现在我只想从记录中提取地图。这些方法可以完成工作。这些是好方法吗?有更好的方法吗?

(into {} (concat p))
(into {} (map identity p))
(apply hash-map (apply concat p))
Run Code Online (Sandbox Code Playgroud)

我希望可能有一种更简洁的方法,也许内置于记录的概念中。

records clojure

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

由于自动换行隐藏/更改Emacs条纹弯曲箭头?

我想改变(或完全隐藏)Emacs边缘(左侧和右侧)中出现的"弯曲箭头"字符.我在Mac上使用Emacs 24,通过自制软件安装.我发现它在视觉上分散了注意力.较小的角色,如中心点,可能效果很好.

对于上下文,这是小弯曲箭头的官方描述(来自http://www.gnu.org/software/emacs/manual/html_node/emacs/Continuation-Lines.html):

有时,缓冲区中的一行文本 - 逻辑行 - 太长而无法放入窗口,Emacs将其显示为两个或多个屏幕行.这称为换行或延续,长逻辑行称为续行.在图形显示器上,Emacs指示左右窗口条纹中带有小弯曲箭头的换行.在文本终端上,Emacs通过在右边距处显示"\"字符来指示换行.

Emacs的LineWrap Wiki页面并没有解决我的问题.

到目前为止我发现的最佳信息包含在StackOverflow的答案中:

当在文本终端(-nw)Emacs中将自动换行设置为nil时,反斜杠字符出现在右边距上.

当在文本终端Emacs中将自动换行设置为t时,不显示反斜杠字符.设置visual-line-mode也会将自动换行设置为true.

当Emacs作为GUI窗口运行时,这不适用:无论自动换行的值如何,右边距都会出现小的弯曲箭头.

是否可以隐藏或更改弯曲的箭头?如果没有,一个或多或少说"我看过X并得出结论不可能"的答案也是可以的.

更新:虽然它不是一个可怕的变通,改变条纹不是我要找的:我要定制的"弯箭头"字符或位图.

emacs word-wrap emacs24 fringe

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

使用 Lucene 计算文档相似度的更好方法

我\xe2\x80\x99m 通过在索引时指定 TermVector 来使用 Lucene 索引文档集合。\n然后,我通过读取索引并计算每个文档的 TF-IDF 得分向量来检索术语及其频率。然后,使用 TF-IDF 向量,使用维基百科的余弦相似度方程计算文档之间的成对余弦相似度。

\n\n

这是我的问题:假设我在这个集合中有两个相同的文档 \xe2\x80\x9cA\xe2\x80\x9d 和 \xe2\x80\x9cB\xe2\x80\x9d (A 和 B 有超过 200 个句子)。如果我计算 A 和 B 之间的成对余弦相似度,它会给出余弦值=1,这是完全可以的。但是,如果我从 Doc \xe2\x80\x9cB\xe2\x80\x9d 中删除单个句子,它会给出这两个文档之间的余弦相似度值约为 0.85。这些文档几乎相似,但余弦值却不同。我知道问题出在 I\xe2\x80\x99m 使用的方程上。

\n\n

有没有更好的方法/方程可以用来计算文档之间的余弦相似度?

\n\n

已编辑

\n\n

这就是我计算余弦相似度的方法,doc1[]并且doc2[]是相应文档的 TF-IDF 向量。向量仅包含scores但不包含words

\n\n
private double cosineSimBetweenTwoDocs(float doc1[], float doc2[]) {\n    double temp;\n    int doc1Len = doc1.length;\n    int doc2Len = doc2.length;\n    float numerator = 0;\n    float temSumDoc1 = 0;\n    float temSumDoc2 = 0;\n    double equlideanNormOfDoc1 …
Run Code Online (Sandbox Code Playgroud)

java lucene similarity

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

为什么Ruby的哈希方法在运行中有所不同?

# pry / irb example #1
"abc".hash
=> -1883761119486508070
"abc".hash
=> -1883761119486508070

# pry / irb example #2
"abc".hash
=> -4309321811150053495
"abc".hash
=> -4309321811150053495
Run Code Online (Sandbox Code Playgroud)

hash对于特定的调用,该值是常量,但在调用之间会有所不同.为什么?这是设计的吗?这被认为是"好事"吗?

我跑ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.0.0].

ruby hash ruby-1.9

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

得到BigDecimal的指数

我想得到一个BigDecimal的指数.

`1M` (`1E0M`)      -> `0`
`10M` (`1E1M`)     -> `1`
`11M` (`1.1E1M`)   -> `1`
`1E2M`             -> `2`
`1.0E2M`           -> `2`
`100M` (`1.00E2M`) -> `2`
Run Code Online (Sandbox Code Playgroud)

scale至少就其本身而言,并非我所需要的.我真的宁愿不必使用.toPlainString和破解那些东西.

我有点惊讶我想要的指数不是BigDecimal内部表示的一部分.

我正在使用来自Clojure的BigDecimal,但任何适用于Java的逻辑也是受欢迎的.

java clojure bigdecimal

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