考虑一下代码,
#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接受不同类型的参数?
对于以下代码,
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)
在第二种情况下,超额财产检查的目的是什么?
给定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) 在以下规则中:
{
"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 的自定义角色。
上面的规则我们到底在说什么?
对于以下 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) 我从 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) 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) 在下面的 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 行中提到的 …
运行下面的代码后,就像>>> 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) 通过以下 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 地址?我该如何解释?这在幕后是如何工作的?
typescript ×2
amazon-ami ×1
amazon-ec2 ×1
amazon-iam ×1
apt-get ×1
auto ×1
aws-sam ×1
bsd ×1
c ×1
c++ ×1
c++14 ×1
cassandra ×1
cql ×1
docker ×1
dockerfile ×1
duck-typing ×1
ec2-ami ×1
ecmascript-6 ×1
gocql ×1
http ×1
javascript ×1
kubernetes ×1
linux ×1
packer ×1
python ×1
sockets ×1
sql ×1
ssh ×1
templates ×1
web-worker ×1