小编Fre*_*rik的帖子

JavaScript相当于Guava的前置条件?

在Java中,我使用Google Guava 检查我的前提条件:

public Port getPublishedPort(Port port) {
    checkArgument(port.isPublishedPort(), "Given port %s is not a published port.", port);
Run Code Online (Sandbox Code Playgroud)

在JavaScript中是否有相同的功能?

javascript guava

10
推荐指数
3
解决办法
1956
查看次数

为什么在禁用CPython垃圾收集器时调用析构函数?

我试图了解CPython垃圾收集器的内部结构,特别是在调用析构函数时.到目前为止,行为是直观的,但以下情况让我感到震惊:

  1. 禁用GC.
  2. 创建一个对象,然后删除对它的引用.
  3. 该对象被销毁并调用_____del_____方法.

我以为只有启用垃圾收集器才会发生这种情况.有人可以解释为什么会这样吗?有没有办法推迟调用析构函数?

import gc
import unittest

_destroyed = False

class MyClass(object):

    def __del__(self):
        global _destroyed
        _destroyed = True

class GarbageCollectionTest(unittest.TestCase):

    def testExplicitGarbageCollection(self):
        gc.disable()
        ref = MyClass()
        ref = None
        # The next test fails. 
        # The object is automatically destroyed even with the collector turned off.
        self.assertFalse(_destroyed) 
        gc.collect()
        self.assertTrue(_destroyed)

if __name__=='__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

免责声明:此代码不适用于生产 - 我已经注意到这是特定于实现的,并且不适用于Jython.

python garbage-collection cpython

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

多个jQuery UI日期选择器具有不同的样式

我的页面上有两个jQuery日期选择器:

  • 一个普通的
  • 一个"特殊"的,只能选择年/月.

特殊的一个使用一些自定义CSS(从这里)隐藏日历部分,所以只显示月/年.

.ui-datepicker-calendar {
    display : none ;
}
Run Code Online (Sandbox Code Playgroud)

但是,由于页面上只有一个对话框实例,因此两个选择器都隐藏了日历.

有没有办法只将这种风格应用于其中一个实例?我检查了文档,看看我是否可以在对话框中添加自定义类,但我找不到它.

javascript jquery jquery-ui

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

如何使用JavaScript将字母的字形轮廓作为bézier路径?

我想在HTML5中检索字体字形的轮廓信息作为bézier路径.这将允许我随机化轮廓:

随机更改的字形轮廓

在Cocoa,我会用appendBezierPathWithGlyph:inFont:.在Java中,我会使用TextLayout.getOutline().这在JavaScript中如何工作?

我发现Mozilla有,mozPathText但我无法让它工作.

javascript html5

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

在Scala中,构造函数如何引用它正在创建的对象?

我想在Scala中实现一个基于原型的系统.在类型层次结构的根部是ROOT节点,它具有引用自身的原型.

以下代码演示了我正在尝试做的事情:

class Node(val prototype: Node) {
    private def this() = this(this)
}

object Node {
    val ROOT = new Node
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不会编译错误:"这只能在类,对象或模板中使用".

不接受调用主构造函数的参数"this".这听起来很合理,因为尚未创建对象.但是,由于原型是不可变的,我不能将其设置为null并在之后定义它.

有关如何在Scala中正确执行此操作的任何建议?

我正在使用Scala-2.8.0RC7.

scala scala-2.8

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

easy_install额外构建参数

我正在尝试安装ReportLab,但我没有可用于编译rl_accel库的C编译器.使用setup.py,我会添加一个额外的参数,如下所示:

python setup.py --rl_accel=no install
Run Code Online (Sandbox Code Playgroud)

是否可以为easy_install添加额外的参数,以便我可以重现相同的效果?

easy_install reportlab [something here?]
Run Code Online (Sandbox Code Playgroud)

python easy-install

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

为什么Selenium Python测试看起来很奇怪?

我已经使用Selenium IDE为我的应用程序生成一些测试代码.生成的断言Python代码如下所示.

    try: self.failUnless(sel.is_text_present("Path"))
    except AssertionError, e: self.verificationErrors.append(str(e))
Run Code Online (Sandbox Code Playgroud)

而不是快速失败,错误被添加到列表中,脚本继续.

我想知道这个的基本原理是什么?快速失败不是更好吗?或者这会使页面处于不一致状态吗?

python selenium

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

Django ModelForm 可以显示存储值的自定义表示吗?

在我的模型中,百分比数据存储为 0.0-1.0 范围内的小数值。因为它们是百分比,所以我希望用户查看和编辑 0.0-100.0 范围内的值。

在存储值显示值之间转换数据的首选方式是什么?请注意,格式取决于另一个实例变量。

我的模型如下所示:

class MyModel(models.Model):
    format = models.CharField(choices=(('percentage', 'Percentage'), ('absolute', 'Absolute'))
    my_value = models.FloatField()

    def _get_my_value_display(self):
        if self.format == 'percentage':
            return self.my_value * 100
        else:
            return self.my_value

    def _set_my_value_display(self, v):
        if self.format == 'percentage':
            return v / 100
        else:
            return self.my_value

    my_value_display = property(_get_my_value, _set_my_value)
Run Code Online (Sandbox Code Playgroud)

在表单中,我尝试使用显示属性作为表单字段,但这不起作用(为 MyModel 指定了未知字段(my_value_display)):

class MyForm(forms.ModelForm):

    class Meta:
        model = MyModel
        fields = ('my_value_display', )
Run Code Online (Sandbox Code Playgroud)

python forms django

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