小编Alp*_*ran的帖子

检查mongoDB中的批量是否为空

有没有办法在调用.execute()之前检查Mongodb批量是否有一些操作要做?我很确定我不会发送任何空对象插入,但在一个文档上不断出现此错误

Invalid Operation, No operations in bulk
Run Code Online (Sandbox Code Playgroud)

这是一些代码:

bulk.find({"AcctSessionId":insert['AcctSessionId']}).upsert().update({$set:insert});  
Run Code Online (Sandbox Code Playgroud)

和insert对象看起来像这样

{ AcctStatusTypeU: '3',
  AcctSessionId: '1183628512-105130252',
  h323setuptimeU: '<sip:27117929995@41.66.146.252>',
  h323connecttimeU: Sun Mar 08 2015 19:30:37 GMT+0100 (CET),
  AcmeSessionEgressRealmU: '620',
  AcmeSessionIngressRealmU: 'CORE_PSX' 
}
Run Code Online (Sandbox Code Playgroud)

我看到我的对象插入但仍然出现此错误.顺便说一下,这是我正在讨论的Nodejs驱动程序,我正在使用UNorderedBulkOp来插入文档.

mongodb node.js

12
推荐指数
2
解决办法
3761
查看次数

将http请求/响应模型与异步队列连接

将同步http请求/响应模型与基于异步队列的模型连接起来的好方法是什么?

当用户的HTTP请求到来时,它会生成一个进入队列的工作请求(在本例中为beanstalkd).其中一名工人接受请求,完成工作并准备回复.

队列模型不是请求/响应 - 只有请求,而不是响应.所以问题是,我们如何才能最好地将响应反馈回HTTP世界并返回给用户?

思路:

  1. Beanstalkd支持轻量级主题或队列(他们称之为管).我们可以为每个请求创建一个管,让工作人员在该管上创建一条消息,让http进程坐下并等待管的响应.不要特别喜欢这个,因为它有apache进程坐着记忆.

  2. 让http客户端轮询响应.用户的初始HTTP请求将启动队列上的作业并立即返回.客户端(用户的浏览器)定期轮询响应.在后端,工作人员将其响应放入memcached,我们将nginx连接到memcached,因此轮询很轻.

  3. 使用Comet.类似于第二个选项,但与更高级的http通信,以避免轮询.

我倾向于2,因为它很容易且很清楚(我还没有用过彗星).我猜我可能还有一个更好的模型,我没有想过.你怎么看?

queue comet http beanstalkd

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

这个Runnable是否可以防止内存泄漏?

我是Java的初学者,并创建了一个简单的Java Android代码片段,在1.5秒后我在Runnable中将TextViewfrom 更改Hello WorldHola Mundo.它完美无缺,基本上WeakReference应该防止这种内存泄漏发生吗?我怀疑是否在设备方向发生时绝对没有内存泄漏.我很想检查这个,但无法在我模拟的Android中改变方向.

这是代码:

package com.example.helloworld;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;
import android.util.Log;
import java.lang.ref.WeakReference;

public class HelloWorldActivity extends Activity
{
    private Handler h = new Handler();
    private static TextView txtview;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        txtview = (TextView) findViewById(R.id.mainview);

