小编Dan*_*Dan的帖子

清理用户yarn缓存会影响docker镜像吗?

在构建 docker 镜像时,按照以下步骤操作

  • 安装依赖项(RUN yarn install)
  • 生成构建(运行 ng build --prod)

如果我在 docker 文件中使用以下命令从 usr 位置清除 yarn 缓存,它会在我运行 docker 映像时产生影响吗?

运行 rm -rf /usr/local/share/.cache/yarn/*

由于 docker 图像大小为 1.2 GB,所以我清理了上面接近 450+ MB 的位置。

我正在使用不支持多阶段构建的较低版本的 docker(出于特定原因)。

另外,上面的命令是不是等价于RUN yarn clean cache?

FROM node:10-alpine

WORKDIR /app

COPY . /app

RUN apk --no-cache add yarn \
    && yarn install \
    && ng build --prod \
    && rm -rf /var/cache/apk/* \
    && rm -rf /usr/local/share/.cache/yarn/*

EXPOSE 3000

CMD ["npm", "run", "start"]
Run Code Online (Sandbox Code Playgroud)

node.js docker dockerfile yarnpkg

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

如何使用 Java 11 和 gradle 从 XSD 生成 java 类?

Java 11 取消了对 JAXB 和 xjc 等从 XSD 模式生成 java 文件的工具的支持。我在 Gradle 中找不到很多 xjc 生成的示例,并尝试了一些选项,但到目前为止没有运气。另外,应该在 Spring Boot Gradle 项目中添加哪些依赖项才能为 JAXB 提供全面支持?

java xsd jaxb gradle

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

如何防止gradle下载SNAPSHOT jar

我正在使用依赖项 module-x,它可能有也可能没有简单/其他依赖项的快照版本。当我构建应用程序时,我想确保所有琐碎/其他依赖项都是发布类型,而不是快照,因为快照不断变化。

构建.gradle 文件

dependencies {
    implementation 'org.my-group-x:module-x:1.2'
}
Run Code Online (Sandbox Code Playgroud)

它下载一堆依赖项,并且可能有多个快照类型的依赖项

module-y:2.0-SNAPSHOT.jar
module-z:3.1-SNAPSHOT.jar
module-k:2.7-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)

我如何确保它被拒绝并且不会添加到申请中?我也不知道具体排除它的依赖关系。

java spring gradle build.gradle

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

有和没有主机的入口

真的很难理解和调试 ingress 的规则。谁能分享一个好的参考?

问题是入口如何在不指定主机的情况下工作?

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      annotations:
         nginx.ingress.kubernetes.io/force-ssl-redirect: \"false\"
      name: my-app
    spec:
      rules:
        http:
          paths:
          - backend:
            path: /
              serviceName: my-app
              servicePort: http
Run Code Online (Sandbox Code Playgroud)

分配主机(例如- host: aws-dsn-name.org)后,它不起作用。更改路径后path: /v1/也不起作用:(。

如何调试/检查映射是否正确完成?

此外,何时使用extensions/v1beta1networking.k8s.io/v1beta1

kubernetes-ingress nginx-ingress

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

java 8 流的内部迭代是什么样子的

我试图理解外部迭代器与内部迭代器之间的区别,其中外部迭代器使用迭代器来枚举其元素

List<String> alphabets = Arrays.asList(new String[]{"a","b","b","d"});
         
for(String letter: alphabets){
   System.out.println(letter.toUpperCase());
}
Run Code Online (Sandbox Code Playgroud)

上面的后台代码做了类似下面的事情

List<String> alphabets = Arrays.asList(new String[]{"a","b","b","d"});    
Iterator<String> iterator = alphabets.listIterator();
while(iterator.hasNext()){
     System.out.println(iterator.next().toUpperCase());
}
Run Code Online (Sandbox Code Playgroud)

但对于内部迭代,一切都是在后台完成的,这对我来说是一个黑匣子,我想深入研究它。

就像下面的代码一样,迭代是在后台发生的,但到底发生了什么以及与 foreach 循环相比有何不同?

List<String> alphabets = Arrays.asList(new String[]{"a","b","b","d"});
alphabets.stream().forEach(l -> l.toUpperCase());
Run Code Online (Sandbox Code Playgroud)

这是我对外部迭代和内部迭代的理解。如果我错了,请纠正我。

java java-8 java-stream

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