小编Ari*_*stu的帖子

Docker容器无法卷曲,SSL版本号错误

我正在开发公司代理,使用Linux Mint Sylvia(Docker是通过Ubuntu 16.04.3 Xenial源安装的).

$ docker -v
Docker version 17.12.1-ce, build 7390fc6
Run Code Online (Sandbox Code Playgroud)

我按照这些步骤通过docker pull实际下载了一些图像.

我的http-proxy.conf:

$ cat /etc/systemd/system/docker.service.d/http-proxy.conf 
[Service]
Environment="HTTP_PROXY=http://my_user:my_pass@company_proxy:3128/"
Environment="HTTPS_PROXY=https://my_user:my_pass@company_proxy:3128/"
Environment="NO_PROXY=localhost,127.0.0.0/8"
Run Code Online (Sandbox Code Playgroud)

我的/etc/default/docker:

# If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/"
export http_proxy="http://my_user:my_pass@company_proxy:3128"
export https_proxy="https://my_user:my_pass@company_proxy:3128"
export HTTP_PROXY="http://my_user:my_pass@company_proxy:3128"
export HTTPS_PROXY="https://my_user:my_pass@company_proxy:3128"
Run Code Online (Sandbox Code Playgroud)

我需要curl在多级Alpine容器内运行,为了简单起见,我构建了这个类似于我想要完成的简单图像并且具有相同的错误.

FROM alpine:3.7

ENV HTTP_PROXY http://my_user:my_pass@company_proxy:3128
ENV HTTPS_PROXY https://my_user:my_pass@company_proxy:3128

RUN apk add --no-cache curl

CMD ["curl","-v","--tlsv1","https://www.docker.io/"]
Run Code Online (Sandbox Code Playgroud)

内置

$ docker build --network host --rm -t test/alpine:curl …
Run Code Online (Sandbox Code Playgroud)

proxy curl docker

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

F#将SQLProvider与Postgres连接

我是F#和.Net世界的初学者,我正在尝试使此F#脚本起作用:

#r "./packages/SQLProvider/lib/netstandard2.0/FSharp.Data.SqlProvider.dll"
#r "./packages/SQLProvider/lib/netstandard2.0/netstandard.dll"
#r "./packages/Npgsql/lib/netstandard2.0/Npgsql.dll"

open FSharp.Data.Sql
open Npgsql

let [<Literal>] ConnString = 
    "Host=localhost;"       +
    "Port=5431;"            +
    "Database=suavetododb;" +
    "Username=postgres;"    +
    "Password=postgres"

let [<Literal>] DbVendor = Common.DatabaseProviderTypes.POSTGRESQL
let [<Literal>] ResPath = @"./packages/Npgsql/lib/netstandard2.0"

type Sql =
    SqlDataProvider<
        DbVendor,
        ConnString,
        "",
        ResPath,
        1000,
        true>
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

错误FS3033:类型提供程序'FSharp.Data.Sql.SqlTypeProvider'报告了一个错误:由于以下原因,无法解析字段令牌0x04000523:无法加载字段'Npgsql.NpgsqlConnection + d__28:<> u__2'(7)到:无法加载文件或程序集'System.Threading.Tasks.Extensions,版本= 4.1.0.0,区域性=中性,PublicKeyToken = cc7b13ffcd2ddd51'或其依赖项之一。程序集:System.Threading.Tasks.Extensions,版本= 4.1.0.0,文化=中性,PublicKeyToken = cc7b13ffcd2ddd51类型:成员:(null)签名:程序集:(my_filesystem)/API/packages/Npgsql/lib/netstandard2.0/ Npgsql.dll类型:d__28成员:(空)签名:

