小编soe*_*ace的帖子

`git tag`按提交日期的时间顺序排序

输出git tag按字母顺序排序.我希望它按时间顺序排序(它们被分配的提交日期,而不是它们被创建的日期),否则输出应该保持不变.

我已经尝试过来自http://networkadmin20.blogspot.de/2010/08/howto-list-git-tags-by-date.html的建议,但订单仍然相同.

为了确保它不是我的存储库的错误,我尝试使用干净的存储库:

soeren@ubuntu ~/Projects/sandbox % mkdir chronogit
soeren@ubuntu ~/Projects/sandbox % cd chronogit 
soeren@ubuntu ~/Projects/sandbox/chronogit % git init
Initialized empty Git repository in /home/soeren/Projects/sandbox/chronogit/.git/
soeren@ubuntu ~/Projects/sandbox/chronogit (git)-[master] % touch a
soeren@ubuntu ~/Projects/sandbox/chronogit (git)-[master] % git add a
soeren@ubuntu ~/Projects/sandbox/chronogit (git)-[master] % git commit -m 'a'
[master (root-commit) f88e0e9] a
 0 files changed
 create mode 100644 a
soeren@ubuntu ~/Projects/sandbox/chronogit (git)-[master] % git tag 'A-first'
soeren@ubuntu ~/Projects/sandbox/chronogit (git)-[master] % git mv a b
soeren@ubuntu ~/Projects/sandbox/chronogit (git)-[master] % …
Run Code Online (Sandbox Code Playgroud)

git sorting

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

Chai unittesting - expect(42).to.be.an('integer')

http://chaijs.com/api/bdd/#a,a/ an可用于检查一个变量的类型.

.一种)

@param{ String } type

@param{ String } message _optional_

aan断言是可以用来作为语言链或断言值的类型的别名.

但是,我无法检查变量是否为整数.给出的例子,例如expect('1337').to.be.a('string');为我工作,但以下不是:

expect(42).to.be.an('integer');
expect(42).to.be.an('Integer');
expect(42).to.be.an('int');
expect(42).to.be.an('Int');
Run Code Online (Sandbox Code Playgroud)

运行mocha时,所有这些都给我以下错误:

Uncaught AssertionError: expected 42 to be an integer
Run Code Online (Sandbox Code Playgroud)

如何用chai测试变量是否为整数?

javascript unit-testing mocha.js node.js chai

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

最佳实践返回值与例外与Enum的比较

我试图找出具有多个结果值的方法的优点和缺点.

例如,我正在使用登录方法.如果登录成功,它将通过,否则我需要知道它失败的原因.

1.返回真或假(信息不足)

bool Login(string user, string password);
Run Code Online (Sandbox Code Playgroud)

2.如果成功则返回true,否则抛出异常

public class UnknownUserException : Exception { }
public class WrongPasswordException : Exception { }
bool Login(string user, string password);
Run Code Online (Sandbox Code Playgroud)

什么也没有.如果不成功则抛出异常

public class UnknownUserException : Exception { }
public class WrongPasswordException : Exception { }
void Login(string user, string password);
Run Code Online (Sandbox Code Playgroud)

4.返回枚举值

enum LoginResult
{
    Successful
    UnknownUser,
    WrongPassword
}
LoginResult Login(string user, string password);
Run Code Online (Sandbox Code Playgroud)

"登录"只是一个示例.我想知道不同实现的优点和缺点是什么,在哪些情况下它们或多或少是合适的.

c# enums login exception

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

删除续集迁移中的约束

unique通过migrations.changeColumn函数在迁移中添加约束.

添加约束有效,但由于您需要提供"向后迁移",因此以相同方式删除它不会.向后迁移时不会出现任何错误,但会再次应用向前迁移结果Possibly unhandled SequelizeDatabaseError: relation "myAttribute_unique_idx" already exists.

(使用过的数据库是postgres)

module.exports = {
  up: function (migration, DataTypes, done) {
    migration.changeColumn(
      'Users',
      'myAttribute',
      {
        type: DataTypes.STRING,
        unique: true                 // ADDING constraint works
      }
    ).done(done);
  },

  down: function (migration, DataTypes, done) {
    migration.changeColumn(
      'Users',
      'myAttribute',
      {
        type: DataTypes.STRING,
        unique: false                // REMOVING does not
      }
    ).done(done);
  }
};
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用removeIndex

migration.removeIndex('Users', 'myAttribute_unique_idx').done(done);
Run Code Online (Sandbox Code Playgroud)