        h.postDelayed(new WeakRunnable(txtview),1500);
    }

    private static final class WeakRunnable implements Runnable {
        private final WeakReference<TextView> mtextview; …
Run Code Online (Sandbox Code Playgroud)

java android memory-leaks weak-references runnable

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

使用ajax上传图片

我知道,有很多教程,但我无法弄清楚如何使它们工作.

我有一个文件上传的输入表单:

<input onChange="userPreviewImage(this)" type="file" accept="image/*" style="display:none"/>
Run Code Online (Sandbox Code Playgroud)

有我的Javascript代码

function userPreviewImage (fileInput) {
    save = true;
    var files = fileInput.files;
    var file = files[0];
    current = file;
    var imageType = /image.*/;
    var img = document.createElement("img");

    img.classList.add("obj");
    img.classList.add("preview");
    img.file = file;

    var reader = new FileReader();
    reader.onload = (function(aImg) { 
        return function(e) { 
            aImg.src = e.target.result; 
        }; 
    })(img);
    reader.readAsDataURL(file);
}
Run Code Online (Sandbox Code Playgroud)

结果我有img,这是一个<img src="data:image/png;base64...">我可以打印出来的对象.

我已经使用了一段时间,但现在我需要改变工作流程.我现在的目标是打印图像,将其源发送到服务器(服务器代码工作正常).我无法弄清楚如何从我拥有的图像源(只是data:image/png;base64...部分).有人可以给我一个提示吗?

javascript ajax jquery

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

什么是String.LegacyMode属性?

当我反编译String.IndexOf (String)方法时,我看到了这个;

[__DynamicallyInvokable]
public int IndexOf(string value)
{
  return this.IndexOf(value, string.LegacyMode ? StringComparison.Ordinal : StringComparison.CurrentCulture);
}
Run Code Online (Sandbox Code Playgroud)

在第二个参数定义中:

  • 如果string.LegacyModetrue,StringComparison.Ordinal则进行评估.
  • 如果string.LegacyModefalse,StringComparison.CurrentCulture则进行评估.

但究竟是String.LegacyMode什么意思呢?

当我反编译这个属性时,我看到了这个:

internal static bool LegacyMode
{
  get
  {
    return CompatibilitySwitches.IsAppEarlierThanSilverlight4;
  }
}
Run Code Online (Sandbox Code Playgroud)

我首先在Google上搜索了String.LegacyModeCompatibilitySwitches.IsAppEarlierThanSilverlight4但我找不到任何有用的信息.

你能开导我吗?

.net c# string legacy

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

"new()"在"静态"内部做了什么,"静态"单独如何不抛出编译/运行错误?

我做了一个非常简单的Scala程序,只打印Hello World:

object HelloWorldActivity {
    def main(args: Array[String]) {
        println("Hello, world")
    }
}
Run Code Online (Sandbox Code Playgroud)

为了理解Scala如何转换为Java字节码,我反编译了生成的jar文件,其中有两个文件:HelloWorldActivity.classHelloWorldActivity$.class.

第一个包含此代码:

import scala.reflect.ScalaSignature;

@ScalaSignature(bytes="****************")
public final class HelloWorldActivity
{
  public static void main(String[] paramArrayOfString)
  {
    HelloWorldActivity..MODULE$.main(paramArrayOfString);
  }
}
Run Code Online (Sandbox Code Playgroud)

而第二个包含:

import scala.Predef.;

public final class HelloWorldActivity$
{
  public static final  MODULE$;

  static
  {
    new ();
  }

  public void main(String[] args)
  {
    Predef..MODULE$.println("Hello, world");
  }

  private HelloWorldActivity$()
  {
    MODULE$ = this;
  }
}
Run Code Online (Sandbox Code Playgroud)

我无法理解的是以下内容:

  static
  {
    new ();
  }
Run Code Online (Sandbox Code Playgroud)

将 …

java decompiling scala

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

反汇编Scala代码

我该如何反汇编Scala代码?可以在没有首先构建Jar并对生成的.class文件进行反编译的情况下完成吗?有没有其他更快的方法来做到这一点?

对于Python dis ,可以使用如下:

def myfunc(alist):
    return len(alist)

>>> dis.dis(myfunc)
  2           0 LOAD_GLOBAL              0 (len)
              3 LOAD_FAST                0 (alist)
              6 CALL_FUNCTION            1
              9 RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)

scala disassembly

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

计算输入中数字的幂

我正在用Java编写一个练习程序,以便将一个数字提升到另一个.在不知不觉中,我犯了一个特殊的错误.然而,无论我给出的输入,答案仍然是正确的.下面是一段代码.

public static void main(String args[])
{
    int count;
    int num1, num2, result = count =1;
    try(Scanner n1 = new Scanner(System.in))
    {
        System.out.println("Enter the 1st number");
        num1 = n1.nextInt();
        System.out.println("Enter the 2nd number");
        num2 = n1.nextInt();
    }
    while(count<=num2)
    {
        if(num2!=0)
        {
            result = num1*result;
            count++;
        }
        else
        {
            System.out.println(num1+" to the power "+num2+" is "+num1);
        }
    }
    System.out.println(num1+" to the power "+num2+" is "+result);
}
Run Code Online (Sandbox Code Playgroud)

关于到底发生了什么,我真的很疯狂.为什么语句"System.out.println(num1 +"到power"+ num2 +"是"+ num1)"没有打印num1的值.

以下是输出:

 {
 Enter the 1st number
 100
 Enter the 2nd …
Run Code Online (Sandbox Code Playgroud)

java

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

使用Any vs特定参数类型是否有任何陷阱?

假设我要输出的方法的东西,在这种情况下,字符串或整数.我可以这样做:

def outString(str: String) {
    str // or "return str"
}
Run Code Online (Sandbox Code Playgroud)

并像这样运行: outString("foo")

但我也可以避免将特定类型初始化为参数,它会起作用:

def outString(str: Any) {
    str
}
Run Code Online (Sandbox Code Playgroud)

并运行它像这样:outString("foo")outString(123).

鉴于它们都工作并假设你并不总是知道所传递的Any参数的类型,使用特定参数类型是否有任何陷阱?是否Any做检查类似解释的语言也将减缓对代码进行任何类型的自动型的?

types arguments scala

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