小编Tim*_*and的帖子

Rubocop,如何在代码块上禁用/启用警察

我想禁用特定块或方法的警察。

我知道可以使用 禁用整个项目的警察.rubocop.yml,但我只想暂时停用代码的特定部分的警察。

ruby rubocop

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

如何选择两种模式之间的线?

我有类似下面的文件,我想打印给定的两个模式之间的界限PAT1PAT2.

1
2
PAT1
3    - first block
4
PAT2
5
6
PAT1
7    - second block
PAT2
8
9
PAT1
10    - third block
Run Code Online (Sandbox Code Playgroud)

我已经阅读了如何选择两个标记图案之间的线条,这些线条可能会出现awk/sed多次,但我很想看到所有可能的组合,无论是否打印图案.

如何选择两种模式之间的线?

regex shell perl awk sed

40
推荐指数
7
解决办法
4万
查看次数

为什么删除索引比创建它需要更长的时间?

在postgresql中,我为一个大表添加了一个索引,花了大约1秒钟(坦率地说,让我感到惊讶).

当我去掉索引时,我让它运行> 200秒而不返回,最后取消了放下操作.

CREATE INDEX idx_cservicelocationdivisionstatus_inversed
ON cservicelocationdivisionstatus (cservicelocationdivisionid, startdate, enddate DESC);
Run Code Online (Sandbox Code Playgroud)

花很少的时间,但是

DROP INDEX idx_cservicelocationdivisionstatus_inversed;
Run Code Online (Sandbox Code Playgroud)

花了这么长时间才放弃并取消了.

该表cservicelocationdivisionstatus有6列和大约310k行数据.

为什么删除索引所需的时间比创建索引要长得多?

