这是我的代码(运行):
package main
import "fmt"
func main() {
var whatever [5]struct{}
for i := range whatever {
fmt.Println(i)
} // part 1
for i := range whatever {
defer func() { fmt.Println(i) }()
} // part 2
for i := range whatever {
defer func(n int) { fmt.Println(n) }(i)
} // part 3
}
Run Code Online (Sandbox Code Playgroud)
输出:
0
1
2
3
4
4
3
2
1
0
4
4
4
4
4
问题:第2部分和第3部分有什么区别?为什么第2部分输出"44444"而不是"43210"?
我按照负载均衡器教程:https: //cloud.google.com/container-engine/docs/tutorials/http-balancer,当我使用Nginx图像时工作正常,当我尝试使用自己的应用程序图像时后端切换到不健康.
我的应用程序重定向到/(返回302),但我livenessProbe在pod定义中添加了一个:
livenessProbe:
httpGet:
path: /ping
port: 4001
httpHeaders:
- name: X-health-check
value: kubernetes-healthcheck
- name: X-Forwarded-Proto
value: https
- name: Host
value: foo.bar.com
Run Code Online (Sandbox Code Playgroud)
我的入口看起来像:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: foo
spec:
backend:
serviceName: foo
servicePort: 80
rules:
- host: foo.bar.com
Run Code Online (Sandbox Code Playgroud)
服务配置是:
kind: Service
apiVersion: v1
metadata:
name: foo
spec:
type: NodePort
selector:
app: foo
ports:
- port: 80
targetPort: 4001
Run Code Online (Sandbox Code Playgroud)
后端运行状况ingress describe ing如下:
backends: {"k8s-be-32180--5117658971cfc555":"UNHEALTHY"}
Run Code Online (Sandbox Code Playgroud)
入口的规则如下:
Rules:
Host Path Backends …Run Code Online (Sandbox Code Playgroud) C++模板的第4.3节 声明"不能使用浮点文字(和简单的常量浮点表达式)作为模板参数具有历史原因."
同样的,
$ 14.1/7状态 - "非类型模板参数不应声明为具有浮点,类或void类型.[示例:
template<double d> class X; // error
template<double* pd> class Y; // OK
template<double& rd> class Z; // OK"
Run Code Online (Sandbox Code Playgroud)
上述引文中正在讨论的历史原因是什么?
看看为什么Y和Z有效但不是X,整个挑战与浮动类型的非类型模板参数是否与指针/引用有关?
为什么模板非类型参数不能是类类型?
我有一个以下简单的模板:
template<class T, T N>
bool VerifyGT(T value) {
return value > N;
}
bool (*test1)(int) = &VerifyGE< int, (int) 0>; // (1)
bool (*test2)(double) = &VerifyGE< double, (double) 0.0>; // (2)
Run Code Online (Sandbox Code Playgroud)
编译时:test1初始化成功,test2失败,"不匹配所需类型".有任何想法吗?
初始代码是官方文档:Loading Large Bitmaps Efficiently。
我开始四处寻找,发现图像没有按照文档中的描述调整大小:
如果设置为 > 1 的值,则请求解码器对原始图像进行二次采样,返回较小的图像以节省内存。样本大小是对应于解码位图中单个像素的任一维度中的像素数。例如,inSampleSize == 4 返回一个图像,其宽度/高度是原始图像的 1/4,像素数是 1/16。任何 <= 1 的值都被视为与 1 相同。 注意:解码器使用基于 2 的幂的最终值,任何其他值将向下舍入到最接近的 2 的幂。
当我运行代码时:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(res, resId, options);
Log.e(LOG_TAG, "orig img size " + options.outWidth + "x" +
options.outHeight);
// Calculate inSampleSize
// options.inJustDecodeBounds = false; // version 2
for (int i = 2; i<20; i*=2) {
options.inSampleSize = i;
Log.d(LOG_TAG, "inSampleSize: " + options.inSampleSize);
Bitmap b = …Run Code Online (Sandbox Code Playgroud) 我想运行带有Dataflow流水线的管道,数据存储在Google云端存储上.
我添加了一个依赖项:
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-runners-google-cloud-dataflow-java</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-extensions-google-cloud-platform-core</artifactId>
<version>2.0.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我能够从IntelliJ启动管道.但是当jar通过a编译mvn package并运行时java -jar会抛出一个错误:
java.lang.IllegalStateException: Unable to find registrar for gs
Run Code Online (Sandbox Code Playgroud)
胖子是打包的maven-assembly-plugin.GcsFileSystemRegistrar班级在罐子里.
java maven google-cloud-storage google-cloud-dataflow apache-beam
我花了一些时间才发现只有当我尝试从 SyncAdapter 使用 gRPC 客户端时才会导致以下错误:
No functional channel service provider found. Try adding a dependency on the grpc-okhttp or grpc-netty artifact
Run Code Online (Sandbox Code Playgroud)
设置与官方教程使用同步适配器传输数据完全一样。
我已经使用与grpc-java 中的示例相同的设置生成了 gRPC 代码。compile 'com.squareup.okhttp:okhttp:2.2.0'示例中的依赖项不是必需的,因为compile 'io.grpc:grpc-okhttp:0.9.0'已修改为自包含。
当从主活动调用 gRPC 服务方法时,它工作正常。
我怀疑grpc-okhttp必须以某种方式初始化,但不知道如何初始化。
我已下载并编译:http://leenissen.dk/fann/wp/
用于编译的命令:
cmake -D CMAKE_INSTALL_PREFIX:PATH=/usr .
Run Code Online (Sandbox Code Playgroud)
安装:
sudo make && sudo make install
Run Code Online (Sandbox Code Playgroud)
然后我转到fann项目中的examples /目录并尝试通过运行编译示例:
make all
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
gcc -O3 xor_train.c -o xor_train -lfann -lm
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libfann.so: undefined reference to `sin'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libfann.so: undefined reference to `exp'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libfann.so: undefined reference to `cos'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libfann.so: undefined reference to `log'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libfann.so: undefined reference to `pow'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libfann.so: undefined reference to `sqrt'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libfann.so: undefined reference to `floor'
collect2: error: ld returned 1 exit status
make: *** [xor_train] Error 1
Run Code Online (Sandbox Code Playgroud)
更新:
如标题.我想克隆(创建现有集群的副本).
如果无法复制/克隆Google Container Engine集群,那么如何克隆Kubernetes集群?
如果那是不可能的,有没有办法转储整个群集配置?
我尝试通过调用来修改集群的配置:
kubectl apply -f some-resource.yaml
Run Code Online (Sandbox Code Playgroud)
但是没有什么能阻止我/其他员工通过运行来修改集群:
kubectl edit service/resource
Run Code Online (Sandbox Code Playgroud)
或者从命令行kubectl调用设置属性.
代码如下所示:
return pcol.apply(ParDo.named("FindTheBug")
.withSideInputs(foo)
.withSideInputs(bar(
.of(new DoFn<T, U>() {
F myFoo = c.sideInput(foo);
B myBar = c.sideInput(bar);
Run Code Online (Sandbox Code Playgroud)
声明这些侧输入,为什么Dataflow没有看到它们?