小编סטנ*_*ונן的帖子

如何将64位哈希值缩短到48位值?

我已经在库中有64位散列函数(C编码),但我只需要48位.我需要将64位散列值减少到48位值,但它必须以安全的方式才能最小化冲突.

散列函数是一个非常好的64位散列函数.它已经通过SMHasher("DieHarder"哈希测试)进行了测试,并且证明比Murmur2更好.根据我的同事们说,在lib中实现64位散列的算法是xxHash,用SMHasher测试并得到Q.Score为10!对于那些想要看到它的人,xxHash的源代码可以在github.com上找到:github.com/Cyan4973/xxHash/releases/latest.

基本思想是使64位散列值(或其中一部分)中的所有位对产生的48位散列值产生影响.有没有办法做到这一点?

[编辑后期]:
所以我实现了自己的48位(准)-UUID生成器.
请在此处查看完整的工作解决方案(包括源代码):https://stackoverflow.com/a/47895889/4731718.

c algorithm math hash uuid

2
推荐指数
1
解决办法
2283
查看次数

Qt:如何锁定/防止文件在写入时被读取?

我在 Windows 7 上使用 Qt5。
在我当前的项目中,我打开一个二进制文件,以便用来自 TCP 套接字的数据填充它。通常,在填充文件后,我关闭它,另一个应用程序将读取此二进制文件以进行进一步处理。
好吧,问题是:写入操作大约需要 4-5 秒(甚至更多)所以我需要找到一种方法来防止其他应用程序从二进制文件中读取,直到文件完全填充......
下面是代码(但我认为它不会有太大帮助):

int error = 0;
unsigned long dataLength;
char dataBuffer[1500];
QFile localFile("datafile.bin");
//
localFile.open(QIODevice::WriteOnly);
while(error == 0)
{
    error = readSocket(dataBuffer, &dataLength);
    if(error == 0)
    {
        localFile.write(dataBuffer, dataLength);
    }
    else
    {
        error = -1;
    }
}
localFile.close();
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用一个临时文件并在写操作完成后重命名它。
但也许还有另一个更好/更聪明的想法?某种“用于阅读的锁定文件”也许......?

concurrency qt locking file read-write

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

使用 rvest 进行网页抓取时,如何修复 R 'UseMethod("xml_find_all")' 中的错误'中的以下错误?

我是 R 新手,目前正在从事一项涉及网络抓取的作业。

我应该阅读此网页中的所有句子:https://www.cs.columbia.edu/~hgs/audio/harvard.html

这是我当前的代码:

library(xml2)
library(rvest)
url <- 'https://www.cs.columbia.edu/~hgs/audio/harvard.html'
read_html(url)
sentences <- url %>%
  html_nodes("li") %>%
  html_text()
Run Code Online (Sandbox Code Playgroud)

每次我运行它时,我都会收到此错误:

UseMethod("xml_find_all") 中的错误:没有适用于“xml_find_all”的方法应用于类“character”的对象

你能帮我么?我不明白我做错了什么。

r web-scraping rvest

2
推荐指数
1
解决办法
7723
查看次数

将字符串数组转换为表格的最佳方法是什么?

给定从 CSV 解析的一些数组,如下所示(不用担心解析部分,只需将此数组视为起点)。

说: ['name,age,city', 'tom,12,new york','john, 10, los angeles']

这样第一个索引是列名,将其转换为表的最佳方法是什么。我正在考虑使用 numpy 和 pandas 来创建数据框,但是最有效的内存/时间转换方法是什么?然后我计划做一些数据分析并创建一些新功能。标准 python 库中是否有我可以使用的东西,或者 pandas 是解决这个问题的最佳方法?如果我只使用内置函数,我会怎么做?最后,我需要将这些功能组合回数组的原始形式。

python dataframe pandas

-1
推荐指数
1
解决办法
2571
查看次数

标签 统计

algorithm ×1

c ×1

concurrency ×1

dataframe ×1

file ×1

hash ×1

locking ×1

math ×1

pandas ×1

python ×1

qt ×1

r ×1

read-write ×1

rvest ×1

uuid ×1

web-scraping ×1