小编Ghe*_*man的帖子

如何在Emacs Lisp中捕获字符串的一部分?

在PHP我可以写

preg_match('/a(.*)b(.*)c/', '00a123b456c00', $result);
Run Code Online (Sandbox Code Playgroud)

在$结果我会得到123$result[1],456$result[2]a123b456c$result[0].如何捕获与正则表达式匹配的文本,以及它与Emacs Lisp中的不同部分?

regex emacs elisp

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

如何使用 Jest 在 TypeORM 中存根 EntityManager 和 Connection

我使用 TypeORM 和用 Jest 编写的单元测试在 Typescript 中获得了一个关于 NestJS 的应用程序。我有一个使用这样的事务的函数:

async createMany(users: User[]) {
  await this.connection.transaction(async manager => {
    await manager.save(users[0]);
    await manager.save(users[1]);
  });
}
Run Code Online (Sandbox Code Playgroud)

这是 NestJS 文档中的一个示例。我大致以相同的方式通过,this.connection.transaction但业务逻辑不同。

问题是我想做一个单元测试来测试这个服务功能。所以我需要以某种方式模拟两者this.connection及其manager. 或者至少是经理。我不确定如何使用 Jest 做到这一点。我无法在没有连接的情况下创建管理器。我无法创建一个没有管理器返回内部的模拟连接。

使用 TypeORM 和 Jest 是 NestJS 中的标准。必须有一种方法来编写带有事务的单元测试。但我不知道该怎么做。

请注意,我问的是单元测试模拟 ORM。不是直接使用测试数据库实例的集成测试。

unit-testing typescript jestjs typeorm nestjs

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

将字符串中的西里尔符号音译为Ruby中的拉丁语?

如何在Ruby中将字符串中的西里尔符号音译为拉丁语?我找不到任何关于此的文档.我认为应该有一些标准功能.

ruby transliteration cyrillic

3
推荐指数
2
解决办法
4588
查看次数

为什么mediaDevices.enumerateDevices两次列出某些设备?什么是默认值?

我在Chrome中的JavaScript中编写以下代码:

navigator.mediaDevices.enumerateDevices()
  .then((list) => {
    console.log(list);
  });
Run Code Online (Sandbox Code Playgroud)

这将输出媒体设备列表,例如麦克风和相机。每个设备都表示为具有自己的对象deviceId。但是有些设备(例如特别是一个麦克风)被列出了两次。并将它们各自的时间deviceId设置为'default'。一个默认麦克风有何特别之处?我如何知道它的实际deviceId情况呢?

javascript webrtc

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

为什么我需要一个电子邮件accaunt发送邮件ruby并且不需要这样的PHP?

mail()在php中使用了命令,并且在没有定义任何登录和密码的情况下工作正常.现在我正在学习Ruby on Rails,它是用指南编写的,我需要配置一些电子邮件,以便能够发送电子邮件.为什么我在Ruby上需要一个并且不需要任何PHP?什么是差异,什么是更好的?

php ruby email ruby-on-rails

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

将自定义配置位置添加到 Docker Postgres 映像,保留其访问参数

我写了一个这样的 Dockerfile:

FROM postgres:11.2-alpine
ADD ./db/postgresql.conf /etc/postgresql/postgresql.conf
CMD ["-c", "config_file=/etc/postgresql/postgresql.conf"]
Run Code Online (Sandbox Code Playgroud)

它只是将自定义配置位置添加到通用 Postgres 映像中。

现在我有以下docker-compose服务描述

db:
  build:
    context: .
    dockerfile: ./db/Dockerfile
  environment:
    POSTGRES_PASSWORD passwordhere
    POSTGRES_USER: user
    POSTGRES_DB: db_name
  ports:
    - 5432:5432
  volumes:
    - ./run/db-data:/var/lib/db/data
Run Code Online (Sandbox Code Playgroud)

问题是,如果添加此配置选项,我将无法再使用这些凭据远程连接到数据库。没有那条CMD线它就可以正常工作。

如果我"postgres"在它前面加上CMD它,由于底层脚本本身预先加上它,它会产生相同的效果。

postgresql docker docker-compose

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

如何从Ruby中的字符串中删除m位置的n个字符?

由于某些原因,大多数Ruby字符串函数使用预定的子字符串和模式.我对字符串的内容没有任何假设,但我需要从第m个位置删除n个字符.我怎么做?

ruby string

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