小编Nei*_*eil的帖子

我怎么能模拟java.time.LocalDate.now()

在我的测试用例中,我需要测试时间敏感的方法,在那个方法中我们使用的是java 8类的LocalDate,它不是Joda.

当我正在进行测试时,我可以做些什么来改变时间

java systemtime java-8 java-time

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

我怎么能从我的主机ping我的docker容器

我在我的mac上创建了一个ubuntu docker容器

CONTAINER ID  IMAGE   COMMAND      CREATED         STATUS         PORTS                 NAMES
5d993a622d23  ubuntu  "/bin/bash"  42 minutes ago  Up 42 minutes  0.0.0.0:123->123/tcp  kickass_ptolemy
Run Code Online (Sandbox Code Playgroud)

我将端口设置为123.

我的容器IP是 172.17.0.2

docker inspect 5d993a622d23 | grep IP
"LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
                    "IPAMConfig": null,
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
Run Code Online (Sandbox Code Playgroud)

在我的Mac上,我尝试ping我的容器,

Ping 172.17.0.2,我得到icmp_seq 0的请求超时....

我该怎么办?所以我的本地机器可以ping我安装的容器.我是否在我的容器上缺少一些应用程序安装,这是一个普通的ubuntu系统?

macos networking docker

17
推荐指数
3
解决办法
4万
查看次数

如何在Jenkins管道脚本中使用source命令

我最近将bash执行命令重写为Jenkins管道.旧代码就像

...
source environment.sh
//Build
//Test
...
Run Code Online (Sandbox Code Playgroud)

现在我使用管道脚本来包装命令,就像这样

sh '''
    ...
    source environment.sh
    //Build
    //Test
    ...
'''
Run Code Online (Sandbox Code Playgroud)

但是,我收到了一个错误,因为.../.jenkins/script.sh: line 9: source: environment.sh: file not found.当我尝试时less environment.sh,它显示正确.所以我怀疑有毛病source commandsh wrap.

在使用管道之前,source environment.sh命令在shell执行中正常工作.所以源代码安装在Jenkins服务器上,似乎管道脚本不知道源代码是什么.

如何在sh包装块中运行source命令?

linux bash shell jenkins jenkins-pipeline

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

如何循环遍历字典列表,并在Ansible中打印出每个键和值对

我在Ansible配置中有一个字典列表

myList
    - name: Bob
      age: 25
    - name: Alice
      age: 18
      address: USA
Run Code Online (Sandbox Code Playgroud)

我把代码编写为

- name: loop through
  debug: msg ="{{item.key}}:{{item.value}}"
  with_items: "{{ myList }}"
Run Code Online (Sandbox Code Playgroud)

我想要打印出来

msg: "name:Bob age:25 name:Alice age:18 address:USA"
Run Code Online (Sandbox Code Playgroud)

如何遍历此字典并获取键和值对?因为它不知道什么是关键.如果我更改为{{item.name}},ansible将起作用,但我也想知道密钥

python ansible

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

如何用ansible删除本地目录

我必须删除一些目录并在复制到远程之前在本地创建它们.反正有没有在本地删除和创建?

目前我正在使用'命令'

command: rm -r directory
Run Code Online (Sandbox Code Playgroud)

但警告显示为

Consider using file module with state=absent rather than running rm
Run Code Online (Sandbox Code Playgroud)

我们可以使用任何选项来更改本地文件夹吗?

ansible ansible-2.x

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

gen_server的State生命周期是怎样的

我是 Erlang 的新学习者,我对 Erlang 变量的生命周期有疑问。

参考Erlang gen_server通信

-module(wy).
-compile(export_all).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).
-behaviour(gen_server).
-record(state, {id ,m, succ, pred}).

start(Name, M) ->
    gen_server:start_link({local, Name}, ?MODULE, [Name, M], []).

