1. 主要工作开发语言为golang, 但用过python,rust,C#解决过实际业务问题,同时掌握c/c++开发技能(工作中比较少用)
2. 前端主要学习过html+js+css,目前工作中会使用wails进行桌面端应用(vue+go)
3. 熟悉wireshark,tcpdump抓包工具的使用
4. 熟悉计算机网络基础,基于TCP/UDP封装过私有协议,对于HTTP,gRPC, QUIC等应用层协议都用golang有应用过
5. 熟悉linux下的各种基本操作
6. 了解nginx的使用
7. 数据库部分主要使用过sqlserver, mysql,mongo; 嵌入式端使用sqlite
8. MQ部分,使用过RabbitMQ
一,团队内部基础库封装
为了团队开发效率,针对常用的一些功能进行抽象并封装成库,目前被多数使用的有如下几个:
1. go池包:主要用来替换原生go,解决go的func没有进行panic捕捉导致程序挂掉问题以及限制业务go协程数量,避免实际业务接口误触无限增长go导致程序挂掉问题
2. 文件监听包:主要还是利用fsnotify包,但为了防止事件触发后,处理文件也被频繁触发,所以对fsnotify进行一个二次封装
3. 数据库操作包:对mysql, mongo, sqlite进行统一接口封装,使用户只需要在初始化数据库句柄时指定类型,后续操作都可以统一
4. 文件打包:使用同个接口可以对zip/tar.gz/tar.bz2进行压缩解压缩操作
5. SECS/GEM底层库: HSMS/SECS-II内容golang实现
...
二,设备自动化测试平台项目
1. 针对具有主从架构测试设备,实现设备发现以及设备关联
2. 自动根据工单,工序等信息获取测试软件包,进行分发
3. 根据不同工序的规则实现测试程序配置,解压缩并启动
4. 在测试完成时收集测试数据并回传给MES
5. 在批次完成时,停止工具,清除缓存并上传日志到指定服务器
1. 实现页面自动化配置--配置界面未给出 2. 实现主设备和从设备进行关联绑定 3. 实现工单录入,测试模式选择执行开档 4. 实时显示测试状态,以及从机的各个信息
1. 可以选择本地的执行程序进行执行,提供解耦接口,进行数据显示 2. 本地调试完的程序可以发布到服务器 3. 设备端可以从服务器上选择对应的程序,下载到本地后执行