小编Mig*_*g82的帖子

如何使用 JMESPath 使用不区分大小写的正则表达式进行搜索

我需要使用一些使用 JMESPath 来搜索 JSON 的系统。如何搜索具有模式的字符串(像这样)。如何在不区分大小写模式下使用正则表达式执行此操作?

PS:不知道为什么AWS S3 CLI和Ansible使用JMESPath而不是jq来查询JSON。它似乎缺少这些功能,并且自 2017 年以来添加 split 功能的提案已被冻结(就像thisthis)。这些功能jq都可以使用。JMESPath 有何优势使其具有吸引力?

json jq jmespath

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

科尔多瓦准备做什么?

我检查了文档,但没有找到关于此命令的明确说明.

那么有谁知道命令究竟是什么cordova prepare

  1. 它是否更新平台特定的www文件夹?
    • 如果是,它是否复制了根的全部内容www
  2. 它是否更新平台特定的图标?
    • 如果是,应该在哪里找到源图标?
  3. 它是否更新了平台特定的启动画面?
    • 如果是,应该在哪里找到源闪屏?
  4. 它是否更新其他平台特定资源?
  5. 它更新了android清单吗?
    • 如果是,如何自定义清单,以便cordova prepare合并自定义和生成的行?
  6. 在android平台上更新了哪些其他文件?
  7. 在ios平台中更新了哪些其他文件?

mobile cross-platform cordova

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

如何增加 EsLint 内存以避免“JavaScript heap out of memory”?

我正在尝试在一个非常大的 javascript 文件上运行EsLint,但该进程内存不足。为了让您了解文件有多大,我在上运行了Cloc,这是输出:

$ cloc app.js 
       1 text file.
       1 unique file.                              
       0 files ignored.

