小编cre*_*gox的帖子

如何在GitHub上请求维基页面?

我在GitHub上看到了一个未打开进行编辑的wiki页面.然后我分叉项目,在"我的结束"上编辑它并尝试做拉动请求.事实证明,维基不在项目中,并且没有办法对其进行更改.

除了电子邮件之外,如果我想在这种情况下建议对wiki进行更改,还有办法继续吗?

在这一点上,我发现在"具有相似标题的问题"下似乎是一个替代方案,但我还不能用它做拉取请求,所以我不确定子模块是否是一个很好的方法.我现在看到我可能会以某种方式分支它......所以这是要走的路吗?

git wiki github

132
推荐指数
5
解决办法
3万
查看次数

为什么"可变的默认参数修复"语法如此丑陋,请问python newbie

现在跟随我的一系列"python新手问题"并基于另一个问题.

特权

转到http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#other-languages-have-variables并向下滚动到"默认参数值".在那里你可以找到以下内容:

def bad_append(new_item, a_list=[]):
    a_list.append(new_item)
    return a_list

def good_append(new_item, a_list=None):
    if a_list is None:
        a_list = []
    a_list.append(new_item)
    return a_list
Run Code Online (Sandbox Code Playgroud)

在python.org上甚至还有一个"重要的警告",这个例子非常相同,并不是说它"更好".

一种方式来表达它

所以,这里的问题是:为什么在一个已知问题上"好"语法比在一个促进"优雅语法"和"易于使用"的编程语言中那样丑陋?

编辑:

另一种说法

我不是在问为什么或如何发生(感谢Mark的链接).

我问为什么没有更简单的替代内置语言.

我认为更好的方法可能是在def自身中做一些事情,其中name参数将附加到def可变对象中的"本地"或"新" .就像是:

def better_append(new_item, a_list=immutable([])):
    a_list.append(new_item)
    return a_list
Run Code Online (Sandbox Code Playgroud)

我相信有人可以提供更好的语法,但我也猜测必须有一个非常好的解释为什么没有这样做.

python mutable names

28
推荐指数
3
解决办法
2303
查看次数

在Python中,如何在离开代码块之前确保数据库连接始终关闭?

我想尽可能地防止数据库连接被打开,因为这个代码将在密集使用的服务器上运行,这里的人已经告诉我应该尽快关闭数据库连接.

def do_something_that_needs_database ():
    dbConnection = MySQLdb.connect(host=args['database_host'], user=args['database_user'], passwd=args['database_pass'], db=args['database_tabl'], cursorclass=MySQLdb.cursors.DictCursor)
    dbCursor = dbConnection.cursor()
    dbCursor.execute('SELECT COUNT(*) total FROM table')
    row = dbCursor.fetchone()
    if row['total'] == 0:
        print 'error: table have no records'
        dbCursor.execute('UPDATE table SET field="%s"', whatever_value)
        return None
    print 'table is ok'
    dbCursor.execute('UPDATE table SET field="%s"', another_value)

    # a lot more of workflow done here

    dbConnection.close()

    # even more stuff would come below
Run Code Online (Sandbox Code Playgroud)

我相信当桌子上没有行时会打开数据库连接,所以我仍然不确定它是如何工作的.

无论如何,也许这是糟糕的设计,因为我可以在每个小块之后打开和关闭数据库连接execute.当然,我可以在这种情况下添加一个close权利return......

但是,我怎么能总是正确关闭数据库,而不必担心,如果我有return,或raise,或continue …

python database-connection nested

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

Git合并策略:空格使默认显示没有冲突并带来意想不到的结果

经过多次试验,我得到了这个简单的测试案例场景:

a --> b --> c --   (master)
 \              \
  --> d --> b' --> e   (branch)
Run Code Online (Sandbox Code Playgroud)

哪里:

  • b' 是一个樱桃挑选 b
  • e是一个合并来自master.

b'之后完成cc修改了相同的文件b(d可能无关紧要).

e 很容易看起来非常意外.

假设所有'他们正在处理相同的文件" foobar.txt".这是文件在每次提交中的外观:

// ----------- a
foo

delme

bar

// ----------- b
foo

delme

new

bar

// ----------- c
foo

new

bar

// ----------- b'
foo

delme

new

bar

// ------------ e
foo

new

new

bar
Run Code Online (Sandbox Code Playgroud)

现在,这是我刚才的简短测试,具有这种确切的设置.

如果你删除那里的所有空格 …

git merge git-merge

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

在C#中使用全局变量的最佳实践

有人说过:

"全局变量"实际上是您创建的变量,只是"保留一些信息",因为您的对象模型很弱,并且您没有找到变量存在的"真实目的".全局变量几乎总是更大的建筑畸形的标志.

这可能是真的.但我不知道任何没有全局变量的大型优秀程序的好例子,当然也没有像上面提到的那样少用.范围是实际的关键.您可以在只有一个类的程序中说它的参数不是全局变量.但他们是.

无论如何...

