小编MLi*_*ter的帖子

是否保证日志消息按时间顺序排列?

我正在使用该logging模块记录来自应用程序服务器的消息。更具体地说,我使用StreamHandler将消息记录到stdout / stderr,并用于Supervisord将这些消息记录到文件中(因为服务器进程由Supervisord)。

我的主要问题是,日志文件中的消息顺序是否总是真实地反映代码的执行顺序?例如,如果一条消息A: this is log msg A出现在B: this is log msg B日志文件中的消息之前,那么我们可以100%确定记录消息A的代码行是在记录消息的代码行之前执行的B,即使两条消息中的时间戳都在日志文件是一样的吗?

python logging supervisord

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

在Python中访问类变量的性能

我想知道在使用以下方法访问同一类的方法内的类变量(dict)时性能是否有任何差异:

self.class_variable_dict.add(some_key, some_value)
Run Code Online (Sandbox Code Playgroud)

ClassName.class_variable_dict.add(some_key, some_value)
Run Code Online (Sandbox Code Playgroud)

显然,只要没有具有相同名称的实例变量,两者都可以工作,但是有任何理由/用例我们应该优先选择其中一个吗?

python scope global-variables

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

是否建议使用Supervisor运行redis

使用Supervisor在生产中运行redis是一个好习惯吗?

我已经google了一下,但没有看到很多这样做的例子.如果没有,在生产中运行redis的正确方法是什么?

production-environment redis supervisord

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

是否可以在Tornado中基于模板变量运行javascript代码?

如果处理程序返回变量以及模板:

self.render('page.html', enabled=enabled)
Run Code Online (Sandbox Code Playgroud)

其中enabled是一个布尔变量.

到目前为止,我知道我可以做以下事情:

{% if enabled %}
    ...
{% end %}
Run Code Online (Sandbox Code Playgroud)

在模板的HTML部分内.

但是我们可以enabled在Tornado模板中有条件地运行一些基于此变量的javascript代码吗?换句话说,我们可以在嵌入模板的javascript中访问此变量的值吗?

python tornado

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

从本地主站推送到远程非主站分支

在我的本地计算机上,我有一个存储库设置如下

* remote origin
  Fetch URL: git@github.com:me/my_project.git
  Push  URL: git@github.com:me/my_project.git
  HEAD branch: master
  Remote branches:
    mac-master tracked
    master     tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (local out of date)
Run Code Online (Sandbox Code Playgroud)

本地只有master分支,我想总是将我的本地主服务器推送到远程分支.我应该这样做: mac-master

git push origin master:mac-master
Run Code Online (Sandbox Code Playgroud)

每次我需要推?如果没有,这样做的正确方法是什么?

git github git-push

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

SockJS遇到IE9问题

我在这里看到了类似失败的报告:https://groups.google.com/forum/?fromgroups =#!topic/swsjs/QNtA1_p_arU,但我的问题似乎有所不同.

我的设置:客户端连接到https://www.mysite.com/sockjsSockJS,实际页面服务于https://www.mysite.com/blah/blah/blah.页面上的所有外部元素(例如css和js)都使用https,包括SockJS-Client(https://d1fxtkz8shb9d2.cloudfront.net/sockjs-0.3.js,最新版本应为0.3.4).后端由SockJS-Tornado制作.

问题1:我指定使用以下协议:

var options = {protocols_whitelist: ["websocket", "xhr-streaming", "xdr-streaming", "xhr-polling", "xdr-polling", "iframe-htmlfile", "iframe-eventsource", "iframe-xhr-polling"], debug: true};             
conn = new SockJS("https://www.mysite.com/sockjs", options);
Run Code Online (Sandbox Code Playgroud)

但是,似乎IE9只使用最差的协议iframe-htmlfile,因为我在服务器日志中看到以下内容:

INFO:root:200 GET /sockjs/info?t=1353062888578 (127.0.0.1) 0.51ms
INFO:root:200 GET /sockjs/iframe.html (127.0.0.1) 22.21ms
Run Code Online (Sandbox Code Playgroud)

为什么不使用xdr-streamingxdr-polling?在SockJS doc中,它将这两个协议标记为'IE8,9(cookies = no)',这是否意味着SockJS只会在浏览器禁用cookie时使用它们?

