小编use*_*987的帖子

NumPy - frombuffer和fromstring有什么区别?

他们似乎给了我相同的结果:

In [32]: s
Out[32]: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

In [27]: np.frombuffer(s, dtype="int8")
Out[27]:
array([ 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
    0,  0,  0, 21,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0], dtype=int8)

In [28]: np.fromstring(s, …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

获取DLL文件的CLSID?

我想创建一个小应用程序来添加和删除注册表中的用户定义的上下文菜单项.为了实现这一点,我需要以某种方式获取任意DLL的CLSID,以便在写入新条目之前,如果它们存在,我可以备份它们.

虽然regsrv32不知怎的设法创造了这个神奇的数字,但我没有找到任何办法自己获得这个数字.

我希望有比这更好的东西:

  1. 扫描DLL名称的注册表
  2. 如果未找到,请注册,再次扫描,然后再次注销

如果DLL已重命名,我可以看到出现问题的可能性.

windows com dll clsid

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

使用nginx和uWSGI的多个服务器进程

我注意到你可以在nginx后面的一个uWSGI实例中启动多个进程:

uwsgi --processes 4 --socket /tmp/uwsgi.sock
Run Code Online (Sandbox Code Playgroud)

或者,您可以在不同的套接字上启动多个uWSGI实例,并使用nginx在它们之间实现负载平衡:

upstream my_servers {
    server unix:///tmp.uwsgi1.sock;
    server unix:///tmp.uwsgi2.sock;
    #...
}
Run Code Online (Sandbox Code Playgroud)

这两种策略有什么区别,而另一种策略是优先考虑的?

nginx(在第一种情况下)完成的负载平衡与uWSGI(在第二种情况下)完成的负载平衡有何不同?

nginx可以在多个主机上使用前端服务器.uWSGI可以在单个实例中执行此操作吗?某些uWSGI功能是否仅在单个uWSGI进程(即共享内存/缓存)中工作?如果是这样,可能很难从第一种方法扩展到第二种方法......

nginx uwsgi

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

寻路 - A*最少转弯

是否可以修改A*以返回最少匝数的最短路径?

一个复杂因素:节点不能再仅仅通过它们的位置来区分,因为它们的父节点与确定未来转弯相关,因此它们也必须具有与它们相关联的方向.

但我遇到的主要问题是如何将轮数转换为部分路径成本(g).如果我乘以乘以(t)的匝数,奇怪的事情就会发生:在接近末端的N转弯的较长路径优于较短的路径,在开始附近有N圈.

我正在考虑的另一个不太理想的解决方案是:在计算最短路径后,我可以运行第二次A*迭代(使用不同的路径成本公式),此时间限制在最短路径的x/y范围内,并返回转弯最少的路径.还有其他想法吗?

a-star path-finding

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

PostgreSQL - 在VIEW上加入慢查询

我正在尝试在表(玩家)和视图(player_main_colors)之间进行简单的连接:

SELECT P.*, C.main_color FROM players P
    OUTER LEFT JOIN player_main_colors C USING (player_id)
    WHERE P.user_id=1;
Run Code Online (Sandbox Code Playgroud)

此查询大约需要40毫秒.

这里我在VIEW上使用嵌套的SELECT而不是JOIN:

SELECT player_id, main_color FROM player_main_colors
    WHERE player_id IN (
        SELECT player_id FROM players WHERE user_id=1);
Run Code Online (Sandbox Code Playgroud)

此查询也需要约40毫秒.

当我将查询分成2个部分时,它会像我预期的那样变快:

SELECT player_id FROM players WHERE user_id=1;

SELECT player_id, main_color FROM player_main_colors
    where player_id in (584, 9337, 11669, 12096, 13651,
        13852, 9575, 23388, 14339, 500, 24963, 25630,
        8974, 13048, 11904, 10537, 20362, 9216, 4747, 25045);
Run Code Online (Sandbox Code Playgroud)

这些查询每个大约需要0.5毫秒.

那么为什么上面的查询与JOIN或子SELECT这么可怕的慢,我该如何修复呢?

以下是有关我的表格和视图的一些详细信息:

CREATE TABLE users (
    user_id INTEGER PRIMARY KEY, …
Run Code Online (Sandbox Code Playgroud)

postgresql performance query-optimization greatest-n-per-group postgresql-performance

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

管道使用WriteConsole的程序

我想调用_popen从可执行文件中获取结果,但它是在消隐.

我查看调试器,发现程序使用Kernel32.WriteConsoleW将unicode字符串写入控制台,而不是使用stdout.

我该如何捕获它?

c++ stdout pipe

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

Javascript和服务器端代码之间的常量重复

在我的项目中,我在JavaScript代码中定义的一些变量与在服务器上定义的变量相同(用其他语言编写)。我评论说,当一侧改变时,另一侧也应该改变。共享这些变量似乎很笨拙。

是否存在在JavaScript脚本和网站后端之间共享变量的标准方法?

我想到的一些选择:

  1. 如果幸运的话,请使用共享常量源文件,并且两种语言的语法都兼容。
  2. 作为构建过程的一部分,根据一种语言为另一种语言动态生成常量文件。
  3. 通过模板语言生成所有JavaScript。
  4. 将共享常量内联到HTML中,而不是将它们放入JavaScript文件中。

javascript web

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

JavaScript 类型注解

我正在使用 WebStorm 并遇到以下问题:

/** @type {HTMLCanvasElement} */
var buffered_canvas = document.createElement("canvas");
buffered_canvas.width = 256;
buffered_canvas.height = 256;
Run Code Online (Sandbox Code Playgroud)

当我将 buffered_canvas 注释为 HTMLCanvasElement 类型时,它会抱怨 createElement 返回一个无法分配给 HTMLCanvasElement 的 HTMLElement。

/** @type {HTMLElement} */
var buffered_canvas = document.createElement("canvas");
buffered_canvas.width = 256;
buffered_canvas.height = 256;
Run Code Online (Sandbox Code Playgroud)

当我将其更改为 HTMLElement 类型时,它会抱怨 HTMLElement 上未定义宽度和高度属性。

我该如何正确执行此操作?

另外——我是 JavaScript 的新手,无法找到任何真正的规范,例如 HTMLElement 及其具有的属性或 createCanvas 的方法签名以及它返回的类型。有时我会在 MDN 上找到不错的东西,但它们通常不包含方法签名或很多类型信息。这个东西有什么好的资源吗?

谢谢

javascript types webstorm

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

Python - 无法使用pandas和matplotlib绘制日期时间索引

我正在加载数据文件,提取某些列,并使用matplotlib将它们绘制为PDF.

当我将数据文件加载到Pandas中时,我得到一个DateTimeIndex.如果我以这种形式绘制数据,一切顺利.

当我根据时间选择数据子集时出现问题,即:

data = data.ix[data.index >= start_time]
data = data.ix[data.index <= end_time]
Run Code Online (Sandbox Code Playgroud)

现在当我去绘制数据时,pandas似乎已经改变了一些东西,因为DateTimeIndex是一个npdatetime64类型的数组,matplotlib显然不支持它并抛出错误.(在datetime.fromordinal中的东西)

我怎样才能解决这个问题?

我试过密谋:

data.index.value.astype(datetime)
Run Code Online (Sandbox Code Playgroud)

但这仍然会在matplotlib中引发错误!(Python int无法转换为C long)

有没有办法可以防止大熊猫在我使用它时破坏数据?

我使用的是Python 2.7,Numpy 1.7,pandas 0.11,matplotlib 1.2.1.

编辑:似乎我遇到了与此处所见相同的问题: 使用matplotlib绘制numpy datetime64

python numpy matplotlib pandas

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