我有一个Java程序,以空格分隔的十六进制格式,通过网络接收16字节的原始数据包.由于我不想更改该代码,因此我将结果传递给Perl脚本,unpack从理论上讲,这可以简单地将其STDIN转换为可识别的变量.以下是我的Perl文件的输入行示例:
FF FF 09 7D 10 01 07 01 00 02 00 1D 00 00 00 00 00 06 00 07 00 |--garbage-----|c--|c--|int---|int---|int---|int---|int---|int---|int---|
(c表示char/byte,int表示16位整数变量)
我最初想用来unpack干净地将每个输入行分成我需要的变量.但是,由于字符串中的空格分隔,我不知道如何处理它(我可以使用'A'作为模板,但我不妨使用split!)
有优雅的使用方式unpack()吗?我不是Perl的主人,但另一种方法是,正如我之前建议的那样,使用split然后手动将每个十六进制转换为一个字节,然后使用位操作和掩码来获得我想要的东西.任何其他建议(如果unpack没有保存一天)?
对于某些人来说这可能是显而易见的,但我一直在想:我为什么要依靠Google的服务器为我的网站托管jQuery?
是不是因为它以这种方式加载得更快?
是否有一个C函数来查找字符串中第二次出现的子字符串?
即字符串 - "213文件状态550访问被拒绝.550访问被拒绝."
此功能将返回"550发现两次"....
我有几百个网络设备每10分钟检入我们的服务器.每个设备都有一个嵌入式时钟,计算每次检入服务器时的秒数和报告经过的秒数.因此,示例数据集看起来像
CheckinTime Runtime
2010-01-01 02:15:00.000 101500
2010-01-01 02:25:00.000 102100
2010-01-01 02:35:00.000 102700
Run Code Online (Sandbox Code Playgroud)
等等
如果设备重新启动,则当它重新检入服务器时,它会报告运行时为0.
我想要确定的是设备"健康"的某种量化指标.
如果设备过去重启了很多但是在最近的xx天没有重新启动,那么它被认为是健康的,相比之下具有很长正常运行时间的设备除了重复重启的最后xx天之外.此外,与最近xx天每24小时不断重启的设备相比,设备已经运行了30天并且刚刚重新启动,不应该被视为"苦恼".
我尝试了多种计算健康状况的方法,使用各种指标:1.平均重启次数2.最大值(正常运行时间)3.平均值(正常运行时间)4.最近24小时重启次数5.重启次数过去3天6.过去7天内重新启动次数7.过去30天内重新启动次数
每个单独的度量标准仅考虑设备运行状况的一个方面,但不考虑与其他设备相比的总体运行状况或其当前的运行状况.
任何想法都会非常感激.
我有一个很好的数据库,我在Django中创建,我想通过我的网站之外的一些python脚本接口,所以我很好奇是否可以在Django之外使用Django数据库API网站,如果有的话,有没有人知道如何做到这一点?谷歌并没有因此而受到很多打击.
如何利用Aero Glass,Jump Lists等Windows 7功能.还有一些细微的变化,比如跳转列表上的图标,跳转列表的颜色.有什么好文章吗?
类似的问题:
我有一个对象,我希望向库客户端(特别是脚本客户端)公开一个方法,如:
interface MyNiceInterface
{
public Baz doSomethingAndBlock(Foo fooArg, Bar barArg);
public Future<Baz> doSomething(Foo fooArg, Bar barArg);
// doSomethingAndBlock is the straightforward way;
// doSomething has more control but deals with
// a Future and that might be too much hassle for
// scripting clients
}
Run Code Online (Sandbox Code Playgroud)
但我可用的原始"东西"是一组事件驱动的类:
interface BazComputationSink
{
public void onBazResult(Baz result);
}
class ImplementingThing
{
public void doSomethingAsync(Foo fooArg, Bar barArg, BazComputationSink sink);
}
Run Code Online (Sandbox Code Playgroud)
其中,ImplementingThing接受输入,做一些神秘的事情,如在任务队列上排队,然后在结果发生时,sink.onBazResult()在一个线程上调用,该线程可能与调用ImplementingThing.doSomethingAsync()的线程相同或不同.
有没有一种方法可以使用我拥有的事件驱动函数以及并发原语来实现MyNiceInterface,以便脚本客户端可以愉快地等待阻塞线程?
编辑:我可以使用FutureTask吗?
我正在玩get_iplayer(太棒了)它每隔几个小时运行一次以获取任何新的剧集......
在它完成任何新的东西之后,我想更改标志~/Videos以添加加号或星号(最好是鹦鹉螺徽)
我是否通过鹦鹉螺来解决这个问题?
我需要在gnome-config中更改一些内容吗?
我敢肯定这不能是FS等级吗?
欢呼任何链接和建议.
尝试使用数据库中的linq检索数据.我想使用匿名类型并转换为Ilist,Array,ArrayList或Collection.数据用于接受Ilist,arraylist或集合的第三方对象.
我似乎无法让这个工作.我收到以下错误,"类型'System.String'不支持序列运算符"
using (var db = new dbDataContext())
{
var query = from e in db.people
select new
{
Count = e.LastName.Count()
};
Array test;
test = query.ToArray();
}
Run Code Online (Sandbox Code Playgroud) 我大部分时间都是单独的开发人员,从事一些大型的,主要是基于PHP的项目.我希望专业化和自动化如何处理代码库的更改,并创建一个持续集成过程,使过渡在团队中工作,而不必进行根本性的更改.
我现在正在做的是,我为每个项目都有一个本地测试环境; 我为每个项目使用SVN; 更改在本地进行测试,然后通常通过FTP传输到联机版本.API文档是从源代码手动生成的; 单元测试是我慢慢进入的,它还不是我日常工作的一部分.
我想象的"构建周期"将执行以下操作:
在本地测试后,变更集将被检入SVN.
我开始构建过程.SVN HEAD修订版将被检出,必要时进行修改,并准备上传.
API文档会自动生成 - 如果我还没有详细设置,使用默认模板,扫描整个代码库.
新修订通过FTP部署到远程位置(包括一些目录重命名,chmodding,导入数据库,和喜欢.)这是我已经喜欢phing非常多,但我很开放的,当然选择.
运行驻留在预定义位置的单元测试.我被告知他们使用电子邮件,RSS或(最好)HTML输出的失败或成功,我可以抓取并放入网页.
(可选)预定义位置的最终用户"changelog"文本文件使用提交消息的预定义部分进行更新("现在可以同时过滤"foo"和"bar"此消息不一定与SVN提交消息相同,后者可能包含更多内部信息.
像代码指标,代码样式检查等等东西现在不是我的主要关注点,但从长远来看,它们肯定会.带来这种开箱即用的解决方案非常受到关注.
我在寻找
来自或处于类似情况的人的反馈和经验,并已成功实施此解决方案
特别是,关于如何设置它的好的分步教程和演练
提供尽可能多的自动化的解决方案,例如为每个新项目创建框架API,测试用例等.
并且
我忙于工作,所以我倾向于简单的解决方案.另一方面,如果缺少一个功能,我会因为它太有限而哭泣.:)欢迎使用点击式解决方案.我也是可以使用PHP项目的商业产品推荐.
我的设置
我在本地工作Windows(确切地说是7),大多数客户端项目都在LAMP堆栈上运行,通常在共享主机上运行(=没有远程SSH).我正在寻找可以在我自己的环境中运行的解决方案.我准备为此设置一个Linux VM,没问题.托管解决方案对我来说很有意思,只要它们提供了所描述的所有方面,或者足够灵活,可以与流程的其他部分进行交互.
赏金 我接受了我觉得会给我最多里程的答案.这里有很多很棒的输入,我希望我能接受不止一个答案.感谢大家!
c# ×2
aero ×1
algorithm ×1
asynchronous ×1
bash ×1
blocking ×1
c ×1
cdn ×1
concurrency ×1
directory ×1
django ×1
emblems ×1
formula ×1
icons ×1
java ×1
jquery ×1
linq ×1
linq-to-sql ×1
mysql ×1
nautilus ×1
parsing ×1
performance ×1
perl ×1
phing ×1
php ×1
python ×1
search ×1
statistics ×1
string ×1
unpack ×1
windows-7 ×1
wpf ×1