标签: normalization

规范化URI以使其与MakeRelativeUri一起正常工作

Dim x AS New URI("http://www.example.com/test//test.asp")
Dim rel AS New URI("http://www.example.com/xxx/xxx.asp")
Console.Writeline(x.MakeRelativeUri(rel).Tostring())
Run Code Online (Sandbox Code Playgroud)

在这里输出是:

../../xxx/xxx.asp
Run Code Online (Sandbox Code Playgroud)

哪个看起来正确几乎所有的Web服务器都将处理以下两个相同的请求:

http://www.example.com/test//test.asp
http://www.example.com/test/test.asp
Run Code Online (Sandbox Code Playgroud)

修复此行为的最佳方法是使用任何API来执行此操作,还是手动创建新URI并删除路径中的所有//?

.net vb.net uri normalization

5
推荐指数
1
解决办法
3237
查看次数

是否规范化数据库?只读MyISAM表,性能是主要优先级(MySQL)

我正在将数据导入到将来有一个静态MyISAM表的数据库中(只能读取).我之所以选择MyISAM是因为据我所知,它对我的​​要求更快(我根本不熟悉MySQL/SQL).

该表将包含各种列,例如ID,名称,性别,电话,状态...以及国家/地区,城市,街道列.现在的问题是,我应该创建表(例如国家:COUNTRY_ID,COUNTRY_NAME)在过去的3列,并通过ID是指它们在主表(正常化...... [?]),或者只是将它们存储为VARCHAR在主表(显然有重复)?

我主要关心的是速度 - 由于不会写入表格,因此数据完整性不是优先事项.唯一的操作是选择特定行或搜索特定条件的行.

如果我只使用VARCHAR,那么按国家,城市和/或街道列(以及可能在同一搜索中的其他列)搜索会更快吗?

编辑:该表有大约30列和大约10米行.

mysql database normalization

5
推荐指数
1
解决办法
779
查看次数

将非规范化文件中的数据加载到规范化表中

我收到一个非规范化的文本文件,必须加载到规范化的表中.

非规范化表:

客户ID - 类别 - 类别2 - 类别3 - 类别4
1 - A - B - C - D.

当这被标准化时,它应该看起来像:

客户ID - 类别
1 - A
1 - B
1 - C
1 - D.

编写T-SQL语句以实现此目的的最佳方法是什么(SQL Server 2008)?

sql t-sql sql-server normalization denormalization

5
推荐指数
1
解决办法
2089
查看次数

安全的跨平台功能,以获得规范化的路径

我希望有一个标准函数将相对路径转换为绝对路径,如果可能的话,我想尽可能使它成为跨平台(所以我想避免调用外部库函数).这样做是为了防止路径攻击.

我知道这样的函数无法检测符号链接,但我对我的应用程序没问题.

我可以滚动自己的代码,但可能存在一些问题,例如平台如何处理"../"模式的编码或变体.

是否有类似的东西已经实施?

c security normalization relative-path

5
推荐指数
1
解决办法
7110
查看次数

检测稀疏分布中的异常值?

我想找到检测异常值的最佳方法.这是问题和一些可能不起作用的事情.假设我们想要从mysql中的脏varchar(50)列中删除一些准统一数据.让我们从字符串长度进行分析开始.

| strlen |  freq  | 
|      0 |   2312 |
|      3 |     45 |
|      9 |     75 |
|     10 |  15420 |
|     11 |    395 |
|     12 |    114 |
|     19 |     27 |
|     20 |   1170 |
|     21 |     33 |
|     35 |     9  |
Run Code Online (Sandbox Code Playgroud)

我想要做的是设计一种算法来确定哪个字符串长度有可能是有目的的唯一而不是类型或随机垃圾.该字段有可能是"枚举"类型,因此有效值可能有几个频率峰值.显然10和20都有效,0只是省略数据.35和3可能是一些随机垃圾,尽管两者的频率差别很大.19和21可能是20格式的type-os.11可能是10的type-os,但是12呢?

似乎只是使用发生频率%是不够的.需要在明显的异常值周围存在更高"仅错误"概率的热点.

此外,当有15个独特长度可以在5-20个字符之间变化时,具有固定阈值失败,每个字符在7%-20%之间出现.

标准偏差不起作用,因为它依赖于平均值.中位绝对偏差可能不会起作用,因为你可以有一个不能丢弃的高频率异常值.

是的,将有其他参数用于清理代码中的数据,但长度似乎非常快速地预过滤和分类具有任何数量结构的字段.

有没有任何已知的方法可以有效地工作?我不太熟悉贝叶斯过滤器或机器学习,但也许他们可以提供帮助?

谢谢!莱昂

database statistics sanitization normalization outliers

5
推荐指数
1
解决办法
1639
查看次数

比较中文unicode字符串,当多个代码点是同一字符时?

我正在编写一些处理汉字的Java代码,但得到了一些意想不到的结果-应该相等的字符串却不是。这是令人反感的字符之一,表示“六个”(拼音:liù):?。该字符可以用以下两个代码点之一表示:

块中的F9D1:CJK兼容表意文字
516D块中:CJK统一表意文字

维基百科上有关于这些字符范围的页面,关于兼容性表意文字的简短部分确实提到了一些重复项,但列表中省略了该特定字符。

所以我想知道:

  1. 是否在某处有重复的unicode字符列表,以便在尝试比较字符串之前可以对其进行转换?
  2. 在处理CJK字符时这是正常现象吗,还是我做错了其他事?

