小编Ora*_*bîg的帖子

each_with_object应该如何工作?

对ruby来说,我正在试图找出each_with_object应该如何使用.

我试着用它来做一个非常简单的总和,所以我写道:

> (1..3).each_with_object(0) {|i,sum| sum+=i}
=> 0
Run Code Online (Sandbox Code Playgroud)

嘿,我认为结果将是6!我的错误在哪里?

ruby

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

在Android上创建临时文件的最佳方法是什么?

好吧,这不是一个问题,因为我并没有真正"卡住"我的代码,但我发现Android API在访问外部存储和File.createTempFile()方法方面有一些奇怪的行为,而我我想了解发生了什么......

请注意我的清单包括<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">.


第1部分 :

我有以下的代码,工作的魅力:

File tempFile = new File(Environment.getExternalStorageDirectory(),
                      "my_temp_file.png");
Run Code Online (Sandbox Code Playgroud)

它为我创建了一个临时文件,我可以毫不费力地在其中写入数据.

问题1:为什么它有效,因为我不应该在SDCard上拥有写作权限?


第2部分 :

我试图改变我的代码使用createTempFile哪个是官方方法来创建临时文件.所以我试过了:

File tempFile = File.createTempFile("my_temp", "png", 
                      Environment.getExternalStorageDirectory());
Run Code Online (Sandbox Code Playgroud)

并在manifest.xml中添加了WRITE_EXTERNAL_STORAGE.你猜怎么着 ?这不起作用,我得到一个java.io.IOException:

09-07 14:07:29.061: E/_CLOG(19982): java.io.IOException: Permission denied
09-07 14:07:29.061: E/_CLOG(19982):     at java.io.File.createNewFileImpl(Native Method)
09-07 14:07:29.061: E/_CLOG(19982):     at java.io.File.createNewFile(File.java:1257)
09-07 14:07:29.061: E/_CLOG(19982):     at java.io.File.createTempFile(File.java:1322)
09-07 14:07:29.061: E/_CLOG(19982):     at com.(...).onClick(ProfileImageUpdater.java:58)
Run Code Online (Sandbox Code Playgroud)

问题2:为什么这不起作用,而imho呢?

java file-io android file

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

为什么logstash启动/加载需要这么长时间?

编辑:我改变了标题,因为问题不是我最初的想法.事实上,logstash需要一分多钟才能启动,这可能被误解为"沉默"......


我正在尝试使logstash运行,所以我按照官方网站上的说明进行独立安装:http://logstash.net/docs/1.1.4/tutorials/getting-started-simple

基本上,我得到了logstash-1.1.4-monolithic.jar文件,然后构建一个非常简单的配置文件:( example.conf)

input {
  stdin { type => "stdin-type"  }
}
output {
  stdout { debug_format => "json" }
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行logstash时,什么都没有出来(我在STDIN中键入随机文本,但没有得到响应):

# java -jar logstash-1.1.4-monolithic.jar agent -f example.conf
Test
toto
hey ??? Wakeup !!!
^C
Run Code Online (Sandbox Code Playgroud)

(有关信息:Java版本是正确的)

# java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

拜托,有人能告诉我我错过了什么吗?

java jar jruby logstash

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

Android Studio重命名属性或方法并不总是有效

在Android Studio中,我有时必须重命名一些字段,属性或方法名称.我知道我必须选择它的名字,然后点击Alt + Shift + R. 然后我输入新名称,然后按Enter键.

然而,有时它有效,有时......它根本什么都不做.新名称将被丢弃并替换为旧名称.

有人可以解释为什么以及如何强制这个非常基本的功能工作?

android android-studio

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

Android应用程序中的日期比较

我有两个日期的字符串格式,如DD/MM/YYYY.现在,我如果写的条件date1是前date2.我怎样才能做到这一点?请帮我.

android android-date

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

如何设置充当代理的docker注册表?

我有一个服务器(让我们命名为A)可以访问互联网,我可以从officiel docker.io注册表中提取图像.

我还有其他服务器(B,C)出于安全原因不能进行相同的访问,但是可以访问A.

我还决定在A上安装一个私有注册表,可以在B和C中使用.

是否有可能让这个注册表充当代理,当我想从B中提取官方图像时,它可以通过A完成?

docker docker-registry

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

如何将浮点数转换为复数?

使用非常简单的代码:

package main

import (
    "fmt"
    "math"
    "math/cmplx"
)

func sqrt(x float64) string {
    if x < 0 {
        return fmt.Sprint(cmplx.Sqrt(complex128(x)))
    }
    return fmt.Sprint(math.Sqrt(x))
}

func main() {
    fmt.Println(sqrt(2), sqrt(-4))
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

main.go:11: cannot convert x (type float64) to type complex128
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的方法,但无法找到如何转换float64complex128(只是为了能够cmplx.Sqrt()在负数上使用函数).

处理这个问题的正确方法是什么?

type-conversion go complex-numbers

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

Kubeadm 无法在升级时签署证书

在使用 kubespray 将 Kubernetes 从 1.14 升级到 1.15 期间,我的团队在“升级第一个 master”步骤中遇到了阻塞问题,并显示以下消息:

\n\n
[upgrade/apply] FATAL: couldn\'\'t upgrade control plane.\nkubeadm has tried to recover everything into the earlier state.\nErrors faced: [failed to renew certificates for component "kube-apiserver":\nfailed to renew certificate apiserver-kubelet-client:\nunable to sign certificate:\nmust specify at least one ExtKeyUsage,\nrename /etc/kubernetes/tmp/kubeadm\n-backup-manifests-2019-09-19-09-06-27/kube-apiserver.yaml /etc/kubernetes/manifests/kube-apiserver.yaml: no such file or directory]\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

尝试隔离任务并手动运行 kubeadm 命令行会导致相同的错误消息:

\n\n
#/usr/local/bin/kubeadm upgrade apply -y v1.15.3 --config=/etc/kubernetes/kubeadm-config.yaml --ignore-preflight-errors=all --allow-experimental-upgrades --allow-release-candidate-upgrades --etcd-upgrade=false -v 6 \n
Run Code Online (Sandbox Code Playgroud)\n\n

或者甚至尝试手动更新证书:

\n\n
/etc/kubernetes/pki# kubeadm alpha certs renew apiserver-kubelet-client …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubespray

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

如何创建包含数组副本的数组

我找不到像构建数组的方法

[  [1,2,3] , [1,2,3] , [1,2,3] , [1,2,3] , [1,2,3]  ]
Run Code Online (Sandbox Code Playgroud)

给定[1,2,3]和数量5.我想有某种阵列上,比如运营商productmult,但没有在文档做的.请告诉我.我错过了很简单的事情.

ruby arrays

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

perl运营商/// e没有按预期工作

我试图弄清楚为什么这样做:

 $_='12+34';$x=1;
 s/(\d+)(.)(\d+)/"\$x$2$2"/ee; # This is working, does $x++

 print "x=$x \n";              # x=2
Run Code Online (Sandbox Code Playgroud)

虽然这不是:

 $_='12+34';$x=1;
 s/(\d+)(.)(\d+)/\$x$2$2/e; # This is NOT working 

 # Error message is :
 # Scalar found where operator expected at ./test.pl line 2, near "$x$2"
 #        (Missing operator before $2?)
Run Code Online (Sandbox Code Playgroud)

我有勇气s/xxx/yyy/e并且s/xxx/"yyy"/ee应该表现得一样,但显然我错了.

我错过了什么?

regex syntax perl

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