小编ove*_*nge的帖子

自动参数如何在内部工作?

考虑一下代码,

#include <cstdio>

auto f(const auto &loc){
  printf("Location: %p\n", &loc);
}

int main()
{
  auto x {1};
  auto y {2.3};
  f(x);
  f(y);
}
Run Code Online (Sandbox Code Playgroud)

编译 g++ -std=c++14 dummy.cpp

题:

对于模板函数,f<int>(2)在编译时明确提到类型().

函数如何f接受不同类型的参数?

c++ templates auto c++14

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

多余的财产检查有何帮助?

对于以下代码,

interface SquareConfig{
    color?: string;
    width?: number;
}

interface Square{
    color: string;
    area: number;
}

function createSquare(config: SquareConfig): Square {

    let newSquare:Square = {color: "white", area: 100};
    if (config.color) {
        newSquare.color = config.color;
    }
    if (config.width) {
        newSquare.area = config.width * config.width;
    }
    return newSquare;
}
Run Code Online (Sandbox Code Playgroud)

下面的参数(myObj)推断为类型any允许在编译时由类型检查器作为参数传递.JS代码在运行时使用duck typing.

let myObj = {colour: 'red', width: 100};

let mySquare = createSquare(myObj);
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,下面的参数(除了SquareConfig类型)在编译时不允许通过类型检查器传递.如手册中所述:对象文字在将其分配给其他变量或将它们作为参数传递时,会得到特殊处理并进行多余的属性检查.

let mySquare = createSquare({colour: 'red', width: 100});
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,超额财产检查的目的是什么?

duck-typing typescript ecmascript-6

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

错误 TS2554:需要 2-3 个参数,但得到 1 个

给定tsconfig.json,

{

    "compilerOptions": {

      "lib": ["es2015", "dom"]
    },
    "files": [
      "./project1/tstut.ts",
      "./project1/worker.ts"

    ]
  }
Run Code Online (Sandbox Code Playgroud)

文件夹结构


1)

对于下面的代码(./project1/tstut.ts),

if(window.Worker){
  console.log('Workers are available');
}
....
let worker: Worker = new Worker('worker.js');
worker.postMessage('do some work')
Run Code Online (Sandbox Code Playgroud)

如何解决以下打字稿错误?

Property 'Worker' does not exist on type 'Window'
Run Code Online (Sandbox Code Playgroud)

2)

对于以下工人代码(./project1/worker.ts),

