一、设计与编程技术研究
1、C++设计与编程
使用C和C++设计和编程超过10年,编写的C++代码超过10万行。
对C++编程中的资源安全自动化管理、高性能编程、多线程编程有丰富的实践案例。
熟悉C++编程中的各种常见错误,熟练运用各种调试排错方法和工具。
熟悉在window和linux平台上进行跨平台编程。
对C++编程规范有深入研究,是曾经工作过的几个公司的C++编程规范的主要起草人和推动者。
对各种设计模式在C++编程中的具体实现有深入的认识和实践。
能熟练运用各种UML设计工具。
能熟练使用Qt进行各种风格的界面交互设计和编程。
2、数据库设计与编程
熟练使用过Oracle、Ms Sqlserver、MySql、Sqlite、Redis、MongoDB等常见的大型关系数据库、小型桌面数据库和键值型、文件型NoSQL数据库。
具备丰富的数据库存储过程和触发器等数据库编程经验。
对数据编程规范有深入研究,是曾经工作过的几个公司的数据库设计和编程规范的主要起草人和推动者。
对数据库的性能调优有丰富的理论研究和现场实践经验。
有超过15年的数据库分析和设计经验,主持设计的大型数据库系统中的数据规模超过10亿条。
有丰富的分布式数据库设计经验,掌握分库分表等常见数据分布方案。
3、分布式设计与编程
能使用SpringMVC、SpringBoot等常见的java中间件搭建分布式中间层服务器框架。
能使用Nginx中间件搭建中间层负载均衡和反向代理服务器,实现自动化负载均衡。
能使用Java和C++语言编写中间层服务器软件。
4、通讯设计与编程
熟悉http、tcp、udp、socket等各种通讯协议,以及如何在C++中实现自定义协议规范。
熟练掌握多线程、队列、内存共享、并发控制和管理、自定义协议、数据压缩解压等各种通讯设计方法。
熟练掌握定时拉取、主动推送、二者结合等多种通讯实现方式,应对各种复杂的通讯网络环境和需求场景。
基于多年工作实践,探索出一整套应对复杂通讯环境下可靠通讯的实现机制,保证数据不丢、不重、快速通讯。
二、AOI技术研究
1、软件技术模块
具有一整套完整AOI检测软件的设计和实现经验,掌握AOI整体检测流程,包括程序编制、生产检测、缺陷维修、统计分析等模块。
熟悉常见的AOI设备硬件,掌握软件与硬件的通讯控制方式、各种硬件的调试方式。
设计并实现了一整套AOI硬件的多线程通讯控制封装动态库和测试动态库。
2、传统视觉检测算法研究
深入理解基于预设详细参数和规则的传统视觉检测算法基本原理。
熟练掌握基于OpenCV库实现各种视觉检测算法的具体方法。
使用C++和OpenCV封装实现了常见的传统检测算法:Mark定位、模板匹配、轮廓定位、颜色算法、亮度算法、焊盘定位。
使用C++实现了基于蚂蚁算法原理的检测路径规划算法。
3、智能视觉检测算法研究
实现了基于ANN(人工神经网络Artificial Neuron Network)和KNN(K Nearest Neighbors)的OCR字符检测算法。
基于百度OCR库实现了手写体汉字和英文字母的检测算法。
对深度学习技术有所了解,使用MMDetection(商汤和港中文大学针对目标检测任务推出的一个开源项目,基于Pytorch)进行过PCB元件检测的封装。