我没有llvm或clang的经验.据我所知,clang被认为很容易嵌入维基百科 -但是,我没有找到任何有关如何实现这一目标的教程.那么有可能通过JIT在运行时编译和执行用户定义的代码来为c ++应用程序的用户提供脚本功能吗?是否可以调用应用程序自己的类和方法并共享对象?
编辑:我更喜欢脚本语言的C语法(甚至C++本身)
假设我有一个大的对象列表(数千或数万),每个对象都标记有少量标记.有几十种或几百种可能的标签,它们的使用遵循典型的幂律:一些标签经常使用,但大多数很少见.事实上,除了最常见的几十个标签之外的所有标签通常都可以被忽略.
现在的问题是如何可视化这些标签之间的关系.标签云只是其频率的一个很好的可视化,但它忽略了哪些标签与其他标签一起出现.假设tag:bar仅出现在标记为foo的对象上.这在视觉上应该是明显的.类似地,三个标签倾向于一起出现.
您可以使每个标记成为一个气泡,让它们彼此部分重叠.从技术上讲,这是一个维恩图,但以这种方式处理它可能是笨拙的.例如,Google图表可以创建维恩图,但仅限3个或更少的集(标签):http:
//code.google.com/apis/chart/docs/gallery/venn_charts.html
他们将其限制为3套的原因是这样,它看起来很可怕.请参阅维基百科页面上的"更多数量的集合":http: //en.wikipedia.org/wiki/Venn_diagrams
但这只是在每个可能的交叉点都是非空的情况下.如果共同出现的标签不超过3个(可能是在丢弃稀有标签之后),那么维恩图的集合可以起作用(气泡的大小代表标签频率).
或者可能是具有视觉上更厚或更薄的边缘的图形(如在顶点和边缘中)以表示共现的频率.
你有任何想法,或指向工具或库的指针?理想情况下我会用javascript做这个,但我对R和Mathematica这样的东西或其他任何东西都很开放.如果有人好奇,我很乐意分享一些实际的数据(如果我告诉你它代表什么,你会笑).
附录:我最初想到的应用程序是TagTime,但我发现这也很好地映射了可视化一个美味书签的问题.
AppBrain有一个很棒的新应用程序,可让您使用Web浏览器自动在手机上安装应用程序.类似于Chrome推送.在他们的情况下,他们正在使用它来让您在没有提示的情况下直接在手机上安装应用程序.Engadget有一个很好的视频演示他们的系统.
http://lifehacker.com/5582169/appbrain-upgrade-installs-android-apps-instantly-from-the-web
我的问题是:他们使用什么机制来避免在手机上询问提示并直接进行安装?
我问的原因是有几百个Android手机运行一些自定义软件,用户必须通过点击安装过程手动更新软件.理想情况下,我宁愿能够在不提示人的情况下进行推送更新(换取免费电话+服务,你必须运行软件,所以'你不应该这样做'不会使问题无效你是怎样做的).最大的问题是,如果你正在进行快速开发/测试,那么让每个人都达到合适的版本是一件痛苦的事情,这对人们来说很麻烦.
AppBrian听起来像是对这个问题的完美修复,但它是如何工作的?AppBrain快速安装程序要求的唯一权限是访问您的帐户和网络访问权限.现在,有关Jon Oberheide的REMOVE_ASSET和INSTALL_ASSET的有趣发展,他说使用GTalk服务来模仿无需安装的安装.有趣的是,AppBrian的FastWeb安装程序可以在2.01 Droid上运行,但不适用于2.2 Nexus One(可能最后一轮Froyo更新中的一个禁用了AppBrain对INSTALL_ASSET意图的访问). http://jon.oberheide.org/blog/2010/06/25/remote-kill-and-install-on-google-android/
任何人都可以对此有所了解吗?我知道市场正在进行自动更新,但我不确定这是否是一个可用的解决方法.我很好说'你需要点击安装一次',但有数百人浪费时间点击"确定"是一种浪费.
我个人认为,谷歌应该在未来使用设备管理员功能为企业用户提供支持.如果我使用Android并且可以轻松上演并让人们了解应用程序,它将非常有用.
我最近做了一个客观的测试,看看我会怎么做.
事实证明我的分数并不像我希望的那么好.这意味着更多的学习.
在测试期间,我被问到这个问题:
你如何释放一个物体?
A. [obj dealloc]; B. [obj发布]; C.以上都不是
我的选择是A,我不知道它是否正确.问题是混乱:不释放调用dealloc,因此实现相同的结果?
每次我通过Selenium RC启动一个Firefox实例时,我都会得到3个不需要出现的窗口:
附加组件窗口通知我"已经安装了3个新的附加组件"(因为我正在使用Selenium的自定义配置文件,它显然添加了DocumentReadyState,KillFF和Selenium RC Runner附加组件)
双窗口有两个以chrome开头的标签://src/content/RemoteRunner.html?sessionId = ...每个
我不需要任何这些是可见的,每次我必须手动关闭附加组件窗口,以最小化其他两个窗口,并最大化Selenium控制的主浏览器窗口.经过这么多次,我很生气,寻求解决方案:
有没有办法自动关闭附加组件窗口并最小化其他两个窗口?
顺便说一句,我在OS X上,所以我也很欣赏一些替代解决方案,它通过操作系统自动化,而不是直接使用Selenium.
在VS中开始制作64位程序需要做什么?
我尝试使用64位解决方案平台设置并使用"从x86复制设置"选项.该过程显示为64位.还有别的事吗?我错过了一些有趣的选择吗?
好吧所以我在我的装配中有这条线
MOV EAX, DWORD PTR DS:[ESI]
Run Code Online (Sandbox Code Playgroud)
ESI是00402050(ascii,"123456789012")
在这个指示之后: EAX = 34333231
这里到底发生了什么?这个值是如何计算的,为什么?
我在哪里可以得到一些关于这类事情的好参考?
目前我有以下jQuery UI按钮:
$('#button').button(
{
label: 'Test',
icons: {primary: 'ui-icon-circle-plus', secondary: null}
}
);
Run Code Online (Sandbox Code Playgroud)
我希望将自己的图像用于名为'custom.png'的按钮.
我怎么能做到这一点?
我希望此函数采用日期时间并返回以小数表示的时间.EG - 2:33 PM将返回14.55
ALTER FUNCTION [dbo].[GetTimeAsDecimal](
@DateTime as datetime
) RETURNS decimal
AS
BEGIN
DECLARE @hour decimal
DECLARE @min decimal
DECLARE @result decimal
SELECT @hour = DATEPART(HOUR, @DateTime)
SELECT @min = (DATEPART(MINUTE, @DateTime)/60.0)
SELECT @result = @hour + @min
RETURN @result
END
Run Code Online (Sandbox Code Playgroud)
类似的查询产生预期的结果......
SELECT DATEPART(HOUR, getDate()) + (DATEPART(MINUTE, getDate())/60.0)
Run Code Online (Sandbox Code Playgroud) 我想知道是否有任何方法可以使用Bash(Shell Script)通过CGI制作网页,如Perl,C++等.如果有任何办法,我可以在哪里找到一个好的免费托管服务?