我试图通过使用内联汇编的MMX和SSE指令集来优化某些算法.但是,我无法找到这些增强指令集的时序和用法的良好参考.你能否帮我找一些参考文献,其中包含有关吞吐量,延迟,操作数以及说明的简短描述的信息?
到目前为止,我发现:
英特尔指令参考 英特尔64和IA-32架构开发人员手册:Vol.2A和 Intel 64和IA-32架构开发人员手册:Vol.2B
我正在尝试使用一些菜单创建一个应用程序,我正在关注官方android站点中提供的基本示例:
http://developer.android.com/guide/topics/ui/menus.html
当我在XML中定义菜单时出现我的问题.创建文件夹res/menu并从eclipse创建menu_option.xml文件后....项目(通常)给出了一个错误,可以从Problems选项卡中读取:
Unparsed aapt error(s)! Check the console for output
Android Packaging Problem
因此,更改为"控制台"选项卡以获取有关该问题的更多信息,可以阅读:
[2010-06-02 11:35:54 - TestAudio] Error in an XML file: aborting build.
[2010-06-02 11:35:54 - TestAudio] W/ResourceType(11566): Bad XML block: header size 63327 or total size -144759824 is larger than data size 0
[2010-06-02 11:35:54 - TestAudio] /home/User/workspace/TestAudio/res/menu/options_menu.xml:1: error: Error parsing XML: no element found
奇怪的是,eclipse识别我在XML中定义的菜单项,我可以在代码中引用它们而没有任何问题,我的主要活动构建.(以及其他文件).
可能是因为当eclipse创建文件时,出于某种原因,Android SDK有读取它的问题,或类似的东西?
XML代码与示例中的代码完全相同,所以我真的不知道发生了什么.options_menu.xml中的代码是这样的:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_game"
android:title="New Game" />
<item android:id="@+id/quit"
android:title="Quit" />
</menu>
在此先感谢您的帮助!
像这样的多维列表l=[[1,2],[3,4]]可以通过执行转换为1D 列表sum(l,[]).任何人都可以解释一下这是怎么回事?
响应者说,这种技术只能用于"压扁"2D列表 - 它不适用于更高的多维列表.但如果重复,它确实如此.例如,如果A是3D列表,则sum(sum(A),[]),[])将A压缩为1D列表.
我最近回答了一个问题,在斯卡拉写一个快速排序功能与尝试,我会看到类似下面的地方写的代码.
def qsort(l: List[Int]): List[Int] = {
l match {
case Nil => Nil
case pivot::tail => qsort(tail.filter(_ < pivot)) ::: pivot :: qsort(tail.filter(_ >= pivot))
}
}
Run Code Online (Sandbox Code Playgroud)
我的回答得到了一些建设性的批评,指出List对于quicksort来说是一个糟糕的选择,其次是上面不是尾递归.
我尝试以尾递归的方式重写上面的内容,但没有太多运气.是否可以编写尾递归快速排序?或者,如果没有,如何以功能性的方式完成?还有什么可以做到最大化实施的效率?
我注意到很多人在讨论Gearman及其调度功能,使其能够将工作分配到其他服务器上.但是,我还没有看到与本机cronjobs的比较.
cron和Gearman有什么区别?
如何使我已经运行的C#Windows窗体应用程序能够在命令行运行时从命令行接收命令?
例如:如果我的应用程序正在播放视频,那么我希望能够在命令行"MyApp/stop"上键入,以便在应用程序仍在运行时停止播放视频而不退出当前会话.
给出(比方说)歌曲列表,确定其相对"受欢迎程度"的最佳方法是什么?
我的第一个想法是使用Google趋势.这个歌曲列表:
生成以下Google趋势报告 :(要了解现在流行的内容,我将报告限制在过去30天内)
http://s3.amazonaws.com/instagal/original/image001.png?1275516612
Empire State of Mind比加利福尼亚Gurls更受欢迎,而Subterranean Homesick Blues则远没有那么受欢迎.
所以这很好用,但当你的列表长100或1000首歌时会发生什么?谷歌趋势只允许你一次比较5个术语,所以缺少一个巨大的循环,什么是正确的方法?
另一种选择是只对每首歌进行谷歌搜索,看看哪个结果最多,但这并不是真正的衡量标准
我有一个IDictionary字段,我希望通过IDictionary<string, dynamic>转换类型的属性公开这个字段非常困难,因为我不知道.Cast<>()IDictionary的内容.
最好的我有:
IDictionary properties;
protected virtual IDictionary<string, dynamic> Properties {
get {
return _properties.Keys.Cast<string>()
.ToDictionary(name=>name, name=> _properties[name] as dynamic);
}
}
Run Code Online (Sandbox Code Playgroud) 给出以下XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<application name="foo">
<movie name="tc" english="tce.swf" chinese="tcc.swf" a="1" b="10" c="20" />
<movie name="tl" english="tle.swf" chinese="tlc.swf" d="30" e="40" f="50" />
</application>
Run Code Online (Sandbox Code Playgroud)
如何访问MOVIE节点的属性("英语","中文","名称","a","b"等)及其相关值?我目前在Cocoa中有遍历这些节点的能力,但我对如何访问MOVIE NSXMLNodes中的数据感到茫然.
有没有办法可以将每个NSXMLNode中的所有值转储到Hashtable中并以这种方式检索值?
我使用的是NSXMLDocument和NSXMLNodes.
我想知道是否有任何类型的C#类或第三方库删除脚本标签等危险字符?
我知道你可以使用正则表达式,但我也知道人们可以编写脚本标签的方法很多,你可以欺骗正则表达式认为它没问题.
我还听说HTML Agility Pack很好,所以我想知道是否有为它制作的脚本删除课程?
编辑
http://htmlagilitypack.codeplex.com/Thread/View.aspx?ThreadId=24346
我在他们的表格上找到了这个.但是我不确定这是否是完整的解决方案,因为这个家伙没有任何测试支持它,如果这是在一些网站,每天使用这个脚本的大量人来测试看看是否有任何东西会更好通过.
好的例子(差不多),谢谢!但是,有一些方法可以让我看到它变得更强大:
1)在查找带有"javascript:","vbscript:","jscript:"的链接时使用不区分大小写的搜索.例如,原始示例不会删除HTML:
Run Code Online (Sandbox Code Playgroud)<a href="JAVAscRipt:alert('hi')">click> me</a>2)删除包含表达式规则的所有样式属性.Internet Explorer将CSS规则表达为脚本.例如,以下内容将生成一个消息框:
Run Code Online (Sandbox Code Playgroud)<div style="width:expression(alert('hi'));">bad> code</div>3)同时删除标签
老实说,我不知道为什么"表达"还没有从IE中删除 - 我认为这是一个重大缺陷.(尝试在Internet Explorer中的div示例,你会明白为什么 - 甚至IE8.)我只是希望有一种更简单/标准的方法来清理用户的html输入.
这是使用这些改进更新的代码.如果您发现任何错误,请告诉我:
public string ScrubHTML(string html)
{
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
//Remove potentially harmful elements
HtmlNodeCollection nc = doc.DocumentNode.SelectNodes("//script|//link|//iframe|//frameset|//frame|//applet|//object|//embed");
if (nc != null)
{
foreach (HtmlNode node in nc)
{
node.ParentNode.RemoveChild(node, false);
}
}
//remove hrefs to java/j/vbscript URLs
nc = doc.DocumentNode.SelectNodes("//a[starts-with(translate(@href, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'javascript')]|//a[starts-with(translate(@href, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'jscript')]|//a[starts-with(translate(@href, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'vbscript')]");
if …Run Code Online (Sandbox Code Playgroud) c# ×3
xml ×2
.net ×1
algorithm ×1
android ×1
asp.net-mvc ×1
assembly ×1
cocoa ×1
command-line ×1
cron ×1
gearman ×1
generics ×1
javascript ×1
manual ×1
menu ×1
mmx ×1
objective-c ×1
python ×1
reference ×1
scala ×1
security ×1
sse ×1
statistics ×1
wcf ×1