小编Pri*_*ett的帖子

如何让PyDev编辑器有选择地忽略错误?

我在Eclipse下使用PyDev来编写一些Jython代码.我有很多实例需要做这样的事情:

import com.work.project.component.client.Interface.ISubInterface as ISubInterface
Run Code Online (Sandbox Code Playgroud)

问题是PyDev总是将此标记为错误并说"Unresolved import:ISubInterface".代码工作正常,只是我宁愿在我的代码旁边没有这些小的白色/红色X标记,并且我的问题标签中充斥着这些错误.

有没有办法我可以添加一个魔术评论或类似的东西到行的末尾,使PyDev忽略错误的错误,类似于你可以像"#pylint:disable-msg = E1101"这样的评论来使PyLint忽略错误?

此外,在Jython中使用Java接口时,我有可能做错了.在这种情况下,我们非常感谢一点指导.

python jython pydev python-import

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

mypy如何忽略源文件中的单行?

我在我的python项目中使用mypy进行类型检查.我也使用PyYAML来读取和编写项目配置文件.不幸的是,当使用PyYAML文档中推荐的导入机制时,这会在尝试导入本机库的try/except子句中生成虚假错误:

from yaml import load, dump
try:
    from yaml import CLoader as Loader, CDumper as Dumper
except ImportError:
    from yaml import Loader, Dumper
Run Code Online (Sandbox Code Playgroud)

在我的系统上CLoader并且CDumper不存在,这导致错误error: Module 'yaml' has no attribute 'CLoader'error: Module 'yaml' has no attribute 'CDumper'.

有没有办法让mypy忽略这一行的错误?我希望我可以做这样的事情让mypy跳过这一行:

from yaml import load, dump
try:
    from yaml import CLoader as Loader, CDumper as Dumper  # nomypy
except ImportError:
    from yaml import Loader, Dumper
Run Code Online (Sandbox Code Playgroud)

python types mypy

17
推荐指数
5
解决办法
7725
查看次数

是否有一个事件触发jQuery中scrollHeight或scrollWidth的更改?

我正在使用JQuery设计一个应用程序,用户可以在div中拖动元素,自动添加滚动条并根据需要扩展scrollHeight/scrollWidth.当更改容器div的scrollHeight和scrollWidth时,我需要触发一个偶数.

不,不想使用滚动事件,因为1)当您开始将元素拖到边缘并且scrollHeight/scrollWidth更改时,不会触发滚动.2)当scrollHeight/scrollWidth没有改变时滚动触发.

任何提示?

javascript jquery scroll

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

使用Automake更正GCC命令行顺序

我有一个autotools项目,可以在Mac上编译得很好,但在Linux(Ubuntu 12.04.1 LTS)下,命令行传递给gcc库相对于目标文件乱序.例如,autotools生成以下命令来编译我的代码,一个名为test.c二进制文件的文件命名为test:

gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -lglib-2.0 -o test test-test.o
Run Code Online (Sandbox Code Playgroud)

此命令行失败:

/home/user/glib-test/test.c:4: undefined reference to `g_malloc`
/home/user/glib-test/test.c:5: undefined reference to `g_free`
Run Code Online (Sandbox Code Playgroud)

但是,如果我从命令行编译并将其切换,以便库引用位于目标文件之后,它可以正常工作:

gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -o test test-test.o -lglib-2.0
Run Code Online (Sandbox Code Playgroud)

挑战在于我无法弄清楚如何强制Autotools以正确的顺序生成命令行.为了清楚起见,我在这里重现了简单的测试用例.首先是configure.ac:

dnl Process this file with autoconf to produce a configure script.

AC_PREREQ(2.59)
AC_INIT(glib-test, 1.0)

AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE()

AC_PROG_CC
AM_PROG_CC_C_O
PKG_CHECK_MODULES(GLIB, glib-2.0 > 2.0)
AC_CONFIG_FILES(Makefile)
AC_OUTPUT
Run Code Online (Sandbox Code Playgroud)

接下来很简单Makefile.am:

CFLAGS=-Wall
bin_PROGRAMS=test
test_CFLAGS=$(GLIB_CFLAGS)
test_LDFLAGS=$(GLIB_LIBS)
test_SOURCES=test.c
Run Code Online (Sandbox Code Playgroud)

最后,这个最小测试用例的源代码,test.c:

#include <glib.h>

