小编mar*_*o.m的帖子

如何从mercurial存储库中安全地禁用/删除largefiles目录?

在过去,我一直在使用mercurial中的largefiles扩展来将数据与我一直在处理的代码一起保存.我认为这是一个错误,我想删除"largefiles"目录(8GB).我们的网络用户目录限制为10 GB,我需要空间.我很久没有使用任何大文件了.当他们永远消失时,我不会想念他们.

所以我的问题是

  1. 我可以删除.hg下的largefiles目录而不损坏repo吗?
  2. 如果我这样做,即使丢失了一些大型数据文件,我能否查看旧代码?
  3. 我应该从该repo的所有克隆中删除这些文件,以避免再次使用来自另一个克隆的largefiles污染所有repos吗?

version-control mercurial large-files mercurial-extension

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

如何在 Raspberry pi 1 model B 中交叉编译 FreeBSD 的 go 应用程序

Raspberry Pi 1 model B上,我使用 SD 卡映像RPI-B安装了FreeBSD 10.3

我可以启动、获取网络、通过 ssh 进入等等,一切似乎都正常且功能正常。这是 dmesg 输出的一部分:

FreeBSD 10.3-RELEASE #0 r297264: Fri Mar 25 08:01:14 UTC 2016
    root@releng1.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI-B arm
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
VT: init without driver.
CPU: ARM1176JZ-S rev 7 (ARM11J core)
 Supported features: ARM_ISA THUMB2 JAZELLE ARMv4 Security_Ext
 WB enabled LABT branch prediction enabled
  16KB/32B 4-way instruction cache
  16KB/32B 4-way write-back-locking-C data cache