github.com/AlDanial/cloc v 1.80  T=12.81 s (0.1 files/s, 42499.8 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JavaScript                       1           4255          23744         516524
-------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

该文件重 23MB。

$ ls -lAh app.js 
-rw-r--r-- 1 miguelangel staff 23M Jan 28 11:58 app.js
Run Code Online (Sandbox Code Playgroud)

这就是说这很可能不是EsLint 中的内存泄漏。我在 Github.com 上看到 EsLint 存在内存泄漏的一些问题。我不认为这是这里的情况。

文件这么大是因为它是连接许多其他 Javascript 模块的结果。我的目标是尝试找到任何未使用的代码。这个项目的代码库显然在不受控制的情况下增长,我正试图摆脱沉重的负担。所以我试图在整个代码库的串联上运行EsLint 的no-unused-vars规则。这是我的 EsLint 配置文件:

.eslintrc.js

module.exports …
Run Code Online (Sandbox Code Playgroud)

javascript heap-memory eslint

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

如何dockerize Xcode

出于 CI 目的,我需要建立一个能够构建 iOS 应用程序的构建从属集群。目前,我依赖于单个 MacMini - 目的是在未来部署更多 - 我想在它上面虚拟化几个奴隶。其中一些虚拟从站将构建 iOS 应用程序,其他将是用于其他目的的较小的 Linux 从站。

我对 Docker 完全陌生,所以我的主要问题是是否可以对 Xcode 9.2 和/或 MacOS 进行 dockerize 以虚拟化我的 iOS 构建从属。我在那里看到的关于这是否可以实现的文献很少,我在 hub.docker.com 中找到了一些图像,但它们没有记录,而且似乎不太受欢迎。

我现在正在学习 Docker 教程,最终将尝试这个 - 如果我成功了,我将在这里回答我自己的问题以造福他人 - 但鉴于缺乏信息,我怀疑它是否甚至是可能的,或者我应该从哪里开始。

对此的任何提示或指示将不胜感激。或者,如果有人确实知道这是不可能的并且可以解释原因,那也会为我节省很多时间。

docker xcode9.2

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

将 dockerfile 与 Jenkins 脚本化管道语法结合使用

使用Jenkins Declarative Pipeline,可以轻松指定 Dockerfile、代理标签、构建参数和运行参数,如下所示:

Jenkinsfile(声明式管道)

agent {
    dockerfile {
        dir './path/to/dockerfile'
        label 'my-label'
        additionalBuildArgs  '--build-arg version=1.0'
        args '-v /tmp:/tmp'
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用脚本化管道语法来实现相同的目标。我找到了一种传递代理标签并运行 args 的方法,但无法传递目录构建 args。理想情况下,我会写这样的东西(标签和运行参数已经工作):

Jenkinsfile(脚本化管道)

node ("my-label"){
    docker.dockerfile(
        dir: './path/to/dockerfile',
        additionalBuildArgs:'--build-arg version=1.0'
    ).inside('-v /tmp:/tmp') {
        \\ add stages here
    }
}
Run Code Online (Sandbox Code Playgroud)

文档展示了如何使用现有的 docker 映像(即使用image管道中的指令)来完成此操作。

Jenkinsfile(声明式管道)

pipeline {
    agent {
        docker { image 'node:7-alpine' }
    }
    stage('Test') {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

Jenkinsfile(脚本化管道)

node {
    docker.image('node:7-alpine').inside {
        stage('Test') {
            //...
        } …
Run Code Online (Sandbox Code Playgroud)

jenkins docker dockerfile jenkins-groovy jenkins-pipeline

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

信号11(SIGSEGV),代码1(SEGV_MAPERR)

我正在使用OpenGL在Android上创建2D游戏.目前我正在几台设备上测试和调试游戏.我面临的问题是可怕的"信号11"错误.

当我在我的三星Galaxy Nexus上玩时,一切都运行顺畅,我可以玩几个小时没有游戏丢失任何错误.我的Nexus正在运行Android ICS.

现在,当我在其他设备上运行时,我收到此信号11错误.这是抛出错误的设备: - HTC Desire HD(姜饼) - HTC Desire Z(姜饼) - HTC Wildfire(姜饼) - Advent Vega平板电脑(Vegacomb) - 华硕EE Pad Transformer(冰淇淋三明治)

我不能在我的Advent Vega上使用USB调试,但其他3个弹出错误的设备都是可调试的.似乎我需要根据我的设备获取有关信号11错误的更多信息.我能够根据我的Galaxy Nexus和我的Desire HD.

由于错误似乎总是出现在同一时刻(当游戏刚刚完成加载纹理时),我想我只能使用一个有根设备找出问题的原因,然后修复它,并测试另一台设备上的新版本.

首先,我认为它与内存管理有关(不释放我的对象,因此执行大量的GC请求).因此,经过几个小时的分析,优化,测试等,我发现这不是问题所在.然后我认为它与Thread Safety有关(一个线程试图从内存中获取内容,另一个线程刚刚销毁了引用).但这似乎也不是这样.

好的,现在我将我的根Desire HD连接到我的笔记本电脑上,然后打开Eclipse项目,运行DDMS.

现在,当游戏/应用程序崩溃时,logcat会告诉我什么?

04-02 13:24:50.561: D/dalvikvm(3526): GC_CONCURRENT freed 739K, 43% free 4225K/7303K, external 1478K/1939K, paused 2ms+4ms
04-02 13:24:50.661: D/dalvikvm(3526): GC_FOR_MALLOC freed 99K, 43% free 4261K/7431K, external 1466K/1939K, paused 29ms
04-02 13:24:50.701: I/DEBUG(3412): debuggerd: 2012-04-02 13:24:50
04-02 13:24:50.701: I/DEBUG(3412): *** *** *** *** *** *** *** *** *** *** *** *** …
Run Code Online (Sandbox Code Playgroud)

android opengl-es libc segmentation-fault

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

在Jenkins中对参数组进行分组和装饰

我正在写与不少参数詹金斯管道的工作,我正在寻找一种方式来可视化它们组合在一起,使他们更容易理解-rather不是让他们都只是扔在那里.我会满足于任何至少暗示这些参数彼此相关的事实.可以是标题,可以是方框.是否有任何插件可以帮助我这种方式装饰我的输入?

在此输入图像描述

jenkins jenkins-plugins jenkins-pipeline

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

运行 Jasmine 测试时如何查看“console.log”的输出

我开发了一个 Node.js 模块,并使用 Jasmine 为其编写单元测试。当调用参数设置为 true时,该模块console.log会在执行时打印出一些信息。verbose

假设该模块如下所示:

foo.js

function foo(arg1, verbose){
    var output = "Hello " + arg1;
    if(verbose)console.log("Returning %s", output);
    return output;
}
module.exports = foo;
Run Code Online (Sandbox Code Playgroud)

假设我的测试如下所示:

foo-spec.js

const foo = require("path/to/foo")
describe("Foo suite", () => {

    it( "Expect foo to greet", () => {
        expect(foo("World", true)).toBe("Hello World");
    });
});
Run Code Online (Sandbox Code Playgroud)

jasmine我通过在终端中输入以下内容来运行测试:

$ jasmine
Run Code Online (Sandbox Code Playgroud)

一切正常,除了我想看到详细的输出。

$ jasmine
Returning Hello World
Run Code Online (Sandbox Code Playgroud)

有没有办法让茉莉这样做?

node.js jasmine console.log

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

使用 JsonPath 映射数组

是否可以使用JSONPath将 JSON 数组映射到另一个具有较少字段和缩写键的数组?

我正在处理一个非常冗长的 RESTful API。它有太多的字段,并且每个对象都有很长的属性名称。我想通过仅从数组中的每个匹配项中选择几个字段并将这些字段重命名为三个字母键,将输出投影/映射到较小的有效负载中。

意思是,从这样的输入:

[
    {
        "fooField": "foo1",
        "barField": "bar1",
        "quxField": "qux1"
    },
    {
        "fooField": "foo2",
        "barField": "bar2",
        "quxField": "qux2"
    },
    {
        "fooField": "foo3",
        "barField": "bar3",
        "quxField": "qux3"
    }
]
Run Code Online (Sandbox Code Playgroud)

我希望能够制作这个:

[
    {
        "foo": "foo1",
        "bar": "bar1"
    },
    {
        "foo": "foo2",
        "bar": "bar2"
    },
    {
        "foo": "foo3",
        "bar": "bar3"
    }
]
Run Code Online (Sandbox Code Playgroud)

请注意,我已经重命名了fooFieldbarField字段并完全删除了quxField

也许没有简单的方法可以使用 JSONPath 来执行此操作,但我知道有一个脚本()运算符可以提供帮助,但到目前为止我无法使用它并且似乎找不到示例。

json jsonpath

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

来自 YAML 文件的 Jenkins 管道

Jenkins 声明式管道对我们来说太强大了,用户经常会滥用它。我们正在考虑使用固执己见的 YAML 来描述 CI/CD 管道。似乎有两个选择。

  1. 编写一个插件并使用 YAML 并动态创建阶段/步骤。
  2. 编写一个插件将 YAML 转换为 Jenkins 管道。

我不是詹金斯的专家,所以我希望一些专家可以提供一些指导,也许可以举个例子。

yaml jenkins jenkins-groovy jenkins-pipeline jenkins-declarative-pipeline

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