我有一个异步队列工作程序在我的服务器上作为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) 我正在研究一个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?或者,除此之外,一个很好的替代建议?
有没有一种快速简便的方法来进行这种比较?
我发现很少有来自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
正在尝试卸载numpy. 我试过了pip uninstall numpy。它告诉我它没有安装。但是,numpy仍然安装在/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy.
如何确保pip找到numpy包裹?
好吧,如果我使用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(全球翻译锁),在我的具体案例中
考虑这一模式:*.py。它匹配所有以py扩展名结尾的路径。现在,是否有可能找到与其他所有内容相匹配的模式?
我认为这会做到:*[!.][!p][!y],但显然fnmatch.fnmatch总是False带着这个返回。
我想避免使用正则表达式。我知道我可以使用它们,但在这种情况下这是不可能的。
我想要一种方法来生成红色,绿色或蓝色的小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) 你operator new在C++中过载了吗?
如果是,为什么?
一个面试问题,我谦卑地请求你的一些想法.
我有兴趣继承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来使它工作.有没有人有一个直截了当的例子或建议,我可以开始使用它?
我想问一个问题,我怎么能在django中增加一个模型字段.假设我有一个名为的模型
我的书签(请求):
Run Code Online (Sandbox Code Playgroud)url=models.URLField() popularity=models.IntegerField()
然后通过使用Django模板我有
bookmarks.html
{%for list_tagg%}中的数据库
网址:{{database.url}}
热门:{{database.popularity}}
{%endfor%}
现在:如果有人点击链接(即bookmarks.html页面中的URL字段),我希望人气应该增加1.我怎么能这样做?有帮助吗?
我有一个 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 位,我该如何做到这一点,以便我收到验证错误?
我需要在javascript中生成一个保证唯一的id.原因是,我有一个有多个标签的应用程序.在每个选项卡中,可以是动态构建的表单.我想在每个表单的复选框中使用标签,但由于它是使用dom中相同复选框的多个动态构建的,因此我需要每个表单的唯一ID.如何实现这一目标?或者更好的是,有没有办法将标签分配给复选框而不需要ID?
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) python ×8
django ×4
c++ ×3
image ×2
javascript ×2
numpy ×2
coffeescript ×1
diff ×1
distutils ×1
django-orm ×1
exception ×1
fnmatch ×1
glob ×1
jquery ×1
long-polling ×1
metadata ×1
mmap ×1
new-operator ×1
noexcept ×1
pep3118 ×1
performance ×1
pip ×1
posix ×1
pypi ×1
python-2.7 ×1
raii ×1
regex ×1
tornado ×1
try-catch ×1
websocket ×1