小编use*_*837的帖子

如何使用mongodb-java-driver进行upsert

如何使用java-driver将数据插入mongodb集合?

我尝试(空收集):

db.getCollection(collection).update(new BasicDBObject("_id", "12"), dbobject, true, false);
Run Code Online (Sandbox Code Playgroud)

但文档是使用_id == ObjectID(...)创建的.不是"12"值.

此代码(js)按预期添加_id ="12"的文档

db.metaclass.update(
   { _id:12},
   {
     $set: {b:1}
   },
   { upsert: true }
)
Run Code Online (Sandbox Code Playgroud)

蒙戈-java的驱动程序2.11.2

java upsert mongodb

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

查找关节点组

我有一些无向图,我试图找到清晰点.有例子

IMG1

它有一个关节点 - 顶点#2.

但我也想找到#4和#5作为清晰组点.因为联合移除#4,#5也将图形切割成未连接的子图.我想象示例图作为3个连接的子图.

IMG2

我怎样才能找到指定的切点?

algorithm graph graph-algorithm

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

直接连接2个或更多Android客户端

我想通过p2p连接连接2个或更多Android设备.据我所知,我可以在一个wifi网络下使用Wi-Fi Direct https://developer.android.com/guide/topics/connectivity/wifip2p.html

但我想连接位于不同地方但可能只有一个IP(vpn或其他)的Android客户端.我怎样才能做到这一点?

这是我的算法

Client_1 register its name and current IP on Server
Client_2 register its name and current IP on Server
Client_1 request registred IP from Server by Client_2 name
Client_2 request registred IP from Server by Client_1 name
Client_1 send message directly to Client_2 IP
Run Code Online (Sandbox Code Playgroud)

如果Client_1和Client_2具有相同的IP,则此算法将不起作用.或者如果客户端在NAT后面.

是否有现成的库以这种方式连接2个或更多Android设备?

networking android p2p wifi-direct

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

如何设置并行集合的线程号?

我可以像这样并行运行scala的foreach:

val N = 100
(0 until N).par.foreach(i => {
   // do something
})
Run Code Online (Sandbox Code Playgroud)

但是如何设置线程号?我想要这样的东西:

val N = 100
val NThreads = 5
(0 until N).par.foreach(NThreads, i => {
   // do something
})
Run Code Online (Sandbox Code Playgroud)

parallel-processing scala

7
推荐指数
2
解决办法
4045
查看次数

使用身份验证的httpget请求

我试着用代码制作http get request:

String username = "test\\v100";
String host = "1.2.3.4";
String password = "pass";

HttpClient client = new DefaultHttpClient();

AuthScope as = new AuthScope(host, 90);
UsernamePasswordCredentials upc = new UsernamePasswordCredentials(username, password);

((AbstractHttpClient) client).getCredentialsProvider().setCredentials(as, upc);

BasicHttpContext localContext = new BasicHttpContext();

BasicScheme basicAuth = new BasicScheme();
localContext.setAttribute("preemptive-auth", basicAuth);

HttpHost targetHost = new HttpHost(host, 90, "http");

HttpGet httpget = new HttpGet("/");

HttpResponse response = client.execute(targetHost, httpget, localContext);
Run Code Online (Sandbox Code Playgroud)

但是在最后一行获得异常"java.net.SocketException:Permission denied".

Android-2.2与eclipse IDE.

主机系统中的卷曲请求

curl -u test\v100:pass "http://1.2.3.4:90"
Run Code Online (Sandbox Code Playgroud)

工作良好.

如何以正确的方式提出http请求?

谢谢!

java android http

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

无法编译mongo-c-driver示例

我尝试编写简单的mongo c客户端.源文件(ac):

#include <stdio.h>
#define MONGO_HAVE_STDINT
#include <mongo.h>

void mongo_init_c(mongo *con)
{
  mongo_init(con);
}

