小编Ale*_*uer的帖子

保存并从磁盘加载crypto/rsa PrivateKey

我正在使用crypto/rsa,并试图找到一种方法来正确保存和加载密钥.是否有正确的方法来创建[]byte一个rsa.PrivateKey.如果是这样,有没有办法正确地这样做rsa.PublicKey

非常感谢你们.

cryptography rsa go

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

在http请求中设置UserAgent

我正在尝试让我的Go应用程序将其指定为特定的UserAgent,但无法找到有关如何执行此操作的任何内容net/http.我正在创建一个http.Client,并使用它来发出Get请求client.Get().

有没有办法UserAgent在客户端设置,或者根本没有?

go http-headers

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

组合绝对路径和相对路径以获得新的绝对路径

我正在编写一个程序,其中一个组件必须能够获取它给出的路径(例如/help/index.html,或/help/)和基于该位置的相对路径(例如../otherpage/index.html,或sub/dir/of/help/,或help2.html)并产生绝对路径相对路径暗示.请考虑以下目录树.

/
index.html
content.txt
help/
    help1.html
    help2.html
Run Code Online (Sandbox Code Playgroud)

该文件index.html包含类似的链接help/help1.html.程序通过/或者/index.html将它与help/help1.htmlget 结合起来/help/help1.html.

同样,该文件/help/help1.html具有链接../content.txt,程序需要从该链接返回/content.txt.有合理的方法吗?

谢谢.:)

编辑:谢谢Stephen Weinberg!对于未来的每个人,这是我使用的代码.

func join(source, target string) string {
    if path.IsAbs(target) {
        return target
    }
    return path.Join(path.Dir(source), target)
}
Run Code Online (Sandbox Code Playgroud)

path go

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

同一Go结构成员上的多个标记

我觉得这应该是一个小问题,但我已经尝试了我能想到的每一种模式,而且我没有运气.我有一个结构,需要由encoding/jsongithub.com/zeebo/bencode包编码.它碰巧包含一个通道,无法通过任何一个包进行编码.因此,它需要携带标签"-",以便跳过该字段.

type Index struct {
    Data data
    Queue chan string `json:"-"`
}
Run Code Online (Sandbox Code Playgroud)

这在json包编码时有效,但随bencode包失败.

type Index struct {
    Data data
    Queue chan string `bencode:"-"`
}
Run Code Online (Sandbox Code Playgroud)

当然,这个街区有免费的问题.我试图代码语法一样json:"-",bencode:"-",*:"-","-",-.有解决方案吗?

谢谢你们.

tags reflection json go

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

将[8]字节转换为uint64

所有.我遇到了一个似乎很奇怪的问题.(可能是我睡着了很久,我忽略了一些显而易见的事情.)

[]byte由于某些十六进制解码,我的长度为8.我需要生产一个uint64才能使用它.我试过使用binary.Uvarint(),encoding/binary从而这样做,但它似乎只使用数组中的第一个字节.请考虑以下示例.

package main

import (
    "encoding/binary"
    "fmt"
)

func main() {
    array := []byte{0x00, 0x01, 0x08, 0x00, 0x08, 0x01, 0xab, 0x01}
    num, _ := binary.Uvarint(array[0:8])
    fmt.Printf("%v, %x\n", array, num)
}
Run Code Online (Sandbox Code Playgroud)

这是在play.golang.org上.

当它运行时,它显示numas 0,即使它是十六进制,它应该是000108000801ab01.此外,如果一个人从中获取第二个值binary.Uvarint(),那么它是从缓冲区读取的字节数,据我所知,它应该是8,即使它实际上是1.

我在解释这个错误吗?如果是这样,我应该使用什么呢?

谢谢,大家好.:)

go

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

Linting Salt声明没有运行它们

我在homelab中使用Saltstack,我经常发现自己在测试时检查了一些略微破坏的规则.我希望能够在本地和Jenkins实例上检查它们的有效性,否则它们是lint它们,但我找不到任何关于我如何这样做的文档.有什么我想念的吗?

salt-stack

12
推荐指数
2
解决办法
3763
查看次数

go install总是尝试使用GOROOT并且go gov下没有列出GOPATH

我有一个非常令人沮丧的问题GOPATH,尽管被设置,但是.profile在调用时没有出现go env,并且似乎没有影响go install目标位置.

我正在尝试使用go install安装软件包,并且收到此错误,这清楚地表明它正在尝试安装/usr/lib/go,而不是预期的目录/home/me/dev/go.

