小编Nil*_*ner的帖子

如何将密码迁移到其他散列方法

更改应用程序的密码哈希算法时,系统应如何迁移已保存在数据库中的值?我很清楚我无法以散列形式迁移它们但我需要输入数据才能计算新散列.

有两种情况我可以访问输入数据:

  1. 登录期间
  2. 当用户在其配置文件设置中更改其密码时

显然只有在其中一个我能够将新哈希保存到数据库以迁移密码.

虽然我的所有同事都投票支持方法1,但我的直觉告诉我不要这样做.有推荐的方法吗?

migration security hash

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

恢复到Bitbucket中的旧提交

我在我的网站托管和Bitbucket的帐户上都有git设置,它们都是链接的.

我怎样才能恢复到我的托管(我通过SSH登录并安装了git并且已经准备就绪)和Bitbucket上的第一次提交?

我试过了: git checkout 965a793

然后我尝试了最后一个点: git checkout .

但是当我得到git推动时,Bitbucket方面似乎没有任何改变.它说一切都是最新的,即使Bitbucket正在提交cf08232

这是我的三个提交列表:

cf08232 remove the txt file
096d08f test.txt edited online with Bitbucket
965a793 Initial Commit
Run Code Online (Sandbox Code Playgroud)

git github bitbucket

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

如何获取小部件背景QColor

我试图找出的背景颜色QWidgetQGLWidget使我可以用它qglClearColor()做了OpenGL部分的小部件中出现原生(无例如黑色背景).

我想我可以获取backgroundRole()我的小部件,但我在将其转换为a时遇到问题QColor.有QPalette::color(QColorRole),但它不是静态的,我不知道我怎么会要创建的实例QPalette做了改造.

qt qwidget

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

如何使用python从git存储库下载单个文件

我想使用 python 从我的 git 存储库下载单个文件。

目前我正在使用gitpythonlib。Git clone 使用以下代码运行良好,但我不想下载整个目录。

import os
from git import Repo
git_url = 'stack@127.0.1.7:/home2/git/stack.git'
repo_dir = '/root/gitrepo/'
if __name__ == "__main__":
    Repo.clone_from(git_url, repo_dir, branch='master', bare=True)
    print("OK")
Run Code Online (Sandbox Code Playgroud)

python git python-3.x gitpython

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

在多列上使用Pandas df.where会产生意外的NaN值

给定DataFrame

import pandas as pd

df = pd.DataFrame({
    'transformed': ['left', 'right', 'left', 'right'],
    'left_f': [1, 2, 3, 4],
    'right_f': [10, 20, 30, 40],
    'left_t': [-1, -2, -3, -4],
    'right_t': [-10, -20, -30, -40],
})
Run Code Online (Sandbox Code Playgroud)

我想创建两个新列,从中选择一个,left_*right_*根据其内容进行选择transformed

df['transformed_f'] = df['right_f'].where(
    df['transformed'] == 'right',
    df['left_f']
)

df['transformed_t'] = df['right_t'].where(
    df['transformed'] == 'right',
    df['left_t']
)
Run Code Online (Sandbox Code Playgroud)

我得到了预期的结果

df
#    transformed  left_f  right_f  left_t  right_t  transformed_f  transformed_t
# 0  left              1       10      -1      -10              1             -1
# 1  right             2 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

C++11 中的通用函数指针

我目前正在用 C++x0 编写一个方法执行队列。我已经实现并验证了基本队列机制,但想使用一个选项对其进行修改,以push()自动删除以前对特定方法的所有调用:

queue.push(this, &Obj::foo, 1);
queue.push(this, &Obj::foo, 2);
queue.push(this, &Obj::foo, 3);
Run Code Online (Sandbox Code Playgroud)

应该与仅仅调用相同

queue.push(this, &Obj::foo, 3);
Run Code Online (Sandbox Code Playgroud)

到目前为止我的代码如下所示:

队列.h:

#pragma once

#include <functional>
#include <vector>

using std::vector;
using std::function;
using std::bind;

class Queue
{

    private:
        struct functioncall {
            std::function<void()> call;
        };

        vector<functioncall> queue;

    public:
        Queue();
        ~Queue();

        template<typename T, typename F, typename... Args>
        int push(T, F , Args... args);

        int pop();
        bool empty();
        size_t size();
};


template<typename T, typename F, typename... Args>
int Queue::push(T instance, F func, Args... args)
{ …
Run Code Online (Sandbox Code Playgroud)

c++ function-pointers c++11

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

QPainter::drawConvexPolgon 有什么意义

从文档:

QPainter提供两种绘画方法QPolygonsdrawPolygondrawConvexPolygon

文档中没有任何地方明确它们之间的区别是什么。此外,drawConvexPolygon文档状态

如果提供的多边形不是凸多边形,即它包含至少一个大于 180 度的角,则结果不确定。

所以……这是为了什么?我希望该方法能以某种方式找到我的多边形的凸包并绘制它,但似乎并非如此。

qt convex-hull qpainter

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

如何让composer让命令行参数自动完成?

我希望能够在我的bash shell中使用带有composer的tab自动完成功能,就像我可以自动完成文件名或git命令一样.

bash composer-php

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

NumPy数组索引2D矩阵

在处理相同的大数据时,我遇到了一些问题.但是现在,让我们假设我有一个填充零的NumPy数组

>>> x = np.zeros((3,3))
>>> x
array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])
Run Code Online (Sandbox Code Playgroud)

现在我想用特定值更改其中一些零.我已经给出了我想要改变的细胞的索引.

>>> y = np.array([[0,0],[1,1],[2,2]])
>>> y 
array([[0, 0],
       [1, 1],
       [2, 2]])
Run Code Online (Sandbox Code Playgroud)

我有一个包含所需(现在随机)数字的数组,如下所示

>>> z = np.array(np.random.rand(3))
>>> z
array([ 0.04988558,  0.87512891,  0.4288157 ])
Run Code Online (Sandbox Code Playgroud)

所以现在我想我可以做到以下几点:

>>> x[y] = z
Run Code Online (Sandbox Code Playgroud)

但是它比这更充满了整个阵列

>>> x
array([[ 0.04988558,  0.87512891,  0.4288157 ],
       [ 0.04988558,  0.87512891,  0.4288157 ],
       [ 0.04988558,  0.87512891,  0.4288157 ]])
Run Code Online (Sandbox Code Playgroud)

但我希望得到

>>> x
array([[ 0.04988558,           0,          0 ],
       [          0,  0.87512891,          0 ], …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

无需签出即可创建悬空提交

有没有办法静默创建一个提交

  • 未连接到当前分支
  • 之后没有签出

喜欢

A-B-C-D-E-F-G   # master
       \   \
        X   Y
Run Code Online (Sandbox Code Playgroud)

XY未经用户注意到创建.

理由:

我正在编写大量探索性实验代码,并希望在运行实验时自动提交当前状态.这些中间状态不应该在我的Git历史中结束,我不想在经常运行之前经历提交的心理开销(或者偶尔忘记它).

我的想法是有很多悬挂提交,不会被推送到我的遥控器,可能会被垃圾收集删除.每个单独的提交SHA1都将注释到我的实验结果,使我能够追溯哪些更改对结果有什么影响.

git

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