小编Roe*_*ler的帖子

比较单词的算法(非按字母顺序)

我需要为某个需求编写解决方案,我想知道是否有人熟悉可以实现它的现成的库,或者可以指导我的最佳实践.描述:

用户输入一个应该是几个固定选项之一的单词(我在列表中保存选项).我知道输入必须在列表中的成员中,但由于它是用户输入,他/她可能犯了一个错误.我正在寻找一种算法,告诉我用户最可能的单词是什么意思.我没有任何上下文,我不能强迫用户从列表中选择(即他必须能够自由和手动输入单词).

例如,假设该列表包含单词"water","quarter","beer","beet","hell","hello"和"aardvark".

解决方案必须考虑到不同类型的"正常"错误:

  • 拼写错误(例如加倍字符,丢弃字符等)
  • 键盘相邻字符拼写错误(例如"qater"表示"water")
  • 非母语英语拼写错误(例如"季度"的"quater")
  • 等等...

显而易见的解决方案是逐个字母地比较,并给每个不同的字母,额外的字母和遗失的字母赋予"惩罚权重".但是这个解决方案忽略了数千个"标准"错误,我肯定会在某处列出.我确信那里有针对所有案例的启发式方法,包括具体和一般情况,可能使用标准不匹配的大型数据库(我对数据量大的解决方案持开放态度).

我在Python编码,但我认为这个问题与语言无关.

有什么建议/想法吗?

string algorithm statistics search pattern-matching

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

在C#中更新Twitter状态

我正在尝试从我的C#应用​​程序更新用户的Twitter状态.

我在网上搜索并发现了几种可能性,但我对Twitter的身份验证过程中最近(?)的变化感到有些困惑.我还发现了似乎是一个相关的StackOverflow帖子,但它根本没有回答我的问题,因为它是超特定的重新登录不起作用的代码片段.

我正在尝试访问REST API而不是搜索API,这意味着我应该实现更严格的OAuth身份验证.

我看了两个解决方案.该Twitterizer框架工作得很好,但它是一个外部DLL,我宁愿使用的源代码.举个例子,使用它的代码非常清晰,看起来像这样:

Twitter twitter = new Twitter("username", "password");
twitter.Status.Update("Hello World!");
Run Code Online (Sandbox Code Playgroud)

我还检查了Yedda的Twitter库,但是当我尝试基本上与上面相同的代码时,这个我认为是认证过程失败了(Yedda期望状态更新本身的用户名和密码,但其他一切应该是相同的).

由于我无法在网上找到明确的答案,我将它带到StackOverflow.

在没有外部DLL依赖的情况下,在C#应用程序中使用Twitter状态更新的最简单方法是什么?

谢谢

c# twitter

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

Twitter:在C#中验证用户名和密码

赏金问题

我正在使用c#3.5 Window Forms Application.我正在使用接受的答案中提到的代码.而我正在低于错误

远程服务器返回错误:(401)未经授权.

将非常感谢用于验证UserName和Password的示例代码

赏金问题结束


我有一个具有以下用例的应用程序:当用户第一次开始使用该应用程序时,他输入了他的用户名和密码.然后,在更晚的阶段,应用程序可以更新其状态.

目前我正在使用Twitterizer,但我相信这个问题超出了我正在使用的特定库的范围.以下是两行相关的代码:

Twitter twitter = new Twitter("username", "password", "source"); 
twitter.Status.Update("update");
Run Code Online (Sandbox Code Playgroud)

如果用户名/密码不正确,Twitter对象的构造不会引发异常.这可能是因为此时没有发送任何内容.另一方面,如果用户名/密码无效,状态更新会抛出异常.

我的问题是我想在用户输入时验证用户名/密码,而不是在尝试发布更新时.

如何验证用户名/密码而不发布任何内容(在Twitterizer或其他方面)?

c# api twitter c#-3.0 c#-4.0

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

将密码存储到sql的最佳方法

在我目前的C#windows应用程序中,密码以纯文本形式存储,这显然不是很好.所以我只想知道加密密码并存储到SQL Server的最佳方法是什么.我已经读过使用hash + salt更好.但我觉得"EncryptByPassPhrase","DecryptByPassPhrase"在sql 2005中的新功能更好用,因为你正在处理SQL Server本身的所有内容,我想它使用的是三重DES.有人建议使用它是否好?

