小编Nat*_*han的帖子

在ansible任务中包含外部yaml文件

我在ansible中创建了一个ecs_taskdefinition,但是我希望在sperate文件中执行任务定义.我能以某种方式做这样的事情:

ecs_taskdefintion:
  containers: {{ load_external_yaml containers.yaml }}
  volumes: {{ load_external_yaml_volumes.yaml }}
Run Code Online (Sandbox Code Playgroud)

所以我想从外部文件加载yaml数据.

ansible

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

将自定义 Maven 插件从本地 jar 安装到具有依赖项的本地存储库

我有一个 Maven 插件,我尚未将其上传到中央存储库,但我想在我的项目中使用它。

什么有效

我可以像这样安装 Maven 插件:

git clone https://github.com/RudolfVonKrugstein/jinja-maven-plugin.git
cd jinja-maven-plugin
mvn install
Run Code Online (Sandbox Code Playgroud)

然后我可以使用像这样的 pom.xml 插件:

<?xml version="1.0" encoding="UTF-8"?>
<project>
    <modelVersion>4.0.0</modelVersion>

    <groupId>de.wintercloud</groupId>
    <artifactId>sample</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>de.wintercloud</groupId>
            <artifactId>jinja-maven-plugin</artifactId>
            <version>1.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>de.wintercloud</groupId>
                <artifactId>jinja-maven-plugin</artifactId>
                <version>1.0</version>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>renderjinja</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <outputFile>out.txt</outputFile>
                    <templateFile>templ.jinja</templateFile>
                    <varFile>vars.yaml</varFile>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
Run Code Online (Sandbox Code Playgroud)

以下是与编译相关的其他文件:

寺庙神社:

{{ Name }}
Run Code Online (Sandbox Code Playgroud)

vars.yaml:

Name: MyWonderfullName
Run Code Online (Sandbox Code Playgroud)

这有效:

> mvn compile
> cat out.txt 
Run Code Online (Sandbox Code Playgroud)

我的名字

好的!

什么不起作用

现在我正在尝试将该插件作为 jar 提供给我的同事,以便他们可以简单地安装该 jar。想法是这样做:

git clone https://github.com/RudolfVonKrugstein/jinja-maven-plugin.git …
Run Code Online (Sandbox Code Playgroud)

maven maven-install-plugin

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

为什么我不能将 echo 与 GIT_ASKPASS 一起使用

我试图通过 GIT_ASKPASS 为 git 提供密码,如下所示:

export PASSWORD=<secret>
export GIT_ASKPASS="/usr/bin/echo $PASSWORD"
git clone https://username@domain.com/git-repo/repo.git
Run Code Online (Sandbox Code Playgroud)

但我得到:

 error: cannot run /usr/bin/echo <secret>: No such file or directory
Run Code Online (Sandbox Code Playgroud)

所以看来我不允许在中给出参数GIT_ASKPASS

现在我可以创建一个只包含以下内容的脚本:

/usr/bin/echo $PASSWORD
Run Code Online (Sandbox Code Playgroud)

但我想知道:有没有一种方法可以在不创建临时脚本的情况下执行此操作?

git sh

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

在jina2中包含Statement,它使用Variable作为包含的文件名

我想这样做:

{% for a in as %}
{% include "{(a}}.jinja"%}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,即{a}.jinja找不到.所以似乎它不会变量变量.为什么?我怎样才能解决这个问题?

jinja2

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

如果我已经有了 aws-sdk (javascript),我还需要 amazon-cognito-identity-js 吗?

我有一个使用 aws-sdk 的 javascript 项目。不,我想使用amazon-cognito-identity-js。页面上写着:

请注意,Amazon Cognito AWS SDK for JavaScript 只是 AWS Javascript SDK 命名空间的精简版,命名为 AWSCognito 而不是 AWS。它仅引用 Amazon Cognito Identity 服务。

事实上,例如,我可以使用以下命令创建 CognitoIdentityServiceProvider:

CognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider();
Run Code Online (Sandbox Code Playgroud)

但是我该怎么做,就像对用户进行身份验证一样?根据amazon-cognito-identity-js文档:

authenticationDetails = new CognitoIdentityServiceProvider.AuthenticationDetails({Userame: ..., Password: ...});
cognitoUser.authenticateUser(authenticationDetails, ...)
Run Code Online (Sandbox Code Playgroud)

但是 CognitoIdentityServiceProvider 对象没有 AuthenticationDetails 属性。

当我使用 aws-sdk 而不是 amazon-cognito-identity-js 时,我是否必须做一些不同的事情?

或者我的假设是错误的,我同时需要 aws-sdk 和 amazon-cognito-identity-js?

amazon-web-services node.js aws-sdk-js

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

将  (或 0xAO)替换为字符串中的空格

