你会如何格式化这样的长行?我希望它的宽度不超过80个字符:
logger.info("Skipping {0} because its thumbnail was already in our system as {1}.".format(line[indexes['url']], video.title))
Run Code Online (Sandbox Code Playgroud)
这是我最好的选择吗?
url = "Skipping {0} because its thumbnail was already in our system as {1}."
logger.info(url.format(line[indexes['url']], video.title))
Run Code Online (Sandbox Code Playgroud) 如果我们处于腐败状态,我经常使用python的assert语句来检查用户输入并快速失败.我知道当使用-o
(优化)标志的python时,assert会被删除.我个人不会在优化模式下运行我的任何应用程序,但感觉我应该远离断言只是在案件中.
写作感觉要干净得多
assert filename.endswith('.jpg')
Run Code Online (Sandbox Code Playgroud)
比
if not filename.endswith('.jpg'):
raise RuntimeError
Run Code Online (Sandbox Code Playgroud)
这是断言的有效用例吗?如果没有,python assert
声明的有效用例是什么?
我试图找到一种方法来阻止用户双重提交我的表单.我有javascript禁用提交按钮,但仍然有偶尔的用户找到双重提交的方法.
我有一个可重用的库的愿景,我可以创建以防止这种情况.
在我理想的库中,代码块看起来像这样:
try:
with acquire_lock({'field1':'abc', 'field2':'def'}) as lock:
response = #do some credit card processing
lock.response = response
except SubmissionWasDuplicate, e:
response = e.response
Run Code Online (Sandbox Code Playgroud)
锁表看起来像这样:
duplicate_submission_locks
有谁知道这是否已经存在?它似乎并不难写,所以如果它不存在我可以自己写.
我通过电子邮件使用django错误报告.它通常是一个非常有用的功能,除了现在我们有5分钟的数据库停机时间,我收到了2000封电子邮件.是否有任何中间件可以帮助我限制django每分钟发送的电子邮件数量?
我经常在命令行mysql上工作.常见的需求是获取查询结果并将其导入Numbers文档(类似于Excel文档).
这样做的最快方法是什么?
您可以直接从MySQL中选择一个outfile,但这需要几个步骤.
FIELDS OPTIONALY ENCLOSED BY
和DELIMITED BY
.我倾向于采用这种方法.对我来说似乎有点快,但这主要是因为我不记得如何SELECT INTO OUTFILE
从上面构建查询并且必须查找它.
我想根据URL中的参数动态创建缩略图.例如,http://mysite.com/images/1234/120x45.jpg
将为120x45
图像ID 创建缩略图1234
.
显而易见的解决方案是使用django视图执行以下操作:
这应该"有效",但我关注的是性能.我不喜欢使用django来提供静态内容的想法.有什么其他方法可以解决这个问题?
有没有办法写unittests
或doctests
为innerfunc
?
def outerfunc():
def innerfunc():
do_something()
return innerfunc()
Run Code Online (Sandbox Code Playgroud) 我正在考虑建立一个iPhone GPS应用程序来帮助跑步者.它需要每10秒获得一个准确的速度读数(在1英里每小时内).iPhone 3GS或新款iPhone 4是否能够准确读取?
我的一些单元测试需要10-15秒才能创建表格.这似乎不必要地长.它必须创建大约50个表,但这仍然只有每秒3个表.在经常进行单元测试时,这是一个很大的烦恼.
作为一种解决方法,我一直在sqlite3中运行我的单元测试.它速度非常快,但我更喜欢在MySQL上运行我的测试,因为那是我的实时服务器运行的.
为了说明速度差异,创建一个新项目.然后使用mysql在其上运行syncdb.然后使用sqlite3尝试它.
[~/testproject] ./manage.py syncdb
Creating table auth_permission
Creating table auth_group
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
Run Code Online (Sandbox Code Playgroud)
对我来说,在MySQL中创建上述表大约需要2秒钟.Sqlite3几乎是即时的.
我在我的开发机器上运行mysql.这是我的my.cnf.
请提出您可以想到的任何提示或调整,这可能有助于加快MySQL的表创建时间.
我遇到了这样的情况:一个 go 程序占用了 15gig 的虚拟内存并且还在继续增长。该问题仅发生在我们的 CentOS 服务器上。在我的 OSX 开发机上,我无法重现它。
我是否发现了 go 中的错误,或者我做错了什么?
我已将问题归结为一个简单的演示,现在我将对其进行描述。首先构建并运行这个 go 服务器:
package main
import (
"net/http"
"os/exec"
)
func main() {
http.HandleFunc("/startapp", startAppHandler)
http.ListenAndServe(":8081", nil)
}
func startCmd() {
cmd := exec.Command("/tmp/sleepscript.sh")
cmd.Start()
cmd.Wait()
}
func startAppHandler(w http.ResponseWriter, r *http.Request) {
startCmd()
w.Write([]byte("Done"))
}
Run Code Online (Sandbox Code Playgroud)
创建一个名为 /tmp/sleepscript.sh 的文件并将其 chmod 为 755
#!/bin/bash
sleep 5
Run Code Online (Sandbox Code Playgroud)
然后向 /startapp 发出多个并发请求。在 bash shell 中,您可以这样做:
for i in {1..300}; do (curl http://localhost:8081/startapp &); done
Run Code Online (Sandbox Code Playgroud)
VIRT 内存现在应该有几 GB。如果重新运行上面的 for 循环,VIRT 内存每次都会继续以 GB 为单位增长。 …
在使用django驱动的会话时,设计关键任务注册表单时的最佳做法是什么?
带注释的行宽度超过80个字符:
MIDDLEWARE_CLASSES = (
'mydogslow.middleware.MyWatchdogMiddleware',
'gattlib.djangomiddleware.SetRemoteAddrFromXRealIP',
'i18n.middleware.SetLanguageMiddleware',
'whitelabels.middleware.SetWhitelabelMiddleware', # after SetLanguageMiddleware
'myaffiliateprogram.middleware.BlockReferringURLs',
)
Run Code Online (Sandbox Code Playgroud)
我可以分解的最自然的方式是:
MIDDLEWARE_CLASSES = (
'mydogslow.middleware.MyWatchdogMiddleware',
'gattlib.djangomiddleware.SetRemoteAddrFromXRealIP',
'i18n.middleware.SetLanguageMiddleware',
'whitelabels.middleware.'
'SetWhitelabelMiddleware', # after SetLanguageMiddleware
'myaffiliateprogram.middleware.BlockReferringURLs',
)
Run Code Online (Sandbox Code Playgroud)
不幸的是,悬挂缩进违反了PEP8.
在此先感谢您向我展示如何打破这一阵容.
python ×7
django ×6
mysql ×2
unit-testing ×2
assert ×1
code-reuse ×1
cookies ×1
csv ×1
doctest ×1
export ×1
formatting ×1
go ×1
gps ×1
http ×1
iphone ×1
linux ×1
memory-leaks ×1
numbers ×1
pep8 ×1
performance ×1
thumbnails ×1