我目前正在从事一个需要实施数据匹配算法的项目。外部系统传入它了解的有关客户的所有数据,而我设计的系统必须返回匹配的客户。这样,外部系统便知道了客户的正确ID,并获得了附加数据或可以更新其特定客户的数据。
传入以下字段:
数据可以是高质量的,并且可以使用很多信息,但是通常数据很糟糕,只有名称和地址可用并且可能有拼写。
我正在.Net中实施该项目。我目前正在做的事情如下:
public bool IsMatch(Customer customer)
{
// CanIdentify just checks if the info is provided and has a specific length (e.g. > 1)
if (CanIdentifyByStreet() && CanIdentifyByBankAccountNumber())
{
// some parsing of strings done before (substring, etc.)
if(Street == customer.Street && AccountNumber == customer.BankAccountNumber) return true;
}
if (CanIdentifyByStreet() && CanIdentifyByZipCode() &&CanIdentifyByName())
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
我对上述方法不太满意。这是因为我必须为所有合理的情况(组合)编写if语句,这样我才不会错过匹配实体的任何机会。
所以我想也许我可以创造某种匹配分数。因此,对于每个匹配的标准,将添加一个分数。喜欢:
public bool IsMatch(Customer customer)
{
int matchingScore …Run Code Online (Sandbox Code Playgroud) 我正在尝试gtest for C++(Google的单元测试框架),并且我已经创建了一个:: testing :: Environment子类来初始化并跟踪我的大多数测试所需的一些东西(并且不想要设置不止一次).
我的问题是:我如何实际访问Environment对象的内容?我想我理论上可以在我的测试项目中将环境保存在全局变量中,但是有更好的方法吗?
我正在尝试为一些已经存在的(非常纠结的)东西进行测试,因此设置非常繁重.
python中使用des/3des进行加密/解密的最佳模块/包是什么.有人可以提供示例来使用python上的des/3des加密数据.
我在概念上想知道如何使用像Glassfish这样的Java EE容器在EJB级别(而不是Web会话复制)上进行负载均衡.根据我收集的信息,您的远程接口是一个代理,可将您的呼叫委派给您在环境中可能拥有的众多服务器之一.
如果事情失败,他们应该能够在另一台服务器上"完成"吗?我想了解这种负载均衡背后的基本理论,为什么它比一堆服务器都更好,它们都在负载均衡器上运行具有会话亲和性的普通Web应用程序?
我对JBOSS有点困惑,并在不同的JDK下运行它.例如,假设我正在运行JBOSS 5.1,在启动它之前,我将JAVA_HOME设置为指向JDK5.我们还假设我的Java EE应用程序是在JDK6下编译的.如果我将Java EE应用程序(在JDK6下编译)部署到JBOSS,当我尝试查找我的EJB时,会出现以下错误:
javax.naming.NameNotFoundException: tc_test_project not bound
Run Code Online (Sandbox Code Playgroud)
但是,如果我在JDK5下重新编译我的代码并重新部署它,它可以正常工作并且能够查找EJB.
同样,我可以将JAVA_HOME设置为JDK6并启动JBOSS,我的代码(在JDK6下编译)将在该场景下运行正常(它能够找到EBJ等).
所以你的Java EE应用程序似乎需要在JBOSS服务器运行的同一个JAVA_HOME下编译,或者我误解了什么?只想得到确认,谢谢.
我正在使用模型UserRepository-> User
存储库用于保存和加载用户.
我希望能够在存储库中设置ID,但我不希望它由UI访问.
用户和存储库位于Core项目中,Web位于Web中.
有没有办法做到这一点,如属性的修饰符,或者我应该将ID放在用户构造函数中?
谢谢
如何使用java bouncy castle library实现AES加密?示例代码或示例代码的链接将是不错的:)
我正在使用C#和ASP.Net 3.5,并尝试从复选框中获取"是"/"否"值,而不是True/False.有简单的方法还是我需要做"if"语句?
默认情况下,“^”字符保证仅匹配字符串的开头...嵌入的换行符不会与“^”匹配...但是,您可能希望将字符串视为多行缓冲区,这样“^”将在字符串中的任何换行符之后匹配...您可以通过在模式匹配运算符上使用 /m 修饰符来完成此操作。
“在任何换行符之后”部分意味着它只会在第二行及后续行的开头匹配。如果我想在任何行的开头(第一行、第二行等)进行匹配怎么办?
编辑:好的,看来该文件开头有 BOM 信息(3 个字符),这就是让我困惑的地方。有什么办法让 ^ 匹配吗?
编辑:所以最终它可以工作(只要没有 BOM),但现在看来 Perl 文档是错误的,因为它说“在任何换行符之后”
c# ×3
.net ×2
java ×2
java-ee ×2
3des ×1
algorithm ×1
asp.net-3.5 ×1
bouncycastle ×1
c++ ×1
cryptography ×1
ejb ×1
encryption ×1
glassfish ×1
googletest ×1
interface ×1
jboss ×1
perl ×1
properties ×1
python ×1
regex ×1
unit-testing ×1