防雷和防浪涌区别,go 闭包,匿名函数,寄存器,Apifox添加断言,go单元测试,NPU,finalshell远程SSH'连接Ubuntu Connection refused已解决

防雷和防浪涌区别

https://www.eefocus.com/e/510541

浪涌保护器,也叫防雷器,是一种为各种电子设备、仪器仪表、通讯线路提供安全防护的电子装置,当电气回路或者通讯线路中因为外界的干扰,突然产生尖峰电流或者电压时,浪涌保护器能在极短的时间内导通分流,从而避免浪涌对回路中其他设备的损害。

浪涌保护器适用于交流50/60HZ,额定电压220V/380V的供电系统中,对间接雷电和直接雷电影响或其他瞬时过压的电涌进行保护,适用于家庭住址、第三产业以及工业领域电涌保护的要求。

浪涌防雷保护器,最原始的浪涌防雷保护器羊角形间隙,出现于10世纪末期,用于架空输电线路,防止雷电随坏设备绝缘而造成停电。

雷电 我们可以看做是一种强大的能量,如果说吸收雷电的能量现在的电子产品是达不到的,但是雷电的能量却可以引导他释放到大地,大地去“吸收”他强大的能量,从而保护到人和物。

防雷:将瞬间大电流引入大地释放掉,以保证用电设备的安全;

防浪涌:当电气回路或者通讯线路中因为外界的干扰,突然产生尖峰电流或者电压时,浪涌保护器能在极短的时间内导通分流,从而避免浪涌对回路中其他设备的损害。

闭包,匿名函数

https://blog.csdn.net/qq_35976351/article/details/81986496

https://www.bilibili.com/video/BV1ma4y1e7R5?spm_id_from=333.999.0.0

func main() {
  lambda()
  // closure1()
  // c := closure2()

  // fmt.Println("c()", c())
  // fmt.Println("c", c)
}

// 匿名函数
var f = func(int) {}

func lambda() {
  f = func(x int) {
    fmt.Println("x", x)
  }
  f(2)
  f=func(i int) {
    fmt.Println("i*i*i",i*i*i)
  }
  f(3)
}

// 闭包
func closure1() {
  n := 0
  f := func() int {
    n += 1
    return n
  }
  fmt.Println("f", f) // 别忘记括号,不加括号相当于地址
  fmt.Println("f()", f())
}

// 闭包作为函数返回值
func closure2() func() int {
  n := 0
  return func() int {
    n++
    return n
  }
}

寄存器

寄存器:是有限存贮容量的高速存贮部件,是中央处理器的组成部分,它们可用来暂存指令、数据和地址,在计算机领域,寄存器是cpu内部的元件,包括通用寄存器、专业寄存器和控制寄存器,拥有非常高的读写速度,在寄存器之间的数据传送非常快,是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,它可以用来读写数据到电脑的周边设备,寄存器内的数据可用于执行算术及逻辑运算,存于寄存器的地址,可用来指向内存的某个位置

Apifox添加断言

https://www.apifox.cn/help/app/processor/assertion/#%E7%A4%BA%E4%BE%8B

https://www.apifox.cn/help/reference/json-path/#%E6%A6%82%E8%A7%88

注意【提取表达式的大小写

测试效果

go单元测试

https://mp.weixin.qq.com/s/hqsBWrky2PtHxRPbzvWsNA

方式1:

package main

//拼接两个字符串
func JointString(a string, b string) string {
  return a + b
}

package main

import (
  "fmt"
  "testing"
)
//入门
func TestJointString(t *testing.T) {
  fmt.Println(JointString("a", "b"))
}
//初级
func TestJointString1(t *testing.T) {
  if JointString("a", "b") != "ab" {
    t.Error("与我们预判的结果不一致")
  }
  // 故意写一个错误的预判
  if JointString("g", "b") != "gob" {
    t.Error("与我们预判的结果不一致")
  }
}
//进阶
func TestJointString2(t *testing.T) {
  type args struct {
    a string
    b string
  }
  tests := []struct {
    name string
    args args
    want string
  }{
    // 这里编写我们的预判逻辑
    {"testA", args{"d", "v"}, "dv"},
    {"testB", args{"c", "d"}, "cd"},
  }
  for _, tt := range tests {
    t.Run(tt.name, func(t *testing.T) {
      if got := JointString(tt.args.a, tt.args.b); got != tt.want {
        t.Errorf("JointString() = %v, want %v", got, tt.want)
      }
    })
  }
}

你也可以在命令行里面运行,cd 到我们的 utils 目录下面,执行 go test 即可:

Running tool: /usr/local/go/bin/go test -timeout 30s -run ^TestJointString$ neuron/function/ptz/astr

=== RUN   TestJointString
ab
--- PASS: TestJointString (0.00s)
PASS
ok      neuron/function/ptz/astr        0.017s


> 测试运行完成时间: 2022/2/16下午1:50:16 <

-v 是让控制台输出测试详细的流程。

方式2:

package main

import "fmt"

func firmwarePackAccept(serveIp, fileName string, tcpPort uint64) string {
  // 建立TCP监听
  ipandPort := fmt.Sprintf("%s:%d", serveIp, tcpPort)
  return ipandPort
}

package main

import "testing"

func Test_firmwarePackAccept(t *testing.T) {

  type args struct {
    serveIp  string
    fileName string
    tcpPort  uint64
  }
  a:=args{
    serveIp: "192.1.1.122",
    fileName: "a.zip",
    tcpPort: 66,
  }
  tests := []struct {
    name string
    args args
    want string
  }{
    // TODO: Add test cases.
    {"a",a,"192.1.1.122:66"},
  }
  for _, tt := range tests {
    t.Run(tt.name, func(t *testing.T) {
      if got := firmwarePackAccept(tt.args.serveIp, tt.args.fileName, tt.args.tcpPort); got != tt.want {
        t.Errorf("firmwarePackAccept() = %v, want %v", got, tt.want)
      }
    })
  }
}

写好方法以后,vscode右键Go: Generate Unit Tests For Function

{"test", fields{start: true}, args{id: 0}},

NPU

嵌入式神经网络处理器(NPU)采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。

通俗跑人工智能算法深度学习的算法。

手机拍照时的美颜、腿部拉长、对聚焦聚焦功能,就用的NPU,为了提高运算速度NPU有时候是单独出来,OPPO手机 马里亚纳X芯片。

finalshell远程SSH'连接Ubuntu Connection refused已解决

sudo apt-get install openssh-client
sudo apt-get install openssh-server
posted @ 2022-04-28 16:51  凌易说-lingyisay  阅读(219)  评论(0编辑  收藏  举报