0%

Design Spec Template

This browser does not support Docx. Please download the Doc to view it: Download PDF.

Dev Spec Template

This browser does not support Docx. Please download the Doc to view it: Download PDF.

Dev Specs

This browser does not support Docx. Please download the Doc to view it: Download PDF.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
let finished: boolean = false;
let result = doAJob().then((jobResult) => {
finished = true;
return jobResult;
});
pollStatus(); // poll job status while job not finised.

async function pollStatus(): Promise<void> {
console.log("polling status...");

setTimeout(async () => {
// call sdk to poll status and print
const status = sdk.getStatus();
console.log(`status: ${status}`);

if (!finished) {
pollStatus(); // call loop again
}
}, 10000);
}

Overview

计算机网络的类别

  • 信息时代,网络指的是“三网”:

    • 电信网络(固化网+移动网)
    • 有线电视网络
    • 计算机网络
  • 电路交换(circuit switching):建立连接 -> 通信 -> 释放连接

    circuit-switching

    缺点:电路中一个交换机或一条链路损坏则整个通信电路都要中断。

  • 分组交换

  • 三种交换方式的对比

    switching-comparasion

计算机网络的体系结构

  • OSI vs TCP/IP

    osi-tcpip

  • 五层协议的体系结构

    5-level-architecture

物理层 Physical Layer

  • 两种信道使用类型:

    • 点对点信道
    • 广播信道
  • 数据链路层的简单模型

    data-link-layer-model

  • 数据链路和帧

    • 链路(link) 是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。
      • 一条链路只是一条通路的一个组成部分。
    • 数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
      • 适配器(即网卡)
  • 三个基本问题:

    • 封装成帧(framing)

      framing

    • 透明传输

      transparent-transforming

    • 差错控制

      crc

  • 点对点协议PPP(Point-to-Point Protocol):全世界使用最多的数据链路层协议。

    三个组成部分:

    • 一个将 IP 数据报封装到串行链路的方法
    • 链路控制协议 LCP (Link Control Protocol)
    • 网络控制协议 NCP (Network Control Protocol)
  • 数据链路层的两个子层:

    • 逻辑链路控制 LLC (Logical Link Control)子层 (一般不考虑)

    • 媒体接入控制 MAC (Medium Access Control) 子层

      • 适配器

        网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。

        适配器的重要功能:

        • 进行串行/并行转换。

        • 对数据进行缓存。

        • 实现以太网协议。

          adapter

          mac

          mac-frame

  • 载波监听多点接入/碰撞检测 CSMA/CD (Carrier Sense Multiple Access with Collision Detection)

    csma

  • 集线器

    hub

  • 网桥 bridge

    bridge

网络层 Network layer

  • 网络层向上只提供简单灵活的、无连接的尽最大努力交付数据报服务

  • IP协议及配套协议

    ip

  • 中间设备又称为中间系统或中继(relay)系统。

    • 物理层中继系统:转发器(repeater)
    • 数据链路层中继系统:网桥或桥接器(bridge)
    • 网络层中继系统:路由器(router)
    • 网桥和路由器的混合物:桥路器(brouter)
    • 网络层以上的中继系统:网关(gateway)
  • IP数据报

    ip-datagram

  • IP地址
    ip-address

May 25th Microsoft Teams Toolkit Public Preview

  1. Public Product:

  2. //Build (301 sessions, 80+ has “Teams”)​

  3. Baseline data of Teams apps

    • Teams active users​
      • DAU: ~140M​
      • MAU: ~240M​
    • Total apps: 80k​
    • In the past 9 months​
      • Apps published: 30.5k​
      • Apps approved: 19.1k​
    • In the past 3 months:​
      • Apps created by toolkit v1: 10k​

If you are new to C# or Azure development, here is some learning resources:

Microsoft Learning Resources

STRIDE

STRIDE represents these threat categories:

  • Spoofing (of user identity): 身份假冒
  • Tampering: 篡改
  • Repudiation: 抵赖
  • Information Disclosure: 信息披露
  • Denial of Service (DoS): 拒绝服务
  • Elevation of Privilege: 特权提升

This browser does not support PDFs. Please download the PDF to view it: Download PDF.

Ref

Ref

Background

The command line has become a powerful way for developers to interact with cloud services. Cloud computing services, continuous integration products, and some APIs have their own CLIs.

Points

  1. Provide an Excellent Help Screen

    usability and discovery are paramount in a CLI application.

    cli-example

  2. “Steal, Steal, Steal”

    Look at the good patterns in Linux and other tools you respect.

    • always support short and long format for flags