小编Pha*_*aoh的帖子

适用于Windows和Linux的Go命名管道

我是Go的新手,我想在Golang中创建Named Pipes实现,它适用于Windows和Linux.

我设法让代码在Ubuntu上运行,但是这个代码在Windows上不起作用

Go中没有任何抽象,允许您在两个环境中使用命名管道

下面是我的代码

//to create pipe: does not work in windows    
syscall.Mkfifo("tmpPipe", 0666)    

// to open pipe to write    
file, err1 := os.OpenFile("tmpPipe", os.O_RDWR, os.ModeNamedPipe)    

//to open pipe to read    
file, err := os.OpenFile("tmpPipe", os.O_RDONLY, os.ModeNamedPipe)
Run Code Online (Sandbox Code Playgroud)

任何帮助或指针都会有很大帮助.谢谢

named-pipes go

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

Azure 资源标识符格式 URI -URL 或 URN

我正在使用 Azure,我注意到它为每个资源组和资源创建了一个如下所示的 ID。

对于资源组 /subscriptions/<Subscriptionid>/resourceGroups/<resourcegroupname>

对于资源,它看起来像这样 /subscriptions/<Subscriptionid>/resourceGroups/<resourcegroupname>/providers/Microsoft.Compute/disks/<disk name>

这是 azure 的唯一标识符。

这是什么类型的 URI,是 URL 还是 URN?

url uri azure urn

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

在Apache Kafka中使用producer.properties和consumer.properties文件

在Kafka包中有一个配置文件夹,其中包含各种配置文件.这个文件夹有consumer.properties和producer.properties文件,这些配置是在我们运行Kafka Cluster时使用的,当我们的代码连接到kafka集群时,还是这些只是示例属性文件?文档对此不是很清楚.

我们有一个自动化作业,可以创建和部署新的kafka节点,我需要知道是否需要在这些文件中进行任何更改.

apache-kafka

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

Cassandra更改主键与触发多个选择查询

我有一个表存储用户拥有的列表产品.该表看起来像这样.

create table my_keyspace.userproducts{
  userid,
  username,
  productid,
  productname,
  producttype,
Primary Key(userid)
}
Run Code Online (Sandbox Code Playgroud)

所有用户都属于一个组,组中最多可以有1到100个用户

userid|groupid|groupname|
1     |g1     | grp1  
2     |g2     | grp2  
3     |g3     | grp3  
Run Code Online (Sandbox Code Playgroud)

我们有新要求在一个组中显示所有用户的所有产品.

所以我更改了我的用户产品,以便我的分区键现在是groupid并将userid作为我的群集密钥,这样我就可以在一个查询中获得所有结果.

或者我保持我的表设计原样并通过从第二个表中选择组中的所有用户来激发多个选择查询,然后为每个用户触发一个选择查询,在我的代码中合并数据然后将其返回给用户

谢谢.

cassandra nosql database-partitioning scylla cassandra-3.0

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

使用io.Pipes()发送和接收消息

我在程序中使用os.Pipes(),但是由于某种原因,每次我尝试从中写入或读取数据时,它都会给出错误的文件描述符错误。

我做错了什么吗?

下面是代码

package main

import (
    "fmt"
    "os"
)

func main() {

    writer, reader, err := os.Pipe()
    if err != nil {
        fmt.Println(err)
    }


    _,err= writer.Write([]byte("hello"))


    if err != nil {
        fmt.Println(err)
    }
    var data []byte

    _, err = reader.Read(data)


    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(string(data))
}
Run Code Online (Sandbox Code Playgroud)

输出:写入| 0:无效的参数读取| 1:无效的参数

go

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