我正在开发一个Web应用程序.
我需要正确显示一些十进制数据,以便可以将其复制并粘贴到GUI不受我控制的某个应用程序中.
GUI应用程序是区域设置敏感的,它只接受在系统中设置的正确的小数分隔符.
我可以猜测小数分隔符Accept-Language和猜测在95%的情况下是正确的,但有时它会失败.
有没有办法在服务器端(最好是我可以收集统计数据),或在客户端?
更新:
任务的重点是自动完成.
事实上,这个webapp是一种传统GUI的在线界面,有助于正确填写表单.
使用它的用户大多不知道小数分隔符是什么.
该Accept-Language解决方案的实施和工作,但我想改善它.
UPDATE2:
我需要检索一个非常具体的设置:小数分隔符设置Control Panel / Regional and Language Options / Regional Options / Customize.
我处理四种操作系统:
所有100%的客户都在俄罗斯,遗留申请涉及俄罗斯政府发布的表格,因此要求一个国家将收取100%的俄罗斯联邦,GeoIP将收益80%的俄罗斯联邦和20%的其他(不正确)答案.
我正在使用Zend_Search_Lucene,它是Java Lucene的PHP端口.我目前有一些代码将基于字符串数组构建搜索查询,查找至少一个索引字段与提交的每个字符串匹配的结果.简化,它看起来像这样:
(注意:$ words是根据用户输入构造的数组.)
$query = new Zend_Search_Lucene_Search_Query_Boolean();
foreach ($words as $word) {
$term1 = new Zend_Search_Lucene_Index_Term($word, $fieldname1);
$term2 = new Zend_Search_Lucene_Index_term($word, $fieldname2);
$multiq = new Zend_Search_Lucene_Search_Query_MultiTerm();
$multiq->addTerm($term1);
$multiq->addTerm($term2);
$query->addSubquery($multiq, true);
}
$hits = $index->find($query);
Run Code Online (Sandbox Code Playgroud)
我会喜欢做的是替代$字用($字"*".) -添加一个星号,以每个单词的末尾,把它变成一个通配符项.
但是,$ multiq必须是Zend_Search_Lucene_Search_Query_Wildcard而不是Zend_Search_Lucene_Search_Query_MultiTerm,我不认为我仍然可以为每个$ multiq添加多个Index_Terms.
有没有办法构建一个既可以是通配符又可以是MultiTerm的查询?
谢谢!
我正在构建一个允许前端用户定义自己的业务对象的系统.定义业务对象涉及为该业务对象创建数据字段,然后将其与系统中的其他业务对象相关联 - 相当直接的东西.我的问题是,什么是最有效的存储策略?
要求是:
我可以设想的两种可能的解决方案是:
我可以看到两种方法的利弊:
那么最好的选择是什么?还有其他方法我没有想过吗?
编辑:我给出的要求是构建一个能够支持前端用户定义的业务对象的通用系统.当然会限制这些对象如何构建和相关,但要求本身不适合谈判.
我的客户是服务提供商,需要一定程度的灵活性来为自己的客户提供服务,因此需要创建业务对象.
当我输入irb> require 'rubygems'它时返回false.我的rails应用程序中有很多宝石显然正在工作 - rake,activerecord等.这里可能出现什么问题?谢谢.
Ruby 1.8.6.Rails 1.2.6
我正在尝试开发一个服务,其中包含许多客户端和服务器套接字(服务器服务以及连接到托管组件并保持不变的客户端),这些服务器是同步轮询的IO::Select.我们的想法是处理I/O和/或请求通过工作线程池产生的处理需求.
shared使数据在Perl(threads::shared)中的线程之间可共享的关键字有其限制 - 句柄引用不属于可共享的基元.
在我发现无法共享句柄和/或句柄引用之前,计划是有一个select()负责轮询的线程,然后将相关句柄放在ThreadQueue线程池中的某些内容中,以实际读取和写入.(当然,我正在设计这个,以便对所使用的实际描述符集的修改select将是线程安全的,并且仅在一个线程中发生 - 运行相同的一个,select()因此从来没有在它运行时,显然.)
这似乎不会发生,因为句柄本身无法共享,因此轮询以及读取和写入都需要从一个线程发生.这有什么解决方法吗?我指的是跨线程的实际系统调用的分解; 很明显,有一些方法可以使用队列和缓冲区来在其他线程中生成数据并在其他线程中实际发送.
这种情况产生的一个问题是我必须给出select()超时,并且期望它足够高,不会导致轮询相当大的描述符集的任何问题,同时足够低,不会在我的时序中引入太多延迟事件循环 - 虽然,我确实理解,如果在轮询过程中检测到实际的I/O集成员资格,select()将提前返回,这部分缓解了问题.我宁愿有一些select()从另一个线程中醒来的方法,但由于句柄无法共享,我不能轻易想到这样做的方法,也不能看到这样做的价值; 什么是其他线程知道何时适合唤醒select()?
如果没有解决方法,Perl中这类服务的优秀设计模式是什么?我需要相当大的可伸缩性和并发I/O,因此出于非阻塞路由而不是仅为每个侦听套接字和/或客户端和/或服务器进程生成线程,因为许多人使用更高的 - 现在,当处理套接字时,这些级别的语言是不习惯的 - 它似乎是Java领域的一种标准做法,似乎没有人关心java.nio.*面向系统的编程的狭隘领域.也许这只是我的印象.无论如何,我不想这样做.
因此,从经验丰富的Perl系统程序员的角度来看,这些东西应该如何组织?单片I/O线程+纯工作线程(非I/O)线程+大量队列?某种聪明的黑客?除了我已经列举的内容之外,任何线程安全都需要注意?有没有更好的办法?我在使用C语言构建此类程序方面拥有丰富的经验,但没有使用Perl习语或运行时特性.
编辑:PS我肯定发现,也许一个具有这些性能要求的程序和这个设计应该只是不用Perl编写.但我看到Perl中生成了大量非常复杂的服务,所以我不确定.
我一直试图找出为什么以下代码行不起作用:
$('#add-cloud > select').change(function() {
var selected = parseInt($('#add-cloud select option:selected').val());
$("#cloud-calculator table tr:eq(selected)").css("color", "red");
});
Run Code Online (Sandbox Code Playgroud)
如果我改变:eq(selected)到:eq(4)例如-工作正常.如何将变量作为参数传递给:eq()?
一般来说,如何获取对字符串中名称的对象的引用?
更具体地说,我有一个参数名称列表(成员变量 - 动态构建,所以我不能直接引用它们).
每个参数都是一个也有from_s方法的对象.
我想做类似以下的事情(当然这不起作用......):
define_method(:from_s) do | arg |
@ordered_parameter_names.each do | param |
instance_eval "field_ref = @#{param}"
field_ref.from_s(param)
end
end
Run Code Online (Sandbox Code Playgroud) 我不认为这在技术上是一个宏,但我不知道还有什么可以称之为:
用户希望从工作表上的报表中打印单个部分.这些部分只是命名范围.
一些要点:
我在工作表的边缘创建了一系列按钮:
' in a loop
With ActiveSheet.Buttons.Add(rngCurrent.Left + 2, rngCurrent.Top + 1, rngCurrent.Width - 2, rngCurrent.Height - 1)
.Caption = "Print"
.OnAction = "PrintRange"
.Font.Size = 7
.Name = CStr(oSite.SiteID)
End With
Run Code Online (Sandbox Code Playgroud)
但是,当我点击按钮时,它会显示"无法运行宏'filename.xls!PrintRange".
PrintRange函数位于工作表shtPage中,而循环位于名为modPage的模块中.
为什么我不能调用我需要的功能以及如何使其工作?
对不起,如果标题没有意义.基本上我有一系列长度为10-60个字符的字符串.问题是我必须使用的服务只接受最多25个字符串,所以我需要一种方法将我拥有的字符串转换为25个字符或更少,发送它然后当我得到结果时能够将其转换回原来的身份证.
id = "this_is_a_test_account_that_is_longer_than_allowed"
id = contract(id)
// id = "DSFK23478JDSFHGW874"
id = expand("DSFK23478JDSFHGW874")
// id = "this_is_a_test_account_that_is_longer_than_allowed"
Run Code Online (Sandbox Code Playgroud) .net ×1
32-bit ×1
64-bit ×1
algorithm ×1
architecture ×1
compression ×1
database ×1
encoding ×1
excel ×1
html ×1
javascript ×1
jquery ×1
locale ×1
lucene ×1
msbuild ×1
nonblocking ×1
performance ×1
perl ×1
php ×1
ruby ×1
rubygems ×1
sockets ×1
vb.net ×1
vba ×1