简介:有没有办法通过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服务器,然后通过源代码下载+构建重新安装它,所有这些只是为了获取插件.
谢谢.
我有一个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.这可能吗?
谢谢.
我有一个模块导入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) 我正在使用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")- 我能以某种方式用一行来关闭所有"解析"消息(无论发出消息的模块/功能?)
试图了解安全性.想知道为什么在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低级别cache.set()期间发生的事情.特别是,有关查询集的哪个部分存储在memcached中的详细信息.
首先,我是否正确地解释了django文档?
现在关于在视图中将内容保存到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中?即使视图只访问查询集的子集,一切都会被保存?
我看到各方面的陷阱,这让我觉得我
误解了很多东西.
希望这是有道理的,并欣赏澄清或指向一些"标准"指南.谢谢.
有关如何执行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) 在给定数字向量的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"功能是否已包含在包中?
谢谢.
一个具体的例子:熟悉django的项目源代码(core,contrib,utils等).有用工具的示例:ctags - 它允许您"跳转"到定义函数/方法的文件+位置.想知道开发人员使用的其他工具(例如:是否有一个给出函数x()的工具,列出调用x()和x()调用的函数?).谢谢.
编辑:在其他答案中添加了目前为止提到的工具集合的答案
我需要做什么(要加载的模块,要调用的语言环境方法等),以便在我调用时:
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调用动态设置语言环境并保持我的应用程序范围内的更改)
谢谢.
>>> 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)
谢谢.
是否有一种"简单"的方法将包含数字的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) 所有"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) python ×7
django ×4
correlation ×1
django-cache ×1
docker ×1
emacs ×1
git ×1
ide ×1
logging ×1
mean ×1
r ×1
rabbitmq ×1
ubuntu ×1
unit-testing ×1