开发环境
研发工程师在本机搭建的环境,用于代码编写。环境包括项目需要对应版本的第三方包;
功能开发完成以后需自行编写单元测试用于纠错;
测试环境
测试人员对代码进行全流程测试,工作主要是编写自动化测试脚本,从系统层面检查功能是否正常、系统性能、代码覆盖等指标;
可以通过 Jenkins 等 CI 工具触发自动化检测流程,通过检测以后可以部署到测试环境;
生产环境
公司对外提供服务的环境,包括软硬件等系统;
版本控制
推荐使用 Git 实现文本版本控制,团队协同开发可以使用 github 的私有仓库或者gitlab 自行搭建;
序列化技术
Protobuf 和 gRPC
- Protobuf
conda install protobuf=3.6.0
- 编写 person.proto
syntax = "proto3";
message person {
int32 id = 1;
string name = 2;
}
message all_person {
repeated person Per = 1;
}
- 利用 pb 编译器自动生成代码:
protoc --python_out=. person.proto - 编写序列化代码
import person_pb2
# 为 all_person 填充数据
pers = person_pb2.all_person()
p1 = pers.Per.add()
p1.id = 1
p1.name = 'Teacher Huaan'
p2 = pers.Per.add()
p2.id = 2
p2.name = 'pythoner'
# 对数据进行序列化
data = pers.SerializeToString()
print(data)
# 对已经序列化的数据进行反序列化
target = person_pb2.all_person()
target.ParseFromString(data)
print(target.Per[0].name) # 打印第一个 person name 的值进行反序列化验证
print(target.Per[0].id)
print(target.Per[1].name)
print(target.Per[1].id)
网友评论