几天前我遇到了一个微妙的错误,代码看起来像这样:
ostringstream ss;
int anInt( 7 );
ss << anInt << "HABITS";
ss << ends;
string theWholeLot = ss.str();
Run Code Online (Sandbox Code Playgroud)
的问题是,ends被粘一个"\ 0"到ostringstream这样theWholeLot本来的样子"7HABITS\0"(即,在端部的空)
现在这没有出现,因为theWholeLot当时被用来使用该const char *部分.string::c_str()这意味着null被掩盖,因为它变成了一个分隔符.但是,当这改变为使用整个字符串时,null突然意味着某些东西和比较,例如:
if ( theWholeLot == "7HABITS" )
Run Code Online (Sandbox Code Playgroud)
会失败的.这让我想到了:据推测,原因ends是回归到ostrstream流通常没有以null结束的时候,并且必须如此str()(然后抛弃而不是stringa char *)才能正常工作.
但是,既然不可能char *从a中删除ostringstream,使用ends不仅是多余的,而是潜在的危险,我正在考虑从客户代码中删除它们.
任何人都可以看到ends在一个std::string唯一的环境中使用的明显理由吗?
我知道有两种方法可以将现有的Android项目导入Eclipse.也就是说,"导入"和"从现有源创建项目".但是这两种导入方法有什么区别?谁能详细解释一下?
可以在OS X上的商业原生Cocoa应用程序中合法使用Google Web Fonts吗?谷歌正式表示可以在商业网站上免费使用这些字体,但没有特别说明本机应用程序的情况.
目前我已经woff从CSS中定义的URL 下载了字体(格式),通过在线工具将其转换为ttf并包含在我的项目中.
Uncrustify非常棒,并且可以很好地整理代码.但是,我在文件中有一些C代码,我不希望Uncrustify改变.有什么方法可以防止Uncrustify触及这个,可能是通过在代码周围的注释中放置特定的标签或什么?
Java Class.getName()和Class.getCanonicalName()?有什么区别?
我想在某些源上使用js美化但是没有办法检测它是什么类型的源.有没有办法,粗略与否,检测源是css,html,javascript还是没有?
看看他们的网站,他们看起来好像它会弄清楚它是否是html:
function looks_like_html(source) {
// <foo> - looks like html
// <!--\nalert('foo!');\n--> - doesn't look like html
var trimmed = source.replace(/^[ \t\n\r]+/, '');
var comment_mark = '<' + '!-' + '-';
return (trimmed && (trimmed.substring(0, 1) === '<' && trimmed.substring(0, 4) !== comment_mark));
}
Run Code Online (Sandbox Code Playgroud)
只需要看看它是css,javascript还是两者都没有.这是在node.js中运行的
所以这段代码需要告诉我它的JavaScript:
var foo = {
bar : 'baz'
};
Run Code Online (Sandbox Code Playgroud)
这段代码需要告诉我它的CSS:
.foo {
background : red;
}
Run Code Online (Sandbox Code Playgroud)
所以测试它的函数会返回类型:
function getSourceType(source) {
if (isJs) {
return 'js';
}
if (isHtml) {
return …Run Code Online (Sandbox Code Playgroud) 我写了一个小的BeanShell脚本,它取代"__LINE__"了源代码中的实际行号.它在Ant中运行良好.
我正在寻找一种方法来过滤Maven中的源代码,以便我的BeanShell脚本可以生成一个新的源代码目录,然后进行编译.
我知道资源文件过滤.是否有类似的源代码设施?
我有一个客户端希望在自己的服务器上托管他的webfonts.我有一个font.com帐户,字体托管到现在为止.我说明了fonts.com协议(第18点).他们说,你可以在自己的服务器上托管文件,但你必须尽可能地保护它们.
我能想到这样做的唯一途径,是通过限制对这些文件的要求同HTTP_REFERER在.htaccess.
我可以做更多保护这些字体吗?做更多是否有意义,你认为这是一个充分的保护吗?
我个人并不相信技术拷贝保护,你可以随时复制你能看到的东西.但我不希望我的客户陷入法律纠纷.你有这方面的经验吗?
编辑
我也对法律方面感兴趣.如果有人可以下载并重复使用它,会发生什么?他们是否意味着我必须保护字体仅用于热链接或下载?
我目前在Ubuntu 10.04 LTS服务器上使用JDK 6.
由于Oracle不会让JDK 6在Ubuntu回购现在,它看起来像的OpenJDK 7是最好的选择https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-January/001554.html
我注意到OpenJDK 7在11.10作为一个软件包提供,但是有一个backport软件包可用于清除10.04 LTS吗?
我找到了这个https://launchpad.net/~openjdk但是它已经过时了一年.
我写了一个试图测试两件事的测试:
ArrayList我对结果感到惊讶
Integervs int)并不比原始版本慢得多ArrayLists的速度是相应数组的两倍多.ArrayList这么慢? 0% Scenario{vm=java, trial=0, benchmark=SmallArray} 34.57 ns; ?=0.79 ns @ 10 trials
17% Scenario{vm=java, trial=0, benchmark=SmallBoxed} 40.40 ns; ?=0.21 ns @ 3 trials
33% Scenario{vm=java, trial=0, benchmark=SmallList} 105.78 ns; ?=0.09 ns @ 3 trials
50% Scenario{vm=java, trial=0, benchmark=BigArray} 34.53 ns; ?=0.05 ns @ 3 trials
67% Scenario{vm=java, trial=0, benchmark=BigBoxed} 40.09 ns; ?=0.23 ns @ 3 trials
83% Scenario{vm=java, trial=0, benchmark=BigList} 105.91 ns; …Run Code Online (Sandbox Code Playgroud)