小编Ale*_*rov的帖子

想法,sbt,无法重新分析警告

我已将我的工件推送到oss nexus repo,将其作为依赖项添加到另一个项目中.想法让我警告:

[warn] Unable to reparse com.github.kondaurovdev#jsonapi_2.11;0.1-SNAPSHOT from sonatype-snapshots, using Fri May 13 17:12:52 MSK 2016 [warn] Choosing sonatype-snapshots for com.github.kondaurovdev#jsonapi_2.11;0.1-SNAPSHOT 
Run Code Online (Sandbox Code Playgroud)

也许我以错误的方式以某种方式推送了神器?但我之前做过,一切都很好.如何摆脱这些警告?或者只是忽略它们?

publishing intellij-idea nexus sbt

44
推荐指数
2
解决办法
6936
查看次数

从案例类中获取字段名称列表

我只需要获取案例类的字段名称.我对它的价值观不感兴趣.我以为getClass.getDeclaredFields.map(_.getName)会返回一个字段名称列表.

scala> case class User(id: Int, name: String)
defined class User

scala> User.getClass.getDeclaredFields
res14: Array[java.lang.reflect.Field] = Array(public static final User$ User$.MODULE$)

scala> User.getClass.getDeclaredFields.toList
res15: List[java.lang.reflect.Field] = List(public static final User$ User$.MODULE$)

scala> val user = User(1, "dude")
user: User = User(1,dude)

scala> user.getClass.getDeclaredFields.toList
res16: List[java.lang.reflect.Field] = List(private final int User.id, private final java.lang.String User.name)
Run Code Online (Sandbox Code Playgroud)

什么是这个用户$ .MODULE $?那是什么?

当你有一个case类的实例时,方法getDeclaredFields可以正常工作,但是我不想创建一个实例以便只获取字段.

为什么这不是真的: User.getClass.getDeclaredFields.map(_.getName) == List("id", "name")

scala

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

阿卡流 2.6。如何创建 ActorMaterializer?

从 2.6 开始,我在这一行收到弃用警告:

import akka.stream.ActorMaterializer
implicit val actorMaterializer = ActorMaterializer()
Run Code Online (Sandbox Code Playgroud)

警告:

不推荐使用对象 ActorMaterializer 中的方法应用(自 2.6.0 起):使用具有流属性或配置设置的系统范围的物化器来更改默认值

我不明白该消息,我该怎么办?什么是“系统范围的物化器”,它位于某个 akka 包中?

scala akka-stream

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

JSON RPC with HTTP2 vs grpc 有什么区别?

我不喜欢同时做很多事情的工具。所以 GRPC 在我看来是开销,就像 kubernetes。GRPC 实际上是结合了两件事的工具:扩展的 Protobuf(服务支持)和 HTTP2。

我读了很多文章,说使用 GRPC 对性能来说非常棒。而且有两个原因

  • 使用protobuf,它比json或xml小。
  • GRPC 使用 HTTP2 作为传输协议

这是主要部分:protobuf 和 HTTP2是独立的项目、工具等。有了这种理解,我可以说 GRPC 只不过是结合了几种不同的工具,比如 kubernetes 结合了 docker 和编排工具。

所以我的问题是:w ^帽的实际使用GRPC VS HTTP2任何有效载荷(CSV,XML,JSON等)的优势。

让我们跳过有关序列化的部分,因为正如我提到的 protobuf 是来自 grpc 的独立库

json json-rpc protocol-buffers http2 grpc

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

带有角度cli的Npx,如何安装@angular/cli并在之后使用它

我刚找到 NPX,这个工具可以让你在没有 sudo 权限的情况下安装全局包。我想在我的角度项目中使用它。

我跑

dev@b7ee560044f1:~/project$ npx -p @angular/cli ng version
npx: installed 294 in 6.391s
Run Code Online (Sandbox Code Playgroud)

看起来不错,有效

但是如果我重试相同的命令,我会得到

dev@b7ee560044f1:~/project$ npx @angular/cli ng version
npx: installed 294 in 4.725s
Run Code Online (Sandbox Code Playgroud)

为什么 NPX 每次都安装 angular cli 包?我认为下载包只执行一次并缓存在某处..

我以为这个命令会起作用,但它没有......

dev@b7ee560044f1:~/project$ npx ng version
npx: installed 1 in 0.98s
command not found: ng
Run Code Online (Sandbox Code Playgroud)

npm angular npx

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

Sbt,编译编译桥

我想用 sbt 构建一个 docker 镜像。

这是我所拥有的:

FROM kondaurov/jdk-alpine:jdk8slim

ENV SBT_VERSION=1.2.1

