小编Lud*_*erl的帖子

Ant和Maven之间的差异

有人能告诉我Ant和Maven之间的区别吗?我也没用过.我知道他们习惯于自动构建Java项目,但我不知道从哪里开始.

java ant maven-2 build-management

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

你曾经使用过的最糟糕的编程语言是什么?

如果你有一个有趣的故事要分享,请发一个答案,但不要滥用这个问题来抨击一种语言.


我们是程序员,我们的主要工具是我们使用的编程语言.

虽然有很多关于最佳编程的讨论,但我想听听你曾经使用过的最糟糕的编程语言的故事,我想知道你到底是什么烦恼.

我想收集这些故事,部分是为了避免在设计语言(特别是DSL)时遇到常见的陷阱,部分是为了避免未来的奇怪语言.


这个问题不是主观的.如果一种语言只支持单个字符标识符(请参阅我自己的答案),那么这是一个不容争议的方式.


编辑

有些人担心这个问题会吸引巨魔.趟过你所有的答案都有一点清楚.绝大多数答案都是恰当,有用且写得很好的.

更新2009-07-01 19:15 GMT

语言概述现已完成,涵盖102个答案中的103种不同语言.我决定对什么算作编程语言松懈,包括任何合理的东西.感谢大卫对此的评论.

以下是目前为止涵盖的所有编程语言(字母顺序,与答案相关联,新条目以粗体显示):

ABAP, 所有20世纪语言, 所有拖放语言, 所有专有语言, APF, APL (1), AS400, Authorware, Autohotkey, BancaStar, BASIC, Bourne Shell, Brainfuck, C++, Centura Team Developer, Cobol (1), Cold Fusion, Coldfusion, CRM114, Crystal语法, CSS, Dataflex 2.3, DB/c …

programming-languages

44
推荐指数
58
解决办法
14万
查看次数

Linux上新Rails部署的最佳实践?

我已经使用了直接的Mongrel,我在Apache后面使用了Mongrel集群,我看过Thin,而且我对乘客非常感兴趣.我也看过Nginx.我看过MRI,Ruby Enterprise Edition,Rubinius和JRuby.有很多选择,每个都声称是新的圣杯.

一个全新的,完全最新的部署的最佳选择是什么?唯一的假设是这样的:

  • 该应用程序是基于Rails 2.2.(我知道2.2尚未完全发布,但这部署也不是.)
  • 该服务器是基于Linux的.可能是Ubuntu Hardy,但实际上,无论在这种情况下效果最好.
  • Rails需要完全正常运行,并且可能与MySQL数据库通信.
  • 其他一切都是可以谈判的.

鉴于这些特别广泛的约束,在并发性和低开销方面,哪种软件组合将产生最佳结果?

我倾向于使用"worker"mpm和Passenger + Ruby Enterprise Edition,因为它提供了即时的稳定性和简单的设置和维护.

另外一个选择我可能会特别好吗?

ruby linux deployment ruby-on-rails release-management

31
推荐指数
2
解决办法
3973
查看次数

如何有效地计算2 ^ n-1而不溢出?

我想为64位整数值计算2 n -1.我现在做的是这个

for(i=0; i<n; i++) r|=1<<i;
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更优雅的方式来做到这一点.这条线在内环中,所以我需要快速.

我想到了

  r=(1ULL<<n)-1;
Run Code Online (Sandbox Code Playgroud)

但它不起作用n=64,因为<<只定义了n最多63的值.


编辑: 感谢您的所有答案和评论.这是一个小桌子,上面有我最好尝试和喜欢的解决方案.第二列是我(完全不科学的)基准时间的秒数.

    
r=N2MINUSONE_LUT[n];            3.9 lookup table = fastest, answer by aviraldg
r =n?~0ull>>(64 - n):0ull;      5.9 fastest without LUT, comment by Christoph
r=(1ULL<<n)-1;                  5.9 Obvious but WRONG!   
r =(n==64)?-1:(1ULL<<n)-1;      7.0 Short, clear and quite fast, answer by Gabe
r=((1ULL<<(n/2))<<((n+1)/2))-1; 8.2 Nice, w/o spec. case, answer by drawnonward
r=(1ULL<<n-1)+((1ULL<<n-1)-1);  9.2 Nice, w/o spec. case, answer by David Lively
r=pow(2, n)-1;               99.0 Just for comparison …

c bit-manipulation

26
推荐指数
5
解决办法
2951
查看次数

获取正确的软件版本号.V1.0.0.1

我在线分发软件,并且总是想知道是否有更好的方法来更好地定义版本号.

让我们假设答案中有ABCD.什么时候增加每个组件?

你使用任何其他版本号技巧,如D mod 2 == 1意味着它只是一个内部发布?

您是否拥有自己版本号的测试版,或者您是否有每个版本号的测试版?

release release-cycle release-management

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

Ant仍然是Java构建工具的最佳选择吗?

根据我的少量经验,我只使用Ant作为构建工具.还有其他更好的项目,为什么?

java ant build build-management

20
推荐指数
3
解决办法
6468
查看次数

您如何以最诚实的方式更新实时,繁忙的网站?

当您对实际网站进行更改时,如何检查实时系统是否正常工作?你用哪些工具?谁做到了?您是否在测试期间阻止访问该网站?可以接受多少停机时间?

high-availability release-management

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

将工具和脚本部署到生产的最佳实践?

我有一些批处理过程在Linux/PHP网站的幕后运行.它们的数量和复杂性开始增长,因此我想对它们进行少量处理.

我的源代码树有一堆cpp文件和脚本,按开发组织但不考虑部署.编译完所有可执行文件后,我需要在一组机器上放置各种脚本和二进制文件.不同的计算机需要为其批处理过程使用不同的可执行文件,脚本和配置文件.我也有一些我写的属于每台机器的工具.目前,此部署过程是手动且容易出错的.

我猜我最终会得到一个在源代码树根目录下运行的脚本,并构建一个包含任何机器所需的所有内容的小树.然后,我将把它同步到适当的机器上.但我很好奇其他人是如何处理这类问题的.有任何想法吗?

deployment lamp release release-management

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

发布管理 - 最佳实践

我在一家产品开发公司工作.我们首先做内部发布,然后公开发布.我想知道,其他产品开发公司如何管理他们的发布?你如何给出发行号码?标记源代码管理?

release-cycle release-management

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

哪个更好:运送一个有缺陷的功能或根本没有运送该功能?

这是一个哲学问题.我在我的软件中添加了一个小功能,我认为它将被大多数用户使用,但只有10%的时间他们使用该软件.换句话说,软件在没有它的情况下已经好了3个月,但有4或5个用户要求它,我同意它应该在那里.

问题是,由于我正在使用的平台的限制(以及可能我的大脑的限制),"我能做的最好"仍然有一些非关键但明显的错误 - 让我们说编码的功能是可用的但在某些情况下"有点不稳定".

该怎么办?90%的功能真的"总比没有好"吗?我知道我会收到一些我无法解决的错误报告:我该告诉客户这些错误?我应该接受未答复的功能请求或未答复的错误报告吗?

release release-management

12
推荐指数
2
解决办法
737
查看次数