但是在还原迁移时会出现以下错误:

Possibly unhandled SequelizeDatabaseError: cannot drop index "myAttribute_unique_idx" because constraint myAttribute_unique_idx on table "Users" requires …
Run Code Online (Sandbox Code Playgroud)

javascript sql constraints sequelize.js

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

PyTorch函数中的下划线后缀是什么意思?

在PyTorch中,张量的许多方法有两种版本-一种带有下划线后缀,一种没有。如果我尝试一下,它们似乎会做同样的事情:

In [1]: import torch

In [2]: a = torch.tensor([2, 4, 6])

In [3]: a.add(10)
Out[3]: tensor([12, 14, 16])

In [4]: a.add_(10)
Out[4]: tensor([12, 14, 16])
Run Code Online (Sandbox Code Playgroud)

之间有什么区别

  • torch.addtorch.add_
  • torch.subtorch.sub_
  • ...等等?

python pytorch

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

将 ansible delegate_to 与 docker 一起使用:权限被拒绝

我想在我用 ansible 管理的机器的容器内执行一个命令。

这可以通过delegate_to命令实现(参见/sf/answers/2913838021/):

- name: Add container to inventory
  add_host:
    name: mycontainer
    ansible_connection: docker
  changed_when: false

- name: Do something in container
  delegate_to: mycontainer
  raw: echo "hello world"
Run Code Online (Sandbox Code Playgroud)

但是,我使用的用户无权访问/var/run/docker.sock. 我可以通过将用户添加到docker组来解决这个问题,但我觉得这是一种糟糕的安全做法,因为使用该用户帐户运行的任何程序现在都可以在没有密码的情况下获得 root 权限。

使用become也不起作用,因为它也会被委托给容器。

我如何使用delegate_to,但先切换到另一个用户?

permissions ansible docker

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

GitHub 工作流中的 `github.event` 有哪些属性?

使用 GitHub 操作时,可以访问表达式中的上下文。上下文之一是github上下文。它有一个属性github.event,它是一个对象。

github.event对象有什么属性?我如何区分例如推送事件和标签创建事件?

continuous-integration webhooks github-actions

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

打开已打开的文件不会引发异常

考虑这两个 python 程序:

script_a.py

from datetime import datetime
from time import sleep

while True:
    sleep(1)
    with open('foo.txt', 'w') as f:
        sleep(3)
        s = str(datetime.now())
        f.write(s)
        sleep(3)
Run Code Online (Sandbox Code Playgroud)

script_b.py

while True:
    with open('foo.txt') as f:
        s = f.read()
        print s
Run Code Online (Sandbox Code Playgroud)

运行script_a.py。在它运行时,启动script_b.py。两者都会愉快地运行,但script_b.py如果文件当前由script_a.py.

我期待引发IOError异常,告诉我文件已经打开,但它没有发生,相反文件看起来是空的。为什么会这样,检查它是否被另一个进程打开的正确方法是什么?是否可以简单地检查是否返回空字符串并重试直到读取其他内容,或者是否有更pythonic的方式?

python io exception file

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

semaphore_tracker:似乎有 1 个泄漏的信号量需要在关闭时清理 len(cache))

我通过 python3.6 运行 autokeras 代码。训练完一个模型后出现这样的警告:

Saving model.                                                              
+--------------------------------------------------------------------------+
|        Model ID        |          Loss          |      Metric Value      |
+--------------------------------------------------------------------------+
|           0            |    48.8651391018182    |   0.9489116312994325   |
+--------------------------------------------------------------------------+
/usr/local/lib/python3.6/multiprocessing/semaphore_tracker.py:143: UserWarning: semaphore_tracker: There appear to be 1 leaked semaphores to clean up at shutdown
  len(cache))
Run Code Online (Sandbox Code Playgroud)

我的训练代码:

clf = ImageClassifier(verbose=True)
clf.fit(x_train, y_train, time_limit=72*60*60)
clf.final_fit(x_train, y_train, x_test, y_test, retrain=True)
y = clf.evaluate(x_test, y_test)
print(y)
Run Code Online (Sandbox Code Playgroud)

semaphore multiprocessing python-3.x auto-keras

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

如何将Docker与GitHub Actions一起使用?

当我创建GitHub Actions工作流文件时,示例YAML文件包含runs-on: ubuntu-latest根据文档,我只有Ubuntu,Windows Server和macOS X的几个版本之间可以选择。

我以为GitHub Actions在Docker内部运行。如何选择Docker映像?

docker github-actions

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