定义
将某种结构化(如struct
)的数据转化为字节流
为什么需要序列化
网络传输(如tcp是字节流)
跨系统(不是利用程序语言本身提供的机制)存储(如存储到redis)
- 比如c++中的
string
、struct
等,redis中无法直接保存,需要序列化后存储,然后再利用该数据,恢复相应结构
- 比如c++中的
将某种结构化(如struct
)的数据转化为字节流
网络传输(如tcp是字节流)
跨系统(不是利用程序语言本身提供的机制)存储(如存储到redis)
string
、struct
等,redis中无法直接保存,需要序列化后存储,然后再利用该数据,恢复相应结构用户,组信息管理工具
/usr/sbin/lid
查看用户组信息,组成员信息
/usr/sbin/lnewusers
添加用户到组
lgroupmod -M wallace -- vboxsf
修改HOME
sudo lusermod -d /vmdata/home/wallace/ wallace
通过一定的约定和组织来编写测试代码
go test命令遍历所有*_test.go
文件,生成一个临时的main包来调用相应测试函数,然后构建并运行,报告测试结果,最后清理临时文件
所有测试代码文件以_test.go
结尾
功能测试以Test
开头
基准测试以Benchmark
开头
示例函数以Example
开头
测试文件与被测试文件属于同一个包
测试文件包应为被测试包名+_test
结尾
为了简化访问方式,可以采用匿名导入import . XXX
-v
打印所有输出
运行指定测试
go test login_test.go
当失败时,退出,打印堆栈
--gtest_break_on_failure --gtest_catch_exceptions=0
– 指定VLOG级别,默认不打印VLOG
信息
--v=NUM
gtest默认安装到编译器搜索路径中
g++ hex.cpp hex_test.cpp -lgtest -lgtest_main
生成RSA私钥
openssl genrsa -out private.pem 1024
根据私钥生成公钥
openssl rsa -in private.pem -pubout -out public.pem
直接明文查看
openssl rsa -in private.pem -text -noout
以ASN.1查看
openssl asn1parse -in private.pem -noout
1 | [I] /tmp openssl asn1parse -in private.pem |
获取N
openssl rsa -in private.pem -modulus -noout
将pub格式转换为pem格式
ssh-keygen -f id_rsa.pub -e -m pem >id_rsa.pub.pem