编辑:此页面指示对于mySql,具有多个索引的表将复制表并重新插入所有行而不删除您正在删除的索引.(更糟糕的是,使用mySql,如果你在同一个表上删除多个索引,它将为你要删除的每个索引重新复制一次表,而不是聪明并重新复制数据一次而不是所有的索引你是这样的事情会发生在postgres吗?

postgresql indexing concurrency

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

当存储库在作业开始时已签出时, actions/checkout@v3 的目的是什么?

我以前使用过 GitLab,但没有明确地签出存储库。相反,它是由管道自动完成的。

因此,令我惊讶的是几乎所有 GitHub Actions 工作流程都使用例如actions/checkout@v3.

但是除了检查不同的存储库之外还有什么目的呢?

从下面的屏幕截图可以看出,当作业开始时,我的存储库已经签出:

在此输入图像描述

continuous-integration action github gitlab github-actions

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

Postgres:如果列包含 null,则将布尔列更新为 false

我有一个名为 test 的现有表,其中有两列 id 并已使用

\n\n

这里使用的包含我的表中的三个值 null、false 和 true。这里null是默认使用的

\n\n

我想更新使用 false 的行,其中使用的是 null,所以我在 Postgres 中尝试了下面的查询,但它对我不起作用。

\n\n
  update test set utilized=false where utilized=null;\n
Run Code Online (Sandbox Code Playgroud)\n

postgresql boolean sql-null

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

如何在GitHub Actions中激活conda环境?

我正在使用 GitHub Actions 设置持续集成。先决条件之一 ( samtools) 是最容易安装的conda。使用已安装软件包的标准方法是激活相应的conda环境。我正在寻找一种激活conda环境的方法。常见的激活方法均失败,详情见下文。我当前的解决方法是添加到由 . 安装的PATH硬编码路径。但如果安装的软件包数量增加,这是不可维护的。这也不是使用随.samtoolscondaconda

细节:

.github/workflows/conda.yml

name: Conda
on: [push]

jobs:
  # label of the job
  tests:
    name: Tests
    # containers must run in Linux based operating systems
    runs-on: ubuntu-latest
    # Docker Hub image that `postgres-job` executes in
    container: node:latest
    # service containers to run with `postgres-job`
    steps:
      - uses: conda-incubator/setup-miniconda@v2
        with:
          miniconda-version: "latest"
          channels: bioconda, conda-forge, defaults
          use-only-tar-bz2: true  # …
Run Code Online (Sandbox Code Playgroud)

environment installation conda samtools github-actions

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

如何使用 Ansible 和用户模块将现有公钥添加到authorized_keys 文件中?

我正在使用 Ansible 编写一个简单的任务来创建用户并添加现有的 RSA 公钥。这是我写的代码:

- name: SYSTEM - Create test user
  tags: system-user
  user: 
        name: "{{ test_user }}"
        state: present
        createhome: yes

- name: SYSTEM - Add existing pub key for test user
  tags: system-user
  copy: 
       content: "{{ test_user_pubkey }}"
       dest: "/tmp/test_user_id_rsa.pub"
       force: no
       owner: "{{ test_user }}"
       group: "{{ test_user }}"
       mode: 0600

- name: SYSTEM - Set authorized key for test_user took from file
  tags: system-user
  authorized_key:
        user: "{{ test_user }}"
        state: present
        key: "{{ lookup('file', '/tmp/test_user_id_rsa.pub') …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-keys ansible

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

无法拆分,需要类似字节的对象,而不是“str”

我正在尝试将 tshark(或任何与此相关的 shell 命令)写入文件。我试过使用 decode 和 encode 但它仍然对我大喊 split 方法不能使用数据类型。在“捕获停止”行之后,我的尝试仍在代码中作为注释。我也试过 r、a 和 a+ 作为开放模式,但我实际上使用这里使用的 ab+ 模式获得输出,所以我选择保留它。即使使用 a+ 模式也说“blah”是字节。我想将文件附加到输出中。谢谢!

import subprocess
import datetime

x="1"
x=input("Enter to continue. Input 0 to quit")
while x != "0":
    #print("x is not zero")
    blah = subprocess.check_output(["tshark -i mon0 -f \"subtype probe-req\" -T fields -e wlan.sa -e wlan_mgt.ssid -c 2"], shell=True)
    with open("results.txt", 'ab+') as f:
        f.write(blah)
    x=input("To get out enter 0")
print("Capturing Stopped")

# blah.decode()
#blah = str.encode(blah)

#split the blah variable by line
splitblah …
Run Code Online (Sandbox Code Playgroud)

python linux string shell decode

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

Postgres 时间戳之间的差异(以分钟为单位)

我正在尝试获取以下具有相同 nodeid 的数据的事件时间与计数 > 1 的 nodeid 的代码之间的时间差(以分钟为单位)

nodeid  code     event_time
CAI0015 14961045 2017-04-22 21:22:00
CAI0024 14961045 2017-04-23 19:44:00
CAI0024 14961045 2017-04-23 09:07:00
CAI0040 14971047 2017-04-23 13:58:00
CAI0046 14961045 2017-04-23 11:19:00
CAI0050 14961045 2017-04-24 02:06:00
Run Code Online (Sandbox Code Playgroud)

输出应该是这样的:

nodeid  code     difference(min)
CAI0024 14961045 637
Run Code Online (Sandbox Code Playgroud)

postgresql time

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

如何从字符串中删除和 ID

我有一个看起来像这样的字符串,它们是表中的 ID:

1,2,3,4,5,6,7,8,9
Run Code Online (Sandbox Code Playgroud)

如果有人从数据库中删除了某些内容,我将需要更新字符串。我知道这样做会删除值,但不会删除逗号。知道如何检查 id 前后是否有逗号,这样我的字符串就不会中断吗?

$new_values = $original_values[0];
$new_values =~ s/$car_id//;
Run Code Online (Sandbox Code Playgroud)

结果:1,2,,4,5,6,7,8,9使用上述样本(差)。应该是1,2,4,5,6,7,8,9

regex string perl

7
推荐指数
3
解决办法
194
查看次数