小编xpt*_*xpt的帖子

Go:循环排序数组,sort.Sort 用作值

如何循环排序数组?

我收到“sort.Sort used as value”错误:https : //play.golang.org/p/HP30OyJVrz

package main

import (
    "fmt"
    "sort"
)

type Person struct {
    Name string
    Age  int
}

func (p Person) String() string {
    return fmt.Sprintf("%s: %d", p.Name, p.Age)
}

// ByAge implements sort.Interface for []Person based on
// the Age field.
type ByAge []Person

func (a ByAge) Len() int           { return len(a) }
func (a ByAge) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
func (a ByAge) Less(i, j int) bool …
Run Code Online (Sandbox Code Playgroud)

arrays sorting go

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

去,是否有可能推迟sub func

可以放入defer子功能吗?

即,对于线12的FUNC〜16 test1()https://play.golang.org/p/evabhcjvNs(下面封闭)

是否有可能将它们置于子功能中?就像我尝试过的那样test2()(但这种行为不同于test1()).

我要问的原因是,对于func的第12~16行test1(),我的实际代码是从持久数据中恢复变量,然后defertest1()完成时使用它来保存它.但是,有些情况下整个恢复/保存不是必需的,所以我正在考虑一种更好的方法来控制它.

谢谢

package main

import "log"

func main() {
    test1()
    log.Printf("==== \n")
    test2()
}

func test1() {
    r, err := Open("a")
    if err != nil {
        log.Fatalf("error opening 'a'\n")
    }
    defer r.Close()

    r.Use()
}

func test2() {
    r := subc()
    r.Use()
}