这很奇怪,因为Npgsql实际上是导入的(所以最后一个#r实际上有效)。

该数据库是通过docker启动的:

$ docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                    NAMES
4704763ec2ba        suave_rezoom_db:0.1   "docker-entrypoint.s…"   25 hours ago        Up …
Run Code Online (Sandbox Code Playgroud)

postgresql f# type-providers .net-core f#-4.0

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

c ++如何绘制给定一组点的区域?

注意:我用 C++ 编码

我得到了四个不规则形状的点。

cv::Point(myshape[0].x, myshape[0].y) // [  3, 5 ]
cv::Point(myshape[1].x, myshape[1].y) // [ 13, 9 ]
cv::Point(myshape[2].x, myshape[2].y) // [  1, 18]
cv::Point(myshape[3].x, myshape[3].y) // [ 16, 22]
Run Code Online (Sandbox Code Playgroud)

应该是这样的:

在此处输入图片说明

我想画它的轮廓与给定4点的填充形状获得像这样的(当然不包括这些圆角,那是我的错,忽略此)

在此处输入图片说明

我怎样才能通过它的 4 个角点来绘制这样的填充形状?

注意:在每种情况下都会有 4 个角点。


任何帮助将不胜感激。提前一百万,坦皮。

注意:到目前为止我得到的代码(不工作)

Mat myMask;
myMask.setTo(0);

vector<cv::Points> myVector;
for (int i=0; i<4; i++) myVector.push_back(myPoints[i]);
//cv::fillPoly(myMask, myVector, 0, 1, cv::Scalar(255,255,255));
approxPolyDP(myVector, ROI_Poly, 1.0, true);            
Run Code Online (Sandbox Code Playgroud)

c++ opencv

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

模式匹配的性能

我正在读" 了解你一个Haskell",特别是有关模式匹配的章节.这是教程中提供的用于计算列表长度的代码:

length' :: (Num b) => [a] -> b  
length' [] = 0  
length' (_:xs) = 1 + length' xs
Run Code Online (Sandbox Code Playgroud)

我的问题是,反转递归的顺序(通过放置基本情况下)显示任何显着的性能提升?

length' :: (Num b) => [a] -> b
length' (_:xs) = 1 + length' xs
length' [] = 0
Run Code Online (Sandbox Code Playgroud)

performance haskell pattern-matching

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

在Coq中重写列表压缩

我有以下Haskell函数,该函数输出所有可能的方法来拆分列表:

split :: [a] -> [([a], [a])]
split []     = [([], [])]
split (c:cs) = ([], c : cs) : [(c : s1, s2) | (s1, s2) <- split cs]
Run Code Online (Sandbox Code Playgroud)

一些示例输入:

*Main> split [1]
[([],[1]),([1],[])]
*Main> split [1,2]
[([],[1,2]),([1],[2]),([1,2],[])]
*Main> split [1,2,3]
[([],[1,2,3]),([1],[2,3]),([1,2],[3]),([1,2,3],[])]
Run Code Online (Sandbox Code Playgroud)

考虑到默认情况下没有模式匹配,并且我不想为其定义符号,因此我尝试在Coq中编写相同的函数,所以我决定改写一个递归函数:

Require Import Coq.Lists.List.
Import ListNotations.

Fixpoint split {X : Type} (l : list X) : list (list X * list X) :=
  match l with
    | [] => [([], [])]
    | c::cs =>
      let …
Run Code Online (Sandbox Code Playgroud)

list-comprehension coq

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

Terraform 在单个条件中匹配多个条件

我有 4 个 env,qa 和 dev 使用一个 ID,uat 和 prod 使用另一个 ID。我正在尝试执行 if else,基本上,如果 env 是 dev 或 qa,则使用 id1,否则使用 id2。这是我尝试过的:

\n
locals{\n  endpoint_id = "${var.env == "dev" || "qa" ? "id1" : "id2"}"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这就是我得到的:

\n
Error: Invalid operand\n\xe2\x94\x82 \n\xe2\x94\x82   on ssm-parameters.tf line 2, in locals:\n\xe2\x94\x82    2:   endpoint_id = "${var.env == "dev" || "qa" ? "id1" : "id2"}"\n\xe2\x94\x82 \n\xe2\x94\x82 Unsuitable value for right operand: a bool is required.\n
Run Code Online (Sandbox Code Playgroud)\n

显然我不能在这里做“或”。我该怎么办呢?谢谢。

\n

if-statement terraform hcl

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