self.addEventListener('message', (e) => {
    // console.log(e)
    if(e.data === 'do some work'){
        console.log('Worker is about to start some work');
        let count: number =0;
        for(let i: number=0; i<1000; i++){
            count += i; …
Run Code Online (Sandbox Code Playgroud)

javascript web-worker typescript

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

iam:PassRole api 执行什么操作?

在以下规则中:

{
    "Condition": {
        "StringLikeIfExists": {
            "iam:PassedToService": "lambda.amazonaws.com"
        }
    },
    "Action": [
        "iam:PassRole"
    ],
    "Resource": [
        "arn:aws:iam::${AWS::AccountId}:role/some-role*"
    ],
    "Effect": "Allow"
}
Run Code Online (Sandbox Code Playgroud)

我们正在使用此规则来创建 SAM 模板(sam deploy)的云形成堆栈。SAM 模板具有 lambda 和 lambda 的自定义角色。

上面的规则我们到底在说什么?

amazon-web-services amazon-iam aws-sam

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

公钥不可用:NO_PUBKEY F76221572C52609D

对于以下 docker 文件:

FROM microsoft/aspnetcore-build:1.0.1

ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE 1

# This is FROM openjdk:8-jdk  
RUN apt-get update && apt-get install -y --no-install-recommends \
        bzip2 \
        unzip \
        xz-utils \
                apt-transport-https \
    && rm -rf /var/lib/apt/lists/*

RUN echo 'deb http://deb.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list
RUN echo 'deb https://apt.dockerproject.org/repo debian-jessie main' > /etc/apt/sources.list.d/docker.list

# Default to UTF-8 file.encoding
ENV LANG C.UTF-8

# add a simple script that can auto-detect the appropriate JAVA_HOME value
# based on whether the JDK or only the JRE …
Run Code Online (Sandbox Code Playgroud)

linux apt-get docker dockerfile

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

打包机在哪里存储私钥?

我从 ubuntu shell 运行下面的命令,与 aws 平台对话,自定义 amazon ami( ami-9abea4fb):

$ packer build -debug template.packer 
Debug mode enabled. Builds will not be parallelized.
amazon-ebs output will be in this color.

==> amazon-ebs: Prevalidating AMI Name...
==> amazon-ebs: Pausing after run of step 'StepPreValidate'. Press enter to continue. 
==> amazon-ebs: Inspecting the source AMI...
==> amazon-ebs: Pausing after run of step 'StepSourceAMIInfo'. Press enter to continue. 
==> amazon-ebs: Creating temporary keypair: packer 5dfe9f3b-9cc2-cbfa-7349-5c8ef50c64d5
    amazon-ebs: Saving key for debug purposes: ec2_amazon-ebs.pem
==> …
Run Code Online (Sandbox Code Playgroud)

ssh amazon-ec2 packer ec2-ami amazon-ami

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

为什么 Cassandra 在插入重复记录时不会出错?

CQL版本5.0.1

卡桑德拉版本3.11.9

root@3fdb49de030c:/# cqlsh
Connected to Test Cluster at 127.0.0.1:1234.
[cqlsh 5.0.1 | Cassandra 3.11.9 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
Run Code Online (Sandbox Code Playgroud)

插入相同记录时(如下所示),

cqlsh> use mykeyspace;
cqlsh:mykeyspace>
cqlsh:mykeyspace>
cqlsh:mykeyspace>
cqlsh:mykeyspace>
cqlsh:mykeyspace> select * from mytable ;

 column1                              | column2                              | column3                         | column4           | column5                      | column6
--------------------------------------+--------------------------------------+---------------------------------+-------------------+---------------------------------+--------------
 54dc8b12-a934-4f2e-8a0d-e7eba3faa47e | 587df674-bc77-481b-b974-ddebd203e371 | 2021-04-02 13:29:37.841000+0000 | sample@abc.com | 2021-04-02 13:29:37.841000+0000 | [{"abc": "def"}]

(1 rows)
cqlsh:mykeyspace>
cqlsh:mykeyspace>
cqlsh:mykeyspace>
cqlsh:mykeyspace> // does not give error on …
Run Code Online (Sandbox Code Playgroud)

sql http cql cassandra gocql

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

部署规范和模板中的标签

在下面的 yaml 中:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
  labels:
    app: my-nginx # Line 6
spec:             # Line 7  
  replicas: 2
  selector:
    matchLabels:
      app: my-nginx    # line 11
  template:
    metadata:
      labels:
        app: my-nginx   # Line 15
    spec:                # Line 16
      containers:
      - name: my-nginx
        image: nginx:alpine
        ports:
        - containerPort: 80
        resources:
          limits:
            memory: "128Mi" #128 MB
            cpu: "200m" #200 millicpu (.2 cpu or 20% of the cpu)
Run Code Online (Sandbox Code Playgroud)

app: nginx第 6 行为部署指定了标签 ( )。

第 7 行的部署规范使用第 16 行中提到的 …

kubernetes kubernetes-pod

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

python中类的__repr__方法的查询

运行下面的代码后,就像>>> python -i sample.py在 shell 上一样

class Coordinate(object):
    def __init__(self, x, y):
        print('In init')
        self.x = x
        self.y = y

    def __repr__(self):
        print('In __repr__')
        return "Coord: " + str(self.__dict__)

def add(a, b):
    return Coordinate(a.x + b.x, a.y + b.y)

def sub(a, b):
    return Coordinate(a.x - b.x, a.y - b.y)

Coordinate(100, 200)
Coordinate(300, 200)
Run Code Online (Sandbox Code Playgroud)

我看到输出为

PS C:\mystuff> python -i .\sample.py
In init
In init
>>>
Run Code Online (Sandbox Code Playgroud)

继续该解释器会话,如果我再次调用构造函数,如下所示,

>>> Coordinate(100, 200)
In init
In __repr__
Coord: {'y': 200, 'x': 100}
>>> …
Run Code Online (Sandbox Code Playgroud)

python

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

可以bind()套接字到远程地址吗?

通过以下 C 代码快照,我了解到,bind()调用绑定到 的地址listfd是运行该服务器程序的本地计算机的逻辑地址。随后,服务器监听listfd同一台机器的套接字。

struct sockaddr_in serv_addr; 
listfd = socket(AF_INET, SOCK_STREAM, 0);
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); 
serv_addr.sin_port = htons(8000);
retval = bind(listfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
listen(listfd)
Run Code Online (Sandbox Code Playgroud)

我在coursera上了解到,bind()调用还允许您将套接字绑定到远程地址和端口。

在此输入图像描述 我想了解这一点。

我的意思是, listfd = socket(AF_INET, SOCK_STREAM, 0); 提供来自该程序运行的程序进程(本地计算机)的文件描述符。

我的问题:

如果bind()调用将此本地套接字绑定listfd到远程地址而不是INADDR_ANY,那么哪台机器实际上在监听?因为listfd是来自该程序运行的本地计算机的本地进程文件描述符表的条目,并且该套接字listfd正在绑定到远程计算机 IP 地址?我该如何解释?这在幕后是如何工作的?

c sockets bsd

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