int …
Run Code Online (Sandbox Code Playgroud)

linux automake gcc autotools

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

IBM的RTC和微软的TFS 2010

您认为最重要的区别是什么?
需要做出昂贵的决定......

信息:

  • 我们有Java和.NET项目(几个.NET)
  • 对项目生命周期管理非常感兴趣.
  • 从ClearCase迁移

version-control tfs rtc rational-team-concert

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

OpenSocial是一个可行的API选择吗?

对于一个项目,我们正在寻找一种从其他站点导入小工具(朋友列表,待办事项列表等)的机制,这是OpenSocial应该擅长的.但是,我担心OpenSocial是否已经死亡.自2009年4月以来,OpenSocial 0.9的许多API页面都没有更新.我所看到的最近的一些更新只是垃圾邮件发布廉价德国药品的链接(例如,请参阅此历史页面).

OpenSocial还活着吗?或者像许多其他宏伟的想法一样,它被抛弃到互联网的浪费?

javascript opensocial social-networking

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

将数字向量与另一个向量中的值进行比较的最佳方法

假设我有两个值向量:

a <- c(1,3,4,5,6,7,3)
b <- c(3,5,1,3,2)
Run Code Online (Sandbox Code Playgroud)

而且我想将一些函数 ,FUN应用于 的每个输入,以a对抗整个b,最有效的方法是什么。

更具体地说,在这种情况下,对于a'a' 的每个值,对于每个元素,我想知道有多少元素b大于或等于该值。天真的方法是执行以下操作:

sum(a < b)
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,因为它试图并行迭代每个向量并给我警告:

较长的物体长度不是较短物体长度的倍数

顺便说一句,该命令的输出是3.

但是,在我的情况下,我希望看到的输出是:

0 2 4 4 5 5 2
Run Code Online (Sandbox Code Playgroud)

当然,我意识到我可以使用 for 循环来做到这一点:

out <- c()
for (i in a) {
    for (i in a) { out[length(out) + 1] = sum(b<i)}
}
Run Code Online (Sandbox Code Playgroud)

同样,我可以这样使用sapply

sapply(a, function(x)sum(b<x))
Run Code Online (Sandbox Code Playgroud)

但是,我正在努力成为一名优秀的 R 程序员并远离 for 循环并且sapply似乎很慢。还有其他选择吗?

对于它的价值,我这样做了几百万次,其中length(b)总是小于1 到 30 length(a)length(a) …

r vector

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

Python和Django中的继承和工厂函数

我正在创建一个在它的模型中使用一些继承的Django应用程序,主要是因为我需要为UUID和引用分配所有内容,所以我知道它是什么类.这是基类的简化版本:

class BaseElement(models.Model):
    uuid = models.CharField(max_length=64, editable=False, blank=True, default=lambda:unicode(uuid4()))
    objmodule = models.CharField(max_length=255, editable=False, blank=False)
    objclass = models.CharField(max_length=255, editable=False, blank=False)

class ChildElement(BaseElement):
    somefield = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)

我想确保自动设置objmodule,objclass和uuid.我从这篇文章中了解到,通过编写自己的构造函数来做这件事是个坏主意,而且我最好写一个工厂函数.所以现在我的BaseElement和ChildElement看起来像这样:

class BaseElement(models.Model):
    uuid = models.CharField(max_length=64, editable=False, blank=True, default=lambda:unicode(uuid4()))
    objmodule = models.CharField(max_length=255, editable=False, blank=False)
    objclass = models.CharField(max_length=255, editable=False, blank=False)

    def set_defaults(self):
        self.objmodule = unicode(self.__class__.__module__)
        self.objclass = unicode(self.__class__.__name__)
        self.uuid = unicode(uuid4())

class ChildElement(BaseElement):
    somefield = models.CharField(max_length=255)

    @staticmethod
    def create(*args, **kwargs):
        ce = ChildElement(*args, **kwargs)
        ce.set_defaults()
        return ce
Run Code Online (Sandbox Code Playgroud)

这有效.我可以叫ChildElement.create(somefield="foo")我一定要得到一个合适的对象有uuid,objmoduleobjclass …

python django inheritance

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

使用 tsc 对 javascript 进行类型检查时,如何声明全局变量?

我正在尝试使用 TypeScript 编译器tsc对注释良好的 JavaScript 文件进行类型检查。该文件使用了几个通过其他脚本加载的全局变量,为了简单起见,我们将仅使用一个全局变量L(用于 Leaflet)。