real memory  = 503312384 (479 MB)
avail memory = 483127296 (460 …
Run Code Online (Sandbox Code Playgroud)

coredump freebsd cross-compiling go

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

如何让 Terraform 中的 Docker 提供程序在尝试连接之前等待地址可用?

我在 Terraform 中有以下资源:

provider "docker" {
    host = "tcp://${digitalocean_droplet.docker_server.ipv4_address}:2376/"
}
Run Code Online (Sandbox Code Playgroud)

这依赖于在ipv4_address连接到 docker 机器之前要知道的值。在供应另一个资源之前,该值是未知的:

provider "docker" {
    host = "tcp://${digitalocean_droplet.docker_server.ipv4_address}:2376/"
}
Run Code Online (Sandbox Code Playgroud)

当我运行时terraform plan,出现以下错误:

错误:初始化 Docker 客户端时出错:无法解析 docker 主机``

在 docker.tf 第 1 行,在提供者“docker”中:1:提供者“docker”{

它似乎ipv4_address是空的,因为 docker 插件在配置之前尝试连接到 docker 机器。我如何告诉它在尝试连接之前等待机器配置?


我尝试过的一件事:

provider "docker" {
    host = "tcp://${digitalocean_droplet.docker_server.ipv4_address}:2376/"
    depends_on = [
        digitalocean_droplet.docker_server.ipv4_address,
    ]
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到此错误:

错误:提供程序块中的保留参数名称

在 docker.tf 第 4 行,在提供者“docker”中:4:depends_on = [

提供程序参数名称“depends_on”保留供 Terraform 在未来版本中使用。

但是阅读更多内容depends_on,我认为无论如何这都不是解决方案。

terraform terraform-remote-state terraform-provider-docker

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

获取:go:加载模块需求时出错

我正在尝试为从 git 下载的 SLACK 机器人运行 go 脚本。 https://github.com/nlopes/slack/blob/master/examples/websocket/websocket.go#L34

我在 websocket.go 中替换了我的机器人的授权代码

rchughta@C02WW32YHTD6 ~/g/s/e/websocket> go run websocket.go
go: finding github.com/pmezard/go-difflib v1.0.0
go: finding github.com/davecgh/go-spew v1.1.1
go: finding github.com/stretchr/testify v1.2.2
go: finding github.com/pkg/errors v0.8.0
go: finding github.com/gorilla/websocket v1.2.0
go: github.com/gorilla/websocket@v1.2.0: unknown revision v1.2.0
go: github.com/davecgh/go-spew@v1.1.1: unknown revision v1.1.1
go: github.com/pkg/errors@v0.8.0: unknown revision v0.8.0
go: github.com/stretchr/testify@v1.2.2: unknown revision v1.2.2
go: github.com/pmezard/go-difflib@v1.0.0: unknown revision v1.0.0
go: error loading module requirements
Run Code Online (Sandbox Code Playgroud)

go go-modules

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

如何使用osslsigncode执行代码签名

您能帮我弄清楚如何使用证书对软件进行签名吗?您知道signtool只能在Windows机器上工作,但是我需要在linux服务器上对文件进行签名。现在,系统像这样工作,文件建立在linux服务器上,然后移动到win服务器进行签名,然后再次返回linux。

我尝试使用google,并发现了使用osslsigncode程序签名的新方法。

我现在的问题是如何将证书从MS转换为osslsigncode格式。所以现在我要做的步骤是永久拥有两个文件:cert.crt和key.blob首先,我需要将它们转换为.pfx格式:

openssl rsa -inform MS/PRIVATEKEYBLOB -in key.blob -outform PEM -out key.pem
openssl rsa -in key.pem -outform PVK -pvk-strong -out key.pvk
pvk2pfx -pvk key.pvk -pi 1234 -spc cert.crt -pfx cert.pfx
Run Code Online (Sandbox Code Playgroud)

然后我可以用命令签名我的软件

signtool.exe sign /v /f cert.pfx /p 1234 soft.exe
Run Code Online (Sandbox Code Playgroud)

您能告诉我使用osslsigncode程序需要执行哪些转换步骤吗?

openssl code-signing signtool

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

Erlang的TestKit

是否有任何类型的Erlang测试框架,类似于Akka中的TestKit

目标是在集成环境中测试进程,例如,在一端向一组进程发送一些消息,并在另一端发出结果消息.Akka Testkit使这些类型的测试相当简单,但我还没能在Erlang中找到相应的.

编辑:作为我正在寻找的最简单的例子,假设我们有一个进程A,它应该向进程B发送一条消息,我想测试这种行为.

在Akka中,我可以基于TestKit类实例化一个actor,它有一个内置方法expectMsg.所以我的测试看起来像这样:

  • 实例化一个模拟B演员
  • 实例化A actor(以某种方式获取对B的引用)
  • 发送B消息
  • 调用B.expectMsg来验证它是否收到了消息(请注意
    • 这会自动确保没有其他类型的消息发送到B,和
    • 你可以选择提供超时)

在Erlang中是否有支持此类工作流的库?据我所知,EUnit和CT都不支持这种测试.

要了解更复杂的断言,请参阅此页面:http://doc.akka.io/api/akka/2.0/akka/testkit/TestKit.html

testing erlang

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

clojure 规范 - 验证地图的内容

我想为地图创建一个 clojure 规范,该地图具有有关特定键存在的规则。

地图必须有一个:type并且可以有一个:default:value两个但不能同时有。我试过:

(s/def ::propertyDef
  (s/keys :req [::type (s/or ::default ::value) ] :opt [::description ::required]))
Run Code Online (Sandbox Code Playgroud)

但我得到了

CompilerException java.lang.AssertionError: Assert failed:
    spec/or expects k1 p1 k2 p2..., where ks are keywords
    (c/and (even? (count key-pred-forms)) (every? keyword? keys)),
    compiling:(C:\Users\MartinRoberts\AppData\Local\Temp\form-init4830956164341520551.clj:1:22) 
Run Code Online (Sandbox Code Playgroud)

但是or给了我一个错误,因为它的格式错误。我不得不承认并没有真正理解s/or.

clojure clojure.spec

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

如何将此写为递归Clojure函数?

我将用Python描述我想做什么(我想在Clojure中写这个).我有这个功能:

def f(n):
    s=0
    for d in range(1,n+1):
        s+=d*(n//d)
    return(s)
Run Code Online (Sandbox Code Playgroud)

这基本上是从d = 1到n包含循环,并且总结了d/d的最低值的d倍的值.

在Clojure中我想让它成为一个递归函数.Python等价物:

def f(d, n):
    if d == 0: return 0
    else: return d*(n//d) + f(d-1, n)
Run Code Online (Sandbox Code Playgroud)

然后我会调用函数f(n, n).

我在尝试这个:

(defn f
     ([n] (f n n))
     ([d n]
      (if (> d 0)
         (recur (dec d) n)
        0)))
Run Code Online (Sandbox Code Playgroud)

但是我不知道到目前为止这是否正确,或者在总和或者如何做到这一点等等.

recursion sum clojure

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