小编Vis*_*rez的帖子

如何在 VisualStudioCode 中刷新/同步 gradle 项目

我有一个导入到 VSCode 的 gradle 项目。我是 gradle 和 vscode 的新手。当我最初导入我的项目时,我没有任何编译错误,而且它构建得很好。现在,运行后gradlew clean,我到处都有红色波浪线(甚至在 JavaString关键字上)。

我该如何解决?mvn install如果有意义的话,我正在寻找与基本相同的 gradle ,或者一种同步我的 gradle 的方法。

java gradle visual-studio-code

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

如何在 Kotlin 中将对象转换为字节数组

我有一个 Kotlin 对象,需要将其转换为字节数组 ( byte[])。我了解如何将 String 和一系列其他类型的变量转换为byte[],但我找不到任何关于对对象执行此操作的信息。

这是我尝试过的:

override fun activateQuestion(instructorUserName: String, host: String, port: Int, questionToActivate: MultipleChoiceQuestion) {
        val socket = DatagramSocket()

        //This is the problem -- `.toByteArray(...)` only works for Strings
        val questionToActivateAsByteArray = questionToActivate.toByteArray(Charsets.UTF_8)

        //send byte[] data 
        val packet = DatagramPacket(questionToActivateAsByteArray, questionToActivateAsByteArray.size, InetAddress.getByName(host), port)
        socket.send(packet)
    }
Run Code Online (Sandbox Code Playgroud)

sockets arrays kotlin

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

无法连接到 Kubernetes NodePort 服务

我有一个使用以下内容创建的正在运行的 Pod pod-definition.yaml

apiVersion: v1
kind: Pod
metadata:
    name: microservice-one-pod-name
    labels:
        app: microservice-one-app-label
        type: front-end
spec:
    containers:
    - name: microservice-one
      image: vismarkjuarez1994/microserviceone
      ports:
      - containerPort: 2019
Run Code Online (Sandbox Code Playgroud)

然后我使用以下命令创建了一个服务service-definition.yaml

kind: Service
apiVersion: v1
metadata:
  name: microserviceone-service
spec:
  ports:
    - port: 30008
      targetPort: 2019
      protocol: TCP
  selector:
    app: microservice-one-app-label
  type: NodePort
Run Code Online (Sandbox Code Playgroud)

然后我跑去kubectl describe node minikube寻找我应该连接的节点 IP——结果是:

Addresses:
  InternalIP:  192.168.49.2
  Hostname:    minikube
Run Code Online (Sandbox Code Playgroud)

但是当我运行以下curl命令时没有得到任何响应:

curl 192.168.49.2:30008
Run Code Online (Sandbox Code Playgroud)

192.168.49.2:30008当我尝试从浏览器访问时,请求也会超时。

Pod 日志显示容器已启动并正在运行。为什么我无法访问我的服务?

kubernetes kubernetes-pod kubernetes-service

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

使用 Terraform 创建时,ECS Fargate 任务无法进行运行状况检查

我创建了一个 ECS 集群以及一个负载均衡器,以使用 Terraform 在 Fargate 上公开一个 basc hello-world 节点应用程序。Terraform 成功地创建了我的 aws 资源,并在 ECS Fargate 上部署了正确的映像,但该任务从未通过初始运行状况检查并无限期地重新启动。我认为这是一个端口转发问题,但我相信我的Dockerfile负载均衡器和任务定义都公开了正确的端口。

以下是我在 ECS 仪表板上查看服务的“事件”选项卡时看到的错误:

service my-first-service (port 2021) is unhealthy in target-group target-group due to (reason Request timed out).
Run Code Online (Sandbox Code Playgroud)

以下是我用于部署到 Fargate 的应用程序代码、Dockerfile 和 Terraform 文件:

index.js

service my-first-service (port 2021) is unhealthy in target-group target-group due to (reason Request timed out).
Run Code Online (Sandbox Code Playgroud)

Dockerfile

const express = require('express')
const app = express()
const port = 2021

app.get('/', (req, res) => res.send('Hello World!'))

app.listen(port, () => …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js docker terraform aws-fargate

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

如何防止在 GET 请求后调用 `GET /favicon.ico HTTP/1.1`

我有一个 Python Flask Web 应用程序。每当我通过 Chrome 浏览器访问任何端点时,都会调用一个请求来检索网页(这是预期的),但随后,Chrome 似乎会向Chrome 刚刚点击的同一端点GET发送一个后续请求。GETfavicon.ico

例如,我的应用程序在路线上暴露了以下端点/(如下所示):

# General Landing Page
@app.route('/')
def index():
    return render_template("index.html", title="Home")
Run Code Online (Sandbox Code Playgroud)

当我使用 Google Chrome 访问此端点时,index.html页面返回得很好。但我的日志消息显示以下内容:

 env FLASK_APP=app/routes.py flask run --port 5001
 * Running on http://127.0.0.1:5001/ (Press CTRL+C to quit)
127.0.0.1 - - [18/Feb/2020 23:15:23] "GET / HTTP/1.1" 200 -
[2020-02-18 23:15:23,647] ERROR in app: Exception on /favicon.ico [GET]
Traceback (most recent call last):
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,/端点被命中并返回状态代码200 OK,但随后的调用会favicon.ico出错。如何处理这个问题?

python flask

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

如何远程访问在AWS EC2上运行的Python Flask应用程序?

我有一个 Flask 应用程序,已将其克隆到我的 aws ec2 实例上。我只能使用虚拟环境运行它(我通过运行以下命令激活它):

$ python3 -m venv venv
$ source venv/bin/activate
$ pip install --upgrade pip
$ pip install flask==1.1.1
Run Code Online (Sandbox Code Playgroud)

下面是我的应用程序:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run() 
Run Code Online (Sandbox Code Playgroud)

执行时运行得很好env FLASK_APP=app.py flask run。问题是,我想使用我的 aws ec2 的公共 IP 或主机名远程访问公开的路由。每当我尝试访问它时,我都会收到一个 tiemout 错误。我认为这是因为我在虚拟环境中运行烧瓶应用程序,但我不确定。我找不到任何关于如何揭露这一点的好的教程。我这里哪里出错了?

python amazon-ec2 amazon-web-services flask

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