小编Yuv*_*dam的帖子

谁触摸我的git假设 - 没有改变?

我的仓库中有一个特定的文件,我已将假设未设置的位设置为:

git update-index --assume-unchanged someFile.txt
Run Code Online (Sandbox Code Playgroud)

偶尔,在对repo进行一些工作后,该位未设置,文件自动assume-unchanged不再存在.

谁在接触它?在明确告诉git之前,我怎样才能使这个永久化:

git update-index --no-assume-unchanged someFile.txt
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?


编辑:我在本地更改的配置文件上使用假定未更改的位,并且永远不应该提交,更不用说上推了.我不希望看到它们git status,也不想在其他任何地方看到它们,除非我明确告诉git我想编辑并提交其中一个.


编辑:好的,我想我设法重现了这个问题.

我从一个不同的仓库(没有它--assume-unchanged)提交文件,拉上我的仓库,果然,该位被重置.

所以出现两个问题:

  1. 是否可以在中央权威仓库上设置此位,以便它传播到所有仓库?
  2. 即使在远程更改之后,是否有可能使这一点变得粘稠?

git git-index

19
推荐指数
1
解决办法
3341
查看次数

python Socket.IO客户端,用于向TornadIO2服务器发送广播消息

我正在构建一个实时Web应用程序.我希望能够从我的python应用程序的服务器端实现发送广播消息.

这是设置:

我可以成功地将socket.io消息从客户端发送到服务器.服务器处理这些并可以发送响应.在下面我将描述我是如何做到的.

当前设置和代码

首先,我们需要定义一个处理socket.io事件的Connection:

class BaseConnection(tornadio2.SocketConnection):
    def on_message(self, message):
        pass

    # will be run if client uses socket.emit('connect', username)
    @event
    def connect(self, username):
        # send answer to client which will be handled by socket.on('log', function)
        self.emit('log', 'hello ' + username)
Run Code Online (Sandbox Code Playgroud)

启动服务器是由Django管理自定义方法完成的:

class Command(BaseCommand):
    args = ''
    help = 'Starts the TornadIO2 server for handling socket.io connections'

    def handle(self, *args, **kwargs):
        autoreload.main(self.run, args, kwargs)

    def run(self, *args, **kwargs):
        port = …
Run Code Online (Sandbox Code Playgroud)

python django tornado websocket socket.io

19
推荐指数
1
解决办法
7316
查看次数

在C++中将数组作为函数参数传递

在C++中,数组不能简单地作为参数传递.这意味着如果我创建一个这样的函数:

void doSomething(char charArray[])
{
    // if I want the array size
    int size = sizeof(charArray);
    // NO GOOD, will always get 4 (as in 4 bytes in the pointer)
}
Run Code Online (Sandbox Code Playgroud)

我无法知道数组有多大,因为我只有一个指向数组的指针.

在不更改方法签名的情况下,我可以通过哪种方式获取数组的大小并迭代它的数据?


编辑:只是关于解决方案的补充.如果char数组,特别是初始化如下:

char charArray[] = "i am a string";
Run Code Online (Sandbox Code Playgroud)

那么\0已经附加到数组的末尾.在这种情况下,答案(标记为已接受)可以开箱即用.

c++ arrays parameters pointers arguments

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

生成概率分布

给定一个大小的数组,n我想为每个索引生成随机概率Sigma(a[0]..a[n-1])=1

一个可能的结果可能是:

0     1     2     3     4
0.15  0.2   0.18  0.22  0.25
Run Code Online (Sandbox Code Playgroud)

另一个完全合法的结果可能是:

0     1     2     3     4
0.01  0.01  0.96  0.01  0.01
Run Code Online (Sandbox Code Playgroud)

如何轻松快速地生成这些内容?任何语言的答案都很好,Java首选.

java random math probability

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

Web开发的最佳IDE设置是什么?

我正在开始一个小方案项目,包括建立一个中小型,基于django的网站.

然而,上次我实际上是在网站的业务,是几年前.因此,虽然仍然具有技术能力,但我仍然对网站的工具/ IDE部分感到愤怒.