我仍然在理解单身人士的概念,据我所知,他们在C#中实际上没有任何意义.我也感觉到,当一个全局状态无法避免时,我们仍然应该避免使用一个充满静态属性的公共类:

所以,如果不是单身人士或公共课,我们应该怎样做才能在C#中拥有全球变量呢?

我们什么时候应该使用它们?假设他们很可能无法避免.永远.

为什么我们应该避免使用静态类static一般?如果C#确实如此.

用一句话:在Csharp中使用全局变量的最佳实践是什么

c# global-variables

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

为什么HTML段落<P>在我的chrome上表现得如此奇怪?

获取一个空HTML,输入此内容并在Google Chrome上查看其源代码:

<p><div>&nbsp;</div>WHY?</p>
Run Code Online (Sandbox Code Playgroud)

如果你像我一样做了,你会在源代码中看到这个:

<html>
<head></head><body><p>&nbsp;</p><div>&nbsp;</div>WHY?<p></p>
</body></html>
Run Code Online (Sandbox Code Playgroud)

以防万一,这是使用jsbin的演示.在该链接中,您会看到:

[repeating P]


WHY?
[repeating P]
Run Code Online (Sandbox Code Playgroud)

我在其上添加了这个jQuery:

$("p").html("[repeating P]");
Run Code Online (Sandbox Code Playgroud)

<div>从中移除整体,一切都恢复正常.这个小的奇怪的意外行为在添加更多的东西时是一致的<div>,它可能是一个<span>或我想在那里的任何东西.HTML格式是否合格并不重要.

谁知道为什么

html

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

Python相当于.Net的密封类

python是否有类似于密封类的东西?我相信它在java中也被称为final类.

换句话说,在python中,我们可以标记一个类,以便它永远不会被继承或扩展吗?python曾经考虑过有这样的功能吗?为什么?

免责声明

实际上试图理解为什么密封课程甚至存在.答案在这里(和很多,很多,很多,很多,很多,真的很多其他地方)没有满足我的人,所以我试图从不同的角度看.请避免对这个问题的理论答案,并专注于标题!或者,如果你坚持,至少请给出csharp中密封类的一个非常好的实用例子,指出如果它是未密封的话会破坏大的时间.

我不是两种语言的专家,但我确实知道两种语言.就在昨天,在使用csharp进行编码时,我了解了密封类的存在.现在我想知道python是否有相同的东西.我相信它的存在是有充分理由的,但我真的没有得到它.

.net python class sealed

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

速度与安全性与在Python中进行字符串连接的方法的兼容性

在同一主题上也提出了类似的问题(在那里进行了良好的速度比较).希望这个问题不同,并更新到Python 2.63.0.

到目前为止,我认为更快,最兼容的方法(在不同的Python版本中)是简单的简单+符号:

text = "whatever" + " you " + SAY
Run Code Online (Sandbox Code Playgroud)

但我一直听到并且阅读它并不安全和/或可取.

我甚至不确定有多少方法可以操纵字符串!我能数只有约4:有插值及其所有子选项,如%format,然后有简单的,join+.

最后,新的方法,以字符串格式化,这与format,肯定是不好的在同一时间向后兼容性使得%向前兼容性不好.但是,每当我们将自己限制在3.x时,它是否应该用于每个字符串操作,包括每个连接?

好吧,也许这更像是一个维基而不是一个问题,但我确实希望得到一个答案,即每个字符串操作方法的正确用法.哪一个可以通常用于每个焦点(最好的兼容性,速度和安全性).

谢谢.

编辑:我不确定我是否应该接受答案,如果我觉得它没有真正回答这个问题......但我的观点是,他们所有人都在一起做了一份正确的工作.

丹尼尔投票最多的答案实际上是我更愿意接受的答案,如果不是"笔记"的话.我非常不同意"连接是严格使用+运算符来连接字符串",因为,对于一个,join也会进行字符串连接,我们可以为此构建任意库.

目前所有3个答案都是有价值的,我宁愿将一些答案混合在一起.虽然没有人自愿这样做,但我想通过选择较少投票的人(但比THC4k更广泛,这更像是一个大而且非常受欢迎的评论)我也可以引起对其他人的关注.

python string concatenation

7
推荐指数
2
解决办法
351
查看次数

git pull之后得到了一个git merge问题

我做了git pull.之后我收到了这条消息:

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
".git/MERGE_MSG" 7L, 302C
Run Code Online (Sandbox Code Playgroud)

我的问题是 - 我需要在这做什么?因为我无法输入任何消息.

git

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

从 .fla 文件中提取 Actionscript,无需 Adob​​e Flash

与这个人不同,我使用MTASCHaxe从 AS 编译 SWF。考虑到我没有 Adob​​e CS,我们有哪些选项可以从任何 FLA 文件中提取操作脚本?

我的意思是不同的版本,例如 CS4、CS5 等。将旧版本转换为 CS5 也会有所帮助。

flash actionscript haxe

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