草庐IT

C++ 与 .NET 正则表达式性能

全部标签

Ruby Net::FTP 超时线程

我试图通过使用线程FTP连接来加速多个FTP下载。我的问题是我总是有线程挂起。我正在寻找一种干净的方法来告诉FTP它需要重试ftp事务,或者至少知道FTP连接何时挂起。在下面的代码中,我对5/6个单独的FTP连接进行线程处理,其中每个线程都有一个预期下载的文件列表。当脚本完成时,一些线程挂起并且无法加入。我使用变量@last_updated来表示上次成功下载的时间。如果当前时间+20秒超过了@last_updated,就杀掉剩下的线程。有没有更好的办法?threads=[]max_thread_pool=5running_threads=0Thread.abort_on_excepti

ruby - 正则表达式检查 ruby​​ 中的字母数字字符串

我正在尝试验证ruby​​中的字符串。任何包含空格、下划线或任何特殊字符的字符串都应该无法通过验证。有效字符串应仅包含字符a-zA-Z0-9我的代码看起来像。defvalidate(string)regex="/[^a-zA-Z0-9]$/if(string=~regex)return"true"elsereturn"false"end我收到错误:类型错误:类型不匹配:给定的字符串。谁能告诉我这样做的正确方法是什么? 最佳答案 如果您正在验证一行:defvalidate(string)!string.match(/\A[a-zA-Z

ruby-on-rails - capistrano - NameError:未初始化的常量 Net::SSH::KnownHosts::SUPPORTED_TYPE

我正在尝试将我的Rails(3.1.3)应用程序部署到预生产环境。我使用capistrano(2.12.0)和rvm-capistrano(1.2.2)。当我调用bundleexeccapssh时,它工作正常。但是当我调用bundleexeccapdeploy时,我得到以下跟踪:$capdeploytriggeringstartcallbacksfor`deploy'*18:42:19==Currentlyexecuting`multistage:ensure'***Defaultingto`preprod'*18:42:19==Currentlyexecuting`preprod'*

ruby - Ruby 正则表达式中的\w 匹配汉字

我使用下面的代码:puts"matched"if"中国"=~/\w+/它把“matched”给了我一个惊喜,因为“中国”是两个汉字,它没有0-9,a-z,A-Z和_中的任何一个,但是为什么它输出“matched”".有人能给我一些线索吗? 最佳答案 我不确定Ruby使用的正则表达式的确切风格,但这不仅仅是Ruby的异常,因为.net也以这种方式工作。MSDNsaysthis关于它:\wMatchesanywordcharacter.Fornon-UnicodeandECMAScriptimplementations,thisisth

ruby - 后视正则表达式 (Ruby) 的问题

我写了这个正则表达式来匹配所有href和srcHTML页面中的链接;(我知道我应该使用解析器;这只是试验):/((href|src)\=\").*?\"/#Withoutlook-behind它工作正常,但是当我尝试将表达式的第一部分修改为后视模式时:/(?#Withlook-behind它抛出一个错误,指出“无效的后视模式”。有什么想法吗,回溯有什么问题吗? 最佳答案 Lookbehind有restrictions:(?您不能将备选方案放在(负面)回顾中的非顶层。将它们放在顶层。您也不需要转义您所做的一些字符。/(?

Ruby:正则表达式中的十六进制

我需要在Ruby(实际上是Rails)程序的正则表达式中匹配md5校验和。我在某处发现我可以将十六进制字符串与\h序列匹配,但我找不到链接了。我正在使用该序列并且我的代码在Ruby1.9.2中运行。我什至可以让它在普通IRB下工作(因此它不是Rails扩展)。ruby-1.9.2-p180:007>"123abcdf"=~/^\h+$/;$~=>#ruby-1.9.2-p180:008>"123abcdfg"=~/^\h+$/;$~=>nil但是我的IDE将该表达式标记为错误,我找不到任何引用该序列的引用。在任何环境/版本下,RubyRegex中的\h序列是否合法,或者我应该相信我的想

ruby-on-rails - Ruby Net::FTP,从 ftp.list() 中提取文件名

我正在使用以下代码尝试使用Ruby从ftp获取所有文件。files=ftp.list()files.eachdo|file|ftp.gettextfile(file)end问题是ftp.list返回整行信息,而不仅仅是文件名,例如-rw-r--r--1ftpftp0May3111:18brett.txt如何从这个字符串中提取文件名?非常感谢 最佳答案 您可以使用nlst像这样的公共(public)方法files=ftp.nlst("*.zip")|ftp.nlst("*.txt")|ftp.nlst("*.xml")#optiona

ruby-on-rails - 登录 Rails,是否会影响性能?

Rails在标准库中与Ruby的logger类捆绑在一起。可用的日志级别是::debug、:info、:warn、:error和:致命的。我想知道如果我在我的Rails应用程序中添加大量日志记录并将日志级别设置为:debug用于开发和测试,在生产中运行时关闭日志记录或设置在更高级别,例如config.log_level=:fatal? 最佳答案 简短的回答是,日志记录总是会对性能产生影响,尤其是在记录到磁盘时。但是,有一些微妙之处。首先,使用:debug级别将比:fatal有更大的性能损失,因为正在评估和写入日志输出的字符串数量要多

ruby - 如何使用正则表达式从 Graphite 中获取数据?

我想在一个请求中从Graphite的不同计数器获取数据,例如:-summarize(site.testing_server_2.triggers_unknown.count,'1hour','sum')&format=jsonsummarize(site.testing_server_2.requests_failed.count,'1hour','sum')&format=jsonsummarize(site.testing_server_2.core_network_bad_soap.count,'1hour','sum')&format=json等等..20多个但是我不想获取su

ruby - 在 ruby​​ 中访问 Net::HTTP::Post 的 header

我有以下代码:uri=URI.parse("https://rs.xxx-travel.com/wbsapi/RequestListenerServlet")https=Net::HTTP.new(uri.host,uri.port)https.use_ssl=truereq=Net::HTTP::Post.new(uri.path)req.body=searchxmlreq["Accept-Encoding"]='gzip'res=https.request(req)这通常工作正常,但另一端的服务器提示我的XML中的某些内容,那里的技术人员需要xml消息和正在发送的header。我收