init([Name, M]) ->
    {ok, #state{id = Name, m = M}}.

handle_call({get_server_info}, _Frome, State) ->
    {reply, State, State};
handle_call(_Request, _From, State) ->
    Reply = ok,
    {reply, Reply, State}.

handle_cast(_Msg, State) ->
    {noreply, State}.

handle_info(_Info, State) ->
    {noreply, State}.

terminate(_Reason, _State) ->
    ok.

code_change(_OldVsn, State, _Extra) ->
    {ok, State}.


get_server_info(ServerName) -> …
Run Code Online (Sandbox Code Playgroud)

erlang erlang-otp gen-server

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

Python SCPClient 复制进度检查

我是 SCPClient 模块的新手

我有复制样本

 with SCPClient(ssh.get_transport()) as scp:
    scp.put(source, destination)
Run Code Online (Sandbox Code Playgroud)

这段代码运行良好。

不过,由于我要复制几个大文件,复制进度需要时间,一味地等待完成并不是很好的用户体验。

无论如何,我可以监控它复制了多少吗?并获取复制成功与否的结果?

SCPClient 有官方文档可以阅读吗?

python python-2.x

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

如何使用流过滤范围内的集合

我有一个人的域名

public class Person{
  String name;
}
Run Code Online (Sandbox Code Playgroud)

我有一个列表的人名字符串,如

listRange = new ListWith("Bob","John","Mark");
Run Code Online (Sandbox Code Playgroud)

我如何使用Java 8流在resultList中过滤,哪个人在此范围列表中具有名称.可能就像

resultList.stream().filter(p->p.getName().equals(listRange.any).collect();
Run Code Online (Sandbox Code Playgroud)

如何使用Lambda过滤resultList?

java collections lambda java-8 java-stream

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

“具有此类的id,在调用save()之前必须手动分配该类的id”

在内存测试中编写休眠模式时出现异常。

org.hibernate.id.IdentifierGenerationException:此类的ID必须在调用save()之前手动分配:

@Entity
public Account{
     @Id
     String num;
}
Run Code Online (Sandbox Code Playgroud)

首先,此pojo的id是String,我无法更改它,我无权访问数据库并更改pojo,我所能做的就是创建内存中测试。

然后,在保存此pojo之前,我填充了该pojo中的每个字段,但仍然会引发此异常。并且由于进行了内存中测试,因此内存中的DB为空,因此那里没有冲突ID。

任何想法,还有什么会导致此异常?

java hibernate in-memory-database

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

如何从Ansible清单中删除项目?

我需要从列表中删除一些项目

"my_list_one": [
    "item1",
    "item2",
    "item3"
] }
Run Code Online (Sandbox Code Playgroud)

我需要删除包含字符串"2"的项目.结果,我需要列表为

"my_list_one": [
    "item1",
    "item3"
] }
Run Code Online (Sandbox Code Playgroud)

我怎么能意识到这一点?

ansible ansible-2.x

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

如何停止Java或Hibernate缓存

我有一个应用程序从数据库中检索数据,我监视我的应用程序检索数据所需的时间.

但是当我使用相同的数据输入集来检索我的应用程序的数据时,我遇到了一个问题,第二次检索将花费更少的时间.

我假设Java或Hibernate有一些缓存或临时文件来保存数据,所以第二次运行会很快,但我不希望它发生.我需要监视它实际需要的时间,而不是从缓存或临时文件中检索的时间.

我试图禁止在Java控制面板中生成缓存和临时文件,我试图禁用hibernate缓存(第一级或第二级).但这些仍然无法解决我的问题.第二次运行仍然花费的时间少于应该花费的时间.

任何想法导致第二次运行更快的原因?它只是一个从DB检索数据的简单应用程序

java caching hibernate

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

如何使用 Ansible with_fileglob 模板排除某些文件?

我有一块 Ansible,使用with_fileglob.

如何排除名称包含的文件useless

- set_fact: files:{{item}}
  with_fileglob:
    - "path/to/*.tar.gz | exclude "useless"
Run Code Online (Sandbox Code Playgroud)

换句话说,我不想得到带有“useless”这样的字符串的文件名。

我怎么能意识到呢?

ansible

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