$ go install github.com/songgao/colorgo
go install github.com/songgao/go.pipeline: mkdir /usr/lib/go/pkg/linux_386/github.com: permission denied
Run Code Online (Sandbox Code Playgroud)

go env 给出以下结果.

$ go env
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="386"
GOCHAR="8"
GOOS="linux"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread"
CGO_ENABLED="1"
Run Code Online (Sandbox Code Playgroud)

但它肯定定的.

$ echo $GOPATH
/home/me/dev/go
Run Code Online (Sandbox Code Playgroud)

更新:我已经导入了GOPATH ~/.profile并获得了它,但我仍然遇到同样的问题.

$ export GOPATH=/home/me/dev/go
$ go env
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="386"
GOCHAR="8"
GOOS="linux"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"
GOGCCFLAGS="-g -O2 -fPIC …
Run Code Online (Sandbox Code Playgroud)

go

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

从字符串转换为int(如果不成功则抛出错误)

如果这是一个初学者问题我很抱歉,但我似乎无法找到任何解决方案.我正在尝试使用一个string或多个参数int,具体取决于上下文,我需要确定哪种类型(然后将其转换为int它确实是那种类型.)

谢谢 :)

go

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

emacs 中的 git-commit 类似 vim 的语法高亮显示

我最近选择了 emacs 作为通用编辑器来取代 gedit 和 vim。我非常怀念 vim 的一件事是 git 语法高亮显示。我尝试过 git-el,显然没有运气。

vim git-commit 突出显示的功能是提交消息第一行的前 50 个字符的“主题行”突出显示、第二行的“错误”突出显示、注释以及添加或删除的文件的红色和绿色突出显示(其中它们本身就写在预先编写的注释中。)

emacs 是否有类似功能的语法突出显示,如果有,我将如何安装它?

git vim emacs syntax-highlighting

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

在igraph中将顶点大小与标签大小匹配

我试图在R中使用igraph绘制小型网络.网络中的每个顶点都有一个名称,相当于它的标签.我想让每个顶点都有一个矩形符号,该符号足够大以适合其标签.

这是我的主要灵感.

Hyperboria地图

使用igraph进行此操作的最佳方法是什么?

编辑:更多信息

代码在这里

jsonToNM <- function(jfile, directed=TRUE) {
  # Requires "rjson" and "igraph"

  nm.json <- fromJSON(file=jfile)
  nm.graph <- c()

  # Initialize the graph with the given nodes
  g <- graph.empty(n=length(nm.json), directed=directed)
  # Add their names
  V(g)$name <- names(nm.json)
  V(g)$label <- V(g)$name

  # Now, add the edges
  for(i in 1:length(nm.json)) {
    # If the node has a "connected" field,
    # then we note the connections by looking
    # the names up.
    if(length(nm.json[[i]]$connected > 0)) {
      for(j in 1:length(nm.json[[i]]$connected)) …
Run Code Online (Sandbox Code Playgroud)

r igraph

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

从[]字节中删除C风格的注释

所有.我正在尝试为特定类型的配置文件编写一个包装器,它是JSON编码的.不幸的是,这个文件包含C风格的注释,(///* */),这些引起了错误json.Unmarshal.有没有办法强制Unmarshal忽略这些评论,或以其他方式轻易删除它们?

我现在正在调查regexp,但我希望有一个优雅的解决方案,作为Go的初学者,我可能无法在几分钟内拿出来.

regex go

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

igraph进入边界框的边缘

我正在浏览python中的igraph示例,并继续遇到这个问题.

Kautz,热情地裁剪

最外面的顶点部分位于边界框之外.这个例子几乎没有这个问题.

(另外,在我的情况下,它似乎是为双向连接绘制额外的线,而在示例中,它只是在每一侧放置一个箭头.如果这是一个简单的解决方案,请告诉我.)

从示例页面复制的代码如下所示.

g = Graph.Kautz(m=3, n=2)
adj = g.get_adjacency()
fig.add(g, layout="fr", vertex_label=None)
fig.add(adj, bbox=(360, 0, 480, 120), grid_width=0, opacity=0.7)
fig.show()
Run Code Online (Sandbox Code Playgroud)

我的安装细节在这里.

No configuration file, using defaults
igraph 0.6 running inside Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2
Run Code Online (Sandbox Code Playgroud)

我会非常感谢任何帮助!

python igraph

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