我需要存储大量的日期(可能足够大,以至于所使用的堆空间量是一个问题所以请不要过早优化的讲座),我想知道使用某种原始表示是否有意义java.util.Date(或其他一些现有的Date类).我知道我可以做一些分析来尝试一下,但有没有人知道单个Date对象使用的内存有多少字节?
RDF和XMP有什么区别?
据我所知,XMP源自RDF ......那么RDF不提供什么呢?
我的具体情况是:我有一些图像需要标记实验的执行方式,以及对图像进行了哪种数据分析.我的一位同事正在推动XMP,但他认为图像是照片 - 它们不是真的,它们只是数据的一部分.
从我所看到的(主要通过在notepad ++中打开图像),XMP数据看起来非常类似于RDF - 甚至在标签名称中使用RDF(例如<rdf:Seq>).
我希望这些数据可供其他使用类似仪器进行类似实验的人使用,因此创建一个迷你标准(架构?)似乎是要走的路.
抱歉缺乏有趣的理解 - 我是博士,而不是程序员!如果它有所不同,选择的语言将是C#.
编辑以获取更多信息: 首先,感谢优秀的回复 - 将XMP视为RDF的词汇表使事情变得更加清晰.
我将要存储的数据类型在任何预定义集合中都不可用.它将详细介绍实验设置,位置和结果.我认为使用RDF是可行的方法.
事物的一个例子(存储在当前的XML中)将是:
<Experiment name="test2" loc="lab" timestamp="65420233400">
<Instrument name="a1" rev="1.0"/>
<Calibration>
<date>13-02-10</date>
<type>complete</type>
</Calibration>
</Experiment>
Run Code Online (Sandbox Code Playgroud)
在我的脑海中,我想我将把它存储在RDF中,如下所示:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:zotty="http://www.zotty.com/rdf/">
<zotty:experiment>
<rdf:Bag>
<zotty:name>test2</zotty:name>
<zotty:loc>lab</zotty:loc>
<zotty:timestamp>65420233400</zotty:timestamp>
<zotty:instrument>
<rdf:Bag>
<zotty:name>a1</zotty:name>
<zotty:rev>1.0</zotty:rev>
<zotty:calibration>
<rdf:bag>
<zotty:date>13-02-10</zotty:date>
<zotty:type>complete</zotty:type>
</rdf:bag>
</zotty:calibration>
</rdf:Bag>
</zotty:instrument>
<rdf:Bag>
</zotty:experiment>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)
感谢您的建议 :)
我正在努力在iPhone上创建一个简单的节拍器.该应用程序现在所做的是运行计时器,每1/1000秒输入计时器的功能.然后它检查当前时间与启动应用程序的时间(我正在使用CACurrentMediaTime()功能).
CFTimeInterval currentTime = CACurrentMediaTime();
if (self.beatingStartTime == 0) {
self.beatingStartTime = currentTime;
}
if ( (currentTime - self.beatingStartTime) >= self.timeIntevalBetweenTicks * self.internalTimerCounter ) {
self.internalTimerCounter ++;
// ...
}
Run Code Online (Sandbox Code Playgroud)
如果有一个播放音频的好时机,使用OpenAL播放它的代码会被触发.
基本就是这样.我检查了在模拟器和2个设备(iPad和越狱的iPhone 3GS)上运行时播放的声音,并且有一个问题 - 当我录制声音并在Reaper软件中查看波形时,有些声音播放时间太晚了,其中一些 - 有点太早了(即使我能理解"太晚了"的部分,我真的不知道它应该如何才能发挥它应该 - 因为应用程序每次检查秒数,它基本上不能比我指定的时间更早 - 但根据我的记录,它是.
与此同时,有一些节拍器应用程序在定时方面以"坚如磐石"着称,所以我猜有一种方法.我只是想知道我错过了什么......
编辑:将定时器调用从1/1000秒更改为例如1/100并没有帮助.
编辑2:当我从计时器切换到线程(并且我让线程在指定时间内休眠)时,我仍然会遇到奇怪的行为.节奏四处移动,虽然我可以理解一点滞后并且播放一些声音太晚,问题是它们中的一些确实发挥得太早 - 这意味着2节拍之间的时间距离应该超过应该通过的时间.
差异大约是3%,相当于大约10-15毫秒,这对我来说非常重要.任何人都知道为什么声音可以更早播放?我在iPhone模拟器和iPad实际设备上都尝试过这种方法,而我唯一的猜测是计时器出现了问题 - CACurrentMediaTime()它应该返回更多的秒数.它甚至可能吗?
我一直在寻找除Sizzle之外的CSS选择器功能,我遇到过这个功能.
function SparkEn(xpath,root) {
xpath = xpath
.replace(/((^|\|)\s*)([^/|\s]+)/g,'$2.//$3')
.replace(/\.([\w-]+)(?!([^\]]*]))/g, '[@class="$1" or @class$=" $1" or @class^="$1 " or @class~=" $1 "]')
.replace(/#([\w-]+)/g, '[@id="$1"]')
.replace(/\/\[/g,'/*[');
str = '(@\\w+|"[^"]*"|\'[^\']*\')';
xpath = xpath
.replace(new RegExp(str+'\\s*~=\\s*'+str,'g'), 'contains($1,$2)')
.replace(new RegExp(str+'\\s*\\^=\\s*'+str,'g'), 'starts-with($1,$2)')
.replace(new RegExp(str+'\\s*\\$=\\s*'+str,'g'), 'substring($1,string-length($1)-string-length($2)+1)=$2');
var got = document.evaluate(xpath, root||document, null, 5, null);
var result=[];
while (next = got.iterateNext())
result.push(next);
return result;
}
Run Code Online (Sandbox Code Playgroud)
我觉得它真好太好了,这只是一个firefox功能(xpath?)还是慢?基本上为什么我会使用Sizzle呢?
javascript internet-explorer dom cross-browser document.evaluate
这有点奇怪,但我会尽力解释.我有两个模型:一个代表电子邮件消息(消息),另一个代表销售线索(AffiliateLead).当通过网站提交表单时,系统会生成一个潜在客户,然后发送电子邮件.Message模型有一个可选的FK返回Lead.从Message模型文件:
lead = models.ForeignKey('tracking.AffiliateLead', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
现在,这个基本shell工作:
from tracking.models import Affiliate, AffiliateLead
from messages.models import Message
from django.contrib.auth.models import User
u = User.objects.get(username='testguy')
a = Affiliate.objects.get(affiliate_id = 'ACD023')
l = AffiliateLead(affiliate = a)
l.save()
m = Message(recipient=u, sender=u, subject='s', body='a', lead=l)
m.save()
Run Code Online (Sandbox Code Playgroud)
但是,表单视图本身不会.当我尝试保存指向AffiliateLead的Message时,它会抛出IntegrityError:
(1452, 'Cannot add or update a child row: a foreign key constraint fails (`app`.`messages_message`, CONSTRAINT `lead_id_refs_id_6bc546751c1f96` FOREIGN KEY (`lead_id`) REFERENCES `tracking_affiliatelead` (`id`))')
Run Code Online (Sandbox Code Playgroud)
尽管视图只是采用表单,创建和保存AffiliateLead,然后创建和(尝试)保存消息.实际上,当抛出此错误时,我可以进入MySQL并查看新创建的潜在客户.当我在保存之前立即从DB重新检索线索时,它甚至会在视图中抛出此错误:
af_lead = AffiliateLead.objects.get(id = af_lead.id)
msg.lead = af_lead
msg.save()
Run Code Online (Sandbox Code Playgroud)
最后,如果我立即刷新(重新提交表单),它就可以了.没有IntegrityError.如果我让Django打印出它正在执行的SQL,我确实可以看到它在尝试INSERT消息之前插入了AffiliateLead,而消息INSERT正在使用正确的AffiliateLead ID.我真的很难过.我甚至尝试过手动交易处理无济于事.
有没有办法跳过默认的参数,假设我的方法声明是这样的:
procedure MyProc1(var isAttr1: Boolean = FALSE;
var isAttr2: Boolean = FALSE; var isAttr3: Boolean = FALSE);
Run Code Online (Sandbox Code Playgroud)
我无法像这样调用函数:
Self.MyProc1( , , Attr3);
Run Code Online (Sandbox Code Playgroud)
因为我不想要不必要的var声明,同时我想要最后一个param返回值(它是一个var类型)
提前感谢您的帮助.
在Java中,我尝试尝试使用String.split()拆分字符串的方法";",但不打开"\\\\;".(2个反斜杠后跟分号)
例:"aa;bb;cc\\;dd;ee\\;;ff"应该分成;
aa
bb
cc\\;dd
ee\\;
ff
Run Code Online (Sandbox Code Playgroud)
如何使用正则表达式完成此操作?
马库斯
当我以前用C++开发时,我记得每当从函数调用返回时,Visual Studio在其Autos窗口中都有一个条目.此条目将告诉我该函数返回的值.
有人可能会争辩说,如果一个函数返回一个值,那么你应该将一个变量设置为该值,即
int i = GetRandomInt();
Run Code Online (Sandbox Code Playgroud)
但作为一个人为的例子,假设我想这样做:
CycleTushKicker( GetRandomInt());
Run Code Online (Sandbox Code Playgroud)
而不是踩到CycleTushKicker我的孩子得到多少舔,我只想在退出时知道价值GetRandomInt.
有没有办法在使用C#时获得这个?
编辑 - 遵循@Michael Goldshetyn的建议并提交了有关Microsoft Connect的功能建议.您可以在此处投票:https://connect.microsoft.com/VisualStudio/feedback/details/636130/display-return-value-from-function-in-autos-window-for-c
基本上我希望*Messages *缓冲区在新消息到达时始终滚动到底部.
我能这样做吗?
我发现auto-revert-tail-mode但这适用于访问文件的缓冲区.当我在Messages缓冲区中尝试它时,它弹出一个错误:
auto-revert-tail-mode: This buffer is not visiting a file