小编Jon*_*bek的帖子

TypeScript PostgreSQL TypeORM 将原始结果转换为实体

不幸的是,TypeORM 似乎没有提供 API 将原始结果从EntityManager.query或转换QueryBuilder.execute为实体。但是,https://github.com/typeorm/typeorm/issues/6803表明您可以使用 TypeORM 内部类,例如PlainObjectToNewEntityTransformerRawSqlResultsToEntityTransformer

我都尝试过,但运气不佳。

RawSqlResultsToEntityTransformer

 async updateOne(queryConfig: UpdateOne<User>): Promise<User> {
    const query: UpdateQueryBuilder<User> = this.createUpdateQuery(queryConfig);
    const { raw, affected } = await query.execute();

    if (!affected) {
      throw new HttpException('Could not update user', HttpStatus.CONFLICT);
    }

    const queryRunner = this.dataSource.createQueryRunner();

    const relationIdLoader = new RelationIdLoader(
      this.dataSource.manager.connection,
      queryRunner,
      query.expressionMap.relationIdAttributes,
    );

    const relationCountLoader = new RelationCountLoader(
      this.dataSource.manager.connection,
      queryRunner,
      query.expressionMap.relationCountAttributes,
    );

    const rawRelationIdResults = await relationIdLoader.load(raw);

    const rawRelationCountResults = await relationCountLoader.load(raw);

    const …
Run Code Online (Sandbox Code Playgroud)

javascript postgresql typescript typeorm

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

kubernetes k3s 代理无法连接到主 CA/SSL 错误

我正在尝试使用 k3s kubernetes 部署应用程序。目前我在负载均衡器后面有两个主节点,我在将工作节点连接到它们时遇到了一些问题。所有节点和负载平衡器在单独的虚拟机中运行。

负载均衡器是一个 nginx 服务器,配置如下。

load_module /usr/lib/nginx/modules/ngx_stream_module.so;
events {}
stream {
  upstream k3s_servers {
    server {master_node1_ip}:6443;
    server {master_node2_ip}:6443;
  }
  server {
    listen 6443;
    proxy_pass k3s_servers;
  }
}
Run Code Online (Sandbox Code Playgroud)

主节点通过负载平衡器连接,看起来它按预期工作。

ubuntu@ip-172-31-20-78:/$ sudo k3s kubectl get nodes
NAME               STATUS   ROLES                  AGE   VERSION
ip-172-31-33-183   Ready    control-plane,master   81m   v1.20.2+k3s1
ip-172-31-20-78    Ready    control-plane,master   81m   v1.20.2+k3s1
Run Code Online (Sandbox Code Playgroud)

但是,工作节点会产生有关 SSL 证书的错误吗?

sudo systemctl status k3s-agent
? k3s-agent.service - Lightweight Kubernetes
     Loaded: loaded (/etc/systemd/system/k3s-agent.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-01-24 15:54:10 UTC; 19min ago …
Run Code Online (Sandbox Code Playgroud)

ssl ca nginx kubernetes k3s

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

Node.js 可以取代 java 作为 Web 应用程序中的服务器端技术吗

我计划开始制作我的第一个大型网络项目。我目前正试图将一切可视化,但有些技术将在运行中学习。我最近学习了 JavaScript 并学习了一些 Node.js。

我想用 java 创建一个连接到 Mysql 数据库的 REST API。在做了一些不必要的研究之后,我发现了一个对我来说似乎很大胆的声明。那node.js可以在某种程度上完全取代java作为后端吗?

据我所知,Node.js 是一个基于 chromes JavaScript 引擎的运行时环境,带有一些库,如 NPM。(我还需要进一步研究)

这是一个很长的介绍,我的问题的核心是:在我的案例中,Node.js 能否取代 Java?如果可以,为什么以及如何取代?

javascript java node.js web

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

在 bash 脚本中使用 .env 属性

我有一个服务器应用程序,有两个部署,一个用于临时环境,另一个用于生产环境。我有两个单独的脚本负责启动进程。我想通过读取环境文件来合并start_production.shstart_staging.sh进入。start.sh

start_production.sh

#!/bin/bash
pm2 delete production
pm2 start "npm run build && npm run start:prod" --name production --log-date-format 'DD-MM HH:mm:ss.SSS'
pm2 logs
Run Code Online (Sandbox Code Playgroud)

检查内容,两个脚本之间的唯一区别是进程名称空间应始终与环境文件相对应。这使得加载该.env属性成为理想选择NODE_ENV

.env

NODE_ENV=staging
Run Code Online (Sandbox Code Playgroud)

最终我想做一些类似的事情

start.sh

#!/bin/bash
ENVIRONMENT={read NODE_ENV content of .env}
pm2 delete echo $ENVIRONMENT
pm2 start "npm run build && npm run start:prod" --name echo $ENVIRONMENT --log-date-format 'DD-MM HH:mm:ss.SSS'
pm2 logs
Run Code Online (Sandbox Code Playgroud)

很明显,我在 bash 脚本方面绝对是新手,所以我想要一个尽可能具体的答案。

解决方案

我将提供一个解决方案,该解决方案是基于两个当前答案的聚合解决方案

start.sh

#!/bin/bash
source .env
ENVIRONMENT="$NODE_ENV"
if [ "$ENVIRONMENT" != "production" ] && [ …
Run Code Online (Sandbox Code Playgroud)

deployment bash scripting pm2

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

制作我自己的ForEach()javascript - 元素未定义

我在javascript中自己实现forEach,其唯一目的是更好地理解语言.更具体地说,临时目标是更好地理解回调.

这是我到底有多远,直到我卡住了.

function myForEach(array, callback) {
  for (let i = 0; i < this.length; i++) {
    callback(array[i]);
  }
}

function callback(element) {
  console.log(element); //insert logic
}

const array = [2, 4, 6, 8, 10];
arr.myForEach(array, callback(element));
Run Code Online (Sandbox Code Playgroud)

在节点中运行时出现以下错误:

ReferenceError: element is not defined
    at Object.<anonymous> (C:\Users\Jonas\Desktop\FLEXBOX\test.js:54:31)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3
Run Code Online (Sandbox Code Playgroud)

我怀疑这是因为在调用函数时,不会创建在回调函数中作为参数给出的元素.这是有道理的,但是调用时真正的forEach循环不会传入已创建的值吗?

arr.forEach((element /*does not exist yet?*/) => {
    console.log(element);
});
Run Code Online (Sandbox Code Playgroud)

我也试过用lambda调用方法,但也没有得到正确的结果.但是一个不同的错误

arr.myForEach(array, …
Run Code Online (Sandbox Code Playgroud)

javascript foreach

4
推荐指数
2
解决办法
843
查看次数

在 kotlin 循环中继续 n 次

是否可以在 kotlin 循环中继续 n 次?

for(i in 0..n){
    doSomething()
    if(condition){
       //manipulate n
    }
}
Run Code Online (Sandbox Code Playgroud)

由于i出于某种原因是一个 val 我似乎无法在循环中重新初始化它。

loops continue kotlin

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

在 Windows 中生成 python ENOENT node.js

我创建了一些代码来使用 node.js 后端的 python 函数。当在我的 ubuntu 计算机上运行它时,它可以工作 - 但是!当在他的 Windows 机器上运行代码时,它会给出这个堆栈跟踪。

events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: spawn python ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
    at onErrorNT (internal/child_process.js:415:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    at Function.Module.runMain (internal/modules/cjs/loader.js:757:11)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Emitted 'error' event at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12)
    at onErrorNT (internal/child_process.js:415:16)
    [... lines matching original stack trace ...]
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Run Code Online (Sandbox Code Playgroud)

这是node.js 文件

const spawn = require("child_process").spawn;
const pythonProcess = exec('python',["./script.py", 2, 4]);

pythonProcess.stdout.on('data', function(data) {
    console.log(data.toString('utf-8'))
} )
Run Code Online (Sandbox Code Playgroud)

这是 …

spawn node.js enoent

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

如何选择将字符串写入文件的主要Java IO类?

IO包中有许多不同的类,有些似乎只有微妙的区别。如果要将一些字符串写入文本文件,然后读取它们以备后用。您将为这两个目的使用哪种类,为什么?

  • BufferedInputStream
  • 缓冲输出流
  • 缓冲写入器
  • 缓冲读取器
  • 数据输入流
  • 数据输出流
  • FileInputStream
  • FileOutputStream
  • 文件阅读器
  • FileWriter
  • InputStreamReader
  • OutputStreamReader
  • 读者
  • 作家

java io file

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

迁移时node.js 没有主键续集

这是我create_user_table在 Node.js 项目中的迁移。

'use strict';

module.exports = {
  up: (queryInterface, Sequelize) => {
    return queryInterface.createTable("comments", {
      content: {
        type: Sequelize.STRING(20),
        allowNull: false
      },
      lastName: {
        type: Sequelize.STRING(20),
        allowNull: false
      }
    })
  },

  down: (queryInterface, Sequelize) => {
    return queryInterface.dropTable("comments")
  }
};
Run Code Online (Sandbox Code Playgroud)

运行sequelize db:migrate后,结果如下:

sequelize db:migrate

Sequelize CLI [Node: 10.15.2, CLI: 5.4.0, ORM: 5.8.5]

Loaded configuration file "config/config.json".
Using environment "development".
== 20190507193540-create_comment_table: migrating =======
== 20190507193540-create_comment_table: migrated (0.021s)

== 20190507195058-create_user_table: migrating =======
== 20190507195058-create_user_table: migrated (0.011s)
Run Code Online (Sandbox Code Playgroud)

当我describe …

database migrate sequelize.js

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

为什么 BCrypt 对彩虹表特别有效?

如果有人拥有 BCrypt 的加密功能,并加密密码字典并将它们存储在 cd 上。获取对数据库中散列密码的访问权限,他们不应该这样做吗?

我希望答案是否定的。如果是这样,为什么不呢?

encryption verification hash bcrypt

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