小编Som*_*ing的帖子

Eclipse:无法从 Java 角度终止进程

我正在 Unix 中的 Eclipse 中开发一个 Java 项目,并从 IDE 运行该项目。该过程似乎会永远运行,并且不会响应我点击红色“停止”按钮。我真的想避免重新启动我的 IDE。谁能建议如何杀死嵌入式进程?

截屏

java unix eclipse

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

Perl:使用'splice()'VS链表的数组插入的性能

我有一个脚本,我使用Perl数组.每个数组包含数十万个项目.

我经常需要在数组中间动态添加项目,或从中删除项目.

我想了解我是否更好地使用链接列表而不是Perl数组,因为我经常插入和删除

所以我的问题是:

  • 如何splice()实施?
  • splice()当用于在Perl数组中将项x插入索引时,复杂性是多少i
  • 你能推荐一个你曾经使用过的Perl链表模块吗?

谢谢!

arrays perl performance linked-list

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

Qt,C++:QListWidget内部拖放 - 如何连接信号?

我使用Qt用C++编写,我有一个列表小部件.

我启用了内部拖放功能,使用:

list->setDragDropMode(QAbstractItemView::InternalMove);
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能捕捉到这样一个拖放动作完成的信号?

谢谢!

c++ qt drag-and-drop

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

Java:相当于Python的str.format()

在Python中,有一种非常好的方法可以简化字符串的创建,使代码美观可读.

例如,将打印以下代码 ExampleProgram -E- Cannot do something

print_msg('E', 'Cannot do something')
def print_msg(type, msg):
    print 'ExampleProgram -{0}- {1}'.format(type, msg)
Run Code Online (Sandbox Code Playgroud)

即我可以使用{x}语法在字符串中指定"slots" ,其中x是参数索引,然后返回一个新字符串,在该字符串中,它将这些插槽替换为传递给.format()方法的参数.

目前有了我的Java知识,我会以这种丑陋的方式实现这样的方法:

void printMsg(String type, String msg) {
    System.out.println("ExampleProgram -" + type + "- " + msg);
}
Run Code Online (Sandbox Code Playgroud)

有没有相当于Python的.format()字符串方法的东西?

python java string

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

C++ - 如何判断地图中的地图中是否存在某个键

我有以下结构:

std::map<int, std::map<int, int>> my_map;
Run Code Online (Sandbox Code Playgroud)

我想检查密钥是否my_map[3][5]存在。

除了以下方法之外,还有更简单/更短的方法吗?

