小编Lor*_*ein的帖子

带密码的ssh-agent,不会产生太多进程

我在Linux上使用带密码保护密钥的ssh-agent.每次登录某台机器时,我都这样做:

eval `ssh-agent` && ssh-add
Run Code Online (Sandbox Code Playgroud)

这很好用,但每次登录并执行此操作时,我都会创建另一个ssh-agent.偶尔,我会做一个killall ssh-agent收获它们.有没有一种简单的方法可以在不同的会话中重用相同的ssh-agent进程?

linux ssh

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

在数据帧的成对行上操作

我在R中有一个数据框,我想对所有行对进行计算.有没有比使用嵌套for循环更简单的方法?

为了使这个具体,考虑一个十行的数据框,我想计算所有(45)个可能的对之间的分数差异.

> data.frame(ID=1:10,Score=4*10:1)
   ID Score
1   1    40
2   2    36
3   3    32
4   4    28
5   5    24
6   6    20
7   7    16
8   8    12
9   9     8
10 10     4
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用嵌套for循环进行此计算,但是有更好的(更多R-ish)方法吗?

r

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

在R中可视化2变量联合概率质量函数

我在R中有一个矩阵表示两个变量的联合概率质量函数(pmf),例如:

> matrix(c(.13, .00004, 0, 0, 0, .04, .13, .008, 0, 0, .01, .007, .16, .02, .0004, .004, .025, .070, .14, .01, .001, .007, .028, .028, .12), nrow=5)
        [,1]  [,2]   [,3]  [,4]  [,5]
[1,] 0.13000 0.040 0.0100 0.004 0.001
[2,] 0.00004 0.130 0.0070 0.025 0.007
[3,] 0.00000 0.008 0.1600 0.070 0.028
[4,] 0.00000 0.000 0.0200 0.140 0.028
[5,] 0.00000 0.000 0.0004 0.010 0.120
Run Code Online (Sandbox Code Playgroud)

我想创建这个数据的2D可视化,将其划分为5x5个较小的正方形,其中单个正方形的颜色与矩阵中的条目成比例.(在上面的情况下,它沿着对角线是最暗的).有没有一种简单的方法来生成这种类型的图像?

r

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

什么是使用合同设计最广泛使用的开源项目?

我很好奇在埃菲尔社区之外的实践中使用了多少合同设计.是否有任何使用按合同设计的活跃开源项目?

或者,将问题重新整合为一个具有单一答案的问题:什么是使用最广泛的(非埃菲尔)开源项目?

design-by-contract

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

自动化命令行应用程序的集成测试

我有一组命令行应用程序,我想对其进行自动化测试。这是为了测试 IaaS 云设置,因此测试将调用启动新的虚拟机实例(例如 euca-run-instances),然后确保它们可以通过 ssh 登录,甚至在远程计算机上运行一些简单的应用程序。

有没有专门用于进行此类测试的框架?我知道有一些框架可以使运行单元测试变得更容易,并且我知道诸如 (p)expect 之类的东西可以与 ssh 之类的东西进行交互,但我不知道有哪些工具存在于这两个世界的交汇处。

linux ssh bash integration-testing expect

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

响应DetailView子类中的表单POST

我有一个视图,使用一个基于类的通用视图(源自django.views.generic.DetailView),具有自定义窗体:

from django.views.generic import DetailView

class MyDetailView(DetailView):
    model=MyModel

    def get_object(self):
        object = MyModel.objects.get(uuid=self.kwargs['uuid'])

    def get_context_data(self, **kwargs):
        form = MyForm
        context = super(MyDetailView, self).get_context_data(**kwargs)
        context['form'] = form
        return context
Run Code Online (Sandbox Code Playgroud)

我希望表单提交的POST转到与GET相同的URL.是否可以修改此视图代码,以便它也可以响应POST?如果是这样,怎么样?我是否需要从另一个mixin类继承?添加以处理表单数据的方法的名称是什么?

或者,对于此方案,在同一URL上响应POST是一个坏主意?

