1。语言技能:C/C++,C#,Java,SQL ,UML
2。开发工具:VS,Matlab,Git, Vistio UML
3。熟悉的开源架构:MFC,WPF,prism,ZeroMQ
4。图像处理:BMP文件,光栅化文件,Matlab常用图片处理和模拟,开源工具编辑PDF和tiff
5。通讯协议:串口modbus,usb通讯,网络通讯socket,命令模块(自定义协议,成熟),http,restful规范
6。设计理论:树形结构(堆,平衡二叉树),动态规划算法,一些编码理论,设计模式,软件架构(CS,MVC,事件驱动,分层架构)
7。项目管理:UML建模, 开发循环,版本控制,连续集成,多机系统
8。常用工具模块:xml模块,log模块,统计分析模块,命令模块,PLC协议模块,BMP模块,WPF的自定义控件模块,SQLite接 口模块,基于ZeroMQ的多机消息管理模块,基于WPF的UI框架模块等
1。打印机控制软件。使用WPF做的UI,统一style和Conveter,支持多语言和多单位切换,使用了命令系统控制按钮状态;c#和c++混合编程,命令返回消息采用消息队列的推模式;多线程处理业务逻辑和数据打包;跟踪log,事件log,统计log和错误log功能实现;bmp图像处理,负责打包后数据逆运算生成bmp等
2。数据分发系统。该系统是基于局域网的多机window系统,因为是工业场景,故采用经典的CS架构和请求应答的消息传递方式,客户端发送一个的请求对象,该对象订阅消息队列,服务端负责处理客户端的请求消息,根据业务逻辑做应答,比如报告数据接收的进度;消息持久化采用SQLite数据库,主要是对消息做重发,由于是传送的数据量大,每次只能处理一个请求,消息队列里的消息在异常下可以恢复
3。数据分析统计系统。这个系统是跟1和2有很强的业务联系,负责分析打印系统中log的内容,分析数据分发系统的消息数据,由于数据比较单一,规模不大,分析核心使用了观察者的设计思想,只要定义分析的业务逻辑,就可以实现特定的数据筛选,统计也是一样。