小编Jos*_*Fox的帖子

用于查找"真实"3位数序列的正则表达式(忽略嵌入4位数序列的序列)

我想要一个正则表达式(使用Java)捕获三个数字,如"876",但不是如果它们被埋在一个4位数序列中.

捕获"876"和"foo876","876"和"876"以及"food876"和"4foo876"中的"876".

但不在"88foo9876"或"9876"或"a8876"或"a8876foo"内.

我该怎么做呢?

我想说 X(\ d\d\d)X之类的东西,但代替第一个X来说" \ D^(开始字符串)"并代替第二个X来说" \ D$(结束字符串)".

编辑:

有关答案,请参阅Xanatos,Code Jockey和Tim Pietzcker.

regex

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

没有 proto 文件的 Protobuf

我想使用 ProtoBuf 在 Java 上执行 RPC,但没有为每个类定义元数据的开发开销。Java 序列化和 Kryo 可以做到这一点。ProtoBuf 有可能吗?

我很欣赏.proto文件中的元数据提供了诸如版本控制之类的好处,但对于我控制的系统和一起启动的系统之间的 RPC 而言,相关性较低——比较 Apache Spark 使用 Kryo 的方式。

java serialization protocol-buffers

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

如何在 Openpyxl 中找到最后一个非空白单元格?

Openpyxl 可以告诉我Excel 工作表的“使用范围”max_rowmax_col“使用范围”。但是,此范围可以包括没有内容的单元格,前提是它们以前被选中或更改过。

我想知道具有内容的最后一列和最后一行。

VBA 的讨论,在这里。

例如,如果- 此处表示已用范围中的_空白并表示已使用范围之外的空白,我想选择标有 的列b和标有的行c,即使 Openpyxl 和 将在计算max_rowmax_col时包括带破折号的行/列。

aaaaa---__
aaaaa-b-__
aaaaa---__
--------__
--c-----__
--------__
__________
__________
Run Code Online (Sandbox Code Playgroud)

python excel openpyxl

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

如何将多个值从异步函数返回到同步上下文?

我需要从异步调用中收集结果并将它们返回给一个普通函数——桥接异步和同步代码部分让我感到困惑。

首先尝试,使用丑陋的 inout 参数。

import asyncio
import aiohttp

