小编Noe*_*Yap的帖子

如何在Python中使用librt函数?

我正在尝试使用第三方.so,P4API.so,它调用librt.so中定义的clock_gettime,并希望我的脚本用户不必设置LD_PRELOAD.所以在init .py文件中,我有:

import ctypes

librt = ctypes.cdll.LoadLibrary('librt.so')
Run Code Online (Sandbox Code Playgroud)

这样可以很好地加载库,但运行脚本仍然会发出:

ImportError: /path/to/P4API.so: undefined symbol: clock_gettime
Run Code Online (Sandbox Code Playgroud)

我试过了:

__builtins__['clock_gettime'] = librt.clock_gettime
Run Code Online (Sandbox Code Playgroud)

但这也行不通.

如何让P4API.so识别加载的librt?

c python linux perforce shared-libraries

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

如何使用P4Python创建编号的更改列表?

P4.fetch_change()使用Change等于'new'创建更改规范.我需要创建一个带有实际数字的更改规范(不会与任何其他更改发生冲突).IOW,我需要能够保留更改列表编号.

如何用P4Python完成这项工作?

上下文:我的脚本接收已存在的更改列表编号.我需要能够测试脚本是否正常工作.

python perforce

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

如何避免Scala中的依赖注入?

我阅读了没有体操PDF的依赖注入,这表明不需要任何花哨的DI框架,但它超出了我的掌握(至少没有具体的例子).当我有机会时,我会尝试在没有体操死亡简单依赖注入的情况下观察依赖注入.

在Java中使用Guice,如果A依赖于B和C并且B和C都依赖于D,那么就会有:

public class A {
    @Inject
    public A(B b, C c) {
        this.b = b;
        this.c = c;
    }
}

public class B {
    @Inject
    public B(D d) {
        this.d = d;
    }
}

public class C {
    @Inject
    public C(D d) {
        this.d = d;
    }
}

public class D { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

以及一个模块,说明要使用哪个D实现,然后只需要从进样器中请求A的实例:

A a = injector.createInstance(A.class);
Run Code Online (Sandbox Code Playgroud)

鉴于上面的URL中显示的内容,上述代码的Scala等价物如何?

FWIW,我也正在调查https://github.com/dickwall/subcut/blob/master/GettingStarted.md,我只是想了解反DI解决方案.

dependency-injection scala guice

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

如何快速失败Jenkins Build Flow Plugin工作?

如果未设置参数,我试图使Build Flow Plugin作业失败.当我尝试:

final parameter = params['PARAMETER']
if (parameter.isEmpty()) {
  out.println('Error: PARAMETER must be defined')
  System.exit(1)
}
Run Code Online (Sandbox Code Playgroud)

整个詹金斯大师去世(双加上).

如何在不杀害詹金斯的情况下让工作失败?

jenkins

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

如何从Groovy运行Java应用程序?

我有一个Java应用程序,可以执行以下操作:

public class MyApplication {
    public static int main(String[] args) {
      System.out.println(System.getProperty("my.property"));
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何从Groovy中调用它,以便Groovy脚本设置System属性?

java groovy

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

Gradle排除传递依赖不起作用

我在subprojects关闭中有以下内容:

configurations {
    all*.exclude group: 'com.sun.jersey', module: 'jersey-bundle'
}
Run Code Online (Sandbox Code Playgroud)

gradlew dependencies仍然包括在内jersey-bundle.需要做些什么来解决这个问题?

dependencies gradle

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

如何在Jenkins JobDSL中设置构建描述?

Build Flow Plugin脚本可以调用build.setDescription()来设置构建的描述.可以在JobDSL脚本中完成类似的操作吗?或者脚本是否必须通过注入环境变量?

jenkins-job-dsl

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

在JMockit中,如何指定一系列调用的时间?

我有类似的东西:

new Expectations() {{
    mock0.f();
    mock1.f();

    mock0.f();
    mock1.f();

    mock0.f();
    mock1.f();
}};
Run Code Online (Sandbox Code Playgroud)

有没有办法可以使用'times ='规范?就像是:

new Expectations() {{
    {
        mock0.f();
        mock1.f();
    }
    times = 3;
}};
Run Code Online (Sandbox Code Playgroud)

我/我可以/在我的期望中有一个循环,但我真的很讨厌在我的单元测试中大于一的圈复杂度.

请注意,我希望继续使用严格的期望.

jmockit

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

如何`和然后'Akka`接收?

我有以下内容:

def become(r: ListMap[String, Receive]) {
  val undefined: PartialFunction[Any, Unit] = Map.empty

  val receive = r.foldLeft(undefined) { (accum: Receive, rhs: Pair[String, Receive]) =>
    accum orElse rhs._2
  }

  val echo: Receive = {
    case message => println(s"*************************************************** ${sender}: processing ${message}")
  }

  context.become(echo andThen receive)
}
Run Code Online (Sandbox Code Playgroud)

receive本身工作正常,但是当echo andThen receive使用时,系统会吐出一堆:

scala.MatchError: () (of class scala.runtime.BoxedUnit)
    at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:248)
    at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:246)
    at kvstore.Replica$$anonfun$secondary$1.applyOrElse(Replica.scala:234)
    at scala.runtime.AbstractPartialFunction$mcVL$sp.apply$mcVL$sp(AbstractPartialFunction.scala:33)
    at scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:33)
    at scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:25)
    at kvstore.Replica$$anonfun$primary$1.applyOrElse(Replica.scala:148)
    at scala.PartialFunction$OrElse.apply(PartialFunction.scala:162)
    at scala.PartialFunction$class.applyOrElse(PartialFunction.scala:118)
    at scala.collection.AbstractMap.applyOrElse(Map.scala:58)
    at scala.PartialFunction$OrElse.apply(PartialFunction.scala:162)
    at scala.PartialFunction$AndThen.applyOrElse(PartialFunction.scala:185)
    at …
Run Code Online (Sandbox Code Playgroud)

scala akka

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

使用 yq 更新 yaml 数组

我有以下 yaml,我想替换命令字段

apiVersion: batch/v1
kind: Job
metadata:
  name: test004
spec:
  template:
    spec:
      containers:
        - name: "eee"
          image: "test"
          command: ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

apiVersion: batch/v1
kind: Job
metadata:
  name: test004
spec:
  template:
    spec:
      containers:
        - name: "eee"
          image: "test"
          command: ["a", "b", "c", "d"]
Run Code Online (Sandbox Code Playgroud)
yq  -i n --style  myfile.yaml 'spec.template.spec.containers[0].command' "["a", "b", "c","d"]"
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这一目标yq,我尝试使用样式但没有成功,如果我将其更改为简单字符串,它可以工作,但当我想传递完整数组时则不行,知道吗?

yaml yq

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