小编Kev*_*rke的帖子

继承类属性(python)

有没有办法完成这样的事情?我在Python工作,但我不确定是否有办法在任何编程语言中做到这一点......

class Parent():
    class_attribute = "parent"

    @staticmethod
    def class_method():
        print __class__.class_attribute

class Child(Parent):
    class_attribute = "child"
Run Code Online (Sandbox Code Playgroud)

我知道我不能__class__直接打电话.它只是一个例子,因为我想要类似于类本身的引用,因为我希望子类基于其class_attribute以不同的方式行动.

然后假定的输出应该是这样的:

> Parent.class_method()
"parent"
> Child.class_method()
"child"
Run Code Online (Sandbox Code Playgroud)

我知道通过实例可以实现相同的技术.但是我不想创建实例,因为有时候__init__方法中的代码可能很长并且要求很高,如果我想class_method经常调用,我将不得不创建大量用于这个方法调用的实例.因为class_attributeclass_method是静态的,不会被实例改变.

python inheritance overriding

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

有多少nginx缓冲区太多了?

阅读nginx文档,该proxy_buffer命令有以下解释性消息:

该指令设置缓冲区的数量和大小,从代理服务器获取答案.默认情况下,一个缓冲区的大小等于页面大小.根据平台,这是4K或8K.

默认值为8个4k或8k缓冲区.作者为什么nginx选择八个而不是更高的数字呢?如果我添加更多缓冲区或更大的缓冲区大小会出现什么问题?

proxy buffer nginx

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

是否可以使用Twilio一次向多个号码发送一条消息?

我正在开发一个应用程序,允许用户添加人员,信息和姓名/电话,或从他们的iPhone联系人列表中选择多个号码,以便向所选号码发送短信.问题是每次都需要调用Twillio API.他们是否可以为多个号码调用API一次?

  • 是否可以一次向多个号码发送消息?
  • 是否可以发送多条消息?

提前致谢

api sms messages twilio ios7

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

`cargo package`:错误:找不到主要功能

我正在尝试使用cargoRust 的包管理器打包库.当我尝试cargo package文档运行时,我得到以下输出:

error: main function not found
error: aborting due to previous error
failed to verify package tarball
Run Code Online (Sandbox Code Playgroud)

我糊涂了.我正在尝试打包一个库(具有有用的外部函数),所以我希望我不需要一个main函数.这是我的Cargo.toml:

[package]

name = "package-name"
version = "0.0.1"
authors = [ "Kevin Burke <kev@inburke.com>" ]
Run Code Online (Sandbox Code Playgroud)

这是我的目录结构:

.
??? Cargo.lock
??? Cargo.toml
??? src
?   ??? main.rs
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

rust rust-cargo

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

如何告诉客户端他们需要从Go服务器发送整数而不是字符串?

假设我在服务器上有以下Go结构

type account struct {
    Name    string
    Balance int
}
Run Code Online (Sandbox Code Playgroud)

我想在传入的请求上调用json.Decode来将其解析为一个帐户.

    var ac account
    err := json.NewDecoder(r.Body).Decode(&ac)
Run Code Online (Sandbox Code Playgroud)

如果客户端发送以下请求:

{
    "name": "test@example.com", 
    "balance": "3"
}
Run Code Online (Sandbox Code Playgroud)

Decode()将返回以下错误:

json: cannot unmarshal string into Go value of type int
Run Code Online (Sandbox Code Playgroud)

现在可以将其解析为"你为Balance发送了一个字符串,但你真的应该发送一个整数",但这很棘手,因为你不知道字段名称.如果请求中有很多字段,那么它也会变得更加棘手 - 您不知道哪个字段无法解析.

在Go中获取传入请求的最佳方法是什么,并为请求中的任意数量的整数字段返回错误消息"Balance必须是字符串"?

json go

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

通过发送SIGTERM停止正在运行的Docker容器

我有一个非常简单的Go应用程序在端口8080上侦听

http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(200)
    w.Header().Set("Content-Type", "text-plain")
    w.Write([]byte("Hello World!"))
})
log.Fatal(http.ListenAndServe(":8080", http.DefaultServeMux))
Run Code Online (Sandbox Code Playgroud)

我将它安装在Docker容器中并像这样启动它:

FROM golang:alpine
ADD . /go/src/github.com/myuser/myapp
RUN go install github.com/myuser/myapp
ENTRYPOINT ["/go/bin/myapp"]
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)

