小编Pro*_*ica的帖子

什么是好的哈希函数?

什么是好的哈希函数?我在大学的数据结构课程中看到了很多哈希函数和应用程序,但我大多认为很难创建一个好的哈希函数.作为避免碰撞的经验法则,我的教授说:

function Hash(key)
  return key mod PrimeNumber
end
Run Code Online (Sandbox Code Playgroud)

(mod是C和类似语言中的%运算符)

使用素数作为哈希表的大小.我觉得这是一个很好的功能,以避免碰撞和快速,但我怎么能做一个更好的?字符串键对数字键有更好的散列函数吗?

language-agnostic algorithm hash

123
推荐指数
5
解决办法
15万
查看次数

php静态函数

我有一个关于php中的静态函数的问题.

我们假设我有一堂课

class test {
    public function sayHi() {
        echo 'hi';
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做test::sayHi();没有问题.

class test {
    public static function sayHi() {
        echo 'hi';
    }
}
Run Code Online (Sandbox Code Playgroud)

test::sayHi(); 也有效.

头等舱和二等舱有什么区别?

静态函数有什么特别之处?

php static class member

106
推荐指数
3
解决办法
11万
查看次数

检查Makefile中是否存在程序

如何检查程序是否可以从Makefile中调用?

(也就是说,程序应存在于路径中或以其他方式可调用.)

例如,它可用于检查安装的编译器.

例如类似这个问题,但不假设底层shell是POSIX兼容的.

makefile gnu-make

94
推荐指数
8
解决办法
5万
查看次数

Webrick的回应非常缓慢.如何加快速度?

我有一个Rails应用程序,我正在我的服务器上运行.当我转到远程桌面并尝试加载应用程序时,服务器需要3-4分钟才能响应一个简单的HTML页面.但是,当我在服务器上本地加载页面时,页面只会显示一秒钟.我尝试从远程桌面ping服务器,ping在合理的时间内成功.

这一切似乎都是在我安装了Oracle的基本客户端和SQLPLUS之后开始的.我应该怀疑甲骨文吗?有没有人经历过类似的事情?

oracle sqlplus ruby-on-rails webrick

88
推荐指数
6
解决办法
2万
查看次数

差异执行如何工作?

我在Stack Overflow上看到了一些这样的提及,但是盯着维基百科(相关页面已被删除),并且在一个MFC动态对话框演示中没有任何启发我.有人可以解释一下吗?学习一个根本不同的概念听起来不错.


根据答案:我认为我对此有了更好的感受.我想我第一次没有仔细查看源代码.在这一点上,我对差异执行情有不同的看法.一方面,它可以使某些任务变得相当容易.另一方面,启动并运行(即,用您选择的语言设置)并不容易(我确信如果我更好地理解它)...虽然我猜它的工具箱只需要制作一次,然后根据需要进行扩展.我认为为了真正理解它,我可能需要尝试用另一种语言实现它.

language-agnostic model-view-controller differential-execution

81
推荐指数
3
解决办法
2万
查看次数

snprintf()总是null终止?

snprintf是否始终为null终止目标缓冲区?

换句话说,这是否足够:

char dst[10];

snprintf(dst, sizeof (dst), "blah %s", somestr);
Run Code Online (Sandbox Code Playgroud)

或者你必须这样做,如果somestr足够长?

char dst[10];

somestr[sizeof (dst) - 1] = '\0';
snprintf(dst, sizeof (dst) - 1, "blah %s", somestr);
Run Code Online (Sandbox Code Playgroud)

我对标准所说的以及一些流行的libc可能做的不是标准行为感兴趣.

c posix libc

73
推荐指数
4
解决办法
5万
查看次数

PHPUnit组织测试的最佳实践

我目前要从头开始使用phpunit测试项目.所以我正在研究一些项目(比如Zend),看看他们是如何做的以及他们如何组织他们的测试.

大多数事情都很清楚,只有我遇到的一些问题是如何正确组织测试套件.Zend有一个AllTests.php,从中加载其他测试套件.
艰难地查看它正在使用的类PHPUnit_Framework_TestSuite来创建一个套件对象然后添加其他套件,但如果我查看PHPUnit文档在3.4之后的PHPUnit版本中组织测试,那么只有XML或FileHierarchy的描述.使用类来组织测试的那个被删除了.
我没有发现任何不推荐使用此方法的内容,以及像Zend这样的项目仍在使用它.

但是如果它被弃用,我怎么能用xml配置在相同的结构中组织测试?执行所有测试都没有问题,但如果我只想执行一些测试,我将如何组织测试(在xml中).也许创建几个xmls,我只指定要运行的几个测试/测试套件?

因此,如果我只想测试应用程序的module1和module2,我是否每个都有一个额外的xml,并且仅为那些模块(模块使用的类)定义测试套件.还有一个为所有测试定义测试套件的?

或者@group,在特定测试中使用注释将它们标记为module1或module2 会更好吗?

提前感谢您指出一些最佳做法.

php phpunit

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

angularjs的文件上传器集成

对于AngularJS,是否存在具有良好集成(指令)的良好文件上传器?

我正在寻找易于设计的内容并支持HTML5拖放等.

有人可能会说它很容易使用现有的上传器并将其集成到AngularJS中 - 我会说:如果它很容易,那么有人应该已经完成​​它了.

file-upload angularjs

65
推荐指数
5
解决办法
5万
查看次数

如何在Visual C++中禁止外部标头中的警告

我正在开始一个新的BREW项目,我想编译警告级别4(/ W4)以保持应用程序代码的美观和干净.问题是BREW标头本身不能用/ W4干净地编译.

在gcc中,您可以使用-I和-isystem来区分应用程序和系统头,然后默认情况下gcc不报告系统头中的任何编译警告.Visual C++中是否有等效的机制?

brew-framework suppress-warnings visual-c++ brewmp

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

只有桶装自制的公式

今天我curl通过安装公式homebrew,但在安装之后(并重新采购shell)我注意到:

% which curl 
/usr/bin/curl
Run Code Online (Sandbox Code Playgroud)

事实上,输出结果brew install curl表明它是一个只有keg的公式,并且由于curl已经存在于OS X中,因此它没有将它链接到Homebrew前缀,因为这可能导致未指定的问题.

然后它继续说明

一般来说,这对您没有任何影响

我想知道:

  • 究竟是什么类型的问题?
  • 通过Homebrew安装只有keg的公式的目的是什么?如果新安装的工具不在,怎么会没有后果PATH

macos homebrew

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