小编Max*_*nke的帖子

没有电子邮件确认的gitlab注册用户

我想设置一个内部使用的gitlab实例.由于实例只能通过本地网络访问,因此我没有设置电子邮件设置.不幸的是,gitlab仍然希望使用临时密码向新用户发送确认电子邮件,但他们从未收到此电子邮件.

有没有办法配置gitlab,以便它不发送这些确认邮件?我已经尝试过email_enabled: false,gitlab.yml但它没有用.

更新:

它应该工作,我不必在注册过程中手动干涉.

gitlab

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

是`iter().map().sum()`和`iter().fold()`一样快?

编译器是否为iter().map().sum()和生成相同的代码iter().fold()?最终他们实现了相同的目标,但第一个代码将迭代两次,一次为map一次,一次为sum.

这是一个例子.哪个版本更快total

pub fn square(s: u32) -> u64 {
    match s {
        s @ 1...64 => 2u64.pow(s - 1),
        _ => panic!("Square must be between 1 and 64")
    }
}

pub fn total() -> u64 {
    // A fold
    (0..64).fold(0u64, |r, s| r + square(s + 1))
    // or a map
    (1..64).map(square).sum()
}
Run Code Online (Sandbox Code Playgroud)

什么是看待装配或基准测试的好工具?

rust

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

为什么不能将借用的整数与文字整数进行比较?

我想在条件为真的数组中获取元素.例如.我想数组元素为0的所有索引:

fn main() {
    let lim = 10;
    let mut sieve = vec![0; lim + 1];
    sieve[1] = 1;
    println!(
        "{:?}",
        sieve
            .iter()
            .enumerate()
            .filter(|&(_, c)| c != 0)
            .map(|(i, _)| i)
            .collect::<Vec<usize>>()
    );
}
Run Code Online (Sandbox Code Playgroud)

但这是一个编译错误:

error[E0277]: can't compare `&{integer}` with `{integer}`
  --> src/main.rs:10:33
   |
10 |             .filter(|&(_, c)| c != 0)
   |                                 ^^ no implementation for `&{integer} == {integer}`
   |
   = help: the trait `std::cmp::PartialEq<{integer}>` is not implemented for `&{integer}`
Run Code Online (Sandbox Code Playgroud)

当我使用c.clone() != 0它工作.

如果我正确理解错误消息,Rust会抱怨它无法将借位与带整数的整数进行比较.我不明白为什么不应该这样.

reference rust

9
推荐指数
1
解决办法
3239
查看次数

使用子图放大时间序列或如何在轴边框外绘制线条

我想用matplotlib生成这样的情节

时间表http://www.imagenetz.de/img.php?file=37d8879009.jpg&pid=

目前我只使用matplotlib做3个子图,并在inkscape中添加红线.我发现我可以创建虚线矩形Rectangle.

ax.add_patch(Rectangle((25, -1.4), 3, 1.3, edgecolor='red',
                       fill=False, linestyle='dashed'))
Run Code Online (Sandbox Code Playgroud)

我还没有发现任何东西来绘制连接图的线条.是否有可以跨轴边界绘制的功能?

python matplotlib

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

在现代C++中,有没有相当于python中基于范围的`enumerate`循环?

有没有相当于enumerateC++中python 的基于范围的循环?我会想象这样的事情.

enumerateLoop (auto counter, auto el, container) {
    charges.at(counter) = el[0];
    aa.at(counter) = el[1];
}
Run Code Online (Sandbox Code Playgroud)

可以使用模板或宏来完成吗?

我知道我可以使用旧学校循环并迭代直到我到达container.size().但我很感兴趣如何使用模板或宏来解决这个问题.

编辑

在评论中提示后,我使用了增强迭代器.我使用C++ 14获得了另一个有效的解决方案.

template <typename... T>
auto zip(const T &... containers) -> boost::iterator_range<boost::zip_iterator<
decltype(boost::make_tuple(std::begin(containers)...))>> {
  auto zip_begin =
    boost::make_zip_iterator(boost::make_tuple(std::begin(containers)...));
  auto zip_end =
    boost::make_zip_iterator(boost::make_tuple(std::end(containers)...));
  return boost::make_iterator_range(zip_begin, zip_end);
}

template <typename T>
auto enumerate(const T &container) {
return zip(boost::counting_range(0, static_cast<int>(container.size())),
container);
} 
Run Code Online (Sandbox Code Playgroud)

https://gist.github.com/kain88-de/fef962dc1c15437457a8

c++ enumerate c++14

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

在 numpy 行上并行化循环

我需要将相同的函数应用于 numpy 数组中的每一行,并将结果再次存储在 numpy 数组中。

# states will contain results of function applied to a row in array
states = np.empty_like(array)

for i, ar in enumerate(array):
    states[i] = function(ar, *args)

# do some other stuff on states
Run Code Online (Sandbox Code Playgroud)

function对我的数据进行一些非平凡的过滤,并在条件为 True 和为 False 时返回一个数组。function可以是纯 python 或 cython 编译的。对行的过滤操作很复杂,并且可能依赖于行中先前的值,这意味着我不能以逐个元素的方式对整个数组进行操作

例如,有没有办法在 dask 中做这样的事情?

python numpy dask

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

CMake 和 GTest 链接测试

我想用 cmake 和 gtest 构建和测试我的一个小项目。在项目中我有一个readModel(...)定义和实现分开的功能。该项目构建良好,但我收到以下链接器错误以进行测试readModel(...)

cd /home/kain88/Desktop/example/build/test && /usr/bin/cmake -E  cmake_link_script CMakeFiles/example_test.dir/link.txt --verbose=1
/usr/bin/c++   -Wall -std=c++14   CMakeFiles/example_test.dir/pdb_test.cpp.o  -o example_test -rdynamic ../ext/gtest-1.7.0/libgtest.a ../ext/gtest-1.7.0/libgtest_main.a ../ext/gtest-1.7.0/libgtest.a -lpthread 
CMakeFiles/example_test.dir/pdb_test.cpp.o: In function `PDB_TEST_readModel_Test::TestBody()':
pdb_test.cpp:(.text+0x13): undefined reference to `readModel(std::string const&)'
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

似乎 cmake 不包括在测试文件夹中*.o生成的src文件。我如何告诉 cmake 它应该包含*.o文件src夹中的文件也用于测试?

这是我在测试文件夹中使用的 CMakeLists.txt。

# enable GTest
enable_testing()
include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR}
  ${PROJECT_SOURCE_DIR}/src)

# Unit Test
set(PROJECT_TEST_NAME ${PROJECT_NAME_STR}_test)
file(GLOB TEST_SOURCES "*.cpp")
add_executable(${PROJECT_TEST_NAME} ${TEST_SOURCES})
target_link_libraries(${PROJECT_TEST_NAME} gtest gtest_main)
add_test(test …
Run Code Online (Sandbox Code Playgroud)

c++ cmake googletest

3
推荐指数
1
解决办法
1148
查看次数

C++数组类,带有用于赋值的函数运算符

我想写自己的2d数组类.我希望类能够为这样的元素赋值.

a(0,0) = 1
Run Code Online (Sandbox Code Playgroud)

我知道这一定是可能的,因为我可以用blazeeigen的矩阵类来做.我的第一个想法是重载函数运算符(),它已经很好地访问元素.当我尝试分配值时,a(0,2) = 0;我得到编译器错误.

lvalue required as left operand of assingment
Run Code Online (Sandbox Code Playgroud)

我有什么操作员来重载分配也有效?

c++ operator-overloading multidimensional-array

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