小编om-*_*nom的帖子

Scala - Mutable线程安全集合

我需要一个可变线程安全Map和Scala中的一个可变线程安全List.我知道默认情况下不可变集合是线程安全的.但是,我需要经常更新我的集合,因为我不能使用不可变的.此外,我需要我的线程安全可变Map来维护插入顺序.

现在我正在使用下面的地图

val map = scala.collection.mutable.LinkedHashMap[String,Any]()
Run Code Online (Sandbox Code Playgroud)

此映射维护插入顺序并且是可变的.如何使其线程安全?

collections multithreading scala map thread-safety

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

独立的clojure应用程序

我是clojure的初学者,昨天才开始.

我已经收集到了一个创建独立应用程序的简单方法是使用leiningen lein new foo.

我试图用leiningen创建一个hello world测试项目.我添加了:main和:aot指令到project.clj,添加:gen-class到core.clj文件并尝试过lein run,但是我发现没有找到类定义的错误.

Exception in thread "main" java.lang.NoClassDefFoundError: 
Caused by: java.lang.ClassNotFoundException: 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Run Code Online (Sandbox Code Playgroud)

core.clj文件

(ns test.core
  (:gen-class))
(defn -main [& args] (println "Hello main"))
Run Code Online (Sandbox Code Playgroud)

和project.clj文件

(defproject test "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :main test.core
  :aot [test.core]
  :dependencies [[org.clojure/clojure "1.2.1"]])
Run Code Online (Sandbox Code Playgroud)

编辑:经过进一步测试,似乎将项目复制到我的桌面工作原样,我认为我的笔记本电脑上的环境有点笨拙,但我不知道如何.

桌面环境是来自存储库和来自AUR的leiningen的clojure.在笔记本电脑上,clojure来自clojure.org,leining来自github.

clojure leiningen classnotfoundexception

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

Sublime Text 2 - 如何使用命令托盘从打开的文件夹中打开文件?

我想使用某种模糊搜索打开一个文件,我很确定我在Sublime Text中看到了这个功能,但由于某种原因我无法在任何地方找到任何提及.

我想打开命令托盘并能够在那里输入文件名,如果文件关闭,它将为我打开文件,如果它打开,它将激活它的窗口和组.

这可能吗?

command sublimetext

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

构建play 2.0项目时未解决的依赖关系

昨天从类型安全下载play-2.0,尽可能按照说明操作,但是当我使用sbt构建时,我得到了未解决的依赖错误:

[warn] :: org.slf4j #slf4j-api; 1.6.1:在org.slf4j中找不到配置#slf4j-api; 1.6.1:'compile'.它来自org.hibernate#hibernate-validator; 4.2.0.Final compile [warn] :: commons-codec#commons-codec; 1.4:在commons-codec#commons-codec中找不到配置; 1.4:'compile' .它是从org.apache.httpcomponents#HttpClient的需要; 4.1.2编译[警告] ::::::::::::::::::::::::::::::: ::::::::::::::: [error] {file:/ Users/george/work/play/gbraw /} gbraw/*:update:sbt.ResolveException:unresolved dependency:org.slf4j# slf4j-api; 1.6.1:在org.slf4j中找不到配置#slf4j-api; 1.6.1:'compile'.它来自org.hibernate #hibernate-validator; 4.2.0.Final compile [error] unresolved dependency:commons-codec#commons-codec; 1.4:在commons-codec中找不到配置#commonc-codec; 1.4:'compile ".它来自org.apache.httpcomponents#httpclient; 4.1.2编译

我删除了我的.sbt目录(来自早期的sbt安装),但没有快乐.我确信我有一些我不应该有的东西,但我很欣赏任何关于在哪里寻找的指导......

谢谢

scala sbt playframework

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

在Java中使用10.8通知中心

这只是一个普遍的问题.我没有实际的项目或其他我想做的事情.是否可以在Java中构建应用程序并添加一些框架内容或其他内容并使用Notication Center?

java macos notifications osx-mountain-lion

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

如何在scala中将Int作为有序的参数化

我有一个参数化类型的类,我想做比较运算符.我认为我需要使用Ordered trait来实现这一点,但编译器不喜欢我使用它.所以说我有以下课程:

class Test[T <: Ordered[T]] {

  def someOp(t: T) if(t < 3) ...
  ...
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试使用此类如下:

val test = new Test[Int]()
Run Code Online (Sandbox Code Playgroud)

编译器抱怨如下:

类型参数[Test [Int]]不符合类Test的类型参数bounds [T <:Ordered [T]]

有人可以向我解释我在这里做错了什么吗?

scala

18
推荐指数
2
解决办法
3921
查看次数

如何以正确的方式关闭插座?

这是一个简单的TCP服务器.程序终止后如何关闭套接字?我使用try/finally并尝试关闭套接字.但是当我退出程序时它不会运行finally块.

任何人都可以知道如何以正确的方式关闭插座?

try {
        socket = new ServerSocket(port);
        System.out.println("Server is starting on port " + port + " ...");
    }catch (IOException e){
        System.out.println("Error on socket creation!");
    }

    Socket connectionSocket = null;
    try{
        while(true){            
            try{
                connectionSocket = socket.accept();
                Thread t =  new Thread(new ClientConnection(connectionSocket));
                t.start();
            }catch (IOException e) {
                System.out.println("Error on accept socket!");
            }
        }
    }finally{
        this.socket.close();
        System.out.println("The server is shut down!");
    }
Run Code Online (Sandbox Code Playgroud)

java sockets tcp

17
推荐指数
3
解决办法
8万
查看次数

如何在Scala REPL中访问最后的结果?

在python REPL中我可以做以下事情:

>>> [1,2,3,4]
[1, 2, 3, 4]
>>> sum(_)
10
Run Code Online (Sandbox Code Playgroud)

在clojure REPL中,我可以这样做:

user=> "Hello!"
"Hello!"

user=> *1
"Hello!"
Run Code Online (Sandbox Code Playgroud)

Scala REPL中有类似的东西吗?

scala clojure read-eval-print-loop

17
推荐指数
2
解决办法
1625
查看次数

使用leiningen安装库而不创建项目

我正在学习Clojure并且来自Ruby背景.

我正在寻找类似的东西gem install <library>.各种各样的咒语lein install似乎都不适合这个法案.

有没有办法简单地在本地安装库,以便可以在REPL中引用它而无需创建项目?

clojure leiningen

17
推荐指数
2
解决办法
3087
查看次数

sbt依赖解析器与基本身份验证

我有基本授权的maven存储库的nginx.

我的build.sbt有:

credentials += Credentials("maven repository", "rep.com", "sbt", "password")

resolvers ++= Seq(
  "maven repository" at "http://rep.com:8080/"
)
Run Code Online (Sandbox Code Playgroud)

但是,sbt找不到模块,因为sbt不使用基本授权.

我的nginx日志看起来像:

012/07/22 20:02:21 [error] 3338#0: *14 no user/password was provided for basic authentication, client: 8.32.39.29, server: rep.com, request: "HEAD /some/cool_2.9.1/0.1-SNAPSHOT/cool_2.9.1-0.1-SNAPSHOT.pom HTTP/1.1", host: "rep.com:8080"
Run Code Online (Sandbox Code Playgroud)

我不想通过nginx发布工件.基本身份验证只需要限制访问工件.

如何在sbt中限制访问和使用存储库?

basic-authentication ivy sbt

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