小编Jeb*_*Jeb的帖子

__slots__的用法?

__slots__Python中的目的是什么- 特别是关于我何时想要使用它,何时不想使用它?

python oop slots python-internals

697
推荐指数
10
解决办法
18万
查看次数

为什么Clojure命名为Clojure

为什么语言的名称是"Clojure"?

我用Google搜索了一下,在#clojure中问道.到目前为止,没有运气.

jvm clojure

54
推荐指数
1
解决办法
3427
查看次数

Scala中的后台任务

我有一个缓存,我想定期检查和修剪.在Java中,我会做以下事情:

new Thread(new Runnable() {
  void run() {
    while (true) { 
      Thread.sleep(1000);
      // clear the cache's old entries
    }
  }
}).start();
Run Code Online (Sandbox Code Playgroud)

当然,我有一些线程安全类型的问题可以用作缓存,但是把它放在一边,我的问题很简单.什么是Scala运行重复后台任务的方式 - 您不希望在应用程序的主线程中运行?

我曾经使用过一些演员,我猜我在这个场景中的问题是我没有任何东西可以生成一条消息,是时候清除缓存了.或者更确切地说,我可以想象生成这些消息的唯一方法是创建一个线程来执行它...

编辑:我需要人们对答案进行投票 - 他们对我来说都很好看

multithreading scala

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

Scala Listener/Observer

通常,在Java中,当我有一个向其他对象提供某种通知的对象时,我将使用Listener/Observer模式.

是否有更像Scala的方式来做到这一点?我应该在Scala中使用这种模式,还是我应该利用的语言中还有其他东西?

scala listener observer-pattern

15
推荐指数
2
解决办法
9978
查看次数

Skype4Java通过Mac OS上的Scala

我正在运行Mac OS 10.6,Java 1.6_17,Scala 2.8.1 final.我正在尝试使用Skype4Java进行简单的Skype通话,方法如下:

$>export JAVA_OPTS=-d32

$>scala -classpath .:./skype/release/skype.jar

scala> com.skype.Skype.makeCall("echotest")
Run Code Online (Sandbox Code Playgroud)

我收到了错误

"invalid attempt to access memory at location 0x0 ... bus error". 
Run Code Online (Sandbox Code Playgroud)

有没有人经历过这个并找到解决方案?

注意:当我使用命令行java运行它时,我可以通过调用其中一个示例来完美地使用此api.尝试使用命令行scala执行相同的示例失败,并显示上述错误.

java macos scala skype4java

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

MVC中的M与MVVM中的M不同吗?

首先,我想就增加关于这个主题的无数问题而道歉.我理解MVVM和MVC之间的基本区别.我不明白的是M.的确切定义.

在我对MVC的理解中(与维基百科上的内容一致),模型封装了应用程序的状态(以及可能的业务逻辑).它让View知道什么时候发生了变化.它可以实现为具有允许存储或检索数据的方法的类.它可能有一个接口,允许View监听数据的变化.

我在MVVM中读过类似的模型描述.但是,我经常发现人们将模型称为代表您在业务领域中建模的事物的类.在他的文章中,John Papa将模型称为"表示描述特定实体的数据点的类.例如,具有CompanyName和CustomerId等属性的Customer类.他继续解释说,"我有一个班级,负责打网络服务去获取我的数据,并为我的ViewModel填充我的模型".

通常,我会将一些域概念称为域类的类.我同意模型引用那些类,但它不拥有它们.我同意John的观点,即用服务获得的数据填充这些类的工作是一个好主意.他似乎暗示这是ViewModel或其他一些作品.我认为这是模型的关键工作.当然,有一个类(或其他)来做它,但该类是模型本身的一部分.

MVC/MVVM中的M是模型的一些域概念的类吗?或者是封装应用程序数据的东西?

我喜欢有人告诉我,我并不疯狂,而且在某个地方,MS阵营中的人们从根本上改变了模型在这些模式中的含义.呃,也许我在错误的地方虽然:)

model-view-controller mvvm

6
推荐指数
1
解决办法
405
查看次数

ExtJS GridPanel Row单击

我设计了一个ExtJS GridPanel并从数据库中填充数据.我的要求是当点击网格行(如编辑按钮)从网格获取id并填充具有特定数据的窗口(使用来自数据库的id的反向数据).我怎样才能实现这一目标?

extjs

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

在 Pedestal 中设置和使用基于 cookie 的会话

我很欣赏一个基本的 Pedestal 示例,说明如何 (1) 设置在服务器重启后仍然存在的 cookie 和 (2) 使用基于 cookie 的会话;特别是如何获取和设置值。

我有点惊讶没有找到一个使用的例子ring.middleware.session/wrap-session(源代码在这里:https : //github.com/ring-clojure/ring/blob/master/ring-core/src/ring/middleware/session.clj) .

设置

根据这个使用 Ring 中间件的 Pedestal 示例代码,有两个关键的东西要添加到你的service.clj. 首先,定义会话拦截器:

; aliases for namespace :require
[io.pedestal.http.ring-middlewares :as middlewares]
[ring.middleware.session.cookie :as cookie]

(definterceptor session-interceptor
  (middlewares/session {:store (cookie/cookie-store)}))
Run Code Online (Sandbox Code Playgroud)

但是,示例代码有这个警告:

在此示例代码中,我们没有指定会话数据在发送回浏览器之前使用的加密密钥。这有两个后果,第一个是我们需要在整个服务中使用相同的拦截器实例,以便会话数据对所有路径都是可读和可写的。第二个后果是当服务器进程结束时会话数据将变得不可恢复。即使浏览器保留了 cookie,它也不是不可恢复的密文,会话拦截器会将其视为不存在。

如何克服上述限制?

其次,添加session-interceptor到您的路线(以下是我的示例代码):

(defroutes routes
  [[["/"
     {:get [:root root/index]}
     ^:interceptors [session-interceptor
                     (body-params/body-params)
                     bootstrap/html-body]]]]
Run Code Online (Sandbox Code Playgroud)

使用(获取和设置)

我知道上面的设置步骤会导致 Ring 中间件向:session请求映射添加一个键。所以获取很容易:(:session request). 但是我如何以及在哪里添加到会话中?一个例子将不胜感激。

session middleware clojure ring pedestal

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

复制数百万个文件

我需要通过公司的SAN将大约300万个文件从一个文件夹复制到另一个文件夹.这对我来说最好的方法是什么?

file

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

scala SocketServer

scala.tools.util.SocketServer的目的是什么?

scala

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

Clojure的工具如metric_fu或codeclimate.com

是否有任何类似于Ruby的http://www.codeclimate.com或metric_fu的Clojure工具?自动代码审查以生成质量指标的东西.

metrics clojure

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