像jekyll,toto和webby这样的红宝石宝石提供开箱即用的博客类型集成到您的ruby应用程序中.开发富Web博客类型应用程序的另一种方法是使用纯ruby和rails实践自己构建和建模应用程序.(例如,创建文章和用户模型).第一个提供开箱即用的功能第二个选项提供更多的定制和控制.
在人们对Stack Overflow的体验中,这将是最佳途径,人们在决定使用开箱即用的宝石时会考虑什么?
如何部署和运行项目.这个空间里有很多工具.应该使用哪个以及为什么?
可能重复:
如何分析我的代码?
什么是用于分析和性能测试python代码的最佳实践和工具?这里有任何快速获胜或建议。
CProfile接缝很流行,下面还有一些很棒的注释/答案,都是很好的答案/教程。投票出去,我将在一两天内选出最热门的一个。谢谢@senderle和@ campos.ddc
一旦发现问题区域,是否有任何惯用法和/或技巧可用于转换代码以使其更快?
我有一个Django视图,返回一个像这样的dicts列表
data = [{'year': 2006, 'books': 54},
{'year': 2007, 'books': 43},
{'year': 2008, 'books': 41},
{'year': 2009, 'books': 44},
{'year': 2010, 'books': 35}]
c = {
'data': data,
}
return render(request, 'template.html', c)
Run Code Online (Sandbox Code Playgroud)
模板文件中有一些基本的JavaScript,可以做到这一点.
var data = "{{data}}";
console.log(data);
//..... Then other functions
Run Code Online (Sandbox Code Playgroud)
问题是数据是通过格式化的JavaScript进入JavaScript,如下所示,引号为'.
{'books': 4, 'year': 2010}, {'books': 7, 'year': 2011}
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下命令将dicts列表转储到python中的json字符串:
simplejson.dumps(data)
Run Code Online (Sandbox Code Playgroud)
但没有快乐.任何修复的建议和想法?人们如何使用django模板将python数据结构转换为js数据结构
注意:理想情况下,js数据变量如下所示:
var data = [{year: 2006, books: 54},
{year: 2007, books: 43},
{year: 2008, books: 41},
{year: 2009, books: 44},
{year: 2010, books: 35}];
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个字符串函数来提取两个标记之间的字符串内容.它返回一个提取列表
def extract(raw_string, start_marker, end_marker):
... function ...
return extraction_list
Run Code Online (Sandbox Code Playgroud)
我知道这可以使用正则表达式来完成但是这很快吗?这将在我的过程中被称为数十亿次.最快的方法是什么?
如果标记相同且出现和奇数次会发生什么?
如果开始和结束标记出现多次,则该函数应返回多个字符串.
是否有关于scipy,numpy,pandas,scikit生态系统中的包之间的相互依赖关系和关系的文档?
对于线性模型,与 R 预测函数等效的 Python 是什么?
我确信 scipy 中有一些东西可以在这里提供帮助,但是有等效的功能吗?
https://stat.ethz.ch/R-manual/R-patched/library/stats/html/predict.lm.html
使用生成器时,您只能在一次通过时拉出项目.另一种方法是将生成器加载到列表中并执行多次传递,但这会影响性能和内存分配.
任何人都可以想到一种更好的方法,可以在一次通过中从生成器计算以下指标.理想情况下,代码计算您可以想到的计数,总和,平均值,标准差,最大值,最小值和任何其他统计数据.
UPDATE
这个要点中最初的可怕代码.请参阅此处的要点:https://gist.github.com/3038746
使用来自@larsmans的伟大建议是我最后的解决方案.使用命名元组确实有帮助.
import random
from math import sqrt
from collections import namedtuple
def stat(gen):
"""Returns the namedtuple Stat as below."""
Stat = namedtuple('Stat', 'total, sum, avg, sd, max, min')
it = iter(gen)
x0 = next(it)
mx = mn = s = x0
s2 = x0*x0
n = 1
for x in it:
mx = max(mx, x)
mn = min(mn, x)
s += x
s2 += x*x
n += 1
return Stat(n, s, s/n, sqrt(s2/n …Run Code Online (Sandbox Code Playgroud) 最近我被要求编写一些代码来查找列表中最高的n个元素,并返回值和位置.
你能比这更快(在执行时间方面)吗?
def highest(L, n):
return sorted(enumerate(L), reverse=True, key=lambda x: x[1])[:n]
if __name__ == '__main__':
M = [102, 56, 2355, 3, 25, 78, 19, 25, 1002, -54, 0, 23, -1]
r = highest(M,5)
print r #[(2, 2355), (8, 1002), (0, 102), (5, 78), (1, 56)]
Run Code Online (Sandbox Code Playgroud) 读取文件并通过分隔符划分行的最佳方法是什么.返回的数据应该是元组列表.
这种方法可以被打败吗?这可以更快/使用更少的内存吗?
def readfile(filepath, delim):
with open(filepath, 'r') as f:
return [tuple(line.split(delim)) for line in f]
Run Code Online (Sandbox Code Playgroud) python ×9
django ×2
generator ×2
performance ×2
scipy ×2
blogs ×1
deployment ×1
file-io ×1
javascript ×1
list ×1
numpy ×1
pandas ×1
prediction ×1
profiler ×1
r ×1
regex ×1
ruby ×1
rubygems ×1
scikit-learn ×1
statistics ×1
string ×1