if (my_map.find(3) != my_map.end()) {
    std::map<int, int>& internal_map = my_map[3];
    if (internal_map.find(5) != internal_map.end()) {
        // ... Do something ...
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ stl

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

OpenCV:从所有像素中减去相同的 BGR 值

我有一些 BGR 图像:

cv::Mat image;
Run Code Online (Sandbox Code Playgroud)

我想从图像中的所有像素中减去向量:

[10, 103, 196]
Run Code Online (Sandbox Code Playgroud)

这意味着所有像素的蓝色通道将减少 10,绿色通道将减少 103,红色通道将减少 196。

是否有标准方法可以做到这一点,或者我应该在所有通道和所有像素上运行 for 循环?

opencv

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

Python Regex:regex的“ re.match()”与“ re.sub()”不同

我正在尝试检查我的字符串是否包含一些正则表达式。

奇怪的是,虽然re.sub()会找到正则表达式并将其替换,re.match()但不会返回任何结果...

这是我的用法:

re.match():-尝试匹配模式,\s*param2-不返回任何内容

>>> str = 'func(param1, param2)'
>>> str
'func(param1, param2)'
>>> results = re.match(r',\s*param2', str)
>>> print(results)
None
Run Code Online (Sandbox Code Playgroud)

re.sub():-用,\s*param2“ hello” 成功替换相同的模式

>>> str = 'func(param1, param2)'
>>> str
'func(param1, param2)'
>>> new_str = re.sub(r',\s*param2', ' hello', str)
>>> new_str
'func(param1 hello)'
Run Code Online (Sandbox Code Playgroud)

如何在,\s*param2不替换的情况下匹配模式?

python regex

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

将"CV_32FC2"类型的矩阵转换为"CV_32FC1"类型

我有一个a类型的矩阵CV_32FC2.

我试图将它转换为一个b带有类型的新矩阵CV_32FC1,但似乎矩阵b也得到了CV_32FC2.

代码示例和输出:

cv::Mat b;
a.convertTo(b, CV_32FC1);
std::cout << a.type() << " " << b.type() << std::endl;
Run Code Online (Sandbox Code Playgroud)

产生输出:

13 13
Run Code Online (Sandbox Code Playgroud)

我希望b改变的类型5,即枚举值CV_32FC1

opencv

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

Jersey服务器:返回一个字符串和一个非200返回码

我有以下方法:

@GET
@Path("/myFunc")
public String myFunc(@QueryParam("input") String input) {
    if (! input.startsWith("123")) {
        return "Usage error: input must start with '123'";
    }
    return "Success";
}
Run Code Online (Sandbox Code Playgroud)

问题在于逻辑上,当我返回字符串时"Usage error: input must start with '123'",返回代码是200.如何更改它,以便我可以返回字符串,同时将返回代码更改为400?

java jersey

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

for 循环中列表项未更改

当以下代码没有达到我预期的效果时,我感到震惊:

lines_list = ['this is line 1\n', 'this is line 2\n', 'this is line 3\n']
for line in lines_list:
    line = line.strip()
Run Code Online (Sandbox Code Playgroud)

PerlJava中,我的用法效果很好。Python 是具有独特行为的Python。

在 Java 中,这将起作用:

lines_list = ['this is line 1\n', 'this is line 2\n', 'this is line 3\n']
for line in lines_list:
    line = line.strip()
Run Code Online (Sandbox Code Playgroud)

在 Perl 中,这将起作用:

String[] lines = {"this is line 1\n", "this is line 2\n", "this is line 3\n"};
for (String line : lines) {
    line = line.trim();
} …
Run Code Online (Sandbox Code Playgroud)

python loops list

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

创建在 Web 浏览器上运行的桌面应用程序

去年,我了解到许多开发人员开始开发在 Web 浏览器上运行的桌面应用程序。

我也试图进入它,我试图了解我应该如何开始这种开发。

我首先想我应该创建一个常规的客户端-服务器应用程序,即使用 Apache Tomcat 或 PHP,并且每次启动应用程序时,在本地主机上启动一个新服务器并打开将加载应用程序的浏览器。

我最近了解到有一些软件包可以为您完成服务器-客户端工作,例如 node-webkit。

我不知道从哪里开始,我很困惑......

当开发人员说他们使用 Javascript 或在 Web 浏览器上运行的桌面应用程序开发桌面应用程序时 - 他们是否可能意味着使用 node-webkit?或者他们是否执行我上面描述的复杂结构(本地主机上的 JSP/PHP 服务器)?

javascript node.js node-webkit

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

C++:从静态方法调用继承的静态方法

考虑以下抽象类AbstractEngine:

class AbstractEngine {
    static void init();
    static std::string getName();
};
Run Code Online (Sandbox Code Playgroud)

并考虑以下2个实现者类:

class Engine1 : public AbstractEngine  {   
    static std::string getName();
};

class Engine2 : public AbstractEngine {   
    static std::string getName();
};
Run Code Online (Sandbox Code Playgroud)

并且,init()函数应该getName()根据类的类型调用正确的:

void AbstractEngine::init() {
    std::cout << getName() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

例如,如果我打电话Engine1::init(),我希望它打电话Engine1::getName()而不是AbstractEngine::getName()

我怎样才能AbstractEngine::init()真正调用正确的实现getName()

c++ polymorphism inheritance

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

按值将std :: thread推入列表

我的代码如下所示:

#include <list>
#include <thread>

void my_function(int val) {
    // Empty function
}

int main() {
    std::list<std::thread> threads;
    for (int i = 0 ; i < 10 ; i++) {
        threads.push_back(std::thread(my_function, i));
    }

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

我使用的事实threads.push_back()意味着我运行了复制构造函数std::thread::thread(const thread&).

  • 安全吗?

  • 我应该用std::move吗?

请假设我事先并不知道我需要多少线程,所以用数组或者用一个替换列表std::vector对我来说不是一个选项(std::vector只有当我知道线程的数量时才会有一个选项)前进,因为我买不起矢量的realloc操作).

c++ multithreading stdthread

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