小编J. *_*son的帖子

AWS API Gateway是否支持OpenAPI 3.0?

我在文档中的某处读到AWS API Gateway包含对Swagger的支持,但Swagger现在更正式地称为OpenAPI规范,并且已经碰到主要版本3.0.

amazon-web-services swagger aws-api-gateway openapi

9
推荐指数
2
解决办法
3609
查看次数

将 node_modules 复制到 dockerfile 与安装它们

我\xe2\x80\x99 的任务是在工作中对我们的 Node 应用程序进行 docker 化。当谈到node_modules时,我与我们的首席开发人员有点分歧。

\n

他在 dockerfile 中提倡类似的东西。他的理由是 docker 镜像将更具确定性,在这一点上我不\xe2\x80\x99t 完全不同意他的观点。

\n
COPY node_modules ./\n
Run Code Online (Sandbox Code Playgroud)\n

我提倡这样的事情。我的推理.. \xe2\x80\x99 本质上是互联网上每个人都说的做法,包括Node 文档Docker 文档。我希望我是从技术角度争论的,但我似乎只能\xe2\x80\x99t 找到任何专门解决这个问题的东西。

\n
COPY package*.json ./\nRUN npm install\n
Run Code Online (Sandbox Code Playgroud)\n

那么谁是对的呢?第一种选择有哪些缺点?

\n

dependencies node.js node-modules docker dockerfile

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

如何使用默认值在 SQLite 中插入行?

更新:

这是我从下面的答案中学到的……

SQLite 支持在列上定义默认值。但是,它不支持查询中任何形式的 DEFAULT 关键字或函数。因此,实际上,不可能执行 MySQL 风格的批量插入,其中在某些行中显式设置列,而在其他行中使用列默认值。

下面列出了几种创造性的解决方法,但为了简单起见,我最喜欢 Shawn 的建议,即每行使用 INSERT 语句,可能全部包含在 BEGIN TRANSACTION 语句中。只有这样您才能使用列默认值。


原问题:

我有一个todo以此模式命名的简单 SQLite 表...

图式

我可以使用以下语法将行插入到该表中...

INSERT INTO 'todo' ('title', 'complete', 'notes') VALUES
  ('Pickup dry cleaning', true, 'They close at 7pm'),
  ('Clean apartment', false, 'Floors have already been swept'),
  ('Finish homework', true, 'Chapters 3 and 4');
Run Code Online (Sandbox Code Playgroud)

然而,

我不知道如何省略某些值并让数据库使用该列的默认值。

例如,该complete列的默认值为0。如果能够undefined作为查询中的值之一传递,那就太好了,从而向 SQLite 发出信号,表明我想使用列默认值,但当我Result: no such column: undefined尝试这样做时,出现错误。

null在这种情况下也不起作用,因为有时您希望将单元格的值显式设置为 null。您也不能简单地省略该值,因为参数是位置性的。

sql sqlite default

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

SQLite:外键“ON DELETE SET NULL”操作未触发

为什么ON DELETE SET NULL通过应用程序代码删除行时失败,但手动执行 SQL 语句时却表现正常?

我有一个待办事项表和一个类别表。todo 表有一个在类别表中category_id引用的外键,它是通过“ON DELETE SET NULL”操作创建的。id

create table `category` (
  `id` integer not null primary key autoincrement,
  `name` varchar(255) not null
);
Run Code Online (Sandbox Code Playgroud)
create table `todo` (
  `id` integer not null primary key autoincrement,
  `title` varchar(255) not null,
  `complete` boolean not null default '0',
  `category_id` integer,
  foreign key(`category_id`) references `category`(`id`) on delete SET NULL on update CASCADE
);
Run Code Online (Sandbox Code Playgroud)

我的应用程序中还有一个端点,允许用户删除类别。

categoryRouter.delete('/:id', async (req, res) => {
  const { id } = req.params …
Run Code Online (Sandbox Code Playgroud)

sql sqlite express knex.js objection.js

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

在Python中絮凝数据

我正在努力在我的絮凝功能中找到错误.

该函数的目标是获取一个列表并将每组连续值组合成一个值.例如...

[1, 4, 4, 2, 0, 3, 3, 3] => [1, 4, 2, 0, 3]

现在的功能是......

def flocculate(array):
    for index1, val1 in enumerate(array):
        if val1 == 0 or not not val1:
            new_array = array[index1+1:]
            for index2, val2 in enumerate(new_array):
                if array[index1] == val2:
                    array[index1 + index2 + 1] = False
                else:
                    break
    return [value for value in array if type(value) is not bool]
Run Code Online (Sandbox Code Playgroud)

但是,它似乎没有很好地处理零.

例如,下面显示的输入得到一些零正确,但是错过了其他一些......

[2, 4, 4, 0, 3, 7, 0, 2, 2, 2, 8, 0, 0, 0] …

python algorithm chunking

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

使用 Joi 和/或 Yup 进行模式验证,如果存在任何其他属性,是否有办法制作所需的属性集合?

以收集个人详细信息的 HTML 表单为例。

样本表格

注意:代码片段经过简化,与屏幕截图不完全匹配。此外,代码片段是使用 Yup 编写的,这是一个与 Joi 非常相似的库,面向浏览器而不是 NodeJS。

为了提交表单,我想对地址字段进行验证并使它们成为必需,但前提是用户已部分填写了地址部分。总的来说,我想让地址详细信息可选。

这是我的 PersonSchema 的简化版本...

import { object, string, number } from 'yup'

const PersonSchema = object().shape({
  name: string().required(),
  age: number()
    .positive()
    .integer()
    .required(),
  address: AddressSchema
})
Run Code Online (Sandbox Code Playgroud)

以这种方式定义 AddressSchema 不起作用,因为这些字段始终是必需的...

const AddressSchema = object().shape({
  street: string()
    .min(2, 'Too Short!')
    .max(50, 'Too Long!')
    .required(),
  city: string()
    .min(2, 'Too Short!')
    .max(50, 'Too Long!')
    .required(),
  state: string()
    .min(2, 'Too Short!')
    .max(50, 'Too Long!')
    .required()
})
Run Code Online (Sandbox Code Playgroud)

这是我尝试使地址字段依赖于其他地址字段的存在,但这不起作用,因为您遇到循环依赖问题......

const AddressSchema = object().shape({
  street: string()
    .when(['city', 'state'], { …
Run Code Online (Sandbox Code Playgroud)

javascript validation schema joi yup

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

终端/超级术语在选项卡标题中显示什么?这个可以定制吗?

我很困惑终端选项卡中显示的数据是什么。第一部分epzio显然是我的用户名。但第二部分,@C02S60BBG8WP我不知道。

注意:我将 zsh 与 oh-my-zsh 结合用于我的 shell。

是否可以自定义选项卡标题中显示的内容?我想epzio@C02S60BBG8WP完全删除该部分并仅显示当前工作目录。

另外,为什么我的标签标题无缘无故地变成蓝色?我认为只有当您有特定的进程(例如节点正在运行)时,才会发生这种情况。正如您在下面的屏幕截图中看到的,tic-tac-toe即使该选项卡中没有发生任何事情,该选项卡也已变成蓝色。

更新:似乎解决方案可能涉及对 进行更改~/.oh-my-zsh/lib/termsupport.zsh,但我不确定当 oh-my-zsh 更新自身时这些是否会被覆盖。

在此输入图像描述

unix terminal zsh oh-my-zsh hyperterm

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