小编Bra*_*des的帖子

在emacs中缩进CSS

因此,emacs对CSS的自动缩进让我感到沮丧.这是我喜欢的CSS看起来像:

#foo ul.bar {
    ....
}

    #foo ul.bar li {
        ....
    }

        #foo ul.bar li a {
            ....
        }
Run Code Online (Sandbox Code Playgroud)

这就是emacs给我的自动缩进:

#foo ul.bar {
    ....
}

#foo ul.bar li {
    ....
}

#foo ul.bar li a {
    ....
}
Run Code Online (Sandbox Code Playgroud)

如果他们使用级联,我喜欢逐渐缩进我的样式.但是,emacs会将所有内容自动添加到同一级别.

我能做什么?

css emacs sass indentation

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

x86/x64芯片还在使用微程序吗?

如果我理解这两篇文章,那么最低级别的英特尔架构已经过渡到使用RISC指令,而不是英特尔着名的传统CISC指令集:

http://www.hardwaresecrets.com/article/235/4

http://www.tomshardware.com/reviews/intel,264-6.html

如果是这种情况,那么x86/x64芯片是否仍然采用微程序设计,还是像传统的RISC芯片一样使用硬连线控制?我猜它仍然是微程序设计,但想验证.

64-bit x86 intel cpu-architecture microcoding

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

如果班级有__dict__变量,可以检查obj .__ dict__吗?

我感兴趣的是,是否有一种方法可以无误地反省Python实例,__dict__尽管程序员可能会遇到任何障碍,因为这样可以帮助我调试非预期的引用循环和悬空资源(如打开文件)等问题.

一个更简单的例子是:dict如果程序员隐藏keys()在自己的类后面,我怎么能看到子类的键?解决dict keys()方法是手动调用方法而不是让继承调用子类的方法版本:

# Simple example of getting to the real info
# about an instance

class KeyHidingDict(dict):
    def keys(self):
        return []  # there are no keys here!

khd = KeyHidingDict(a=1, b=2, c=3)
khd.keys()       # drat, returns []
dict.keys(khd)   # aha! returns ['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

现在我的实际问题是,__dict__无论程序员可能做了什么来隐藏它,我怎么能看到一个实例呢?如果他们设置了一个__dict__类变量,那么它似乎会影响__dict__从该类继承的任何对象的实际内容:

# My actual question

class DunderDictHider(object):
    __dict__ = {'fake': 'dict'}

ddh = DunderDictHider()
ddh.a = 1
ddh.b = 2
print …
Run Code Online (Sandbox Code Playgroud)

python inheritance class introspection internals

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

Emacs:如何在cc模式导数中自动插入空格后的空格

假设我有这个代码:

{
  "type"  : "home",
  "number":"212 555-1234"
}
Run Code Online (Sandbox Code Playgroud)

我希望我的emacs在某些模式下自动在冒号后插入空格.特别是我正在使用基于cc模式的javascript模式.它有帮助吗?

预先感谢.

emacs colon cc-mode

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

记录Memcached活动

我想记录我的memcached服务器中正在进行的所有活动.所有读写.

这将被用作云中许多远程php应用程序的分布式守护程序,并且需要一种SSH方法并检查守护进程上正在进行的活动.

我已广泛搜索,无法找到一种方法来做到这一点.

Redis等效的是登录交互式控制台并输入MONITOR.

提前致谢.

memcached

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

限制 Mayavi 鼠标拖动以绕其轴旋转地球

使用 iPython Notebook,我已经能够使用如下代码显示地球仪:

from mayavi import mlab
from mayavi.sources.builtin_surface import BuiltinSurface

ocean_blue = (0.4, 0.5, 1.0)
r = 6371 # km

sphere = mlab.points3d(0, 0, 0, name='Globe',
  scale_mode='none', scale_factor=r * 2.0,
  color=ocean_blue, resolution=50)

sphere.actor.property.specular = 0.20
sphere.actor.property.specular_power = 10

continents_src = BuiltinSurface(source='earth', name='Continents')
continents_src.data_source.on_ratio = 1  # detail level
continents_src.data_source.radius = r
continents = mlab.pipeline.surface(continents_src, color=(0, 0, 0))
Run Code Online (Sandbox Code Playgroud)

但是,当我使用鼠标与生成的 3D 窗口交互时,很难将其保持正面朝上,因为 UI 将向左或向右拖动鼠标解释为尝试旋转场景(或相机?)围绕窗口当前的垂直轴,而不是通过地球仪本身的轴。

有没有办法限制用户交互代码,以便通过设置一些 Mayavi 参数,无论轴是否垂直向上或向下,鼠标左键或右键拖动都会绕其轴旋转地球仪,或者通过将一些Python代码注册为鼠标拖动的UI事件处理程序?

python visualization scipy mayavi mayavi.mlab

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

Selenium如何批量许多isElementDisplayed调用?

Selenium有一个方便的机制,可以在一次快速往返中相当有效地从DOM中提取数十个或数百个元素:

buttons = driver.find_elements_by_css_selector('button')
Run Code Online (Sandbox Code Playgroud)

结果buttons可以是几十个或几百个元素的列表而没有任何问题.

但是如果你想使用is_displayed()(或者像Java那样调用它isElementDisplayed)来过滤元素,那么事情就会慢慢爬行,因为对方法的每次调用都需要往返浏览器.即使在我最快的开发机器上,每个这样的调用大约需要0.1秒,这意味着100个元素的后续过滤需要10秒(!):