首先,我运行命令:

tsc --allowJs --checkJs mysource.js --outfile out.js --lib dom,es2015
Run Code Online (Sandbox Code Playgroud)

产生输出:

mysource.js:15:15 - error TS2304: Cannot find name 'L'.

15 const myMap = L.map('mapid')
Run Code Online (Sandbox Code Playgroud)

在本例中L,是我在 HTML 文件中导入 Leaflet JavaScript 代码时定义的全局变量。

其他工具(例如StandardJS)提供了声明全局变量的语法,但我不知道如何使用tsc. 在标准的情况下,我只有一行内容:

/* global L */
Run Code Online (Sandbox Code Playgroud)

需要明确的是,我使用它并不是tsc因为我使用 TypeScript,而是因为它能够对 JavaScript 源文件进行类型检查。我只是想要另一次检查以确保我的类型在 JavaScript 文件中匹配。

javascript types tsc

5
推荐指数
0
解决办法
349
查看次数

将wallaby.js与快速项目一起使用时,避免使用EADDRINUSE

我在客户端JavaScript上使用wallaby.js运气很好,我想尝试让它在我的服务器端JavaScript上工作​​.但是,wallaby.js喜欢启动大量并行Web服务器,这会导致测试出现问题,因为它会继续抛出EADDRINUSE错误.

我的项目的基本脚手架是使用Yeoman angular-fullstack生成器完成的,因此我的服务器代码就位于其中,/server并且大多数方法都在/server/api.

到目前为止,我已经成功地使用以下配置进行工作:

module.exports = function () {
  return {
    files: [
      'server/**/*.js',
      { pattern: 'server/**/*.spec.js', ignore: true }
    ],

    tests: [
      'server/**/*.spec.js'
    ],

    env: {
      type: 'node',

    },

    debug: true,
    workers: {
      initial: 1,
      regular: 1,
      recycle: false
    }
  };
};
Run Code Online (Sandbox Code Playgroud)

在这里你可以看到我将小袋鼠工人的数量设置为1并且不允许它回收工人.它第一次工作正常,但在我开始编辑文件后偶尔会EADDRINUSE出现错误.

是否有一种首选机制可以使用带有express的wallaby.js并避免它在同一端口上产生多个测试服务器进程,从而消除EADDRINUSE错误?

testing node.js express

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

处理OpenCL粒子系统中缺乏浮点精度

我正在编写一个基于OpenCL的粒子系统来加速大规模网络的可视化.实质上,这是一个两阶段问题,其中第一阶段对每个粒子施加负重力(典型的n体问题),因此它们全部排斥并且第二阶段然后基于粒子之间的边缘(或弹簧)吸引粒子.

在重力算法的每次迭代期间,每个粒子的位置(表示为一对浮子)受到彼此距离的影响(经典物理模型,没有阻力,保持简单).

在一个具有完美间隔的方形阵列粒子的情况下,重力的应用应该导致跨越X和Y轴的对称性.这在重力应用开始时就是如此,但随着时间的推移,将大量浮点数加在一起所固有的精度不足会导致小的不均匀偏差.这反过来传播通过整个n体系统并且发生对称性的损失.

避免这种情况的一种简单方法是使用双精度数字,但MacBook Pro上的GeForce 9600M GT不支持双精度数字.那么,在OpenCL中处理这些问题的好方法是什么?我已经考虑过截断我添加到几个小数的浮点数以避免这个问题,但这看起来有点笨拙.

floating-point precision opencl

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

使用 text() 时 lxml 谓词无效

我正在使用lxml进行 HTML 屏幕抓取,并且需要通过 选择一个元素text(),其方式类似于使用纯 XML 在另一个问题上所做的操作,但是无论发生什么情况,我都会收到无效谓词错误。我将其简化为以下示例:

import lxml.html
sample_html = "<div><h2>test string</h2><h2>other string</h2></div>"
sample_tree = lxml.html.fromstring(sample_html)
sample_tree.findall('.//h2[text()="test string"]')
Run Code Online (Sandbox Code Playgroud)

虽然这应该是有效的,但我不断收到错误:

  File "<string>", line unknown
SyntaxError: invalid predicate
Run Code Online (Sandbox Code Playgroud)

text()有关如何在解析 HTML 时正确让 lxml 选择元素的任何提示吗?

html python lxml

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