小编Jas*_*ker的帖子

如何在Clojure中使Java类不可变?

我想在clojure中包装java的PriorityQueue类,以便在我的程序的另一部分中使用.我想弄清楚的是,是否有任何方法以lispy方式执行此操作并使优先级队列不可变.有没有什么好方法可以做到这一点,或者我是否会更好地使用PriorityQueue作为可变数据结构?

lisp java clojure priority-queue immutability

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

你如何为Windows部署django应用程序?

我正在使用isapi_wsgidjango-pyodbc开发 Web应用程序.我想有办法安装所有依赖项并将文件推送到Web服务器.不幸的是,其中一些说起来容易做起来难.特别是,处理依赖关系很痛苦,因为即使在setuptools下,其中一些也无法正确安装(pywin32特别困难).

我看到的用于自动化这种东西(织物capistrano)的大多数工具都是用于unix-y系统的.我想建立一个持续集成系统,但这只能解决部分问题.有没有办法让一个被迫使用Windows/IIS的Pythonista变得更轻松?

python deployment iis django isapi-wsgi

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

有没有办法在Emacs中创建"项目文件"?

最简单的说法是"项目档案".我有几个python项目,我使用emacs W32 for Windows使用ropemacs.理想的是,如果我可以在我的桌面上点击一个图标来打开emacs,打开绳子项目,并在该项目的顶级目录中设置速度栏.然后我也许可以有办法以相同的方式在自己的emacs中打开下一个项目(但是对于那个项目).当然,如果有一个emacs命令或一个shell命令我可以使用它来实现相同的效果而不是桌面上的图标也是可以接受的.

有没有办法做到这一点?我绝对没有elisp-fu.:-(

python windows emacs elisp ropemacs

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

为什么定位查询不好?

我正在阅读CJ Date的SQL和关系理论:如何编写准确的SQL代码,他认为位置查询很糟糕 - 例如,这INSERT:

INSERT INTO t VALUES (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

相反,您应该使用这样的基于属性的查询:

INSERT INTO t (one, two, three) VALUES (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

现在,我理解第一个查询与关系模型不一致,因为元组(行)是无序的属性集(列).我无法理解第一个查询中的伤害位置.谁可以给我解释一下这个?

sql tuples relational-algebra database-relations relational-model

7
推荐指数
3
解决办法
474
查看次数

是否有任何方法可以将我对SVN结帐后的更改提交到分支机构?

我刚刚开始在SVN回购上对trunk进行一些更改,认为它们会有点小.现在,我实际上开始意识到我可能应该刚开始一个新的分支.而不是制作一个分支,然后将每个单独的部分移入其中,有没有办法建立一个新的分支,然后将我的工作副本中的更改提交给它?

svn branch trunk

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

我怎样才能使这个long_description和README有几句不同?

对于我的一个软件包,我有一个README.rst文件,它被读入setup.py的长描述中,如下所示:

readme = open('README.rst', 'r')
README_TEXT = readme.read()
readme.close()

setup(
    ...
    long_description = README_TEXT,
    ....
    )
Run Code Online (Sandbox Code Playgroud)

这样一来,我可以有README文件出现在我的github上页每一次我犯和时间的PyPI页每次我python setup.py register.只有一个问题.我想在github页面上说"这篇文档反映了envbuilder的预发布版本.对于最新版本,请参阅pypi."

我可以把这些行放在README.rst中并在我之前删除它们python setup.py register,但我知道在推到pypi之前我会忘记删除句子.

我正在尝试考虑自动化的最佳方法,所以我不必担心它.有人有主意吗?我可以做任何setuptools/distutils魔法吗?

python distutils github setuptools pypi

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

如何确定需要从Java库导入的命名空间?

我正在写一些clojure代码,而且我依靠Joda时间来处理时间.问题是我不知道要导入什么,文档并不十分清楚.现在我知道这里的人可能会在不到5秒的时间内给我正确的答案,但我宁愿知道如何自己解决这个问题(除了通过文档直到找到正确的答案).

如果我在Python这样做,我想导入的顶级包,然后用的组合dirhelp找出我需要进口.在clojure中有没有办法做到这一点?或者还有其他种类的java工具来解决这个问题吗?我更喜欢以命令行为导向的东西.

java jar introspection clojure jodatime

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

如何在Cython中创建固定长度,可变的Python对象数组?

我需要有一个python对象数组用于创建一个trie数据结构.我需要一个像元组一样固定长度的结构,像列表一样可变.我不想用一个列表,因为我希望能够确保该列表是正好合适的大小(如果它开始分配额外的元素,内存开销很可能会迅速增加为线索变大).有没有办法做到这一点?我尝试创建一个对象数组:

cdef class TrieNode:
    cdef object members[32]
Run Code Online (Sandbox Code Playgroud)

......但是这给了一个错误:

Error compiling Cython file:
------------------------------------------------------------
...
cdef class TrieNode:
    cdef object members[32]
                      ^
------------------------------------------------------------

/Users/jason/src/pysistence/source/pysistence/trie.pyx:2:23: Array element cannot be a Python object
Run Code Online (Sandbox Code Playgroud)

做我想做的最好的方法是什么?

python arrays trie cython python-c-extension

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

如何在Linux中处理异步信号?

这似乎是一个愚蠢的问题,但我看不到任何地方的答案.我知道在UNIX中,信号是异步处理的.如果我编写一个处理信号的函数,该函数在哪里运行?产生了一个新的线程?现有的线程是否以某种方式中断?或者这是在异步I/O这样的系统线程中处理的?

unix linux signals

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

哪个更邪恶:不必要的单身人士还是上帝对象?

情况就是这样:我的课程做得太多了.它主要用于访问配置信息,但它也具有数据库连接.它是作为一个单独实现的,所以这也使单元测试变得困难,因为大多数代码与它紧密耦合.这甚至更成问题,因为它创建了一个导入时间依赖项(我们在Python中这样做),这意味着某些模块必须按特定顺序导入.理想情况下,我想将它分成两个类,并使其成为非单例.

幸运的是,我的雇主已经热心这样一个事实,即这种测试是好的,如果它使代码更容易测试,我愿意允许我做这样的改变.但是,我怀疑他们是否愿意让我花太多时间在上面.而且我宁愿逐步修复它,而不是试图过于激进.

所以,我在这里看到三个选择:

  1. 将配置对象分解为(单例)配置对象和(非单例)数据库对象.这至少允许我将数据库作为导入时依赖项删除.
  2. 使配置对象成为非单例并将其传递给需要它的对象.我觉得这更好地解决了我们的短期需求,但我认为这需要更多的时间.
  3. 做一些我没有想到你在答案中建议的事情.:-)

那我该怎么办?

oop singleton design-patterns anti-patterns god-object

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