c# passwords sql-server-2005

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

SQL:找到最长的日期差距

我有一个包含2个字段的表:唯一ID,用户ID(外键)和日期时间.这是服务的访问日志.我在SQL Server工作,但我会欣赏不可知的答案.

我想使用SQL为某个用户查找最长间隙开始的ID.

例如,假设我的值如下(一个用户的简化):

ID |  User-ID |  Time
----------------------------------
1  |  1       |  11-MAR-09, 8:00am
2  |  1       |  11-MAR-09, 6:00pm
3  |  1       |  13-MAR-09, 7:00pm
4  |  1       |  14-MAR-09, 6:00pm
Run Code Online (Sandbox Code Playgroud)

如果我为用户1搜索最长的间隙,我将获得ID 2(在那里得到间隙的长度也很好,然后,但更不重要).

在SQL中实现这一目标的最有效方法是什么?

注意:ID不一定是顺序的.

谢谢

sql

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

在 C# 中禁用数字锁定切换?

我希望只要我的应用程序正在运行,就将 num-lock 保持在 ON 状态,这样,如果用户取消切换 num-lock,它将立即重新打开。在 C# 中实现这一目标的最简单方法是什么?

需要澄清的是,当我的应用程序运行时,我“拥有”用户的计算机,因此在我的特定情况下,用户不需要取消切换数字锁定(这并不意味着我始终拥有焦点)。

谢谢

c# num-lock

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

SQL:找到百分位数

我有一个表有一个名为的数字列Score.我想在该表上执行一个查询,其结果将有100行,每行代表与该百分位对应的分数.例如,结果可能如下所示:

 Percentile | Score
---------------------
 01         | 10
 02         | 12
 03         | 12
 04         | 17
 ...        | ...
 99         | 1684
 100        | 1685
Run Code Online (Sandbox Code Playgroud)

上面结果表中的分数值是原始表中存在的实际分数值,并且未进行插值.插值结果会更好,但不是必需的.

可能有几种启发式方法可以产生这样的结果.我今天使用的(在代码中)基本如下 - 与百分位数对应的分数值将是分数值,其中:分数较小的行数除以总行数,四舍五入为整数,等于百分位数(我希望很清楚)

如果它们更容易实现,我可以考虑其他启发式方法

我正在使用MS-SQL,但希望能够在MySQL上运行的解决方案.

实现这一目标的最佳方法是什么?

sql

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

MySQL支持Python,不支持GPL类许可证

我在MySQL上使用Python/Django.我目前正在使用基于 GNU GPL许可证的MySQLdb.是否有一个具有"类似"功能的库不属于类似GPL的许可证?

澄清:

  • 我还不知道是否要分发我的源代码或为我的申请收费.我所知道的是,我不希望通过我选择的MySQL和Python为我做出这些决定.
  • 我目前正在使用Django构建一个Web应用程序,我认为这个问题是无关紧要的,因为我没有"分发"任何东西,但我正在编写的Python代码可能适合作为桌面应用程序分发,这就是GPL开始困扰我.

谢谢

python mysql open-source gpl

4
推荐指数
1
解决办法
1416
查看次数

采访qns ...在没有任何条件或比较运算符的情况下执行以下操作

不使用任何条件或比较运算符执行以下操作.

if (Number <= 0)
{
    Print '0';
}
else
{
    print Number;
}
Run Code Online (Sandbox Code Playgroud)

谢谢..

algorithm math

4
推荐指数
3
解决办法
840
查看次数

在C#中接收(拖动并)删除Outlook联系人?

我正在开发一个需要对用户的Outlook联系人执行某些处理的应用程序.我正在通过迭代结果来访问Outlook联系人列表MAPIFolder.Items.Restrict(somefilter),可以在其中找到Microsoft.Office.Interop.Outlook.

在我的应用程序中,我的用户需要选择几个联系人来应用某个操作.我想添加一个功能,允许用户从Outlook拖动联系人并将其放在UI中的某个ListBox上(我在WPF中工作,但这可能是更通用的问题).

我是C#和WPF的新手 - 我怎么能:

  1. 在ListBox上接收已删除的项目
  2. 验证它是一个ContactItem(或包装ContactItem的东西)
  3. 将删除的项目转换为ContactItem,以便我可以处理它

谢谢

c# wpf outlook contactitem

4
推荐指数
1
解决办法
2460
查看次数