我正在使用 Go 和包解析 HTML 文档golang.org/x/net/html。当我提取某些节点中的文本字段时,我想&nbsp用一个简单的空格替换所有出现的 。

\n

我的谷歌搜索显示,那&nbsp就是 unicode 0xA0,所以我这样做了:

\n
strings.ReplaceAll(node.Data, "\\xA0", " ")\n
Run Code Online (Sandbox Code Playgroud)\n

但生成的字符串似乎包含一些未知的字节(当我打印它时,它打印\xef\xbf\xbd)。

\n

我究竟做错了什么?

\n

go

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

使用C++模板创建具有自定义组件的类

让我通过一个例子来解释我所要求的内容.想象一下,我有一个汽车课.现在,汽车可能有很多额外的东西:

  • 4门而不是2门
  • 自动门锁
  • 4轮驱动

我想用这些选项的任意组合创建类.任何这些选项都需要一些数据成员.想象一下这个班级现在看起来像这样:

class Car {
public:
  bool FourDoors;
  bool AutomaticDoorLocking;
  bool FourWheelDrive;

  Door doors[4];  //4 only needed if FourDoors=true
  DoorLockingElectronic doorElectronic; //Only needed if AutomaticDoorLocking=true
  TransmissionsShafts[4]; //4 only needed for FourWheelDrive=true

  void lockDoors() {
    if (AutomaticDoorLocking) {
      doorElectronic.lockDoors();
    } else {
      // Do manual door locking
    }
  }
};
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都那么好,但是现在我想创造很多车,这么多内存变得至关重要.而且我不需要大多数汽车的大部分额外功能.我可以创建一个基类,并派生启用或禁用这些选项的类.但我必须创建2 ^ {#extras}类来创建所有可能的组合,并使用大量的双重代码.

所以我想也许可以使用模板?(就是那个问题).

我可以想象有一个标志模板,并像这样重写lockDoors:

template<int flags>
void Car<flags>::lockDoors() {
  if (flags | AutomicDoorLockingFlag) {
    doorElectronic.lockDoors();
  } else {
    // Do manual door locking
  }
}
Run Code Online (Sandbox Code Playgroud)

精彩!但是Car <0>类仍然需要很多不必要的空间.所以: …

c++ templates

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

在 Windows 下为 VirtualBOX 启用 Hyper-V 和硬件虚拟化

我正在Windows下开发xamarin应用程序。

我想定期在以下位置运行该应用程序:

  1. Windows Phone 模拟器
  2. iPhone模拟器

首先,需要在 Windows 下启用 Hyper-V。

对于第二个,需要一个 OSX 来连接。我正在尝试在VirtualBox下运行 OSX 。为此,需要启用硬件虚拟化。

现在,当我启用 Hyper-V VirtualBox 时不会检测到硬件虚拟化。根据这一点,这一点不会改变。

有没有一种解决方案可以让我测试 iOS 和 WindowsPhone,而无需启用/禁用 Hyper-V(需要重新启动)?

virtualization virtualbox hyper-v windows-10

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

Jenkins Pipeline currentBuild.changeSets并检索每个存储库的电子邮件

我有一个jenkins管道工作,检查3个存储库.

当构建失败时,根据失败的位置,我想向开发人员发送电子邮件,导致上次提交/更改.

我可以使用以下方法检索作者fullNames:

    def changeSet = script.currentBuild.changeSets[0];
    Set authors = [];
    if (changeSet != null) {
        for (change in changeSet.items) {
            authors.add(change.author.fullName)
        }
    }
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚:

  1. 我怎样才能让作者收到电子邮件?
  2. 如何区分不同存储库的作者?

jenkins jenkins-pipeline

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

DynamoDB 中用户和用户组的权限模型

我有一个“关系”模型,具有以下类型:

  • 用户
  • 用户组
  • 项目

用户可以属于多个组,组可以有多个用户。

项目具有允许对其进行读取或执行操作的用户和组。

最常见的查询是,用户通过其 id 查询项目。为此,必须检查用户是否具有查询项目所需的权限。换句话说,它或其组之一必须对该项目具有权限。

到目前为止我想出了什么

一个解决方案是,这些项目具有以下属性:

  • 用户

    • 主键:用户 ID
    • 没有排序键
    • 属性:组列表
  • 项目:

    • 主键:item-id
    • 排序键:
      • 'data': 这个项目的数据
      • <user/group-id>: 此用户或组的权限

因此,要检查权限,必须

  • 获取用户的组
  • 通过使用用户 ID 和所有组 ID 作为排序键(使用 BatchGetItems)查询 item-id 来获取权限。
  • 检查用户或其任何组是否具有所需的权限。

问题

我觉得这可能会导致大量查询,尤其是当组数很高时。

有没有办法在没有如此昂贵的权限检查的情况下实现这个权限模型(或类似的权限模型)?

amazon-dynamodb

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