小编Mik*_*ame的帖子

Numpy图像 - 旋转矩阵270度

我有一个代表灰度图像的Numpy 2d阵列,我需要将它旋转270度.这里可能会有点厚,但我能找到的两种方式看起来相当......很糟糕:

rotated = numpy.rot90(numpy.rot90(numpy.rot90(orignumpyarray)))

rotated = numpy.fliplr(numpy.flipud(numpy.rot90(orignumpyarray)))
Run Code Online (Sandbox Code Playgroud)

我想在一次操作中必须有更好的方法来做到这一点.基本上是rot270()函数?有任何想法吗?

python image-manipulation numpy matrix

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

Django多表继承:指定自定义的一对一列名

我正在尝试创建一个与现有数据模型兼容的Django ORM映射,因此我尝试使用现有的一组表名和列名.

我有一个多表继承的情况,其中一个类InformationObject派生自类Object.我想让Django以通常的方式处理这个问题:

class Object(models.Model):
    class Meta:
        db_table = "object"          

class InformationObject(Object):
    class Meta:
        db_table = "information_object"
Run Code Online (Sandbox Code Playgroud)

在这种情况下,Django会自动在继承模型上创建一个名为object_ptr_id的一对一字段.但是,在我被限制使用的模式上,对Object的引用简称为"id".所以:

有没有办法以某种方式指定Django自动神奇地用于多表继承的列的名称?

替代方案,我将不得不使用,是使用显式的一对一字段,但后来我将无法从Object模型继承非数据库方法:

class Object(models.Model):
    class Meta:
        db_table = "object"          

class InformationObject(models.Model):
    class Meta:
        db_table = "information_object"
    id = models.OneToOneField(Object, primary_key=True, db_column="id")  
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?也许我可以为它们创建一个公共基类并将非db方法放在那里......?

django inheritance multi-table

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

CakePHP:自动设置模型创建和更新日期

有没有办法在保存对象时配置CakePHP模型以自动设置时间戳,例如created_onupdated_on

我在考虑相当于Django的DateTimeField的auto_nowauto_now_add选项.

我听说在某些框架中这是一个有争议的做法,但无论如何我想做到这一点.

如果你不能这样做,人们通常会在beforeSave()处理程序中设置时间戳,可能是通过检查模型数据是否已包含id字段并相应地设置创建数据?

谢谢,如果我错过了文档中的相关内容,我会道歉.

php datetime cakephp model cakephp-1.3

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

树结构的布局几何/有吸引力地布置节点

我有一个树状的数据结构,我想在一个SVG画布上绘制它(使用jQuery SVG.)我想让节点以一种吸引人的间隔从上到下展开.

理想情况下,我需要一个类或函数,我可以传递树的表示并返回每个节点的X和Y坐标.不幸的是,我的谷歌搜索已经被列表树GUI小部件的数千次点击所挫败,这不是我想要的.

理想情况下,这可能是一些Javascript,但我也可以使用一些Python(在服务器端使用.)我在Github上查看了这个 Python的东西,但我真的不能使用它的头尾(或者让它运行.)我也简要介绍了ete2a1,但它未能正确安装,文档尚未完成,而且似乎更适合将树实际渲染为图像而不是几何体.

如果这是一个模糊的问题,请道歉,如果我能说清楚,请告诉我.基本上,我有这个:

Tree("Root",
    Tree("leaf 1",
        Tree("leaf 2",
            Tree("leaf 4"),
                Tree("leaf 5")), Tree("leaf 3",
                                    Tree("leaf 6"))))
Run Code Online (Sandbox Code Playgroud)

这将呈现:

          Root
            |
          leaf 1
            |
            /\
           /  \
      leaf 2  leaf 3
        /\      \
       /  \      \
  leaf 4  leaf 5  leaf 6
Run Code Online (Sandbox Code Playgroud)

(呃,这可能不太对,但是你明白了.)

任何提示非常感谢!

javascript python tree drawing

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

带有参数化类型的Java getConstructor(类型)

如果我有一个带有构造函数的类,该构造函数采用参数化的泛型类型:

public class Foo {
    public Foo(Map<String, Object> data) {
      ...
    }
}
Run Code Online (Sandbox Code Playgroud)

...如果我想调用,如何引用该参数化Map?

Constructor constructor = cls.getConstructor(/*the Map class! */)
Run Code Online (Sandbox Code Playgroud)

(clsFoo类在哪里.)

我想做的事情如下:

Constructor constructor = cls.getConstructor(Map<String,Object>.class);
Run Code Online (Sandbox Code Playgroud)

......但这不起作用.

我相信这有一个简单的答案!

java generics reflection

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

递归地将非连续列表排序为连续列表列表

我最近一直在尝试学习一些函数式编程(使用Haskell和Erlang),我总是惊讶于人们在递归思考和了解工具时可以提出的简洁解决方案.

我想要一个函数将已排序的,唯一的,非连续的整数列表转换为连续列表的列表,即:

[1,2,3,6,7,8,10,11]
Run Code Online (Sandbox Code Playgroud)

至:

[[1,2,3], [6,7,8], [10,11]
Run Code Online (Sandbox Code Playgroud)

这是我在Haskell中提出的最好的(两个函数)::

make_ranges :: [[Int]] -> [Int] -> [[Int]]
make_ranges ranges [] = ranges
make_ranges [] (x:xs)
    | null xs = [[x]]
    | otherwise = make_ranges [[x]] xs
make_ranges ranges (x:xs)
    | (last (last ranges)) + 1 == x =
        make_ranges ((init ranges) ++ [(last ranges ++ [x])]) xs
    | otherwise = make_ranges (ranges ++ [[x]]) xs

rangify :: [Int] -> [[Int]]
rangify lst = make_ranges [] lst    
Run Code Online (Sandbox Code Playgroud)

这可能是有点主观的,但我很想看到一个更好,更优雅,解决了这个在任何二郎或哈斯克尔(其他功能的语言太多,但我可能不明白.)否则,积分换刚刚杀青我蹩脚的新手Haskell风格!

erlang recursion haskell functional-programming

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

Play 2.0 - 从scala控制台访问运行(伪造)应用程序

我刚开始使用Play Framework 2.0(使用当前的主干2.1-SNAPSHOT,Scala),我发现在实验中使用Scala API非常有用play console.

但是,对于某些东西,例如依赖于play.libs.WSAPI的东西,我收到了There is no started application错误.很公平,但我无法弄清楚如何设置一个假的,从控制台使用,或者这是否可能.

似乎play.api.test._甚至无法从控制台访问.有什么建议?

更新:感谢@charroch,我需要运行play test:console,所以我现在可以做:

import play.api.test.Helpers.running
import play.api.test.FakeApplication

val res = running(FakeApplication()) { 
    MyWebservice.someFunction()  
}
Run Code Online (Sandbox Code Playgroud)

scala playframework-2.0

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

Java - 信号/插槽机制

对于相对较新的Java生态系统的人来说,是否有一种相当轻量级的方法来执行Qt和Django等框架对其信令/接收器系统的处理,其中组件可以说"我正在做某事",而其他组件可以处理以一种相当松散耦合的方式?

如果这个问题没有通过"单一客观答案"测试,我会提前道歉.

编辑:要添加更多上下文,这与Web服务的数据库驱动的应用程序层相关.某些资源在持久化时,还需要保存包含额外上下文信息的审计记录.在Django中,我通过信令机制来做这件事,或者使用几个现有的库之一.对于Scala程序,我使用回调函数制作了自己的hacky东西,但是使用第一类函数更容易.我毫不怀疑像Swing这样的框架为这种事情提供了设施,但是我(可能是不合理地)将这种依赖添加到目前相当普通的应用程序(不是说Django本身不是一个对香草Python的巨大依赖!)

java signals-slots

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

Python - 将宽字符串字符串从二进制文件转换为Python unicode字符串

这是漫长的一天,我有点难过.

我正在读取包含许多宽字符串的二进制文件,我想将它们作为Python unicode字符串转储出去.(要解压缩非字符串数据我正在使用struct模块,但我不知道如何对字符串执行相同的操作.)

例如,阅读"系列"一词:

myfile = open("test.lei", "rb")
myfile.seek(44)
data = myfile.read(12)

# data is now 'S\x00e\x00r\x00i\x00e\x00s\x00'
Run Code Online (Sandbox Code Playgroud)

如何将原始宽字符数据编码为Python字符串?

编辑:我正在使用Python 2.6

python string binaryfiles

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

Play Framework 2.0 BodyParser - 推送解析XML流

我觉得这个问题非常深入,因为尽管阅读了这些问题中的官方文档和资源:

如何理解play2中的"Iteratee"?

在Play 2.0中无法理解Iteratee,Enumerator,Enumeratee

...我对迭代器,枚举器和Play 2.0的反应模型一般都很朦胧.但无论如何,我想建立一个Web服务,允许我上传大型XML(> 100MB)文件,选择某些特定的(非交错的)NodeSeq,处理它们,然后将结果流回客户端.

我想我要做的第一件事就是编写一个BodyParser,它接收大块的字节,将它们提供给XML解析器,然后<doc>...</doc>以懒惰的方式发出我想要的NodeSeqs流.

任何人都可以提供任何指导和/或说明如何实现这一目标的例子吗?

更新:更多背景: -

我的XML实际上是一个Solr add文档,所以它看起来像:

<add>
    <doc>
        <field name="name">Some Entity</field>
        <field name="details">Blah blah...</field>
        ...
    </doc>
    ...
</add>
Run Code Online (Sandbox Code Playgroud)

我想以<doc>流方式处理每个,所以我的解析器显然必须等到它达到<doc>启动事件,缓冲一切直到等效的</doc>结束事件,并发出完成元素的NodeSeq,然后刷新其缓冲区.

如何使用Play BodyParser,我不完全确定.如果我可以进一步澄清我想做的事情,可以获得更多更新!

尽管整个XML文件很大,但每个<doc />元素本身都很小,但我显然必须检查字节缓冲区是否超过一定大小.

streaming scala xml-parsing iterate playframework-2.0

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