unicode normalization cjk unicode-normalization

5
推荐指数
1
解决办法
890
查看次数

如何使用规范化删除冗余?

我有XML,其中存储了所有客户信息.每当我的PHP代码运行时,它都会将XML中的客户数据插入到数据库中.这是表格.并非所有客户都是网络,因此我将所有客户信息直接保存到一个名为"客户"的表中.

顾客:

customer_id             int(40)         primary key 
CustomerAccountNumber   varchar(60)
CustomerAccountName     varchar(255)
AccountBalance          double      
InvAddressLine1         varchar(500)
Rep                     varchar(20) 
Run Code Online (Sandbox Code Playgroud)

为了存储"Web客户"登录名和用户名,我有一个名为"Web_customers"的不同Web帐户表,其中"CustomerAccountNumber"作为主键.

Web_customers:

web_id                  int(11)         primary key
UserName                varchar(39)     
CustomerAccountNumber   varchar(39)
EmailAddress            varchar(255) 
Pwd                     varchar(70)     
customer_type           varchar(10)
Run Code Online (Sandbox Code Playgroud)

样本数据:

 customer_id  CustomerAccountNumber  CustomerAccountName   AccountBalance InvAddressLine1   Rep
 1                Accnt1           Myname1                 1098             address1       Mik 

 2               Accnt2           Myname2                  2398          address2        Richi

 3               Accnt3           Myname3                  2234398       address3        Santa

 4               Accnt4           Myname4                  2233398       address4        Den
Run Code Online (Sandbox Code Playgroud)

由于我运行PHP脚本以连续重新加载数据,因此customer_id经常更改,这就是为什么我不能在其他表中选择它作为外键的原因:

WEB_CUST:

 web_id     UserName    CustomerAccountNumber EmailAddress    Pwd     customer_type 
     1      Accnt1      Accnt1                b@gmail.com     123     simple
     2      Accnt212    Accnt2 …
Run Code Online (Sandbox Code Playgroud)

php mysql database normalization

5
推荐指数
1
解决办法
393
查看次数

为什么Normalizer :: normallize(PHP)不起作用?

我正在尝试使用'áéíóú'等字符对字符串进行规范化,以简化搜索.

在回答这个问题之后,我应该用这个Normalizer课来做.

问题是该normalize功能什么都不做.例如,该代码:

<?php echo 'Pérez, NFC: ' . normalizer_normalize('Pérez', Normalizer::NFC) 
    . ' NFD: ' .normalizer_normalize('Pérez', Normalizer::NFD)
    . ' NFKC: ' .normalizer_normalize('Pérez', Normalizer::NFKC) 
    . ' NFKD: ' .normalizer_normalize('Pérez', Normalizer::NFKD)?>
<br/>
<?php echo 'aáàä, êëéè,' 
    . ' FORM_C: ' . normalizer_normalize('aáàä, êëéè', Normalizer::FORM_C )
    . ' FORM_D: ' .normalizer_normalize('aáàä, êëéè', Normalizer::FORM_D)
    . ' FORM_KC: ' .normalizer_normalize('aáàä, êëéè', Normalizer::FORM_KC)
    . ' FORM_KD: ' .normalizer_normalize('aáàä, êëéè', Normalizer::FORM_KD)?>
Run Code Online (Sandbox Code Playgroud)

说明:

Pérez, NFC: Pérez NFD: Pe?rez NFKC: Pérez NFKD: Pe?rez …
Run Code Online (Sandbox Code Playgroud)

php normalization intl

5
推荐指数
2
解决办法
5887
查看次数

适用于R的可训练sklearn StandardScaler

是否有类似的东西R可以使StandardScaler训练数据适合(结果均值= 0和标准差= 1)并使用该定标器模型转换测试数据?scale没有提供一种基于训练数据的均值和标准差来转换测试数据的方法。

的摘录Python:

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X_train)

X_train_scaled = scaler.transform(X_train)
X_test_scaled = scaler.transform(X_test)
Run Code Online (Sandbox Code Playgroud)

因为我非常确定这是正确的方法(避免了信息从测试泄漏到训练集中),所以我想有一个我找不到的简单解决方案。

python r machine-learning normalization scikit-learn

5
推荐指数
1
解决办法
1336
查看次数

TypeScript:尝试使用字符串|时,索引签名参数必须为“字符串”或“数字” 数

我正在尝试创建一个函数来规范化我的数组,并且期望一个结构如下的输出对象:

{
  allIds: [1],
  byId: {
    1: {...}
  }
}
Run Code Online (Sandbox Code Playgroud)

要么

{
  allIds: ['1'],
  byId: {
    '1': {...}
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个接口IOutput来满足此要求。

我已经试过了:

interface IOutput {
  allIds: string[] | number[]
  byId: {
    [key: number | string]: any
  }
}
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误

索引签名参数类型必须为“字符串”或“数字”。ts(1023)

当我这样做时,它似乎起作用:

interface IOutput {
  allIds: string[] | number[]
  byId: {
    [key: number]: any
  }
}
Run Code Online (Sandbox Code Playgroud)

要么

interface IOutput {
  allIds: string[] | number[]
  byId: {
    [key: string]: any
  }
}
Run Code Online (Sandbox Code Playgroud)

但这不是我想要实现的目标。我也试过了,它给了我同样的错误:

type StringOrNumber = string | number

interface …
Run Code Online (Sandbox Code Playgroud)

interface normalization typescript

5
推荐指数
2
解决办法
1167
查看次数