小编Bla*_*huk的帖子

如何获取Django模板中定义的所有变量?

我是Django的新手,我想知道是否有办法将所有可用的变量转储到模板以进行调试.在Python中我可能会使用类似于locals()默认模板引擎的东西吗?

注意:假设我出于此问题的目的无法访问该视图.

django django-templates

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

我的python程序执行速度比同一程序的java版本快.是什么赋予了?

更新:2009-05-29

感谢所有的建议和意见. 我使用你的建议使我的生产代码平均比几天前的最佳结果快2.5倍. 最后,我能够使java代码最快.

教训:

  • 下面的示例代码显示了原始int的插入,但生产代码实际上存储了字符串(我的坏).当我纠正那个python执行时间从2.8秒变为9.6时.因此,在存储对象时,java实际上更快.

  • 但它并不止于此.我一直在执行java程序,如下所示:

    java -Xmx1024m SpeedTest

但是,如果您按如下方式设置初始堆大小,则会获得巨大的改进:

java -Xms1024m -Xmx1024m SpeedTest
Run Code Online (Sandbox Code Playgroud)

这个简单的更改将执行时间减少了50%以上.所以我的SpeedTest的最终结果是蟒蛇9.6秒.Java 6.5秒.

原始问题:

我有以下python代码:

import time
import sys

def main(args):    
    iterations = 10000000
    counts = set()
    startTime = time.time();    
    for i in range(0, iterations):
        counts.add(i)
    totalTime = time.time() - startTime
    print 'total time =',totalTime
    print len(counts)

if __name__ == "__main__":
    main(sys.argv)
Run Code Online (Sandbox Code Playgroud)

它在我的机器上执行大约3.3秒,但我想让它更快,所以我决定用java编程.我认为因为java被编译并且通常被认为比python更快我会看到一些很大的回报.

这是java代码:

import java.util.*;
class SpeedTest
{    
    public static void main(String[] args)
    {        
        long startTime;
        long totalTime;
        int iterations = 10000000;
        HashSet counts = …
Run Code Online (Sandbox Code Playgroud)

python java microbenchmark

15
推荐指数
7
解决办法
3274
查看次数

如何修复损坏的git存储库 - "git fsck"报告"树中的警告[hash]:包含指向null sha1的条目"

概述:

我无法成功将我们的仓库中的更改提取到生产服务器.

在我的repo上运行"git fsck"返回了同样错误的5个实例:

warning in tree [hash]: contains entries pointing to a null sha1
Run Code Online (Sandbox Code Playgroud)

我们的所有版本的repo都存在错误,包括bitbucket上托管的版本.

我和我的同事在我们非常希望保留的本地版本的回购中都有未经删除和未提交的更改.

我已经尝试了google,stackoverflow和man page,但是我找不到一个好的指南来解释发生了什么或如何解决问题.

在谈到GIT时,我的同事和我是相对的新手.我们已经掌握了基础知识,但我们还没有在低级命令中花费任何时间.

我很感激任何和所有帮助恢复我的回购的完整性.

详细说明:

当我尝试将远程分支拉到生产服务器时,我的问题就出现了.它应该是对工作目录的简单更新,但我得到一些模糊的错误,我不记得,发现我的工作目录已损坏.

合并失败后,Git状态报告了大量未跟踪和修改的文件.我无法弄清楚如何使用git命令解决问题所以我手动操作文件系统以删除文件(但我没有触及.git目录中的任何内容)并让我的工作目录回到我的状态生产服务器将无误地为我的网站服务.

在我的repo上运行"git fsck"返回了同样错误的5个实例:

warning in tree [hash]: contains entries pointing to a null sha1
Run Code Online (Sandbox Code Playgroud)

我跑了git fsck:

  • 我的开发机器上的回购
  • 我的同事的开发机器
  • dev和prod上来自bitbucket的新克隆版本回购

我试过的一切都显示出相同的警告.所以无论问题是什么,它都在我们的回购的所有版本中.

调用"git ls-tree [树形哈希报告错误]"显示正常的目录打印输出以及坏树哈希:

160000 commit 0000000000000000000000000000000000000000 [name of repo]
Run Code Online (Sandbox Code Playgroud)

我找到的最接近解决方案的是这个stackoverflow帖子:如何在Git树中删除带有null sha1的条目.但是,我无法真正理解这些步骤,切割和粘贴命令无法解决我的问题.

我的问题:

  • 这些错误究竟意味着什么?他们有多严重?
  • 我们如何修复我们的回购(如果可能的话,请一步一步地为我们的新手)?
  • 在我们修复之前或之后,我们是否应该承诺并将所有更改推送到回购?
  • 修复回购有什么影响?我们如何将修复分发到所有版本的repo(例如dev机器和生产服务器)?
  • 导致此错误的原因是什么?我们如何防止它再次发生?

git git-fsck

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

标签 统计

django ×1

django-templates ×1

git ×1

git-fsck ×1

java ×1

microbenchmark ×1

python ×1