func subc() *Resource {
    r, err := Open("a")
    if err != nil {
        log.Fatalf("error opening 'a'\n")
    }
    defer r.Close() …
Run Code Online (Sandbox Code Playgroud)

go deferred-execution

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

Newtonsoft.Json,Path返回了多个令牌

对于此代码:

JObject o = JObject.Parse(jsStr);
var sel = o.SelectToken(".items[*].owner");
Run Code Online (Sandbox Code Playgroud)

其中jsStrhttps://api.github.com/search/repositories?q=Newtonsoft.Json&sort=stars&order=desc的内容

我会得到错误的

Path returned multiple tokens.
Run Code Online (Sandbox Code Playgroud)

如何使其工作?

c# json json.net

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

使用API​​的Bintray Debian存储库创建和上传文件

我正在关注Bintray的Debian存储库中的步骤和答案 多个错误和意外行为

但是,我的Bintray Debian文件上传尝试仍然失败了:

{"message":"Unable to upload files: Debian distribution, component and architecture were not found on repo and were not specified"}
Run Code Online (Sandbox Code Playgroud)

这是我的curl命令:

curl -T libterm-screencolor-perl_1.09-1_all.deb -umyid:mybintraykey https://api.bintray.com/content/myid/myrepo/libterm-screencolor-perl/1.09-1/pool/main/l/libterm-screencolor-perl_1.09-1_all.deb;deb_distribution=all;deb_component=main;deb_architecture=i386,amd64;override=1
Run Code Online (Sandbox Code Playgroud)

基本上我得到与Bintray上的Debian存储库完全相同的错误 多个错误和意外行为 ,原因完全相同.

所以我决定从头开始,首先通过API创建Bintray Debian存储库.
这是我的代码:

curl -umyid:mybintraykey https://api.bintray.com/repos/myid/deb -d '{"name":"deb","type":"debian","default_debian_architecture":"amd64","default_debian_distribution":"all","default_debian_component":"main","private":false,"desc":"This repo...","business_unit":"businessUnit1","labels":["label1","label2"],"gpg_sign_metadata":false,"gpg_sign_files":false,"gpg_use_owner_key":false}'
Run Code Online (Sandbox Code Playgroud)

我没有错误,但也没有回应.当我从Bintray Web UI检查时,未创建存储库.试图添加"version_update_max_days" : 60到JSON也无济于事.

怎么了?

debian curl bintray

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

在单独的文件中共享公共常量和日志功能

使用相同的NodeJS项目在不同文件之间共享常量有哪些选择?

我正在关注, https://www.reddit.com/r/javascript/comments/3bo42p/sharing_constants_in_es6_modules/

$ cat  constants.js
const ALABAMA  = 1;
const ALASKA = 3;
const ARIZONA =4;
Run Code Online (Sandbox Code Playgroud)

更新,其他详细信息已删除,因为它不是一个很好的例子,我可以遵循我的具体问题.

同样,沿着同一条线,

我希望使用这个软件包,https://www.npmjs.com/package/brolog拥有通用日志工具

但是,我发现在index.js文件中初始化它并不足以让所有其他文件都使用它.

const brolog = require('brolog')
const log = new brolog.Brolog()

const logLevel = process.env['MY_LOG']

if (logLevel) {
  log.level(logLevel)
  log.verbose('Config', 'Log Level set to %s', logLevel, log.level())
}
Run Code Online (Sandbox Code Playgroud)

我不想在我的所有NodeJS文件中重复上述所有设置.

那么,如何在同一个NodeJS项目中的不同文件之间共享公共常量和日志功能?

PS.这只是一个小而简单的项目,我不想为此引入/使用像commonJS这样的大型npm模块.

javascript constants node.js ecmascript-6

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

npm 链接会导致找不到模块问题吗?

我正在尝试从普通 JavaScript 项目中学习如何使用 TypeScript 模块的概念,在我看来,我只能使用 npm 链接的模块,而不能使用 npm 链接到其他模块的模块。让我用一个例子来解释:

$ cat index1.js 
const { add, multiply, divide } = require('module-a')

const newfunc = (a, b) =>
       divide(multiply(add(a, b), 6), 2);

const result = newfunc(1, 2)
console.log(result);

$ node index1.js
9
Run Code Online (Sandbox Code Playgroud)

module-a是我从我的 JavaScript 项目中 npm 链接到的 TypeScript 模块。它工作正常。现在:

$ diff -wU 1 index1.js index2.js
--- index1.js   2019-01-01 16:25:50.000000000 -0500
+++ index2.js   2019-01-01 16:37:33.000000000 -0500
@@ -1,2 +1,3 @@
 const { add, multiply, divide } = require('module-a')
+const …
Run Code Online (Sandbox Code Playgroud)

javascript node.js npm typescript

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

在Docker中构建干净的Go应用程序

我正在尝试将Go Web服务器创建为小型Docker映像。理想情况下,干净的图像仅包含Go应用程序本身(并可能支持Web组件,而不包含Go构建环境)。

这是我的Dockerfile

# golang:latest as build-env
FROM golang:latest AS build-env

RUN mkdir /app
ADD . /app/
WORKDIR /app
RUN cd /app && GO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o myapp .
# go build -o myapp

FROM scratch
COPY --from=build-env /app/myapp /app/images /

EXPOSE 8080
ENTRYPOINT /myapp
Run Code Online (Sandbox Code Playgroud)

它使用Docker Builder模式和临时映像,这是一个空的特殊Docker映像。

它构建良好,但是当我运行它时,我得到:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory": unknown.
Run Code Online (Sandbox Code Playgroud)

更新:

因此 …

build go docker

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

没有 Docker Desktop 的 WSL 下的 Docker

这是关于从 WSL 中运行 Docker 而不使用 Docker Desktop 的问题。对于WSL2是可行的,因此这个问题的重点是专门针对WSL1。根据我的研究,

\n
    \n
  • 有人说 “Docker 守护进程不能直接在 WSL 上运行”,而
  • \n
  • 另一篇文章称,在 Docker 社区版 17.09.0 的帮助下, Docker 可以“在 Windows 子系统 Linux 中无缝运行”,因为“对 WSL 内核进行了重大更改,允许使用 Docker 管理系统所需的 cgroup” \xe2\x80\x99s 资源放入容器中。”
  • \n
\n

我的docker在debian bullseye下是20.10.5。还会好吗?

\n

我尝试了一下,得到了:

\n
iptables can\'t initialize iptables table `nat\': Table does not exist\n
Run Code Online (Sandbox Code Playgroud)\n

Iptables v1.6.1 can'tinitialize iptables table `filter' Ubuntu 18.04 Bash Windows的答案是,

\n
\n

根据 github.com 上的 …

docker windows-subsystem-for-linux wsl-2

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

获取 ROW NUMBER 条随机记录

对于像这样的简单 SQL,

SELECT top 3 MyId FROM MyTable ORDER BY NEWID()
Run Code Online (Sandbox Code Playgroud)

如何向它们添加行号,使行号变为1,2,3?

更新:

我以为我可以像上面那样简化我的问题,但事实证明它更复杂。所以这里是一个更完整的版本——我需要MyTable为每个人提供三个随机选择(来自 ),选择/行号为 1、2 和 3,并且人和选择之间没有逻辑连接。

SELECT * FROM Person
LEFT JOIN (
  SELECT top 3 MyId FROM MyTable ORDER BY NEWID()
) D ON 1=1
Run Code Online (Sandbox Code Playgroud)

上述 SQL 的问题是,

  • 显然,应该添加1、2、3的选/行号
  • 不明显的是,上面的 SQL 会给每个人相同选择,而我需要给不同的人不同的选择

下面是一个用于测试它的有效 SQL:

SELECT TOP 15 database_id, create_date, cs.name FROM sys.databases
CROSS apply ( 
  SELECT top 3 Row_number()OVER(ORDER BY (SELECT NULL)) AS RowNo,*
  FROM (SELECT top 3 name from sys.all_views ORDER BY …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

如何知道SSH密钥的长度?

如何知道SSH密钥的长度?

git pull最近收到以下错误,

$ git pull
> GitLab: Your SSH key must be at least 2048 bits.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

以前一切正常。

不是猜测(或试错)哪个密钥是罪魁祸首,是否可以列出我所有的 SSH 密钥长度?

更新:

linux ubuntu openssh key ssh-keys

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

在 Go 编程中使用 golang-Debian 软件包

要理解这个 Go 问题,需要先了解一下 Debian 打包 Go 模块的要点。基本上,Go 模块 Debian 软件包的设计是只能由 Debian 软件包本身使用,而不能用于我们日常的 Go import

然而,因为它们只是我的操作系统文件系统中的文件,所以我们肯定有办法在日常 Go 中使用 Debian 软件包import。以前有人成功做到过吗?

我问的原因是,有很多 github 存储库包含巨大的模块,但我想要的只是其中的一小部分,而该部分恰好已经打包为 Debian 软件包。也就是说,使用go get将为我提供大量我不需要的代码库,同时apt get可以为我提供我需要的东西,如果我可以利用它的话。

debian module package go

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

如何遵循seaborn的例子

每个官方的seaborn演示/示例都以sns.load_dataset().我想知道在哪里可以获得这些seaborn数据集,以便我可以按照这些示例进行操作?

我试图使用"在哪里找到官方的seaborn数据集"等短语找到它们,但没有得到点击.

更新:

那么,我该如何使用它们呢?我正在关注http://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.boxplot.html,这是我得到的唯一一件事,即我没有获得任何图表.

我的seaborn和pandas都工作得很好.它们来自我的Anaconda安装,并且都是最新版本.我正在使用的matplotlib版本也适用于seaborn.

@gabra,我在问问题之前从互联网上找到了那些csv文件,因为我认为它们只是csv文件,不能直接使用sns.load_dataset(xxx),对吧?

python dataset seaborn

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