小编Dan*_*een的帖子

自从改革开始以来,流产的旧git rebase和丢失的提交

扯淡!大约一个星期前,我在尝试清理我的存储库时,正在重新设置一些提交,显然我实际上没有完成它.今天,一个星期和几个提交之后,我从今天开始重新订购一些提交,它告诉我,我已经处于变革的中间.

这应该是复制我的回购以防万一的提示.但我没有...而是我git rebase --abort当时听起来正确.嗯,那不对.它从一周前中止了反转,并将主人的HEAD重置为旧的.假!

我还有其他几个相当近的分支,我已经多次推到远程,但最近的变化似乎永远消失了.我没有适当级别的git-fu知道是否有任何方法可以恢复我的更改.

我搞砸了吗?

编辑 - 哇!多谢你们!git reflog太棒了!我已经完全恢复了......经验教训.标记Tchalvak的答案被接受为第一个发布.

git git-rebase

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

Tinyurl风格的独特代码:防止冲突的潜在算法

我有一个系统,需要一个唯一的6位数代码来表示一个对象,我正在考虑一个很好的算法来生成它们.以下是预先要求:

  • 我正在使用基础20系统(没有帽子,数字,元音或l来防止混淆和顽皮的话)
    • base-20允许6400万种组合
  • 我将一次插入5-10万个条目,所以理论上我会使用批量插入,这意味着使用一个唯一的密钥可能不会有效或漂亮(特别是如果开始出现大量冲突)
  • 填满10%的组合并不是不可能的,因此很有可能发生大量碰撞
  • 我想确保代码是非连续的

我有一个想法听起来像它会工作,但我在数学上不够好,无法弄清楚如何实现它:如果我从0开始并增加N,然后转换为基数20,似乎应该是N的一些值,让我可以在重复任何值之前计算0-63,999,999中的每个值.

例如,使用N = 3(因此10 mod 3)从0到9:0,3,6,9,2,5,8,1,4,7.

是否有一些神奇的数学方法可以计算出一些较大数字的N值,这些数值能够计算整个范围而不重复?理想情况下,我选择的数字会在集合周围跳跃,这样就不会有明显的模式,但我不确定它是多么可能.

或者,一个保证0-64百万的唯一性的散列算法可以工作,但我太愚蠢了,不知道这是否可行.

language-agnostic puzzle algorithm math hash-code-uniqueness

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

来自django foreignkey字段的大量查询

在创纪录的时间内编写内部网站时,我整天都在为Django流口水,但现在我注意到我的ForeignKeys在模型中的效率非常低.

我有一个有6个ForeignKeys的模型,基本上是查找表.当我查询所有对象并在模板中显示它时,每个项目运行大约10个查询.这里有一些代码,应该更好地解释它:

class Website(models.Model):
    domain_name = models.CharField(max_length=100)
    registrant = models.ForeignKey('Registrant')
    account = models.ForeignKey('Account')
    registrar = models.ForeignKey('Registrar')
    server = models.ForeignKey('Server', related_name='server')
    host = models.ForeignKey('Host')
    target_server = models.ForeignKey('Server', related_name='target')

class Registrant(models.Model):
    name = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

......还有5个简单的表格.有155个网站记录,在我正在使用的视图中:

Website.objects.all()
Run Code Online (Sandbox Code Playgroud)

它最终执行1544个查询.在模板中,我使用了所有外来字段,如:

<span class="value">Registrant:</span> <a href="/filter/registrant/{{ website.registrant.id }}">{{ website.registrant.name }}</a><br />
Run Code Online (Sandbox Code Playgroud)

所以我知道它会运行很多查询...但似乎这是过分的.这是正常的吗?我不应该这样做吗?

我对Django很新,所以希望我只是做一些愚蠢的事情.这绝对是一个非常棒的框架.

django

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

是否值得使用内置的Django管理员为一个体面的大小项目?

我没有长时间使用Django,但我即将开始一个非常大的项目.我总是在大型项目中使用相当新的框架(对我来说是新的)时会感到紧张,因为我之前已被烧毁过.但是,我对Django非常有信心......这最终将成为让我从我自己的PHP框架跳到流行的Python框架的项目.(好极了!)

无论如何,我的问题是内置的Django管理员是否足够强大,可以用于完全成熟的面向客户的界面(客户端将自己使用它,而不是我).我看到它是可定制的,但我想知道是否可扩展到足以处理各种非标准情况.我还没有任何具体的例子,因为我还没有开始.

有没有人使用Django管理员为非程序员用户使用的一些非常自定义的界面?它值得吗?您是否愿意专门为该网站创建一个本土管理界面?

只是为了澄清,用户将完全是非技术性的.

django django-admin

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

在pisa html到pdf库中使用link_callback的图像URL

相关:django - pisa:将图像添加到PDF输出

我有一个网站使用Google Chart API向用户显示一堆报告,我正在尝试实现PDF版本.我使用的link_callback参数pisa.pisaDocument伟大的工程的当地媒体(CSS /图片),但我不知道它是否会与远程图像(使用谷歌图表URL)工作.

从比萨网站上的文档中,他们暗示这是可能的,但他们没有说明如何:

Normaly pisa希望在本地驱动器上找到这些文件.它们也可以相对于原始文档引用.但程序员可能希望通过HTTP请求或从数据库或其他任何东西加载不同类型的源,如Internet.

这是一个Django项目,但这是无关紧要的.这是我用于渲染的内容:

html = render_to_string('reporting/pdf.html', keys,
                        context_instance=RequestContext(request))
result = StringIO.StringIO()
pdf = pisa.pisaDocument(
        StringIO.StringIO(html.encode('ascii', 'xmlcharrefreplace')),
        result, link_callback=link_callback)
return HttpResponse(result.getvalue(), mimetype='application/pdf')
Run Code Online (Sandbox Code Playgroud)

我尝试让link_callback返回一个urllib请求对象,但它似乎不起作用:

def link_callback(uri, rel):
    if uri.find('chxt') != -1:
        url = "%s?%s" % (settings.GOOGLE_CHART_URL, uri)
        return urllib2.urlopen(url)
    return os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, ""))
Run Code Online (Sandbox Code Playgroud)

它生成的PDF完全出来,除了谷歌图表不存在.

python pdf-generation pisa

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