问题2:使用协议时iframe-htmlfile,用户将'Only Secure Content is Displayed'在页面上收到警告,这表示混合内容问题.但是,其他测试的浏览器都没有报告此警告(例如Chrome,FireFox,Safari),并且如前所述,页面上的每个外部资源都通过https提供.为什么是这样?是否与此特定协议有关iframe-htmlfile

与此同时,SockJS努力连接到服务器并发送消息.这是我在服务器日志中看到的:

INFO:root:200 GET /sockjs/info?t=1353062888578 (127.0.0.1) 0.51ms
INFO:root:200 GET /sockjs/iframe.html (127.0.0.1) 22.21ms
INFO:root:200 GET …
Run Code Online (Sandbox Code Playgroud)

https tornado internet-explorer-9 sockjs

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

由矩阵计算得到的numpy数组中的舍入值

我有一些涉及两个矩阵的计算,两个矩阵都以numpy数组表示.

在计算之后,我获得floats另一个numpy数组中表示的向量.

我想向上/向下舍入此结果向量中的值,例如,如果计算给出:

array([1.33333, 2.56, 9.99999, 16.0])
Run Code Online (Sandbox Code Playgroud)

那么它应该舍入到:

array([1, 3, 10, 16])
Run Code Online (Sandbox Code Playgroud)

最快的方法是什么?

python numpy matrix rounding

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

将相同的代码添加到多个函数中

我面临的情况是,我需要在JavaScript的多个函数的开头和结尾添加相同的代码块.例如

function funcA () {
    // code block 1
    ...

    // code unique to funcA
    ...

    // code block 2
    ...
}

function funcB () {
    // code block 1
    ...

    // code unique to funcB
    ...

    // code block 2
    ...
}

function funcC () {
    // code block 1
    ...

    // code unique to funcC
    ...

    // code block 2
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想知道在这里使用什么是正确的模式来减少重复.

javascript design-patterns

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

如何判断pysqlite 2.6.3中的更新语句是否成功

我正在使用pysqlite与SQLite数据库进行对话,我想知道检查UPDATESQL语句是否实际上已成功更新表中的内容的正确方法是什么.

是否有一个变量,我可以在执行后快速检查pysqlite

python sqlite pysqlite

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

返回字典中元组键的给定元素的最大值

我有一个以元组为键的dict,我想获得最大的可用值,比如当前在字典中的元组键的第二个元素.例如,给定:

my_dict = {('a', 1):value_1, ('b', 1):value_2, ('a', 2):value_3, ('c', 3):value_4, ('b', 2):value_5}
Run Code Online (Sandbox Code Playgroud)

所以键的第二个元素的最大值是3.

获得此值的最快方法是什么?

python dictionary tuples

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

是否有可能在Tornado中捕获处理程序的可选参数

我有一个绑定到Tornado中的处理程序的URL.例如

(r'/browse/article/([a-zA-Z0-9_-]+)/([0-9]*)', ArticleHandler),
Run Code Online (Sandbox Code Playgroud)

但是,参数的数量并不固定,有些将是/browse/article/blah,其他的将是/browse/article/blah/2.换句话说,最后一个参数可能存在也可能不存在.

是否仍然可以使用单个处理程序来处理这种情况?如果是这样,我应该如何制定正则表达式字符串以匹配所有可能的情况?

python regex tornado

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

if ifif语句中的表达式评估

给出这样的代码:

if f(a) == 1:
    # do sth A
elif f(a) == 2:
    # do sth B
elif f(a) == 3:
    # do sth C
else:
    # do sth D
Run Code Online (Sandbox Code Playgroud)

表达式f(a)只执行/评估一次吗?或者它得到执行/评估的每一种情况下if还是elif?此外,复合语句是否有所不同:例如

if f(a) == 1:
    # do sth A
elif f(a) == 2 and a > 0:
    # do sth B
elif f(a) == 3 and a < 0:
    # do sth C
else:
    # do sth D
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如何f(a)评估?每个案例一次性或单独一次?

python

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

创建字符串的副本

我有一个类变量my_set,它是一个集合,我在其中添加字符串:

MyClass.my_set.add(self.some_string_property)

我的问题是运行上面的类的实例可能随时收集垃圾,当发生这种情况时,我认为我失去了它some_string_propertymy_set类变量.

为了保持some_string_propertymy_set每个实例,我需要创建一个副本并存储该副本my_set.这样做的正确方法是什么?我已经尝试过该 copy模块,但它不适用于字符串.

python string copy

0
推荐指数
1
解决办法
253
查看次数