async def one_call(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            txt = await response.text()
            return txt[0:20]


async def do_all(result_inout):
    urls = ["https://cnn.com", "https://nyt.com", "http://reuters.com"]
    out = await asyncio.gather(*[one_call(url) for url in urls])
    result_inout += out

if __name__ == "__main__":
    result_inout = []
    asyncio.run(do_all(result_inout))

    print(result_inout)
Run Code Online (Sandbox Code Playgroud)

第二次尝试,但直接使用事件循环,不鼓励应用程序代码。

if __name__ == "__main__":
    # same imports, same one_call, same urls
    loop = asyncio.get_event_loop()

    aggregate_future = asyncio.gather(*[one_call(url) for url in urls])
    results …
Run Code Online (Sandbox Code Playgroud)

python python-asyncio python-3.7

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

Cloud Build 如何采用动态参数来增加注册表标签?

我希望我的 Cloud Build 将带有递增标签的映像推送到注册表。因此,当触发器从 GitHub 到达时,构建映像,如果最新标签是1.10,则标记新标签1.11。同样,该1.11值将在构建中的多个其他步骤中使用。

读取注册表并增加标签很容易(在 bash Cloud Build 步骤中),但 Cloud Build 无法传递参数。(替换来自 Cloud Build 流程外部,例如来自 Git 标签,并且不是在流程内部生成。)

此 StackOverflow 问题本文表示 Cloud Build 步骤可以通过将文件写入工作区目录来进行通信。

那很笨拙。但更糟糕的是,这需要专门使用 shell 步骤,而不是本机 docker 构建步骤,也不是本机image命令。

我怎样才能做到这一点?

docker google-cloud-build

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

如何在python 3中找到笛卡尔元素的总和?

我想找到笛卡尔元素的总和。

我的笛卡尔列表是:[ ('1','2'),('3','4') ]

我想找到1+2and的总和3+4并将其存储到另一个列表中。

python python-3.x

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

如何在 Clojure 中对字符串向量进行类型提示?

我的函数返回一个序列,例如字符串向量。

这是一个简单的例子(实际上是从类型推断中得出的,但它说明了这一点):

(defn ^PersistentVector myfunction [a b] 
    ;; do something with strings
)

(my-function  ["A" "B"])
Run Code Online (Sandbox Code Playgroud)

我如何输入提示以表明这些是特定的字符串?

就像是^PersistentVector<String>

types clojure

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

我在哪里可以找到Cobertura的单一摘要覆盖号码?

我在我的代码库上运行Cobertura并获得类,行和分支的覆盖数.

除此之外,我正在寻找一个摘要编号,它告诉我整个代码库的覆盖范围.那当然不够; 详细报告至关重要.但是,只有一个数字可以为我们提供一个可以不断改进的指标.

我在报告中没有看到这样的数字.我在哪里可以找到它?

java code-coverage cobertura

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

如何诊断从未准备好的Kubernetes集群?

我向Kubernetes部署了一个图像,但即使在几个小时之后它也永远不会准备好.

$ kubectl get pods

NAME                            READY     STATUS             RESTARTS   AGE
myapp-b8dd974db-9jbsl    0/1       ImagePullBackOff   0          21m
Run Code Online (Sandbox Code Playgroud)

所有这些都发生在Quickstart Hello应用程序以及我自己的Docker镜像上.

尝试附加失败.

$ kubectl attach -it  myapp-b8dd974db-9jbs

Unable to use a TTY - container myapp did not allocate one
If you don't see a command prompt, try pressing enter.
error: unable to upgrade connection: container 
   myapp not found in pod myapp-b8dd974db-9jbsl_default
Run Code Online (Sandbox Code Playgroud)

尝试通过HTTP访问它失败.

在Stackdriver Logging中,我看到了类似的消息

skipping: failed to "StartContainer" for "myapp"
with ImagePullBackOff: "Back-off pulling image 
\"gcr.io/myproject/myapp-image:1.0\""
Run Code Online (Sandbox Code Playgroud)

No such image

然而,我确实部署了这些图像,云控制台显示这些图像是"绿色".

而且kubectl …

docker kubernetes google-kubernetes-engine

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

如何使Jenkins管道在(任何)代理计算机上运行,​​但永远不会成为主服务器?

我的Jenkins管道在主机和代理(从机)上运行之间随机交替。

整个管道使用只有一个agent语句,因此:

pipeline {
  agent any
Run Code Online (Sandbox Code Playgroud)

我如何才能使构建在负载平衡的代理中运行,而不再成为主服务器?

  • 也许可以用agent { label 'some-label' }。是否有一个预定义标签指定代理而不是主服务器?还是我必须自己给所有代理商贴标签?

  • 节目如何选择一个特定的经纪人,但我想代理机器之间的随机均衡。

  • 这个问题讨论了agent anyvs agent none,但是这些都不妨碍使用master。
  • 该页面建议将所有内容包装在一个node节中,但这似乎迫使构建在主节点或指定节点上运行,这又再次导致代理平衡。

jenkins jenkins-pipeline

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

通用文档格式转换器

我希望将任何格式转换为HTML或从HTML转换.

我想支持DOC,DOCX,PDF,ODT,RDF,DocBook和TXT.

我发现了许多格式到格式的转换实用程序,但为了方便实现,最好使用单个工具.随着供应商或开源项目扩展库,这也将使添加新格式变得更加容易.

理想的"集线器"格式是HTML,但我也可以使用其他集线器格式.

要运行服务器端,最好是Java库,或者C/C++库,COM或命令行工具; 但不是打印机驱动程序,在线服务或GUI工具.商业和开源都没关系.

html java pdf ms-word converter

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

为什么 Go 中的错误可以为 null?

Go 中的错误可能为零。编译如下:

   var err error
   err = nil 
   err = errors.New("hello")
Run Code Online (Sandbox Code Playgroud)

然而错误是值,并且值类型在 Go 中不可为空。

看了一下error,是一个普通的界面:

type error interface {
    Error() string
}
Run Code Online (Sandbox Code Playgroud)

由该结构体实现:

type errorString struct {
    s string
}
Run Code Online (Sandbox Code Playgroud)

这里没有指点。有一种方法需要一个指针接收器,

func (e *errorString) Error() string {
    return e.s
}
Run Code Online (Sandbox Code Playgroud)

但这并不能解释为什么它error表现为指针而不是值。

errors.New()确实返回一个指针,

func New(text string) error {
    return &errorString{text}
}
Run Code Online (Sandbox Code Playgroud)

这使得我上面的第三行代码更加令人费解——我们将 的结果分配New给一个值变量。

这是如何运作的?

error-handling null interface go

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