/images/avatar.png

^_^

蛋炒饭

蛋炒饭需要使用隔夜饭,所以提前一天把饭拿到冰箱中

拿出隔夜饭,打两个蛋

https://img-blog.csdnimg.cn/d40b7a9c3f6048e892579e5e87d1b707.png

切两根火腿

https://img-blog.csdnimg.cn/cd01d088d8f7426c9ee61c20d04edc10.png

鸡蛋液倒四分之一到米饭中

https://img-blog.csdnimg.cn/76f7a3ce41b144e2829b9a2deed1b623.png

protobuf

protobuf是一个类似于用来定义网络传输过程中数据包格式的东西,有点像json

它可以被序列化和反序列化,从而用于传输

参考链接

gflags

文档链接

gflags相当于代码中的常量

gflags读取命令行的flags,然后修改代码中相应名字的“常量”

主要有三个函数

git补充

参考资料

问题

如果已经推到远程仓库,该怎么撤销

其他

从工作目录git add提交到暂存区后,想撤销

注意如果在工作目录创建文件,撤销操作只是不跟踪该文件,并不会把文件删掉

GO利用ftp服务器进行文件上传和下载

购买云服务器,这个云服务器将作为ftp服务器

假设云服务器是centos系统

先安装vsftpd

输入以下命令

1
sudo yum install vsftpd

启动vsftpd服务

1
sudo systemctl start vsftpd

确认 vsftpd 服务已启动及其状态是否为“active”

GO与测试

参考

单元测试

规则

  • 所有测试文件以_test.go结尾

  • func TestXxx(*testing.T)

  • 初始化逻辑放到TestMain中

例子

文件名为nihao_test.go

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
package hello

import "testing"

func HelloTom() string {
	return "Jerry"
}

func TestHelloTom(t *testing.T) {
	output := HelloTom()
	expectOutput := "Tom"
	if output != expectOutput {
		t.Errorf("Expect %s do not match actual %s", expectOutput, output)
	}
}

在命令行输入`go test nihao_test.go``

GO与socks5代理服务器

参考

Socks5原理

https://img-blog.csdnimg.cn/9a512ade87134363879ab7bbe5a4d024.png

如果不设置代理服务器,网站先和服务器建立tcp连接,然后三次握手,之后网站发送http请求,服务器返回http响应。

GO与并发

并发与并行

concurrncy和parallellism

并发指多个任务在同一时间段进行,并行指多个任务在同一时刻进行

单核cpu只能并发不能并行,现在的多核cpu既能并发又能并行

VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator

简要记录一下论文的内容,防止遗忘,有些地方自己也没弄明白,记录不涉及公式的推导(公式推导参考崔华坤vins公式推导)

Abstract

VINS-Mono是一个由港科大秦通、栗培梁、沈劭劼完成的单目VI状态估计器,输入相机的图片和IMU参数,经过非线性优化,实时输出位姿和地图。