我正在寻找一个可以支持以下内容的IDE:

  • 基本的HTML编辑,语法完成,突出显示等...
  • 基本的CSS编辑,语法完成,突出显示等...
  • Python支持Django
  • 支持整个开发 - 调试 - FTP上传周期

如果所有这些都可以在我现有的eclipse安装中发生,那将是完美的.

那么您对Web开发IDE的建议是什么?

编辑:忘了添加我在我的开发机器上运行Win XP.


回答后编辑:感谢所有人提供的有益建议.我想我会选择Aptana,因为它适合我已经使用的日食.此外,我将研究版本控制而不是简单的FTP上传.显然我甚至不知道它在Web项目中的使用量.

django development-environment

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

iframe访问父DOM?

如何在一个脚本中<iframe>包含包含它的页面的任何概念?框架中的脚本可以访问它之外的任何上下文吗?跨域怎么样?

到目前为止,我认为对于包含页面<iframe>完全不可知的,但我看到了一个与此信念相矛盾的例子.

<iframe>在包含页面的内容中究竟能做什么和不能做什么?

html javascript iframe cross-domain

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

TDD:您为单元测试公开了哪些方法?

TDD的一个方面我从未完全理解.

假设有人要求您实现一个简单的Stack对象.如果您已经正确完成了设计,那么您将获得一个非常简洁的API.假设:push(),pop()isEmpty().除此之外的任何事情都会过度消耗需求,并让用户有太多空间来捣乱您的代码.

所以现在让我们假设您要对代码进行单元测试.如果您所有的公共方法都只是上面显示的三个方法,那么您如何做到这一点?到目前为止,这些方法只会进行测试.

因此,要么添加私有方法,它们根本不会帮助您,因为它们对您的单元测试用例不可见.或者你将这些方法公之于众,那就是你努力工作的简约API.现在用户将要乱用你的堆栈,肯定会出现错误.

您如何处理打开公共测试方法与干净简单API的这种困境?

编辑:只是为了指向正确的方向,获得技术指针(例如"使用此hack来暴露私有方法"等等)会很高兴但是我对更通用的答案更感兴趣这两个概念更重要,以及您如何处理这个主题.

testing tdd unit-testing

16
推荐指数
2
解决办法
1886
查看次数

跨平台git hooks

你如何跨各种平台(比如*nix和windows)管理git pre/post commit钩子?

是否为此方案推荐了哪些最佳做法?

git shell cross-platform githooks

16
推荐指数
1
解决办法
2720
查看次数

在Tornado中运行异步后台任务

阅读Tornado文档,非常清楚如何调用异步函数来返回响应:

class GenAsyncHandler(RequestHandler):
    @gen.coroutine
    def get(self):
        http_client = AsyncHTTPClient()
        response = yield http_client.fetch("http://example.com")
        do_something_with_response(response)
        self.render("template.html")
Run Code Online (Sandbox Code Playgroud)

缺少的是如何异步调用与当前请求无关的后台任务:

class GenAsyncHandler(RequestHandler):
    @gen.coroutine
    def _background_task():
        pass  # do lots of background stuff

    @gen.coroutine
    def get(self):
        _dont_care = yield self._background_task()
        self.render("template.html")
Run Code Online (Sandbox Code Playgroud)

这个代码可以工作,除了它同步运行并且请求等待它直到它完成.

在立即返回当前请求的同时,异步调用此任务的正确方法是什么?

python asynchronous tornado

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

Python双重迭代

什么是在两个列表上同时迭代的pythonic方式?

假设我想逐行比较两个文件(比较i一个文件中的每一行和另一个文件的第一i行),我想做这样的事情:

file1 = csv.reader(open(filename1),...)
file2 = csv.reader(open(filename2),...)

for line1 in file1 and line2 in file2: #pseudo-code!
    if line1 != line2:
        print "files are not identical"
        break
Run Code Online (Sandbox Code Playgroud)

实现这个目标的pythonic方法是什么?


编辑:我没有使用文件处理程序,而是使用CSV阅读器(csv.reader(open(file),...)),zip()似乎不能使用它...


最终编辑:像@Alex M.建议的那样,zip()在第一次迭代时将文件加载到内存中,因此在大文件上这是一个问题.在Python 2上,使用itertools解决了这个问题.

python

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