小编Nou*_*him的帖子

Git中的分支描述

在Git中有没有办法对分支进行"描述"?

当我尝试使用描述性名称时,在一个分支上工作一段时间有时会使我记忆为什么我做了一些其他主题分支.我尝试为分支使用描述性名称,但我认为"描述"(关于分支目的的简短说明)会很好.

git branch task-tracking

263
推荐指数
9
解决办法
5万
查看次数

如何检查给定远程存储库中是否存在远程分支?

如果特定分支存在于给定的远程存储库中,我需要对其进行子树合并.问题是远程存储库未在本地签出,因此我无法使用git branch -r.我只有一个远程地址,就像这样 https://github.com/project-name/project-name.git.有没有办法只通过远程地址列出远程分支?我找不到任何有用的东西:(

git

87
推荐指数
9
解决办法
7万
查看次数

合并到git中的分支而不切换到它

我有一个应用程序在分支上的git存储库中运行(比如说dev).应用程序修改某些存储库中的内容并提交它们.我现在必须将这些更改合并到另一个分支(比如说master),但是在我git checkout master做这个之前我不想做这个问题.有没有办法说"将当前分支合并为主"?

git merge git-merge

44
推荐指数
2
解决办法
3866
查看次数

如何在不同的机器上安装芹菜工人?

我是celery的新手.我知道如何安装和运行一台服务器,但我需要将任务分配给多台机器.我的项目使用celery将传递给Web框架的用户请求分配给不同的机器,然后返回结果.我阅读了文档,但没有提到如何设置多台机器.我错过了什么?

python celery

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

自定义http用户代理字符串的最佳做法?

我正在开发一个使用HTTP与内部Web服务通信的应用程序.

是否有自定义用户代理字符串的"最佳实践",以便我可以在我的应用程序中添加一个好的?它是一个Python库,较低的传输是Python自己的httplib.用户代理字符串是否应该说明或其他什么?

user-agent web-services http

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

无法删除无意中创建的远程分支

$ git branch -a
* SocialAct
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/SocialAct
  remotes/origin/social
Run Code Online (Sandbox Code Playgroud)

我想删除远程分支"remotes/origin/social",并应用了folloing命令:

$ git branch -d -r origin/social
Deleted remote branch origin/social (was 26f6f61).
Run Code Online (Sandbox Code Playgroud)

但我不知道如何远程进行这些更改,以便从原点删除分支,每个人都可以看到更改.我尝试了git push,但这不起作用

任何帮助.

git version-control

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

单元测试设备驱动程序

我有一种情况需要为嵌入式硬件的某些设备驱动程序编写一些单元测试.代码很老很大,很遗憾没有很多测试.现在,唯一可能的测试是完全编译操作系统,将其加载到设备上,在现实场景中使用它并说"它有效".没有办法测试单个组件.

我在这里遇到了一个很好的线程,它讨论了嵌入式设备的单元测试,我从中获得了大量信息.我想更具体一点,并询问是否有人在这种情况下测试设备驱动程序是否有任何"最佳实践".我不希望能够模拟有问题的电路板正在与之交谈的任何设备,因此可能必须在实际硬件本身上测试它们.

通过这样做,我希望能够获得驱动程序的单元测试覆盖率数据,并诱使开发人员编写测试以增加其驱动程序的覆盖范围.

我遇到的一件事是编写在操作系统上运行的嵌入式应用程序并运行驱动程序代码,然后将结果传回测试工具.该设备有几个接口,我可以使用它来从我的测试PC驱动应用程序,以便我可以运用代码.

任何其他建议或见解将非常感谢.


更新:虽然它可能不是确切的术语,但当我说单元测试时,我的意思是能够测试/练习代码而无需编译整个OS +驱动程序并将其加载到设备上.如果我必须这样做,我会称之为集成/系统测试.

问题是我们所拥有的硬件是有限的,开发人员经常使用它们来修复错误等.要保持一个专用的并连接到CI服务器和自动化测试的机器可能是不可能的这个阶段.这就是为什么我正在寻找测试驱动程序的方法,而无需实际构建整个程序并将其上传到设备上.


摘要

基于下面的优秀答案,我认为解决问题的合理方法是使用IOCTL公开驱动程序功能,然后在嵌入式设备的应用程序空间中编写测试以实际运行驱动程序代码.

让一个小程序驻留在设备的应用程序空间中也是有意义的,它暴露了一个可以通过串行或USB运行驱动程序的API,这样单元测试的内容就可以写在PC上了,它将与PC通信.硬件并运行测试.

如果项目刚刚启动,我认为我们可以更好地控制组件的隔离方式,以便主要在PC级别进行测试.鉴于编码已经完成并且我们正在尝试将测试工具和案例改装到系统上,我认为上述方法更实用.

