小编fis*_*000的帖子

使用jQuery.data()存储WebSocket连接句柄对象时出现的问题 - 最好的做法是什么?

我有一个异步队列工作程序在我的服务器上作为Tornado脚本运行 - 它托管了Tornado的PeriodicTask的子类,它使用来自Redis的事件.为了监视队列,我tornado.websocket.WebSocketHandler在URL上设置了一个子类,然后将客户端WebSocket JavaScript封装在一个jQuery插件中(这里是完整的代码).

我们的想法是,您可以在服务器上拥有多个队列,因此您可以使用jQuery模块来设置专门监视该队列的窗口小部件.目前,逻辑很简单 - 小部件仅表示在目标队列中排队了多少个任务.

这是有问题的初始化代码:

    /* init: */ function (_options) {
    options = $.extend(options, _options);
    var self = this;

    self.data('recently', [0,0,0,0,0,0,0,0,0]);
    self.data('options', options);
    self.data('sock', null);

    var sock = null;
    if ('endpoint' in options && options['endpoint']) {
        sock = new WebSocket(options['endpoint']);
        sock.onopen = function () {};
        sock.onclose = function () {};
        sock.onmessage = function (e) {
            var d = $.parseJSON(e.data);
            if (options.queuename in d) {
                var qlen = d[options.queuename]
                lastvalues = self.data('recently');
                lastvalues.shift();
                lastvalues.push(qlen); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery tornado long-polling websocket

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

如何在Python包的distutils安装的构建阶段编译CoffeeScript?

我正在研究一个Python Django软件包,其前端组件使用了一些CoffeeScript.

现在,我有一个相当脑死的外部脚本来处理CoffeeScript编译.它只是coffee为src/coffee /目录中的每个*.coffee文件运行一个编译命令,并将输出存储在src/static/js中 - 这类似于如何python ./setup.py build_ext --inplace在开发源代码树中存储C扩展的构建文件.

这现在有效,但它非常俗气 - 它强制平面目录结构,并修改src/static中的文件(这与"静态"暗示的相反).

我希望最大限度地了解事物,所以我考虑修改distutils.ccompiler.CCompiler为coffee作为setup.py"build_ext"子命令的子命令运行 - 我设想能够执行以下操作:

% python ./setup.py build_coffee
% python ./setup.py build_coffee --inplace
% python ./setup.py build_ext --inplace # implying 'build_coffee --inplace'
Run Code Online (Sandbox Code Playgroud)

...但我发现distutils的编译器API太过专注于C编译的细微差别,在这种情况下没有模拟,例如预处理,链接等.我还查看了Cython的代码(特别是在Cython的CCompiler子类中,它预处理.pyx文件进入.c源代码)但这看起来同样专业,并不适合这种情况.

有没有人有一个很好的解决方案用distutils setup.py脚本编译CoffeeScript?或者,除此之外,一个很好的替代建议?

python django distutils pypi coffeescript

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

比较url中的图像与python中文件系统中的图像

有没有一种快速简便的方法来进行这种比较?

我发现很少有来自stackoverflow的图像比较问题,但没有一个真正证明了这个问题的答案.

我的文件系统中有图像文件,还有一个从URL中获取图像的脚本.我想检查url中的图像是否与磁盘上的图像相同.通常我会将磁盘和url中的图像加载到PIL对象并使用我发现的以下函数:

def equal(im1, im2):
    return ImageChops.difference(im1, im2).getbbox() is None
Run Code Online (Sandbox Code Playgroud)

但是,如果使用PIL将图像保存到磁盘,即使将质量设置为100,它也会被压缩,但这不起作用im1.save(outfile,quality=100).

我的代码目前正在关注:http: //pastebin.com/295kDMsp 但图像总是最终重新保存.

python diff image-comparison image-processing python-imaging-library

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

Pip不知道numpy安装在哪里

正在尝试卸载numpy. 我试过了pip uninstall numpy。它告诉我它没有安装。但是,numpy仍然安装在/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy.

如何确保pip找到numpy包裹?

python numpy pip python-2.7 python-packaging

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

关于RAII,C++`try` /`catch`是否与其他块相同?

好吧,如果我使用RAII惯用语来管理某些上下文属性*,如果我在try块的开头裸体使用它,它是否会像我期望的那样工作?

换句话说,如果我有这个:

struct raii {
    raii() {
        std::cout << "Scope init"
                  << std::endl; }
    ~raii() {
        std::cout << "Scope exit"
                  << std::endl; }
};
Run Code Online (Sandbox Code Playgroud)

......我成功地使用它:

{
    raii do_the_raii_thing;
    stuff_expecting_raii_context();
    /* … */
}
Run Code Online (Sandbox Code Playgroud)

...如果我这样做,RAII实例将以相同的方式工作:

try {
    raii do_the_raii_thing;
    stuff_expecting_raii_context_that_might_throw();
    /* … */
} catch (std::exception const&) {
    /* … */
}
Run Code Online (Sandbox Code Playgroud)

这可能是一个愚蠢的问题,但我想在此检查自己的理智 - 我对noexcept保证的微妙之处以及其他与例外相关的细节感到模糊- 所以请原谅我的天真


[*]对于那些好奇的人来说,这是我在RAII管理的Python C-API狡猾的GIL(全球翻译锁),在我的具体案例中

c++ exception raii try-catch noexcept

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

否定 fnmatch 模式

考虑这一模式:*.py。它匹配所有以py扩展名结尾的路径。现在,是否有可能找到与其他所有内容相匹配的模式?

我认为这会做到:*[!.][!p][!y],但显然fnmatch.fnmatch总是False带着这个返回。

我想避免使用正则表达式。我知道我可以使用它们,但在这种情况下这是不可能的。

python glob fnmatch

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

PIL Image构造来自numpy数组的怪异图像 - 为什么?

我想要一种方法来生成红色,绿色或蓝色的小RGB方形图像.它应该产生坚固的色块,但PIL输出的图像非常奇怪.为什么?

import numpy as np
from PIL import Image

class MakeSquares():
    def __init__(self):

        self.num_rows = 3
        self.num_cols = 3

        self.colourmap = {'red': [255, 0, 0],
                      'green': [0, 255, 0],
                      'blue': [0, 0, 255]}

    def generateExample(self, label):
        arr = []
        colour = label
        colour_array = self.colourmap[colour]
        for i in range(0, self.num_rows):
            sarr = []
                for j in range(0, self.num_cols):
                    sarr.append(colour_array)
            arr.append(sarr)
        narr = np.asarray(arr)
        return narr

test = MakeSquares()
t = test.generateExample("red")
print t
testimage = Image.fromarray(t, "RGB")
testimage.save("testimage.jpg")
Run Code Online (Sandbox Code Playgroud)

此代码返回以下numpy数组:

[[[255 …
Run Code Online (Sandbox Code Playgroud)

python numpy image python-imaging-library pep3118

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

C++:关于重载operator new的一般想法

你operator new在C++中过载了吗?

如果是,为什么?

一个面试问题,我谦卑地请求你的一些想法.

c++ memory-management operator-overloading new-operator

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

对Django ImageFileField进行子类化

我有兴趣继承django的ImageFileField以允许访问图像IPTC元数据,如:

>>> from myapp.models import SomeModel
>>> obj = SomeModel.objects.all()[0] # or what have you
>>> obj.image.iptc['keywords']
('keyword','anotherkeyword','etc')
Run Code Online (Sandbox Code Playgroud)

... 文档说要阅读django的内部代码,我做了; 我试图生成一个有效的实现,我不知道我在做什么 - 我之前已经定义了自定义字段,但我无法为基于文件的字段提供样板设置.

我知道我需要定义一个attr_class和一个descriptor_class来使它工作.有没有人有一个直截了当的例子或建议,我可以开始使用它?

python django metadata image django-models

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

在Django中自动递增模型字段的值

我想问一个问题,我怎么能在django中增加一个模型字段.假设我有一个名为的模型

我的书签(请求):

  url=models.URLField()
  popularity=models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

然后通过使用Django模板我有

bookmarks.html

{%for list_tagg%}中的数据库

网址:{{database.url}}

热门:{{database.popularity}}

{%endfor%}

现在:如果有人点击链接(即bookmarks.html页面中的URL字段),我希望人气应该增加1.我怎么能这样做?有帮助吗?

django django-models django-orm

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

IntegerField 中只接受 11 位数字(不少于 11 位,不超过 11 位)

我有一个 IntegerField,我希望输入只接受 11 位数字/数字的值。

我试图在该领域制作一个正则表达式验证器,但我的问题是当我尝试使用该领域制作模型表单时。如果值为 10 位或更少,我只会收到验证错误,但如果我尝试使用 12 位及以上的值,则不会收到任何验证错误。

这是我的模型字段:

number =  models.IntegerField(max_length=11, validators=[RegexValidator(r'\d{11,11}','Number must be 11 digits','Invalid number')])
Run Code Online (Sandbox Code Playgroud)

如果值超过 11 位,我该如何做到这一点,以便我收到验证错误?

python regex django django-models django-validation

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

在JavaScript中生成唯一ID

我需要在javascript中生成一个保证唯一的id.原因是,我有一个有多个标签的应用程序.在每个选项卡中,可以是动态构建的表单.我想在每个表单的复选框中使用标签,但由于它是使用dom中相同复选框的多个动态构建的,因此我需要每个表单的唯一ID.如何实现这一目标?或者更好的是,有没有办法将标签分配给复选框而不需要ID?

javascript

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

为什么使用Python mmap模块要比从C++调用POSIX mmap慢得多?

C++代码:

#include <string>
#include <fcntl.h>
#include <sys/mman.h>
#include <unistd.h>
#include <sys/time.h>

using namespace std;
#define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)

int main() {
    timeval tv1, tv2, tv3, tve;
    gettimeofday(&tv1, 0);
    int size = 0x1000000;
    int fd = open("data", O_RDWR | O_CREAT | O_TRUNC, FILE_MODE);
    ftruncate(fd, size);
    char *data = (char *) mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
    for(int i = 0; i < size; i++) {
        data[i] = 'S';
    }
    munmap(data, size);
    close(fd);
    gettimeofday(&tv2, 0); …
Run Code Online (Sandbox Code Playgroud)

c++ python performance posix mmap

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