小编Gis*_*nas的帖子

迭代日期范围(scala方式)

鉴于开始日期和结束日期,我希望白天使用foreach,map或类似函数对其进行迭代.就像是

(DateTime.now to DateTime.now + 5.day by 1.day).foreach(println)
Run Code Online (Sandbox Code Playgroud)

我正在使用https://github.com/nscala-time/nscala-time,但如果我使用上面的语法,我会返回一个joda Interval对象,我怀疑它也不是一系列日期,而是一种范围毫秒.

编辑:这个问题已经过时了.正如joda主页上所建议的那样,如果你使用的是java 8,你应该从java.time开始或者迁移到java.time.

iteration datetime scala nscala-time

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

首次出现字符后剪切字符串

我有像'keepme:cutme'或'string-without-separator'这样的字符串,它们应分别成为'keepme'和'string-without-separator'.这可以在PostgreSQL中完成吗?我试过了:

select substring('first:last' from '.+:')
Run Code Online (Sandbox Code Playgroud)

:如果:字符串中没有,则会离开,并且将无法工作.

sql string postgresql pattern-matching delimiter

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

参数之前没有空格的xargs(或其他)

我想执行这样的事情(git squash):

git rebase -i HEAD~3
Run Code Online (Sandbox Code Playgroud)

从中提取3 git log:

git log | blabla | xargs git rebase -i HEAD~
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为xargs后面插入一个空格HEAD~.

问题是我想对这个命令进行别名,所以我不能只使用它

git rebase -i HEAD~`git log | blabla`
Run Code Online (Sandbox Code Playgroud)

因为在我定义别名时会对数字进行评估.

我不必使用xargs,我只需要一个别名(最好不是一个函数).

linux git xargs git-squash

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

使用 Ingress 在 kubernetes 上的 s3 代理

我正在使用这个入口控制器,并想为某个存储桶设置一个 s3 代理。如果我在浏览器中调用 url

https://my-kube-server.org/img/dog.jpg 
Run Code Online (Sandbox Code Playgroud)

我希望看到/下载图像

https://s3.eu-central-1.amazonaws.com/mybucket123/pictures/dog.jpg
Run Code Online (Sandbox Code Playgroud)

我可以设置重写规则并指向外部服务,如本示例中所述

kind: Service
apiVersion: v1
metadata:
  name: s3-proxy
spec:
  type: ExternalName
  externalName: s3.eu-central-1.amazonaws.com
  headers:
  - host: s3.eu-central-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

但是我从 aws 收到错误,因为它需要在标题中包含“Host:s3.eu-central-1.amazonaws.com”。我无法在 s3-proxy 服务定义和入口规则中设置此标头(配置片段不起作用,因为它会在 nginx.conf pod 中设置后添加另一个 Host 标头。

我的解决方案是获取此入口规则的整个位置块并将其包含为server-snippet,这非常暴力。

另一种选择是在入口后面有一个 nginx pod+service,负责设置正确的标头。所以流程是请求 -> 入口控制器 -> nginx -> s3。

有人知道如何代理s3吗?

nginx amazon-s3 amazon-web-services kubernetes

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

Java:使用相同的元素初始化大小为n> 1的集合(列表)

我想在Java中使用这样的单行代码:

List<A> list = initialize(element, n);
Run Code Online (Sandbox Code Playgroud)

其中element是A类型,n是一个整数,表示集合的所需大小.

我最初的问题是用相同的引用填充列表而不复制元素,但复制也是一个很好的折衷方案.

欢迎使用Apache或Google集合实用程序或类似工具.如果您认为这可以推广到除列表之外的其他Java集合,请添加您的评论.

到目前为止,这是我最好的解决方案(A是布尔值):

Lists.newArrayList(Arrays.copyOf(new Boolean[ ] { false }, n))
Run Code Online (Sandbox Code Playgroud)

我发现了一个类似的问题(没有暂停或关闭),但它不适用于java.

java collections initialization

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

zsh - 调用结束时没有空格的别名

我想要一个别名,如:

alias gra-bitbucket="gra origin https://gismoranas@bitbucket.org/gismoranas"
Run Code Online (Sandbox Code Playgroud)

这样我就可以像这样使用它:

gra-bitbucket/some-repo.git
Run Code Online (Sandbox Code Playgroud)

向 git 存储库添加新来源(gra 是oh-my-zsh!别名)。

我的问题是我不想每次都写整个 url。它不能是别名,但有一个单衬设置会很好。

shell alias zsh

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

Java-Gson无法即时定义对象

我不想定义一个额外的类型只是为了进行json转换。我使用的库需要一个对象作为输入,然后对该数据执行http操作,因此无法使用硬编码的json字符串作为输入。

private static final Gson GSON = new Gson();

public static void main(String[] args) {
  System.out.println(GSON.toJson(new Object() {
    private String email_address = "me@mail.eu";
    public String getEmail_address() {return "me@mail.eu"; }
    public void setEmail_address(String mail) {email_address = mail; }
  }));    
}
Run Code Online (Sandbox Code Playgroud)

我试图删除getter和setter或离开getter并删除字段,但是它不起作用。有人知道如何解决这个问题吗?

java json gson

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

Ubuntu 18 自动完成错误?“bash:cd:参数太多”

从 ubuntu 16 升级后,自动完成开始工作不好。如果我在之后点击 Tab

git checkout src/
Run Code Online (Sandbox Code Playgroud)

我得到这样的东西:

$ git checkout src/bash: cd: too many arguments

main/ test/ 
Run Code Online (Sandbox Code Playgroud)

巧合的是,我使用 gnu-coreutils 的“test”命令碰巧看到了相同的内容:

$ ls
pom.xml  src  target
$ test pom.xml
bash: cd: too many arguments
Run Code Online (Sandbox Code Playgroud)

这两件事可能有联系吗?不幸的是,我在谷歌搜索后找不到任何错误。

testing autocomplete gnu-coreutils

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

Java(Joda):来自LocalDateTime午夜的秒

我试着用这个:

secondsFromMidnight = Seconds.secondsBetween(localDateTime.toLocalDate(),    
    localDateTime).getSeconds();
Run Code Online (Sandbox Code Playgroud)

但它引发了一个例外(参见下文).我认为是一个很好的方法,但我还没有成功地适应我的情况.如果我写这个:

    DateTime dateTimeFromMidnight = new DateMidnight(localDateTime.getChronology()).toDateTime();
    Duration duration = new Duration(dateTimeFromMidnight, localDateTime.toDateTime());
Run Code Online (Sandbox Code Playgroud)

它与时区混淆(我少了1小时).

如果您的解决方案也可轻松适应数小时,分钟等,那么这是一个优势.

我绝对需要使用LocalDateTime作为输入类型,请不要在其他类中发布解决方案.

Exception in thread "main" java.lang.IllegalArgumentException: ReadablePartial objects must have the same set of fields
at org.joda.time.base.BaseSingleFieldPeriod.between(BaseSingleFieldPeriod.java:92)
at org.joda.time.Seconds.secondsBetween(Seconds.java:124)
Run Code Online (Sandbox Code Playgroud)

java time jodatime

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