谢谢大家的回答.

embedded unit-testing drivers

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

Django url调试器

我正在开发一个django应用程序,随着时间的推移,URL已经增长.我现在和他有很多关系,由于我做了一些改变,一个视图开始出现故障.当我尝试获取http://example.com/foo/edit_profile时,它应该执行视图某些视图功能,X但它正在执行Y.在某个地方,网址路由混乱,我无法弄清楚.我使用该django.core.urlresolvers.resolve方法从shell中尝试它,我可以确认URL被错误地解决了.但是,我不知道如何调试它并查明问题.

理想情况下,我希望看到类似"测试此模式","测试此模式"等等,直到最终找到正确的模式,然后我可以环顾四周解决的问题.我找不到这样的东西.

这不是大型项目的常见问题吗?人们做什么?

更新

我知道系统如何工作以及如何逐个浏览URL.这就是我想要做的.这个问题基本上是要求捷径.

django debugging django-urls

26
推荐指数
1
解决办法
8276
查看次数

TDD - 初学者问题和绊脚石

虽然我已经为大部分代码编写了单元测试,但我最近才拿到了Kent Beck的TDD副本.我一直对我做出的某些设计决定表示遗憾,因为它们阻止了应用程序的"可测试性".我读完了这本书,虽然其中一些看起来很陌生,但我觉得我可以管理它并决定在我当前的项目上试用它,这个基本上是一个客户端/服务器系统,两个部分通过它进行通信.USB.一个在小工具上,另一个在主机上.该应用程序是在Python中.

我开始了,很快就纠缠在一堆重写和小测试中,我后来认为它没有真正测试任何东西.我扔掉了大部分,现在有一个工作应用程序,测试已经凝结成只有2.

根据我的经验,我有几个问题,我想问一下.我从新到TDD获得了一些信息:是否有示例应用程序进行测试以显示如何进行TDD?但有一些我想要回答/讨论的具体问题.

  1. Kent Beck使用他添加的列表并从中指出开发过程.你怎么做这样的清单?我最初有一些项目,如"服务器应该启动","服务器应该中止,如果渠道不可用"等但他们混合,最后现在,它只是"客户端应该能够连接到服务器"(其中包含服务器启动等).
  2. 你如何处理重写?我最初选择了基于命名管道的半双工系统,这样我就可以在自己的机器上开发应用程序逻辑,然后再添加USB通信部分.它们被移动成为基于套接字的东西,然后从使用原始套接字转移到使用Python SocketServer模块.每当事情发生变化时,我发现我必须重写相当多的部分测试,这很烦人.我认为在我的开发过程中测试将是一个有点不变的指导.他们感觉更像是要处理的代码.
  3. 我需要一个客户端和一个服务器通过该通道进行通信以测试任何一方.我可以嘲笑其中一方来测试另一方但是整个频道都不会被测试,我担心我会想念它.这减少了整个红/绿/重构节奏.这只是缺乏经验还是我做错了什么?
  4. "伪造它直到你制造它"给我留下了许多混乱的代码,我后来花了很多时间来重构和清理.这是事情的运作方式吗?
  5. 在会话结束时,我现在让我的客户端和服务器运行大约3或4个单元测试.我花了大约一个星期的时间来做这件事.如果我在代码方式之后使用单元测试,我想我可以在一天内完成它.我没有看到收益.

我正在寻找那些使用这种方法完全(或几乎完全)实施大型非平凡项目的人的意见和建议.我已经运行的东西想要添加一个新功能对我来说是有意义的,但是从头做起它似乎很烦人而且不值得努力.

PS:如果这应该是社区wiki,请告诉我,我会这样标记.

更新0:所有答案都同样有用.我选了一个我做的,因为它最能引起我的经历.

更新1:实践练习练习!

python tdd testdrivendesign

23
推荐指数
2
解决办法
1934
查看次数

缺少/var/lib/mysql/mysql.sock文件

我正在尝试访问mysql,当我运行mysql命令时,我得到以下内容.

[root @ ip-10-229-65-166 tpdatabase-1.8.0.28356] #mysql

ERROR 2002(HY000):无法通过套接字'/var/lib/mysql/mysql.sock'连接到本地MySQL服务器(2)

这样做什么都不会

[root @ ip-10-229-65-166 mysqld]#find -name mysql*

[root @ ip-10-229-65-166 mysqld]#/ etc/init.d/mysql stop -bash:/etc/init.d/mysql:没有这样的文件或目录

[root @ ip-10-229-65-173 tpdatabase-1.8.0.28356] #mysql_config | grep - --socket

--socket [/var/lib/mysql/mysql.sock]

也许权限问题?

我确实用yum install mysql安装了mysql

我在Amazon EC2云实例上运行CentOS 5.4

mysql unix linux amazon-ec2

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