小编jd.*_*jd.的帖子

如何安装rabbitmq管理插件(rabbitmq-plugins)

简介:有没有办法通过ubuntu软件包安装rabbitmq-plugins?

细节:

我的ubuntu系统中有rabbitmq正常运行,现在我正在尝试通过管理插件监控正在发生的事情.我正在关注rabbitmq.com/management.html说明,但无法执行

rabbitmq-plugins enable rabbitmq_management
Run Code Online (Sandbox Code Playgroud)

因为我的系统没有安装rabbitmq-plugins.

它是Ubuntu 1110,并附带了rabbitmq作为一个软件包安装(aptitude安装rabbitmq-server librabbitmq-dev).配置和服务器运行正常(安装的版本是2.5.0).

以为插件会通过安装"sudo aptitude install rabbitmq-plugins-common"来安装,但这样做不会安装rabbitmq-plugins.

有没有安装插件的软件包?我想避免如果可能必须清除运行正常的rabbitmq服务器,然后通过源代码下载+构建重新安装它,所有这些只是为了获取插件.

谢谢.

ubuntu rabbitmq

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

docker:如何显示2个图像之间的差异

我有一个Dockerfile,其中包含一系列执行"apt-get install"的RUN指令; 例如,几行:

RUN apt-get install -y tree
RUN apt-get install -y git
Run Code Online (Sandbox Code Playgroud)

执行"docker build"后,如果我执行"docker images -a",我会看到构建期间创建的所有base-child-child -....图像的列表.

我想查看执行"apt-get install -y git"行时安装的所有软件包的列表(包括可能已经安装的依赖软件包,除了git软件包).

注意:我相信"docker diff"命令显示容器与启动它的图像之间的差异.相反,我想要两个图像(相同谱系)之间的差异:"树"和"git"图像ID.这可能吗?

谢谢.

docker

47
推荐指数
8
解决办法
3万
查看次数

python,unittest:有没有办法将命令行选项传递给应用程序

我有一个模块导入unittest并有一些TestCases.我想接受一些命令行选项(例如下面,数据文件的名称),但是当我尝试传递选项时,我收到消息"选项-i not recognized".是否可以让unittest +为应用程序提供选项(注意:我使用optparse来处理选项)?谢谢.

$ python test_app_data.py -i data_1.txt

option -i not recognized
Run Code Online (Sandbox Code Playgroud)

=====================

后续行动:这是建议解决方案的实施:

import cfg_master  #has the optparse option-handling code

...

if __name__ == '__main__':    
    #add you app's options here...
    options_tpl = ('-i', '--in_dir', '-o', '--out_dir')
    del_lst = []
    for i,option in enumerate(sys.argv):
        if option in options_tpl:
            del_lst.append(i)
            del_lst.append(i+1)

    del_lst.reverse()
    for i in del_lst:
        del sys.argv[i]

    unittest.main()
Run Code Online (Sandbox Code Playgroud)

python unit-testing

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

使用过滤器记录

我正在使用Logging(import logging)来记录消息.

在1个单独的模块中,我在调试级别记录消息my_logger.debug('msg');

其中一些调试消息来自function_a()和其他来自function_b(); 我希望能够根据它们来自a还是来自b来启用/禁用日志记录;

我猜我必须使用Logging的过滤机制.

有人可以告诉我下面的代码是如何需要检测来做我想要的吗?

import logging
logger= logging.getLogger( "module_name" )

def function_a( ... ):
    logger.debug( "a message" )

def function_b( ... ):
    logger.debug( "another message" )

if __name__ == "__main__":
    logging.basicConfig( stream=sys.stderr, level=logging.DEBUG )

    #don't want function_a()'s noise -> ....
    #somehow filter-out function_a's logging
    function_a()

    #don't want function_b()'s noise -> ....
    #somehow filter-out function_b's logging
    function_b()
Run Code Online (Sandbox Code Playgroud)

如果我将这个简单的例子扩展到每个模块的更多模块和更多的函数,我会关注很多记录器;

我可以将每个模块保持在1个记录器吗?请注意,日志消息是"结构化的",即如果记录它的函数正在进行一些解析工作,它们都包含一个前缀logger.debug("parsing: xxx")- 我能以某种方式用一行来关闭所有"解析"消息(无论发出消息的模块/功能?)

python logging

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

django:csrftoken COOKIE与csrfmiddlewaretoken HTML表单值

试图了解安全性.想知道为什么在django提交表单(POST)时,有两个单独的"元素"包含相同的csrf标记值:

