小编muf*_*fel的帖子

了解Python闭包

我一直认为Python 2.7函数引用它们所定义的范围.请考虑以下代码.为什么第二个输出不是"计算:罪"

有没有办法修改代码,以便它按预期工作?

import math

mymath = dict()

for fun in ["sin", "cos"]:
    def _impl(val):
        print "calculating: %s" % fun
        return getattr(math, fun)(val)
    mymath[fun] = _impl

# calculating: cos
print mymath["cos"](math.pi)

# calculating: cos <- why?
print mymath["sin"](math.pi)
Run Code Online (Sandbox Code Playgroud)

python closures scope python-2.7

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

使用c ++ 11 constexpr进行std :: map初始化

我想初始化一个std :: map,键是a constexpr.考虑以下C++ 11 MWE:

#include <map>
using std::map;

constexpr unsigned int str2int(const char* str, const int h = 0) {
    return !str[h] ? 5381 : (str2int(str, h + 1) * 33) ^ str[h];
}

const map<unsigned int, const char*> values = {
    {str2int("foo"), "bar"},
    {str2int("hello"), "world"}
};

int main() { return 0; }
Run Code Online (Sandbox Code Playgroud)

当代码编译最近的clang和gcc时,生成的二进制文件将包含密钥类型的字符串:

C字符串文字

为什么密钥包含在二进制文件中,即使它们被用作constexpr?有办法解决这个问题吗?

当然,映射初始化将在运行时进行.但是不应该在编译时用constexpr替换二进制文件中的值吗?

注意:这当然是一个简化的例子.我知道有不同的增强结构可能更适合这种用例.我特别感兴趣的是为什么会这样.

[编辑]

无论是否启用优化,都会发生此行为.以下代码使用bar作为字符串表中唯一的用户定义字符串进行编译:

#include <map>
#include <iostream>
#include <string>

using namespace std;

constexpr unsigned int …
Run Code Online (Sandbox Code Playgroud)

c++ constexpr c++11

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

Keycloak - 如何允许无需注册即可链接帐户

我正在管理一个 Keycloak 领域,只添加了一个完全受信任的外部 IdP,旨在成为用户的默认身份验证机制。

希望允许用户注册,即我想手动创建本地Keycloak用户,然后用户应该允许他的外部IdP账户链接到预先存在的Keycloak帐户,具有电子邮件地址作为通用标识。不应允许有权访问外部 IdP 但没有现有 Keycloak 帐户的用户进行连接。

我尝试了以下First Broker Login设置,但是每当用户尝试登录时,他都会收到一条错误消息(代码:)invalid_user_credentials

在此处输入图片说明

你知道我的错误可能是什么吗?

authentication keycloak

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

apiserver可以通过CNI提供的网络连接到节点的Kubelet端口吗?

Weave Net 的套筒模式允许将NAT之后的节点添加到网格中,例如,公司网络中没有外部IP的机器。

当Weave Net与Kubernetes一起使用时,可以将此类节点添加到集群中。唯一的缺点(与fastdp相比,除了性能之外)似乎是Kubernetes API服务器无法访问Kubelet端口,因此附加到Pod或获取日志均无效。

是否可以以某种方式解决此问题,例如通过编织网络连接到NATed节点的Kubelet端口?

kubernetes weave cni

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

如何针对FUOC自动测试我的webpack-bundled web?

我已经构建了一个与webpack捆绑在一起的React + Redux Web.由于捆绑错误,我的网站开始显示FUOC行为(某些组件没有将其CSS注入服务器响应,因此在加载最终CSS之前,应用程序中没有样式部分的"闪存").其他错误包括第三方组件的FUOC(需要手动工作).

我对服务器和网络的不同部分进行了自动化测试.但是如何自动测试FOUC(使用我的node.js工具链)?我讨论过selenium和phantomjs,但这似乎有点矫枉过正,我仍然不知道如何能够发现它.

css testing node.js web webpack

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

在Master上触发事件并等待Salt Minion上的"响应事件"

我想要的是由Minion调用的类似RPC的行为放入某种脚本,然后可以由任何(非Salt,非Python)应用程序和服务调用:

  • 在Master上触发事件(有效负载对应于命令行参数)
  • Reactor系统接管,处理事件并(取决于发送者和事件的有效负载)发送响应事件.
    • 响应事件可能包含敏感的有效负载,并且可能不被任何其他小兵看到(或至少被解密)
  • Minion收到响应事件

我知道我可以使用salt-callsalt.modules.event.fire_master模块向主人发送事件.

那我该如何等待响应事件呢?

如何确保其他Minions无法在事件总线上看到响应事件(从主人发送的所有事件都是公开的,并且过滤发生在Minion端)?我考虑过gpg渲染器,但这可能太复杂了 - 需要有一种方法,因为Master需要将敏感的Pillar数据发送给具有类似要求的Minions.