RUN \
 echo "$SBT_VERSION" && \
 curl -fsL https://github.com/sbt/sbt/releases/download/v${SBT_VERSION}/sbt-${SBT_VERSION}.tgz | tar xfz - -C /usr/local && \
 ln -s /usr/local/sbt/bin/* /usr/local/bin/ && \
 sbt sbtVersion

ENTRYPOINT sbt
Run Code Online (Sandbox Code Playgroud)

当我在我的 Scala 项目中使用这个图像时,我得到了这个:

[warn] Run 'evicted' to see detailed eviction warnings

[info] Compiling 4 Scala sources to /sbt_project/project/target/scala-2.12/sbt-1.0/classes ...

[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.6. Compiling...

[info]   Compilation completed in 53.746s.
Run Code Online (Sandbox Code Playgroud)

如您所见,sbt 总是为 Scala 编译编译器桥,这需要一些时间.. 是否可以在我的图像中编译桥?我猜sbt sbtVersion是不够的

scala sbt

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

运行 npm install 时未找到 distutils

我是一个 NODE 新手,正在尝试安装和运行https://github.com/DylanAkp/AirtagsAnywhere

我使用的是装有 Python 3.12 的全新 M2 Mac

节点 18.18 和 NPM 9.8.1

并获得长流。我理解警告,但无法遵循错误。

有人能指出我正确的方向吗?

npm ERR! code 1
    npm ERR! path /Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-sass
    npm ERR! command failed
    npm ERR! command sh -c node scripts/build.js
    npm ERR! Building: /usr/local/bin/node /Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
    npm ERR! gyp info it worked if it ends with ok
    npm ERR! gyp verb cli [
    npm ERR! gyp verb cli   '/usr/local/bin/node',
    npm ERR! gyp verb cli   '/Users/airtag/Desktop/AirtagsAnywhere/front_airtags/node_modules/node-gyp/bin/node-gyp.js',
    npm ERR! gyp verb …
Run Code Online (Sandbox Code Playgroud)

npm node-gyp

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

使用Helm在Kubernetes集群中运行Nexus

有一个关系图的舵图:https : //github.com/helm/charts/tree/master/stable/sonatype-nexus

我像使用头盔一样安装了它:

helm install stable/sonatype-nexus --name=nexus
Run Code Online (Sandbox Code Playgroud)

但是由于代理关系而无法正常工作。nexus-proxy容器有日志:

[vert.x-eventloop-thread-0] [io.vertx.ext.web.impl.RoutingContextImplBase]路由中意外的异常

因此,我开始使用Google并发现了该帖子:https : //github.com/travelaudience/nexus-proxy/issues/4

除此以外,我们没有其他答案:

我遇到了这个错误。使用imageTag = 2.2.0为我解决了这个问题。

所以我删除了nexus版本并按如下方式安装了该图表:

helm install stable/sonatype-nexus --name=nexus -f nexus.yml
Run Code Online (Sandbox Code Playgroud)

nexus.yml是此文件,替换了nexus-proxy图像标签的值 https://github.com/helm/charts/blob/master/stable/sonatype-nexus/values.yaml

现在,当我点击http:// localhost:8080 /时,我得到了:

无效的主机。要浏览Nexus,请点击此处/。要使用Docker注册表,请将您的客户端指向。

Tadaaam,我做错了什么?我尝试在Mac的kubernetes中安装此图表。我尚未在GKE上成功安装此图表

nexus google-kubernetes-engine kubernetes-helm

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

Kubernetes 和不安全的注册表

我想知道是否可以工作..

我们有服务 FOO 和 BAR,它们与 Docker 注册表在同一个集群上运行。假设该集群用于生产,而不是用于开发

我们有 CI/CD 系统,负责构建镜像并将它们推送到 docker 注册表。

Docker 注册表仅在 kubernetes 专用网络中使用,我们不会在集群之外推送或拉取镜像,因为……我为什么要这样做?

+-----------------------------------------------+
|                                               |
|                           KUBERNETES          |
|    +-------+                                  |
|    | VCS   |          +----------+            |
|    |       <----------+          |            |
|    |       |          | CI/CD    |            |
|    +-------+  +-------+          |            |
|               |       +----------+            |
|               |                               |
|               |             +-----+           |
|      +--------v-----+ <-----+FOO  |           |
|      | INSECURE     |       +-----+           |
|      | DOCKER       |           +-------+     |
|      | REGISTRY     | …
Run Code Online (Sandbox Code Playgroud)

kubernetes docker-registry

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

无法理解在打字稿项目中存储自定义类型的位置

Typescript 很棒,类型很棒,但对于某些场景来说并不那么容易。

我与打字稿斗争了几天,我不明白在哪里放置需要在整个项目中使用的类型。

我知道这些类型可以包含在*.ts文件中,并且在编译时它们将被删除。但是,如果我type在另一个模块中需要它,那么我需要使用相对路径导入它。但它看起来很难看..如果我将该文件移动到另一个位置,我将破坏一半的项目。

所以我的想法是类型应该独立于它的使用位置。

我读过有关声明合并的内容,看起来这就是我想要的。

我的目标:

我想构建一个库(用于nodejs),它将在另一个打字稿项目和(也许)纯javascript项目中使用。

显然,我的库的输出将是*.js*.d.ts文件。我不想发布*.ts文件,因为我想编译它们一次,并且可以在纯 js 项目中使用它(我不想在那里带打字稿编译器)

一个文件(模块)包含单一功能。该函数有inputoutput。类型inputoutput写入d.ts文件中

declare namespace library.foo {

type main = () => out

type out = {
   name: string
}

}
Run Code Online (Sandbox Code Playgroud)

在声明旁边我放置了带有实现的文件(foo.ts):

createFoo: library.foo.main = () {
return { name: "baz"}
}
Run Code Online (Sandbox Code Playgroud)

运行后,tsc ifoo.d.ts在 dist 文件夹中看到以下输出:

declare const createFoo: library.foo.main
Run Code Online (Sandbox Code Playgroud)

我手写的声明文件留在源文件夹中,而不是在 dist 文件夹中。

tsc 中是否有任何选项可以发出包含我所有类型的单个声明文件?.js该文件将与生成的文件和所有 …

javascript typescript

5
推荐指数
0
解决办法
1205
查看次数