- the csrftoken cookie:
     COOKIES:{'csrftoken': '1effe96056e91a8f58461ad56c0d4ddc', ...

- the Form's hidden csrfmiddlewaretoken:
     POST:<QueryDict: {u'csrfmiddlewaretoken': 
                       [u'1effe96056e91a8f58461ad56c0d4ddc'], ...
Run Code Online (Sandbox Code Playgroud)

如果django在将表单发送到浏览器(GET)时将隐藏的csrf字段/值插入到表单中,并且在接收POST时期望返回相同的值,那么为什么还需要设置cookie呢?

一个更一般的问题,如果其中任何一个缺失(表单,cookie),您是否可以提供一个方案来解释如何利用它(安全攻击)?

顺便说一句,我运行了几个简单的测试,以确保django分别检查每个测试的有效性,实际上它是:

  • 如果我在执行POST之前更改了表单的csrf值,我会收到此调试错误:

    CSRF令牌丢失或不正确

  • 如果我在执行POST之前删除了csrf cookie,我会收到不同的错误:

    未设置CSRF cookie.

我只熟悉基本的csrf概念,并想了解django如何帮助抵御这些类型的攻击.

谢谢,

JD


更新:

虽然这两个答案(S.Lott和M. DeSimone)都提供了信息并且有意义,但我认为可能有更详细的解释要求在表单和cookie中都存在安全值.在stackoverflow.com外搜索时,我发现了一篇来自... Jeff Atwood的博文.

我已经包含了第三个答案(很抱歉回答我自己的问题,但我认为这是相关的补充信息),它引用了Jeff的博客文章并包含了引文.

django

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

django querysets + memcached:最佳实践

试图理解在django低级别cache.set()期间发生的事情.特别是,有关查询集的哪个部分存储在memcached中的详细信息.

首先,我是否正确地解释了django文档?

  • queryset(python对象)拥有/维护自己的缓存
  • 访问数据库是懒惰的; 即使queryset.count为1000,如果我为1条记录执行object.get,那么对于该1条记录,dbase只会被访问一次.
  • 当通过apache prefork MPM访问django视图时,每当特定守护进程实例X最终调用包含类似"tournres_qset = TournamentResult.objects.all()"之类的特定视图时,每次都会产生一个新的正在创建的tournres_qset对象.也就是说,任何可能由之前(tcp/ip)访问的tournres_qset python对象在内部缓存的内容都不会被新请求的tournres_qset使用.

现在关于在视图中将内容保存到memcached的问题.假设我在视图的顶部添加了类似的内容:

tournres_qset = cache.get('tournres', None)
if tournres_qset is None:
    tournres_qset = TournamentResult.objects.all()
    cache.set('tournres', tournres_qset, timeout)
# now start accessing tournres_qset
# ...
Run Code Online (Sandbox Code Playgroud)

在cache.set()期间存储了什么?

  • 整个查询集(python对象)是否被序列化并保存?

  • 由于尚未使用查询集来获取任何记录,这只是浪费时间,因为在memcache中实际上没有保存特定记录的内容?(任何将来的请求都将从memcache获取queryset对象,它始终是新的,具有空的本地queryset缓存;将始终访问dbase.)

  • 如果以上情况属实,那么我是否应该始终在查看结束时重新保存查询集,之后在整个vierw中使用它来访问某些记录,这将导致查询集的本地缓存得到更新,哪些应该更新总是被重新保存到memcached?但是,这总是会导致再次序列化queryset对象.加快速度如此之快.

  • 或者,cache.set()是否强制查询集对象迭代并从dbase访问所有记录,这些记录也将保存在memcache中?即使视图只访问查询集的子集,一切都会被保存?

我看到各方面的陷阱,这让我觉得我
误解了很多东西.

希望这是有道理的,并欣赏澄清或指向一些"标准"指南.谢谢.

python django django-cache

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

django - 如何根据对外部字段的引用计数获取查询集

有关如何执行django查询的问题.我有一个带有'through'ManyToManyField的Game模型到User模型.

class Game(models.Model):
    # other misc game-description fields...
    players = models.ManyToManyField(User, through='PlayerGameResult',
                                     blank=True, null=True)

class PlayerGameResult(models.Model):
    game            = models.ForeignKey(Game)
    player          = models.ForeignKey(User)
    dtime_played    = models.DateTimeField(default=datetime.now)
    # ...
Run Code Online (Sandbox Code Playgroud)

如果特定游戏已由1+玩家玩过,则游戏模型中的玩家字段将具有1+个参考.否则玩家为空.有关查询问题,请参阅?????? 下面....

# all games not yet played by this user...
games_qset = Game.objects.exclude(players__username=request.user.username)

# out of all the games not played by this user, extract the ones not
# yet played by anyone else either (this user would be the 1st player)
games_unplayed_qset = games_qset.filter(players__isnull=True)


# here's the question: out of all …
Run Code Online (Sandbox Code Playgroud)

django django-models

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

R,相关性:是否存在将num矢量转换为标准单位矢量的函数

在给定数字向量的R中是否有一个函数,返回另一个向量,其中标准单位对应于每个值?

其中......标准单位:一个值是多少个SD +或 - 来自平均值

例:

 x <- c(1,3,4,5,7)    # note: mean = 4, sd = 2
 foo(x) 
 [1]  -1.5  -0.5  0.0  0.5  1.5
Run Code Online (Sandbox Code Playgroud)

这个(虚构的)"su"功能是否已包含在包中?

谢谢.

r normalization mean correlation standard-deviation

11
推荐指数
3
解决办法
3782
查看次数

帮助浏览/跟踪(大)python项目的源代码的工具

一个具体的例子:熟悉django的项目源代码(core,contrib,utils等).有用工具的示例:ctags - 它允许您"跳转"到定义函数/方法的文件+位置.想知道开发人员使用的其他工具(例如:是否有一个给出函数x()的工具,列出调用x()和x()调用的函数?).谢谢.

编辑:在其他答案中添加了目前为止提到的工具集合的答案

python ide django

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

python datetime本地化

我需要做什么(要加载的模块,要调用的语言环境方法等),以便在我调用时:

datetime.date(2009,1,16).strftime("%A %Y-%b-%d")
Run Code Online (Sandbox Code Playgroud)

而不是得到:

Out[20]: 'Friday 2009-Jan-16'
Run Code Online (Sandbox Code Playgroud)

我得到西班牙语/法语/德语/ ...输出

Out[20]: 'Viernes 2009-Ene-16'
Run Code Online (Sandbox Code Playgroud)

无需更改我的整个操作系统的语言环境(即只使用python调用动态设置语言环境并保持我的应用程序范围内的更改)

谢谢.

python

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

str.format() - >如何左对齐

>>> print 'there are {0:10} students and {1:10} teachers'.format(scnt, tcnt)
there are        100 students and         20 teachers
Run Code Online (Sandbox Code Playgroud)

什么是代码,以便输出成为:

there are 100        students and 20         teachers
Run Code Online (Sandbox Code Playgroud)

谢谢.

python

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

python:将"5,4,2,4,1,0"转换为[[5,4],[2,4],[1,0]]

是否有一种"简单"的方法将包含数字的str转换为[x,y]整数列表?

# from: '5,4,2,4,1,0,3,0,5,1,3,3,14,32,3,5'
# to: [[5, 4], [2, 4], [1, 0], [3, 0], [5, 1], [3, 3], [14, 32], [3, 5]]
Run Code Online (Sandbox Code Playgroud)

顺便说一句,下面的工作,但不会直接称之为...此外,可以假设输入str已经过验证,以确保它只包含偶数个逗号交错的数字.

num_str = '5,4,2,4,1,0,3,0,5,1,3,3,14,32,3,5'
numpairs_lst = []      # ends up as [[5, 4], [2, 4], [1, 0], ...]

current_num_str = ''   # the current num within the str; stop when a comma is found
xy_pair = []           # this is one of the [x,y] pairs -> [5, 4] 
for ix,c in enumerate(num_str):
    if c == ',':
        xy_pair.append(int(current_num_str))
        current_num_str …
Run Code Online (Sandbox Code Playgroud)

python

9
推荐指数
3
解决办法
2756
查看次数

egg.el已加载但未启用egg-minor-mode(没有"Cx v"键绑定)

所有"Mx egg-"命令都可以正常工作

M-x egg-start-new-branch
   start new branch with name: xxx
Run Code Online (Sandbox Code Playgroud)

但是所有的"Cx v"键绑定仍然绑定到"vc-"命令(我希望Cx vb绑定到egg-start-new-branch)

C-h k
   C-x v b runs the command vc-switch-backend, which is an interactive
Run Code Online (Sandbox Code Playgroud)

除了做一个(需要'鸡蛋)之外,我还需要做其他事吗?


附加信息

"描述变量:egg-minor-mode"

 "egg-minor-mode is a variable defined in `egg.el'. Its value is t"
Run Code Online (Sandbox Code Playgroud)

"Mx describe-minor-mode" - > egg-minor-mode

 "no such minor mode"
Run Code Online (Sandbox Code Playgroud)

git emacs

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