小编Oli*_*rth的帖子

为什么密码哈希对于具有相同密码的2个用户是不同的?

我正在使用rails,我注意到我的password_digest对于2个用户而言是不同的,除了密码摘要之外的所有其他字段都不同.但我使用相同的密码"abcd"两个..
它最终生成这两个不同的哈希

  1. $2a$10$QyrjMQfjgGIb4ymtdKQXI.WObnWK0/CzR6yfb6tlGJy0CsVWY0GzO
  2. $2a$10$dQSPyeQmZCzVUOXQ3rGtZONX6pwvnKSBRmsLnq1t1CsvdOTAMQlem

我以为bcrypt gem只根据密码字段生成哈希!我错了吗?谢谢 :)

bcrypt ruby-on-rails-3.1

8
推荐指数
1
解决办法
3704
查看次数

如何使用对数刻度绘制hist

x = [1: 1000]
hist(x)
Run Code Online (Sandbox Code Playgroud)

然后,有图显示直方图,但如果我设置轴属性和Y轴为日志.我在图中看不到任何东西.如何使用对数刻度绘制直方图.

matlab

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

如何将后缀表达式放在二叉树中?

所以我有一个二叉树和一个后缀表达式"6 2*3 /"什么是算法把它放在一棵树?喜欢,

          [/]
          / \
        [*]  [3]
        / \
      [6] [2]
Run Code Online (Sandbox Code Playgroud)

algorithm tree postfix-notation

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

在C++中追加到Char数组的末尾

是否有一个命令可以将一个char数组附加到另​​一个?理论上会像这样工作的东西:

//array1 has already been set to "The dog jumps "
//array2 has already been set to "over the log"

append(array2,array1);
cout << array1;

//would output "The dog jumps over the log";
Run Code Online (Sandbox Code Playgroud)

这是一个非常简单的功能,我想,我很惊讶没有内置命令.

*编辑

我应该更清楚,我并不是说改变数组的大小.如果array1设置为50个字符,但只使用了10个字符,那么仍然可以使用40个字符.我在想一个基本上会做的自动命令:

//assuming array1 has 10 characters but was declared with 25 and array2 has 5 characters
int i=10;
int z=0;    
do{
    array1[i] = array2[z];
    ++i;
    ++z;
}while(array[z] != '\0');
Run Code Online (Sandbox Code Playgroud)

我很确定语法会起作用,或类似的东西.

c++ arrays

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

解释1位位字段的行为

#include<stdio.h>

int main()
{
    struct value{
       int bit1 : 1;
       int bit3 : 4;
       int bit4 : 4;
       }bit={1,2,2};
     printf("%d %d %d\n",bit.bit1,bit.bit3,bit.bit4);
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

-1 2 2

请解释该计划的oupput?

c

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

x64 SSE数据类型

AMD64架构程序员手册第1卷:应用程序编程第226页说明SSE指令:

处理器在执行指令之前不检查指令操作数的数据类型.它只在执行点检查它们.例如,如果处理器执行采用双精度操作数但由MOVx指令提供单精度操作数的算术指令,则处理器将首先在执行算术运算之前将操作数从单精度转换为双精度,并且结果是正确的.但是,所需的转换可能会导致性能下降.

我不明白这一点; 我原以为ymm寄存器只包含256位,每个指令根据其预期的操作数进行解释,由您来确保存在正确的类型,并且在所描述的场景中,CPU将全速运行并默默地给出错误的答案.

我错过了什么?

64-bit assembly sse

7
推荐指数
1
解决办法
694
查看次数

Eclipse中的参数化Groovy JUnit测试用例

Parameterized在Eclipse中运行Groovy JUnit测试用例时遇到问题(请参阅下面的测试代码和环境详细信息).

症状

  • 右键单击Package Explorer中的类并执行Run As - > JUnit Test Case,只会弹出一个声明"找不到JUnit测试"的对话框.
  • 右键单击项目并执行Run As - > JUnit Test Case运行参数化Groovy 之外的所有测试用例.

我尝试过的事情

  1. 确保运行"正常"Groovy JUnit测试用例. 这有效.
  2. 确保运行参数化Java测试用例. 这有效.
  3. 为此测试用例手动创建JUnit运行配置. 这有效.

所以

所以我有一个不方便的解决方法(3).但这不可扩展,因为当我在项目中运行所有测试用例时,仍然不会包含此测试用例.

任何想法如何让Eclipse/Groovy插件/ JUnit自动识别我的测试用例?


测试用例代码

import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
import org.junit.runners.Parameterized.Parameters

@RunWith(Parameterized)
public class TestParams {
    final int a

    public TestParams(int a) { this.a = a }

    @Parameters
    public static Collection<Object[]> data() {
        def cases = new Object[2][1]
        cases[0][0] = 3
        cases[1][0] …
Run Code Online (Sandbox Code Playgroud)

eclipse groovy junit parameterized-tests groovy-eclipse

7
推荐指数
1
解决办法
1823
查看次数

如何在Java中覆盖HTTP连接中的DNS

Curl具有手动指定要将主机解析到的IP的功能.例如:

curl https://google.com --resolve "google.com:443:173.194.72.113"
Run Code Online (Sandbox Code Playgroud)

这在使用HTTPS时特别有用.如果它只是一个HTTP请求,我可以通过直接指定IP地址并添加主机头来实现相同的目的.但是在HTTPS中会破坏连接,因为SSL证书主机将与IP地址而不是主机头进行比较.

我的问题是,我怎样才能在Java中实现同样的目标?

java https

7
推荐指数
1
解决办法
6606
查看次数

声明一个固定大小的字符串

在C我们做

char buffer[100];
Run Code Online (Sandbox Code Playgroud)

有没有办法申报固定的尺寸std::string

c++

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

评估布尔表达式值的算法

我参加了编程面试,由 3 名面试官组成,每人 45 分钟。虽然前两位面试官给了我 2-3 个简短的编码问题(即反向链表、使用 rand(5) 实现 rand(7) 等),但第三位面试官使用了整个时间段来回答单个问题:

您将得到表示正确形成且带括号的布尔表达式的字符串,该表达式由字符 T、F、&、|、!、(、) 和空格组成。T 代表 True,F 代表 False,& 代表逻辑 AND,| 对于逻辑或,! 为否定。& 的优先级高于 |。在输入字符串中,这些字符中的任何一个都后跟一个空格。我要计算表达式的值并打印它(输出应该是 T 或 F)。示例: 输入: ! ( T | F & F ) 输出:F

我尝试实现调车场算法的变体来解决问题(将输入转换为后缀形式,然后计算后缀表达式),但未能在给定的时间范围内正确编码,所以我最终用伪代码和文字解释了我的意思通缉。

我的招聘人员说前两位面试官给了我“聘用”,而第三位面试官给了我“不聘用”,由于最终的决定是“逻辑与”,他感谢我抽出时间。

我的问题:您认为这个问题适合在白板上编写大约 10 分钟的代码吗?40分钟?对我来说,对于如此短的时间段和白板尺寸来说,代码似乎太多了。对于这个问题,是否有比使用调车场算法更短的方法?

expression boolean evaluate

6
推荐指数
1
解决办法
4407
查看次数