然后我使用docker run以下命令运行容器:

docker run --publish 8080:8080 first-app
Run Code Online (Sandbox Code Playgroud)

我希望,像大多数程序一样,我可以将SIGTERM发送到正在运行的进程docker run,这将导致容器停止运行.我发现发送SIGTERM没有效果,而是我需要使用像docker kill或的命令docker stop.

这是预期的行为吗?我已经在论坛和IRC上询问并且没有得到答案.

docker

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

如何估计 Prometheus 的内存使用情况

我们使用 Prometheus 来抓取指标并将其保留 8 小时(对于更长时间,我们使用 Victoria Metrics)。我试图找出,对于当前的系列数量,Prometheus 应该有多少 MEM。我发现Prometheus 2.x 需要多少 RAM 来进行基数和摄取?用计算器。从这篇文章中,我有一些不清楚的地方:

  • 时间序列数* - 它应该是max_over_time(prometheus_tsdb_head_series[1d])查询的结果。就我而言,有多个结果,所以我用 求和sum(max_over_time(prometheus_tsdb_head_series[1d]))。这种做法对吗?
  • 每个时间序列的平均标签* - 统计所有标签的键值对数量并计算平均值。例如{a="123", b="456"}算作2。
  • 唯一标签对的数量* - 查找唯一键值对。例如{a="123", b="456"}{a="123", b="abc"}等于 2 个 uniq 标签对
  • 每个标签对的平均字节数*(包括 =、“” 和 ,) - 例如{ "__name__": "up", "app_version": "0509b54", "instance": "1", "job": "event-metric-exporterd", "stack_version": "MR" }。我删除了空格和{, }。所以最终的字符串是"__name__":"up","app_version":"0509b54","instance":"1","job":"event-metric-exporterd","stack_version":"MR". 然后,我对其进行编码并utf-8获取字符串长度,在本例中为 106。我对每个 uniq 标签执行此过程并计算平均值。这是正确的吗?
  • 每个样本的字节数- 有一个查询rate(prometheus_tsdb_compaction_chunk_size_bytes_sum[1d])/rate(prometheus_tsdb_compaction_chunk_samples_sum[1d]) …

prometheus

6
推荐指数
0
解决办法
2520
查看次数

如何测试rm的GNU或BSD版本?

GNU版本rm有一个很酷的-I标志.从联机帮助页:

-I     prompt once before removing more than three files, or when removing recursively.   Less
          intrusive than -i, while still giving protection against most mistakes
Run Code Online (Sandbox Code Playgroud)

Mac不会:

$ rm -I scratch
rm: illegal option -- I
usage: rm [-f | -i] [-dPRrvW] file ...
   unlink file
Run Code Online (Sandbox Code Playgroud)

有时人们coreutils在Mac上安装了(GNU版本),有时却没有.有没有办法在继续之前检测此命令行标志?我想在我的bash_profile中有这样的东西:

if [ has_gnu_rm_version ]; then
    alias rm="rm -I"
fi
Run Code Online (Sandbox Code Playgroud)

bash shell bsd gnu

5
推荐指数
3
解决办法
1808
查看次数

在python中从十六进制字符转换为Unicode字符

十六进制字符串'\xd3'也可以表示为:Ó.

我发现将十六进制字符串的字符表示形式提供给控制台的最简单方法是:

print unichr(ord('\xd3'))
Run Code Online (Sandbox Code Playgroud)

或者用英语,将十六进制字符串转换为数字,然后将该数字转换为unicode代码点,最后将其输出到屏幕.这似乎是一个额外的步骤.有没有更简单的方法?

python unicode hex codepoint

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

PHP代码是在页眉还是页脚中是否重要?

PHP是否在处理文件时发送代码,还是组成整个HTML响应然后发送?例如,将昂贵的PHP函数移动到服务器上的文件页脚中会有什么不同吗?

另外,如果你使用它会有什么不同Transfer-Encoding: chunked吗?

php

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

标签 统计

python ×2

api ×1

bash ×1

bsd ×1

buffer ×1

codepoint ×1

docker ×1

gnu ×1

go ×1

hex ×1

inheritance ×1

ios7 ×1

json ×1

messages ×1

nginx ×1

overriding ×1

php ×1

prometheus ×1

proxy ×1

rust ×1

rust-cargo ×1

shell ×1

sms ×1

twilio ×1

unicode ×1