有谁知道我如何监听分配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
但我相信我缺少一些低级网络编程知识,因此不太明白这个选项应该做什么,我只是简单地希望它应该做我想做的事,但事实上它实际上绑定到所有网络接口。
奥拉所有聪明的人.我正面临着一个问题,我正在努力解决但却失败了.我正在尝试在安装了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) 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 有办法做到这一点吗?
我有一个用例,我需要两个 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_key和foo_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 …
有没有办法让Graphite绘制图形req/s?
当您从nginx_status检索nginx请求时,您正在向石墨发送一个绝对值,所以我在想如果有什么方法可以获得每秒的速率?
我的理解是,derivative(series)会给你请求/分钟,但我真的可以使用requests/s.
干杯.
我开始玩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) 我有以下数据框:
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()我会得到如下所示的超级奇怪的信息,呃:
我使用的熊猫版本: pandas (0.20.3)
如果您想知道序列的长度是否与最高计数相同:
tmp.cumsum().max() == len(tmp)
count True
dtype: bool
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用这里描述的简单 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) 这有点棘手。我正在尝试以特定时间点的使用百分比来绘制 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 使用情况而下降和增长。我当然不会期望出现增长趋势。但我可能会错过一些东西,因此我转向这里寻求帮助。