小编gyr*_*yre的帖子

socat 侦听分配给特定网络接口的所有 IP

有谁知道我如何监听分配socat给一个特定网络接口的所有接口?我不确定这是否可能。

如果我想绑定socat到特定的,IP:PORT我总是从命令的输出中解析 IP 信息ip,然后socat像这样绑定到它:

NETIFC=$(ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)
socat -d -d TCP4-LISTEN:1234,fork,bind=$(NETIFC) UNIX-CLIENT:/tmp/foo.sock
Run Code Online (Sandbox Code Playgroud)

我想我可以通过运行socat这样的命令来实现我所追求的目标:

socat -d -d TCP4-LISTEN:1234,fork,so-bindtodevice=eth0 UNIX-CLIENT:/tmp/foo.sock

但我相信我缺少一些低级网络编程知识,因此不太明白这个选项应该做什么,我只是简单地希望它应该做我想做的事,但事实上它实际上绑定到所有网络接口。

sockets linux network-programming socat

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

pg gem无法在omnibus Chef安装上安装

奥拉所有聪明的人.我正面临着一个问题,我正在努力解决但却失败了.我正在尝试在安装了Omnibus Chef的服务器上安装pg gem,即http://www.opscode.com/chef/install/

基本上已经报告了这个问题(http://tickets.opscode.com/browse/COOK-1406)但我正在寻找一个解决方案,如果有的话 - 建议从Opscode Ubuntu repos安装包的解决方法 - 但那些带有红宝石1.8 - 我希望我不必再继续为什么我不愿意这样做:)

我在安装pg gem时遇到的错误是:

$ sudo /opt/chef/embedded/bin/gem install pg 
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

        /opt/chef/embedded/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no …
Run Code Online (Sandbox Code Playgroud)

chef-infra pg postgresql-9.1

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

如何在 Go SDK V2 中以编程方式获取 AWS 区域列表

AWS从Go SDK V2endpoints中删除了软件包。有没有办法使用 Go SDK V2 获取 AWS 区域列表?

在 V1 中你可以这样写:

    import "github.com/aws/aws-sdk-go/aws/endpoints"
    ...
    ...
    
        partitions := endpoints.DefaultPartitions()
        for _, p := range partitions {
            for region := range p.Regions() {
                validRegions[region] = struct{}{}
            }
        }
    
    ...
    ...
Run Code Online (Sandbox Code Playgroud)

然而,这似乎不再可能了。我确实注意到一个自动生成的json似乎包含所有分区,但是我似乎无法弄清楚如何获取代码中的可用区域列表。

Go SDK V2 有办法做到这一点吗?

amazon-web-services aws-sdk aws-sdk-go

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

terraform 变量默认值从局部插值

我有一个用例,我需要两个 AWS 提供商来提供不同的资源。默认aws提供程序在主模块中配置,该模块使用另一个定义附加aws提供程序的模块。

默认情况下,我希望两个提供商使用相同的 AWS 凭证,除非明确覆盖。

我想我可以做这样的事情。在主模块中:

locals {
  foo_cloud_access_key = aws.access_key
  foo_cloud_secret_key = aws.secret_key
}

variable "foo_cloud_access_key" {
  type        = string
  default     = local.foo_cloud_access_key
}

variable "foo_cloud_secret_key" {
  type        = string
  default     = local.foo_cloud_secret_key
}

Run Code Online (Sandbox Code Playgroud)

其中variablesfoo_cloud_secret_keyfoo_cloud_access_key然后将被传递到子模块,如下所示:

module foobar {
...
  foobar_access_key = var.foo_cloud_access_key
  foobar_secret_key = var.foo_cloud_secret_key
...
}

Run Code Online (Sandbox Code Playgroud)

然后在哪里module foobar配置其附加内容并提供以下变量:

provider "aws" {
  alias      = "foobar_aws"
  access_key = var.foobar_access_key
  secret_key = var.foobar_secret_key
}

Run Code Online (Sandbox Code Playgroud)

当我运行 init 时,terraform …

terraform terraform-provider-aws

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

Graphite nginx每秒请求数

有没有办法让Graphite绘制图形req/s?

当您从nginx_status检索nginx请求时,您正在向石墨发送一个绝对值,所以我在想如果有什么方法可以获得每秒的速率?

我的理解是,derivative(series)会给你请求/分钟,但我真的可以使用requests/s.

干杯.

nginx graphite

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

gocv:如何使用opencv从蓝色背景中剪切出图像

我开始玩gocv。我试图弄清楚一件简单的事情:如何从具有特定颜色背景的图像中剪切出对象。在本例中,对象是披萨,背景颜色是蓝色。

在此输入图像描述

我使用InRange函数( OpenCV 中的inRange)定义蓝色的上限和下限阈值来创建蒙版,然后使用CopyToWithMask函数( OpenCV 中的copyTo)将蒙版应用到原始图像上。我希望结果是蓝色背景,上面切掉了披萨。

代码很简单:

package main

import (
    "fmt"
    "os"

    "gocv.io/x/gocv"
)

func main() {
    imgPath := "pizza.png"
    // read in an image from filesystem
    img := gocv.IMRead(imgPath, gocv.IMReadColor)
    if img.Empty() {
        fmt.Printf("Could not read image %s\n", imgPath)
        os.Exit(1)
    }
    // Create a copy of an image
    hsvImg := img.Clone()

    // Convert BGR to HSV image
    gocv.CvtColor(img, hsvImg, gocv.ColorBGRToHSV)
    lowerBound := gocv.NewMatFromScalar(gocv.NewScalar(110.0, 100.0, 100.0, 0.0), gocv.MatTypeCV8U)
    upperBound …
Run Code Online (Sandbox Code Playgroud)

opencv go

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

熊猫绘制随时间推移的累计计数器总和

我有以下数据框:

    Joined      User ID
0   2017-08-19  user 182737081
1   2017-05-07  user 227151009
2   2017-11-29  user 227306568
3   2016-05-22  user 13661634
4   2017-01-23  user 220545735
Run Code Online (Sandbox Code Playgroud)

我正在尝试弄清楚如何绘制用户随时间的增长情况。我认为最好的方法是绘制累计和。我整理了一个简单的代码:

tmp = members[['Joined']].copy()
tmp['count'] = 1
tmp.set_index('Joined', inplace=True)
Run Code Online (Sandbox Code Playgroud)

这将产生以下结果cumsum

            count
Joined  
2017-08-19  1
2017-05-07  2
2017-11-29  3
2016-05-22  4
2017-01-23  5
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试使用它绘制图时,tmp.plot()我会得到如下所示的超级奇怪的信息,呃:

熊猫绘制的累计和

  1. 我真的不知道该图实际显示了什么(这看起来像某种累积增量趋势线?)
  2. 如何绘制随着时间推移的累积用户增长

我使用的熊猫版本: pandas (0.20.3)

如果您想知道序列的长度是否与最高计数相同:

tmp.cumsum().max() == len(tmp)

count  True
dtype: bool
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib pandas

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

简单的斑点检测器不检测斑点

我正在尝试使用这里描述的简单 blob 检测器,但是我破解的最简单的代码似乎没有产生任何结果:

img = cv2.imread("detect.png")
detector = cv2.SimpleBlobDetector_create()
keypoints = detector.detect(img)
Run Code Online (Sandbox Code Playgroud)

此代码产生空keypoints数组:

[]
Run Code Online (Sandbox Code Playgroud)

我试图检测其中的斑点的图像是:

在此处输入图片说明

我希望至少检测到 2 个斑点——根据文档simpleblobdetector检测到暗斑点,图像确实包含其中的 2 个。

我知道这可能是我在这里遗漏的非常简单的事情,但我似乎无法弄清楚它是什么。我疯狂的猜测是,它必须对 blob 的圆形度做一些事情,但是尝试各种过滤器参数我似乎无法找出正确的圆形度参数。

更新:根据下面的评论,有人建议我应该反转我的图像,尽管文档建议(除非我误读了它),我已经尝试反转它并再次运行示例:

img = cv2.imread("detect.png")
img = cv2.bitwise_not(img)
detector = cv2.SimpleBlobDetector_create()
keypoints = detector.detect(img)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

然而,正如我怀疑这给出了相同的结果 - 没有检测:

[]
Run Code Online (Sandbox Code Playgroud)

opencv

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

石墨图 CPU 使用率

这有点棘手。我正在尝试以特定时间点的使用百分比来绘制 CPU 使用情况。为此,我从中获取样本/proc/stat- 这些是绝对样本,它们看起来像这样:

app01.cpu.total.user    45997117    1358816118
app01.cpu.total.nice    165511          1358816118
app01.cpu.total.system  36679893    1358816118
app01.cpu.total.idle    3519926642  1358816118
app01.cpu.total.iowait  3854916         1358816118
app01.cpu.total.irq 2553            1358816118
app01.cpu.total.softirq 189828          1358816118
app01.cpu.total.steal   4497297         1358816118
app01.cpu.total.guest   0           1358816118
Run Code Online (Sandbox Code Playgroud)

我用来显示这些的函数是:

scale(divideSeries(stats.app01.cpu.total.user,sumSeries(stats.app01.cpu.total.*)), 100)
Run Code Online (Sandbox Code Playgroud)

基本上应该以百分比显示结果。我注意到当我像这样绘制图表时得到相同的结果:

asPercent(stats.app01.cpu.total.user,sumSeries(stats.app01.cpu.total.*))
Run Code Online (Sandbox Code Playgroud)

我的问题是,我注意到曲线在不断增长——虽然增长很小,但它正在增长——我真的不太明白为什么。事实上,它应该相当平坦,并且根据采样时的 CPU 使用情况而下降和增长。我当然不会期望出现增长趋势。但我可能会错过一些东西,因此我转向这里寻求帮助。

cpu-usage graphite

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