(注意:表单不会修改正在显示的MyModel对象.而是用于创建不同类型的模型对象,因此UpdateView不太适合).

django

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

修改setup.py以支持来自github的pip安装

我想修改Ansible项目中的setup.py脚本,以便我可以将 ansible 安装到 virtualenv 中,如下所示:

pip install -e git://github.com/lorin/ansible.git#egg=ansible
Run Code Online (Sandbox Code Playgroud)

当我现在这样做时,ansible无法正常运行,因为它无法导入ansible模块。

$ ansible
Traceback (most recent call last):
  File "/Users/lorin/.virtualenvs/ansible/bin/ansible", line 7, in <module>
    execfile(__file__)
  File "/Users/lorin/.virtualenvs/ansible/src/ansible/bin/ansible", line 25, in     <module>
    from ansible.runner import Runner
ImportError: No module named ansible.runner
Run Code Online (Sandbox Code Playgroud)

据我所知,这些文件之一或两个都告诉 Python 在哪里可以找到 Ansible 模块。

$venv/lib/python2.7/sites-packages/ansible.egg-link:

/Users/lorin/.virtualenvs/ansible/src/ansible
.
Run Code Online (Sandbox Code Playgroud)

$venv/lib/python2.7/sites-packages/easy-install.pth:

import sys; sys.__plen = len(sys.path)
./setuptools-0.6c11-py2.7.egg
./pip-1.0.2-py2.7.egg
/Users/lorin/.virtualenvs/ansible/src/ansible
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,它都指向/Users/lorin/.virtualenvs/ansible/src/ansible,但我认为它实际上应该指向/Users/lorin/.virtualenvs/ansible/src/ansible/lib,因为 ansible 模块是该目录的子集。

(注意:我不能只是将 …

python distutils pip setuptools

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

具有多表继承的父类的Django post_save信号

在Django中,如果您有使用多表继承的模型,并且您在父类上为post_save信号定义了一个接收器,那么在保存子类的实例时是否会调用该接收函数?

借用另一个问题的例子:

class Animal(models.Model):
    category = models.CharField(max_length=20)

class Dog(Animal):
    color = models.CharField(max_length=10)

def echo_category(sender, **kwargs):
    print "category: '%s'" % kwargs['instance'].category

post_save.connect(echo_category, sender=Animal)
Run Code Online (Sandbox Code Playgroud)

如果我做:

>>> dog = Dog.objects.get(...)
>>> dog.category = "canine"
>>> dog.save()
Run Code Online (Sandbox Code Playgroud)

echo_category接收函数被调用?

django django-models multi-table-inheritance

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

无 rspec 期望的水豚 have_field 在升级到 2.2 时失败

在我将 Capybara 从 2.1.0 升级到 2.2.1 并将 Poltergeist 从 1.4.1 升级到 1.5.0 之后,以下 rspec 期望在我的 rails 应用程序的测试中开始失败:

it{ expect(page).to have_field("foo_field_id", with: nil) }
Run Code Online (Sandbox Code Playgroud)

rspec 错误如下所示:

 Failure/Error: it{ expect(page).to have_field("foo_field_id", with: nil) }
 Capybara::ExpectationNotMet:
   expected to find field "foo_field_id" but there were no matches. Also found "", which matched the selector but not all filters.
Run Code Online (Sandbox Code Playgroud)

如果我抛出一个断点进行检查,则该值确实为零:

»  page.find_field('foo_field_id').value
=> nil
Run Code Online (Sandbox Code Playgroud)

如果我将“with”更改为“text”,则断言通过:

it{ expect(page).to have_field("foo_field_id", text: nil) }
Run Code Online (Sandbox Code Playgroud)

HTML 表单字段如下所示:

<input class="string optional" id="foo_field_id" name="foo[field_id]" type="text">
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

rspec ruby-on-rails capybara

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

在Trac中恢复wiki页面

你如何在Trac中恢复到早期版本的wiki页面?

wiki trac

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