int main() {
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我尝试编译它:

gcc -I/usr/local/include -L/usr/local/lib -lmongoc a.c
Run Code Online (Sandbox Code Playgroud)

但得到一个错误:

a.c:(.text+0xd): undefined reference to `mongo_init'
Run Code Online (Sandbox Code Playgroud)

文件/usr/local/include/mongo.h和/usr/local/lib/libmongoc.so存在

我怎样才能正确编译ac?

ps mongo-2.0.4,gcc-4.6,mongo-c-driver - 从github拉出来

更新

$ nm /usr/local/lib/libmongoc.so | grep init

000034e0 T _init
0000dd10 T bson_init
0000c740 T bson_init_data
0000c7b0 T bson_init_finished_data
0000dc10 T bson_init_size
0000d060 T bson_iterator_init
0000a5e0 T gridfile_init
00009af0 T gridfile_writer_init
000095e0 T gridfs_init
00010a18 R initialBufferSize
00005f40 T mongo_cursor_init
00008da0 T …
Run Code Online (Sandbox Code Playgroud)

c mongodb mongo-c-driver

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

java中的通用仿函数类

我想要像这样的仿函数类:

public class Functor<T, R> { 
    public R invoke(T a) { ... }
}
Run Code Online (Sandbox Code Playgroud)

另外两个论点是:

public class Functor<T1, T2, R> { 
    public R invoke(T1 a, T2 b) { ... }
}
Run Code Online (Sandbox Code Playgroud)

等等.

在C#我可以写:

class Functor<T> { ... }
class Functor<T1, T2> { ... }
Run Code Online (Sandbox Code Playgroud)

但在Java中,这将是一个错误:

The type Functor is already defined
Run Code Online (Sandbox Code Playgroud)

java中多参数泛型类的最佳实践是什么?

java generics functor

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

如何关闭活动而不实际完成?

我想要:

open 1, 2, 3 activities
1 > 2 > 3  

back to #2
1 > 2

open #4 activity
1 > 2 > 4

back to #2
1 > 2

restore #3 activity
1 > 2 > 3
Run Code Online (Sandbox Code Playgroud)

"恢复"表示打开以前关闭的活动而不重新创建.我怎样才能做到这一点?

谢谢!

java android

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

"没有可用于类型的清单"错误

我尝试编写一些Scala类

abstract class A { var a : Int = _}
class B[T] extends A { var b : T = _ }
class C[T] extends A { var c : T = _ }
class Abc[T : Manifest] {
    var array : Array[T] = _
    def this(capacity : Int, f : Unit => T) = {
        this()
        array = new Array[T](capacity)
        for(i <- 0 until capacity)
            array(i) = f()
    }
}

class Xyz[T] { 
    var m : Abc[C[T]] = …
Run Code Online (Sandbox Code Playgroud)

scala

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

插槽定义的其他属性

http://mop.lisp.se/concepts.html说:

实现可以自由地向规范化插槽规范添加其他属性,前提是这些属性不是在common-lisp-user包中可访问的符号,或者是由ANSI Common Lisp标准中定义的任何包导出的.

用例子:

(defclass sst (plane)
     ((mach mag-step 2
            locator sst-mach
            locator mach-location
            :reader mach-speed
            :reader mach))
  (:metaclass faster-class)
  (another-option foo bar))
Run Code Online (Sandbox Code Playgroud)

但当我尝试:

(defclass a () ((x my-option 123)))
Run Code Online (Sandbox Code Playgroud)

SBCL编译错误:

初始化参数无效:调用类时的MY-OPTION

                SB-MOP:STANDARD-DIRECT-SLOT-DEFINITION>.    
Run Code Online (Sandbox Code Playgroud)

[SB-PCL型的条件:: INITARG-ERROR]

所以问题.如何在插槽定义中添加其他属性(如"my-option")?

lisp common-lisp clos

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

List <T> vs array perfomance

我尝试设置List <int>值

List< int > a;
//...
a[i] = X;
Run Code Online (Sandbox Code Playgroud)

ilspy显示设置编译为:

callvirt instance void class [mscorlib]System.Collections.Generic.List`1<int32>::set_Item(int32, !0)
Run Code Online (Sandbox Code Playgroud)

但是这段代码

int[] b;
//...
b[i] = Y;
Run Code Online (Sandbox Code Playgroud)

编译成

stelem.i4
Run Code Online (Sandbox Code Playgroud)

用我的基准测试,它的速度提高了7倍.

据我所知,虚拟通话比stelem更贵.是否可以使用List <T>与数组perfomace

更新

码:

   static void Main(string[] args)
    {
        int N = int.Parse(args[0]);
        int M = int.Parse(args[1]);

        var sw = new Stopwatch();
        sw.Start();
        int[] a = new int[N];
        for (int k = 0; k < M; ++k)
        {
            for (int i = 0; i < N; ++i)
            {
                a[i] = i * 2; …
Run Code Online (Sandbox Code Playgroud)

.net c# performance bytecode generic-list

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

cholrank1 更新与 LDL 分解

我有对称正定(SPD)矩阵的cholrank1 更新程序(维基百科)。

function [L] = cholupdate(L,x)
    p = length(x);
    for k=1:p
        r = sqrt(L(k,k)^2 + x(k)^2);
        c = r / L(k, k);
        s = x(k) / L(k, k);
        L(k, k) = r;
        L(k+1:p,k) = (L(k+1:p,k) + s*x(k+1:p)) / c;
        x(k+1:p) = c*x(k+1:p) - s*L(k+1:p,k);
    end
end
Run Code Online (Sandbox Code Playgroud)

它与 LL 分解一起使用。我尝试修复处理 LDL 分解的程序(即不调用 sqrt),如下所示:

function [L] = cholupdate_ldl(L,x)
    p = length(x);
    for k=1:p
        r = L(k,k) + x(k)^2;
        c = r / L(k, k);
        s = x(k) / L(k, k);
        L(k, …
Run Code Online (Sandbox Code Playgroud)

matlab matrix linear-algebra

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

创建位图的java.lang.outofmemoryerror

我收到大图像(png,> 30Mb)并为其创建位图.并获取java.lang.OutOfMemoryError.我试图抓住这样的例外:

try {
    Bitmap bmp = BitmapFactory.decodeStream(someStream);
} catch (OutOfMemoryError e) {
    ;
}
Run Code Online (Sandbox Code Playgroud)

使用2.2 SDK它运作良好.但2.3应用程序失败,未捕获异常.我不明白,为什么?

谢谢!

java android

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