问题列表 - 第197页

在并发程序中从BlockingQueue获取对象的最佳方法?

在没有遇到竞争条件的情况下,在并发程序中从BlockingQueue中获取对象的最佳方法是什么?我目前正在做以下事情,我不相信这是最好的方法:

BlockingQueue<Violation> vQueue;
/* 
in the constructor I pass in a BlockingQueue object 
full of violations that need to be processed - cut out for brevity
*/

Violation v;
while ( ( v = vQueue.poll(500, TimeUnit.MILLISECONDS) ) != null ) {
    // do stuff with the violation
}
Run Code Online (Sandbox Code Playgroud)

我还没有达到竞争状态......但是,我不确定这是否真的安全.

java concurrency

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

有没有办法通过记住子节点来加速递归?

例如,查看计算第n个Fibonacci数的代码:

fib(int n)
{
    if(n==0 || n==1)
        return 1;
    return fib(n-1) + fib(n-2);
}
Run Code Online (Sandbox Code Playgroud)

此代码的问题是它将为任何大于15的数字(在大多数计算机中)生成堆栈溢出错误.

假设我们正在计算fib(10).在这个过程中,说fib(5)计算很多次.有没有办法将其存储在内存中以便快速检索,从而提高递归的速度?

我正在寻找一种可用于几乎所有问题的通用技术.

recursion performance

18
推荐指数
3
解决办法
5014
查看次数

RESTful Web服务和HTTP动词

服务器应该允许将Web服务归类为RESTful的最小HTTP谓词集是什么?

如果我的主机不允许PUTDELETE怎么办?

这真的很重要吗,我可以幸福地生活在GETPOST之后吗?


更新:感谢答案的人,Roger的回答可能是最好的,因为与Bill Venners和Elliotte Rusty Harold的访谈有关.我现在明白了.


rest web-services

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

如何在Ruby中编组lambda(Proc)?

Joe Van Dyk 询问了Ruby邮件列表:

嗨,

在Ruby中,我猜你不能编组一个lambda/proc对象,对吗?在lisp或其他语言中这可能吗?

我想做什么:

l = lamda { ... }
Bj.submit "/path/to/ruby/program", :stdin => Marshal.dump(l)
Run Code Online (Sandbox Code Playgroud)

所以,我正在向BackgroundJob发送一个lambda对象,该对象包含要执行的操作的上下文/代码.但是,猜测这是不可能的.我最终编组了一个普通的ruby对象,其中包含程序运行后要执行的操作的说明.

ruby lambda serialization proc-object

21
推荐指数
2
解决办法
7313
查看次数

开发人员应该在多大程度上了解有关数据库系统的细节?

如今的现代数据库系统具有许多功能.你同意我的意见,要学习一个数据库,你必须忘记在另一个数据库中学到的概念.例如,每个数据库都会实现与其他数据库不同的锁定.因此,将一个数据库的概念带到另一个数据库将是一个失败的方法.还有其他一些例子,两个数据库的表现非常不同.

因此,在开发数据库驱动的系统时,程序员是否需要详细了解数据库,以便他们对性能进行编码?我不认为让DBA稍后要求性能是合适的,因为他的工作是只维护数据库并在紧急情况下帮助开发人员,但不是定期.

您认为开发人员需要深入了解数据库的程度如何?

database

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

Markdown vs markup - 它们有关系吗?

我正在使用markdown来编辑这个问题.在一些wiki中我使用了wiki标记.它们是一样的吗?它们有关系吗?请解释.如果我想在Web项目中实现一个或另一个(比如stackoverflow)我需要使用什么?

markup markdown glossary

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

AnkhSVN与VisualSVN

我目前使用AnkhSVN将subversion集成到Visual Studio中.有什么理由我应该切换到VisualSVN吗?

AnkhSVN是免费的(不止一个意思),而VisualSVN的价格是50美元.所以,除非我错过了VisualSVN的一些很棒的功能,否则我没有看到任何切换的理由.

svn version-control visualsvn ankhsvn visual-studio

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

Safari后退按钮问题

我为当地社区大学做一些小编程和网络工作.这项工作包括维护一个非常庞大且灵魂破坏的网站,其中包括VBScript,javascript,Dreamweaver产生的混乱和一系列附加组件,各种各样的conmen已经说服他们多年来购买.

几天前,我接到一个电话"网站正在锁定使用Safari的人!" 好的,第一步下载Safari(v3.1.2),第二步冲浪到网站.一切似乎都很好.

长话短说我终于解决了这个问题,它与Safari的后退按钮有关.该网站使用了一个花式裤子javascript菜单,可以在我尝试过的每个浏览器中使用,包括Safari,这是第一次.但是在Safari中,如果您按下页面上的链接然后点击后退按钮,则菜单不再有效.

我做了一个简化的网页来说明原理.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>Safari Back Button Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body onload="alert('Hello');">
<a href="http://www.codinghorror.com">Coding Horror</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

加载页面,您会看到警告框.然后按照页面上的链接点击后退按钮.在IE和Firefox中,您再次看到警告框,在Safari中您不会.

经过一番激烈的谷歌搜索,我发现其他人有类似的问题,但没有真正令人满意的答案.所以我的问题是,在用户点击后退按钮之后,如何在其他浏览器中使我的页面在Safari中以相同的方式工作?

如果这是一个愚蠢的问题请温柔,javascript对我来说有点新鲜.

javascript safari

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

作为独立开发人员许可Microsoft软件的最佳方式

我最近从一家小型咨询公司的员工转变为独立顾问,随着时间的推移,我将需要升级Windows和Visual Studio.那么对于小型开发者来说,最实惠的方法是什么?

我以前的老板建议我获得操作系统许可证的TechNet Plus订阅,我已经完成了这个并且似乎是我需要的,但是对未来开放的其他选项.

Visual Studio我很难弄清楚Professional和Standard之间究竟有什么区别.另外我真的很喜欢数字版,但似乎昂贵的MSDN订阅是唯一的方法吗?

此处列出的带有MSDN Professional的Visual Studio 2008 Professional 似乎半合理定价为1,199美元.这将使TechNet Plus订阅不再需要.

windows licensing visual-studio

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

适用于Linux的C++ IDE?

我想将我的编程视野扩展到Linux.一个好的,可靠的基本工具集很重要,什么比IDE更基本?

我可以找到这些SO主题:

我不是在寻找轻量级的 IDE.如果IDE值得花钱,那么我会付钱,所以它不需要是免费的.

那么我的问题是:

什么好的,C++编程IDE可用于Linux?

最小值是相当标准的:语法突出显示,代码完成(如intellisense或其Eclipse对应)和集成调试(例如,基本断点).

我自己也在搜索它,但有很多东西几乎不可能手工分离好东西,特别是像我这样在Linux上几乎没有C++编码经验的人.我知道Eclipse支持C++,我真的很喜欢Java for IDE,但它对C++有什么好处,还有更好的东西吗?

第二篇文章实际上有一些很好的建议,但我缺少的是究竟是什么让这个吸收的IDE对用户如此好,它的(dis)优势是什么?

也许我的问题应该是:

您提出了什么IDE(根据您的经验),为什么?

c++ linux ide

209
推荐指数
27
解决办法
97万
查看次数