小编Eth*_*lis的帖子

为什么Mathematica在定义参数时使用下划线?

例如,如果我正在定义以下函数

exprod[n_] := Expand[Product[x + i, {i, 1, n}]]
Run Code Online (Sandbox Code Playgroud)

那么为什么变量n之后的下划线是函数定义中必需的?这种风格来自哪里,还是仅限于Mathematica编程语言?

wolfram-mathematica mathematica-8

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

使用Java和awt.Robot时提高屏幕捕获速度

编辑:如果任何人还有任何其他建议,以提高屏幕捕获性能,请随意分享,因为它可能完全解决我的问题!

你好开发者,

我正在为自己制作一些基本的屏幕捕获软件.截至目前,我已经获得了一些概念/修补代码的证明,它使用java.awt.Robot将屏幕捕获为BufferedImage.然后我执行此捕获指定的时间,然后将所有图片转储到磁盘.从我的测试中我得到大约每秒17帧.

试验#1

时长:15秒拍摄的图像:255

试验#2

时长:15秒图像捕获:229

显然,这对于真正的屏幕捕获应用程序来说还不够好.特别是因为这些捕获只是在我的IDE中选择一些文本而没有任何图形密集的文本.

我现在有两个班级是Main类和一个"Monitor"类.Monitor类包含捕获屏幕的方法.我的Main类有一个基于时间的循环,它调用Monitor类并将它返回的BufferedImage存储到BufferedImages的ArrayList中.如果我修改我的主类来生成几个执行该循环的线程,并且还收集有关捕获图像的系统时间的信息,我可以提高性能吗?我的想法是使用一个共享数据结构,它将在插入时基于捕获时间自动对帧进行排序,而不是将连续图像插入到arraylist中的单个循环.

码:

监控

public class Monitor {

/**
 * Returns a BufferedImage
 * @return
 */
public BufferedImage captureScreen() {
    Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
    BufferedImage capture = null;

    try {
        capture = new Robot().createScreenCapture(screenRect);
    } catch (AWTException e) {
        e.printStackTrace();
    }

    return capture;
}
}
Run Code Online (Sandbox Code Playgroud)

主要

public class Main {


public static void main(String[] args) throws InterruptedException {
    String outputLocation = "C:\\Users\\ewillis\\Pictures\\screenstreamer\\";
    String namingScheme = "image";
    String mediaFormat = "jpeg";
    DiscreteOutput output …
Run Code Online (Sandbox Code Playgroud)

java java-2d awtrobot javax.imageio

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

nodejs googleapis,authClient.request不是一个函数

我正在一个函数中创建一个oauth2client,并返回它.我实际上传递了clien id,secret,redirect url和凭据.根据我的检查,这些都是正确的.

var OAuth2 = google.auth.OAuth2;
var oauth2Client = new OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL);
...
credentials = {
      access_token: accessToken,
      refresh_token: refreshToken
};
oauth2Client.setCredentials(credentials);
Run Code Online (Sandbox Code Playgroud)

然后我在返回oauth2client对象的函数中执行此操作:

var plus = google.plus('v1');
console.log(JSON.stringify(oauth_client));
plus.people.get({ userId: 'me' , auth: oauth_client}, function(err, response) {
    if(err) {
        console.log(err);
    } else {
        console.log(JSON.stringify(response));
        return response;
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,然后我收到一条错误消息,指出authClient.request不是函数.

TypeError:authClient.request不是createAPIRequest中的函数(/node_modules/googleapis/lib/apirequest.js:180:22)

我不确定为什么会出现这个错误.我也做了console.log(JSON.stringify(oauth_client))来检查请求函数,我没有看到任何.有人提到这不能显示完整的原型链,并且请求函数可能实际存在.

google-api node.js google-api-client meteor google-api-nodejs-client

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

如何在python中的活动连接上启动TLS?

以下是我在端口587上连接到gmail的smtp服务器的当前代码.发出STARTTLS命令后,我将如何完成协商TLS会话并开始发出命令,如AUTH LOGIN和MAIL FROM?我已经省略了我的Base64编码的gmail用户名,并将其替换为我的代码底部附近的xxxxxxxx.

我这个程序的输出是:

220 mx.google.com ESMTP y10sm3296641yhd.6

250-mx.google.com为您服务,[75.66.47.144]

250-SIZE 35882577

250-8BITMIME

250-STARTTLS

250 ENHANCEDSTATUSCODES

220 2.0.0准备启动TLS

from socket import *
import ssl
msg = "\r\n smtp.."
endmsg = "\r\n.\r\n"

# Mailserver hostname and port to be used.
mailserver = ("smtp.gmail.com", 587)


# Create a socket and create an active TCP connection with the mailserver
clientSocket = socket(AF_INET, SOCK_STREAM);
clientSocket.connect(mailserver)

# Read server response
recv = clientSocket.recv(1024)
print recv
if recv[:3] != '220':
    print '220 reply not received from server.' …
Run Code Online (Sandbox Code Playgroud)

python sockets ssl smtp

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

如何为msbuild.exe指定其他包含目录

我正在尝试安装nodejs模块ibm_db.我遇到的问题是,为了安装这个模块,node-gyp需要使用msbuild构建它,但它不会检测我安装的一些头文件.

如何将我的附加头文件的目录添加到某个路径,以便在尝试编译任何项目时,msbuild.exe会找到它们?在linux上我只是设置cpath =并且一切都很好.

谢谢!

msbuild node.js npm node-gyp

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

bootstrap3中文本输入字段的宽度

bootstrap3是否具有增加文本输入字段宽度的本机功能?

我知道在bootstrap2中我只是添加一个像input-lg这样的类来修改输入的宽度,但是在bootstrap3中这似乎只是增加了高度.

twitter-bootstrap twitter-bootstrap-3

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