我提出了: ([^"]*["][^"]*["][^"]*)*
它适用于所有情况,除了空字符串.我认为它会起作用,因为最后一个星形匹配前一个标记零次或多次.
有任何想法吗?
如果还有更好的方法,请告诉我并详细解释.
解决方案必须是正则表达式,因为它将被使用的地方是需要正则表达式的钩子.
它必须匹配没有引号的字符串,因为零是偶数
我们的团队有许多流程,我们手动运行,但可能会运行很多天.这些过程会对大量实体(网页,数据库行,图像,文件等)执行各种操作.显然有时会出现故障,我们必须设计或处理以优雅地处理这些故障并继续前进,这样整个工作就不会失败.
根据所讨论的特定过程,故障的发生率,严重程度和紧急程度会有所不同.在某些情况下,我们会在发生罕见但重要的错误时发送电子邮件,在其他情况下,我们只需记录并继续,依此类推.
问题是我们有不同的错误处理代码分散在各处,而且当我们"记录并继续"时,没有人回过头来读取日志,因此没有人知道发生了什么问题.我们不能默认发送所有问题的电子邮件,因为只会有太多的电子邮件.
这些是长时间运行的进程,但不是守护程序,如SNMP或Nagios之类的东西可能是合适的.当然这是一个相当普遍的问题,但我似乎无法在网上找到很多解决方案.我听说有人在谈论使用log4j(或其他类似的日志包)来登录数据库等,这似乎可能是朝着正确方向迈出的一步,但是现在肯定还有更复杂的解决方案. ?我正在想象你的记录器将事件写入数据库的东西,并且有一个类似Nagios的Web界面,可以让你看到实时的哪些进程发生了什么错误,以及为特定模式配置电子邮件警报等.
这样的事情存在吗?如果没有,您用什么方法成功处理类似的问题?
(对于我们的大部分代码库都是在python中值得的,但我想这个想法的任何体面实现都基本上是非语言特定的,显然任何概念解决方案都是如此).
更新:我只是花了一些时间看Chainsaw,这是我正在寻找的东西,但我希望它是一个webapp而不是桌面应用程序,并具有警报功能.
更新:我刚刚发现了hoptoadapp和例外,它们都与我的想法有所不同,尽管两者都是专门针对Rails的.
假设我在网址上有一个wav文件:
http://hostname.com/mysound.wav
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用声音类加载wav文件:
var url:String = "http://hostname.com/test.wav";
var urlRequest:URLRequest = new URLRequest(url);
var sound:Sound = new Sound();
sound.load(urlRequest);
sound.play();
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不起作用.flash播放器可以播放wav文件,还是只是mp3?
这里的很多人可能都熟悉Joel Spolsky最受欢迎的博客文章之一,请主席先生,我可以有一个链接器,在那里他呼吁一种方法来删除.NET框架的依赖关系,这样就可以开发一个独立的应用程序,出售.
Visual Studio开发团队的Jason Zander当时回答了他对这个主题的看法,认为这个话题有点没有意义 - 在运行时(以及其他方面)修复安全问题的能力是他们的主要关注点.总的来说,小开销是值得的.
快进到2009年.现在有几个团体声称拥有C#链接器.(Jason Zander甚至自己说实现它不会花太多时间.)我们现在拥有一个庞大的200-300 mb跨平台完整的.NET 3.5安装程序,而不是可爱的,十几个下载的.NET 1.0.包含用于x86,x64和ia64的.NET版本.微软建议减少运行时间大小包括:
更糟糕的是,正如我所理解的那样(如果我错了请纠正我)客户端配置文件甚至没有注册Windows,因为安装了.NET 3.5.这意味着如果计算机上安装了多个.NET 3.5客户端应用程序,则没有人会看到对方,并且将一次又一次地重新安装运行时!
我真的不知道微软在想什么.即使假设最坏的情况安装将是针对一个目标平台(例如,x64)并且仅需要包括那些库,您仍然在应用程序上查看超过60 MB的开销.即使是最着名的.NET应用程序之一,Paint.NET,由于存在大量的.NET依赖性,因此很难安装应用程序. 如果他们在分发免费应用程序时遇到问题,那么世界其他地方呢?最后,他们必须制作一个安装Microsoft Installer 3.1,.NET运行时引导程序以及所有其他依赖库的引导程序,然后才能安装自己的应用程序.
那怎么样呢.链接器.是否存在任何好的 - 或者只是简单地构建C#应用程序而不需要用户安装大量.NET运行时的工具?
更新:所以,看起来有几个选项:
单声道:
.净:
看起来Mono工具正在使用; 基于.NET的工具怎么样?与他们有任何其他经验,或者我们只是要等待微软将其推向每个人?我不禁想到将.NET 4.0推出需要多长时间......
我想使用Visual C++为x86机器构建一个嵌入式内核.我有一些C和汇编代码文件要编译,我想以一种与GRUB等多重引导加载程序兼容的方式将它们连接在一起.
从三个变量开始,都是System.DateTime.
a: 10/2/2009 2:30:00 PM
b: 10/2/2009 2:30:00 PM
c: 10/2/2009 2:30:00 PM
Run Code Online (Sandbox Code Playgroud)
将它们相互比较.
a=b: True
b=c: True
c=a: True
Run Code Online (Sandbox Code Playgroud)
好的,我们已经确定所有三个日期都是平等的.因此,当我们将它们全部转换为世界时,我们将得到相同的结果.对?
a.ToUniversalTime: 10/2/2009 9:30:00 PM
b.ToUniversalTime: 10/2/2009 9:30:00 PM
c.ToUniversalTime: 10/2/2009 2:30:00 PM
Run Code Online (Sandbox Code Playgroud)
所以发生了什么事?
我需要将Gtk2用于项目.我将使用python/ruby.问题是包装对我来说似乎有些神秘.我尝试使用VBox,以便在窗口中可以使用以下小部件(按以下顺序):
我已经设法"猜测"我的方式pack_start并获得我需要的布局,但我希望能够理解它.Ruby Gtk2上的文档看起来太不直观了(python也是如此,因为它是相同的,只是为python编写的),你能解开一些亮点吗?
此外,set_size_request添加组件时并不总是有效pack_start.这是为什么 ?
替换字符的最佳方法是使用Objective-C for iPhone SDK中的字符串?
我试图检测触摸运动的速度,我并不总是得到我期望的结果.(补充说:速度太快了)如果我正在做一些时髦或建议更好的方法,有人能发现吗?
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
self.previousTimestamp = event.timestamp;
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:self.view];
CGPoint prevLocation = [touch previousLocationInView:self.view];
CGFloat distanceFromPrevious = distanceBetweenPoints(location,prevLocation);
NSTimeInterval timeSincePrevious = event.timestamp - self.previousTimestamp;
CGFloat speed = distanceFromPrevious/timeSincePrevious;
self.previousTimestamp = event.timestamp;
NSLog(@"dist %f | time %f | speed %f",distanceFromPrevious, timeSincePrevious, speed);
}
Run Code Online (Sandbox Code Playgroud) 我有一个web.py服务器响应各种用户请求.其中一个请求涉及下载和分析一系列网页.
有没有一种简单的方法在web.py中设置基于异步/回调的url下载机制?资源使用率低是特别重要的,因为每个用户发起的请求可能导致下载多个页面.
流程看起来像:
用户请求 - > web.py - >并行或异步下载10页 - >分析内容,返回结果
我认识到Twisted是一个很好的方法,但我已经在web.py中了,所以我对web.py中的内容特别感兴趣.