小编kos*_*tix的帖子

在我编辑它时(如果使用Vim),如何使提交差异出现在提交消息中?

我在vim中遇到的最大瓶颈是我需要编写提交的那一刻.通常,我不记得差异.首先我写"git diff".然后我写"git commit"但是,......"嘿!我不记得了......".因此,我需要停止写提交消息,然后我回来并运行diff消息.有时我使用两个窗口:在左边我运行"git diff".在右边我运行"git commit".这允许我写一个提交消息完成,而我可以看到每个文件的差异,...等等.

有人可以帮助我在vim工作流程中改善这一时刻吗?

git vim

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

如何在.NET Core RC2控制台应用程序(Linux,Debian 8)中使用System.Data?

我在Debian 8 amd64系统上安装了.NET Core RC2,并想测试是否可以查询Microsoft SQL Server实例.

所以我想在我的项目中添加对System.Data.SqlClient程序集的依赖.

目前,通过运行dotnet newCLI工具创建的项目文件如下所示:

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0-rc2-3002702"
    }
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

使用这个类似查询的答案,我能够添加一个System.Data.Common更改的引用

"frameworks": {
  "netcoreapp1.0": {
    "imports": "dnxcore50"
  }
}
Run Code Online (Sandbox Code Playgroud)

片段到

"frameworks": {
  "netcoreapp1.0": {
    "imports": "dnxcore50",
    "dependencies": {
      "System.Data.Common": "*"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

dotnet restore使用NuGet下载了一堆东西.

然后我尝试将该片段更改为读取

"frameworks": {
  "netcoreapp1.0": {
    "imports": …
Run Code Online (Sandbox Code Playgroud)

c# linux .net-core .net-core-rc2

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

使用接口进行模拟以进行测试

我对 Go 还很陌生,而且我来自 OOP 语言。现在,接口和类的概念似乎完全不同。

我想知道在测试时模拟如何工作。我遇到的困惑是是否可以用作struct类以及下面的方法是否是您想要的方法?假设这DefaultArticlesRepository将用于真实数据和MockArticlesRepository模拟它。

type ArticlesRepository interface {
    GetArticleSections() []ArticleSectionResponse
}

type DefaultArticlesRepository struct{}
type MockArticlesRepository struct{}

func (repository DefaultArticlesRepository) GetArticleSections() []ArticleSectionResponse {
    return []ArticleSectionResponse{
        {
            Title: "Default response",
            Tag:   "Default Tag",
        },
    }
}

func (repository MockArticlesRepository) GetArticleSections() []ArticleSectionResponse {
    return []ArticleSectionResponse{
        {
            Title: "Mock response",
            Tag:   "Mock Tag",
        },
    }
}

func ArticleSectionsProvider(v ArticlesRepository) ArticlesRepository {
    return v
}

func TestFoo(t *testing.T) {
    realProvider := ArticleSectionsProvider(DefaultArticlesRepository{})
    mockProvider := ArticleSectionsProvider(MockArticlesRepository{})

    assert.Equal(t, …
Run Code Online (Sandbox Code Playgroud)

unit-testing go go-testing

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

"git stash apply"或"git stash pop"是否还添加了修改后的提交文件?

我在本地主分支中做了一些改动.当地的变化没有上演(补充).为了更新主分支,我做了以下事情:

  1. 统计了我当地的变化.
  2. git pull
  3. git stash适用

我看到在此之后本地更改上演(添加)?它们不应该像以前一样不受影响.

git

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

如何在ejabbered/XMPP中获得发送/接收消息的确认?

如何知道该消息是使用XMPP framework和传递给其他用户ejabberd,我们使用XEP-0184类消息传递收据,我们发送收据请求,同时发送消息,但没有得到任何响应.

我的查询应该是我需要在服务器上配置任何内容(或ejabberd.cfg文件中的任何更改),或者我们需要做的任何客户端代码.

xmpp ejabberd

6
推荐指数
2
解决办法
5281
查看次数

无法使用`syscall.Kill()`一个守护进程的Go进程

我在Go中创建了一个程序来杀死一个进程 syscall.Kill()

但是,如果我使用fork()+ 继续该过程,setsid()syscall.Kill()不会杀死该过程.

如果我使用shell,kill那么在这两种情况下我都能够杀死那个进程.

我尝试了不同的信号:SIGINT,SIGTERMSIGKILLbuthey不杀守护进程.

signals daemon go sigkill

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

如何生成唯一的令牌(用于电子邮件验证)?

我想实现一个系统,在用户注册后,用户将收到一封电子邮件,其中包含一个链接以验证该电子邮件是否适用于该用户。

我生成用于验证电子邮件的令牌的方式是这样的:

import (
    "crypto/rand"
    "encoding/base64"
)

func generateToken() (string, error) {
    b := make([]byte, 35)
    _, err := rand.Read(b)
    if err != nil {
        return "", err
    }
    return base64.URLEncoding.EncodeToString(b), nil
}
Run Code Online (Sandbox Code Playgroud)

但是我想问的是这个方法行不行?如何让这个方法生成的所有token都是唯一的?

实施该系统的常规方法是什么?

请给我一些想法并告诉我这种生成令牌的方法是否好。

谢谢。

random go

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

Tk 是否提供对 Wayland 显示协议的支持?

视频向我介绍了 X 的问题以及 Wayland 协议的替代方案。多年来,Wayland 协议的采用似乎在不断增长。

我的问题:

  1. tkinter 和 tcl/Tk 是否会遵守 Wayland 协议?如果是这样,预计什么时候发生?已经发生了吗?路线图是什么?
  2. 使用 Wayland Display 协议将如何改变 tkinter 编程?

tk-toolkit wayland

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

空结构切片的地址

我有一个关于empty structs 的基本问题,并且我试图在尝试获取两个切片的支持数组元素的地址时得到以下不同输出:

a := make([]struct{}, 10)
b := make([]struct{}, 20)
fmt.Println("&a == &b", &a == &b)
fmt.Println("&a[0] == &b[0]", &a[0] == &b[0])
Run Code Online (Sandbox Code Playgroud)

上面的代码片段返回:

&a == &b false
&a[0] == &b[0] true
Run Code Online (Sandbox Code Playgroud)

但是,考虑到以下稍微改变的片段:

a := make([]struct{}, 10)
b := make([]struct{}, 20)
fmt.Println(a[0], &a[0])
fmt.Println("&a == &b", &a == &b)
fmt.Println("&a[0] == &b[0]", &a[0] == &b[0])
Run Code Online (Sandbox Code Playgroud)

上面的代码片段返回:

{} &{}
&a == &b false
&a[0] == &b[0] false
Run Code Online (Sandbox Code Playgroud)

有人可以解释上述差异的原因吗?谢谢!

[跟进]进行以下修改:

package main

import "fmt"

type …
Run Code Online (Sandbox Code Playgroud)

pointers go slice

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

lambda 层与 Go 兼容吗?

是否可以将 Golang lambda 与 AWS 的新 lambda 层功能一起使用?

我一直试图找到一种解决方案,将层与我用 Go 编写的 Lambda 函数一起使用,但我一直没能做到。我让它与 python lambda 一起工作。我觉得由于 Go 代码是编译后的二进制文件,因此无法在运行时使用层导入。如果我在本地拥有层的代码,导入也会被编译成二进制文件,这违背了使用层的目的。

有谁知道或有关于使用 Golang 的 Lambda 层的任何示例?

go amazon-web-services aws-lambda

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