salt-stack

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

禁用 asp.net core 3.1 项目的 web.config 生成

dotnet publish我的ASP.NET 3.1的核心项目命令创建一个web.config在我的文件publish/目录。我不希望生成此文件(或至少将其复制到该文件夹​​中)-它根本不会与 IIS 一起使用。

当我查看详细程度增加的命令输出时,我发现了以下文本:

   Target "_TransformWebConfig" in file "C:\Program Files\dotnet\sdk\3.1.200\Sdks\Microsoft.NET.Sdk.Publish\targets\TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets" from project "C:\repos\reportweb\reportweb\reportweb.csproj" (target "_AspNetCoreProjectSystemPostPublish" depends on it):
       Using "TransformWebConfig" task from assembly "C:\Program Files\dotnet\sdk\3.1.200\Sdks\Microsoft.NET.Sdk.Publish\targets\..\tools\netcoreapp2.1\Microsoft.NET.Sdk.Publish.Tasks.dll".
       Task "TransformWebConfig"
         Configuring the following project for use with IIS: 'C:\repos\reportweb\reportweb\bin\Release\netcoreapp3.1\linux-x64\publish\'
         Updating web.config at 'C:\repos\reportweb\reportweb\bin\Release\netcoreapp3.1\linux-x64\publish\web.config'
         Configuring project completed successfully
       Done executing task "TransformWebConfig".
   Done building target "_TransformWebConfig" in project "reportweb.csproj".
Run Code Online (Sandbox Code Playgroud)

是否可以将我的项目配置为跳过_TransformWebConfig目标或TransformWebConfig任务 - 或者使用另一种方式跳过生成?我知道我可以让 MSBuild 之后删除文件,但是禁用此功能对我来说似乎不那么麻烦

msbuild .net-core asp.net-core

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

了解node.js pm2启动选项

pm2具有以下命令行选项:

  startOrRestart <json>
  startOrReload <json>
  startOrGracefulReload <json>
Run Code Online (Sandbox Code Playgroud)

但它们之间有什么区别呢?

据我了解,如果应用程序尚未启动,则所有应用程序都会启动。因此,让我们考虑当前正在运行的应用程序(HTTP 服务器)。

我假设重新启动会强制应用程序停止并随后重新启动,并且重新加载将停止接受新连接,等待处理所有连接,然后重新启动应用程序。不同之处在于,重新加载没有停机或中止连接,但除此之外,它的行为就像重新启动一样(即应用代码更改)。

我的假设正确吗?startOrGracefulReload有何不同?

node.js pm2

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

如何让Kubernetes Pod连接到只能通过节点子集访问的目标?

我有一个Kubernetes v1.13集群,Calico +法兰绒作为CNI.所有节点都有一个可公共路由的IP地址,并运行Ubuntu 16.04.

某些节点位于公司网络中,位于LAN和DMZ中,因此可以访问内部服务,同时仍可公开访问.其他人则是云提供商托管的虚拟机.

簇

考虑上面的简化示例.我想要一个Kubernetes Pod访问Internal Server C(它只是一个普通的服务器而不是集群的一部分).我可以强制要在内部调度Pod Node B,但由于连接只需要很少的延迟和带宽,并且有更多的资源Node A,我更愿意使用Node B某种网关.(考虑几个Node Bs,所以实际上没有SPOF).

我目前的方法是使用带有节点选择器的DaemonSet,其目标是所有内部(B)节点,定义HAProxy Pod.可以作为Kubernetes服务访问这些HAproxy实例,并将请求转发到内部目标服务.

您是否看到了更好或更直接的方式来实现从位于任何节点的Pod到只能通过节点子集到达的目标的连接?

networking kubernetes

5
推荐指数
0
解决办法
157
查看次数

如何使用CSS关键帧移动SVG组?

我想使用CSS关键帧在容器中移动SVG元素。

如果我只有一个<circle />,则可以简单地在关键帧定义中使用cx/ cy属性。但是,如果我有一个任意组(<g />)怎么办?群组没有cx/ cy,并且px如果要使用CSS' ,似乎必须定义一个单位(如)transform: translate(x,y)

MWE(如何为bar小组设置动画?):

svg {
padding: 5px;
width: 150px;
height: 150px;
border: 1px solid #000;
}

.foo {
animation-duration: 3s;
animation-iteration-count: infinite;
animation-name: moveFoo;
}

.bar {
animation-duration: 3s;
animation-iteration-count: infinite;
animation-name: moveBar;
}

@keyframes moveFoo {
from {
cx: 10;
cy: 10;
}
to {
cx: 90;
cy: 90;
}
}

/* how to define this? */ …
Run Code Online (Sandbox Code Playgroud)

html css svg

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