[b.is_displayed() for b in buttons]
Run Code Online (Sandbox Code Playgroud)

如果您想查找具有特定文本的按钮,则会出现同样的问题,因为.text事实上每次查找属性都会调用一个属性,并将其自己的往返返回到浏览器:

[('Subscribe' in b.text) for b in buttons]
Run Code Online (Sandbox Code Playgroud)

这使得编写强大的Selenium测试变得很困难,这些测试注意到关于DOM真正面向用户的两件事:元素是否可见,以及它包含哪些文本.虽然完全远离可见性和文本内容(例如,对于唯一ID或类或文档位置的组合)的转动会使我们的测试运行得更快,但它会在我们的Selenium测试和它正在寻找的按钮之间创建一个不可见的链接,而是让我们的测试关注用户体验以及用户可以在屏幕上看到和阅读的内容.

我的问题:

  • 在初始获取元素期间,有没有办法在浏览器上应用is_displayed()text测试元素?

  • 或者有没有办法进行批量is_displayed()调用,询问大量元素而不只是一个?

  • 或者从Firefox测试到Firefox下的Selenium的0.1s往返时间完全不合理,并且对其他人来说运行速度更快,这就是为什么这些常见操作的明显批处理版本不存在的原因?

我原以为我可以转向execute_script()从Python 运行(Java名称:),executeScript()并从我的JavaScript代码内部以某种方式执行Selenium的逻辑,这个逻辑背后是"这个元素可见"的复杂概念.遗憾的是,executeScript()似乎没有让脚本访问Selenium本身认为必不可少的任何util函数,因此要访问is-visible函数,我们必须将jQuery或随机Selenium代码片段拉入缺少它们的页面中,干扰测试的整个概念:它只是为了运行我们的测试而在不改变其JS配置文件的情况下测试页面.

谢谢你的任何想法!令我感到惊讶的是,Selenium期望呼叫者executeScript()能够重建这样的功能is_displayed(),正如代码所示,这是Selenium的一个主要特征,看起来需要做很多工作才能获得正确的,并且需要从所有可能的代码,以避免重新发明这样一个重要的轮子.

javascript python selenium

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

在后台运行pika ioloop或使用自定义ioloop

我觉得这应该不是那么困难,但到目前为止我没什么成功.

假设我有一个名为PikaClass的类,它包裹鼠兔并提供一些商业方法.

def PikaClass(object):
  def __init__(self):
     # connect to the broker
     self.connection = pika.SelectConnection(<connection parameters>, self.on_connect)
     # ..other init stuff..

  def on_connect(self, connection):
     # called when the connection has been established 
     # ..open a channel, declare some queues, etc.

  def start(self):
     # start the polling loop 
     self.connection.ioloop.start()

  def foo(self, **kwargs):
     # do some business logic, e.g., send messages to particular queues
Run Code Online (Sandbox Code Playgroud)

直观地说,这就是我想要实现的:用户创建一个实例PikaClass,在后台设置循环,然后通过调用某些业务方法与对象进行交互

p = PikaClass()
p.start()
bar = p.foo(..)
Run Code Online (Sandbox Code Playgroud)

问题是p.start()阻止并阻止主代码在调用start()后与对象交互.我的第一个想法是将调用包装在一个线程中:

Thread(target=p.start()).start()
bar = p.foo(..)
Run Code Online (Sandbox Code Playgroud)

但那仍然会阻止你永远不会到达p.foo(..).文档提到你不应该在线程之间共享连接,这样可能会在某处导致问题.

我也尝试使用AsyncoreConnection而不是SelectConnection,并直接调用_connect()(而不是使用ioloop),但这没有任何效果(没有任何反应). …

python multithreading amqp rabbitmq

4
推荐指数
2
解决办法
4628
查看次数

如何使用Pika发送和接收RabbitMQ消息?

我有一些问题让Pika以与AMQP或RabbitMQ文档一致的方式使用路由密钥或交换.我知道RabbitMQ文档使用旧版本的Pika,所以我忽略了他们的示例代码.

我要做的是定义一个队列,"订单",并有两个消费者,一个处理交换或routing_key"生产",一个处理"测试".通过使用直接交换和路由密钥或使用主题交换来查看RabbitMQ文档应该很容易.

然而,Pika似乎不知道如何处理交换和路由密钥.使用RabbitMQ管理工具检查队列,很明显Pika要么没有正确排队消息,要么RabbitMQ只是把它扔掉了.

在消费者方面,我不清楚如何将消费者绑定到交换机或处理路由密钥,文档并没有真正帮助.

如果我删除所有想法或交换和路由密钥,消息排队很好,并且很容易由我的消费者处理.

任何指针或示例代码人都会很好.

python amqp rabbitmq

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

如何使用WebOb构建文件上载POST HTTP请求?

我正在使用Ian Bicking的WebOb来编写Python Web应用程序测试.我调用webob.Request.blank('/path...'),然后使用生成的请求对象的get_response(app)方法来调用我的Web应用程序.返回的响应对象允许我检查HTTP响应的状态代码,内容类型,正文等.构建POST请求也很容易:

Request.blank('/path/under/test/', POST={'query': 'some text'})
Run Code Online (Sandbox Code Playgroud)

但现在我遇到了一个难题:我需要在我的Web应用程序中测试一个期望文件上传的视图,而我无法弄清楚WebOb如何代表特定类型的POST.有谁知道如何构建一个带有一个或多个文件上传字段的WebOb请求?

python testing wsgi http webob

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