系统架构师、软件设计师;
精通java、js、c++、kotlin等语言;
精通串口、USB、蓝牙4.0、TCP|IP、HTTP等服务端、客户端通讯技术(高性能响应式);
精通安卓、linux、windows应用软件开发;
熟练掌握web前端;
熟练使用SpringBoot、Cloud等后端技术;
熟练各类关系型、非关系型数据库进行数据结构设计、查询及性能优化;
熟练掌握Linux驱动开发,了解Linux源码及工作流程。
2023.08 - 2024.01 傅里叶变换红外光谱仪软件系统
责任描述: 进行项目的开发环境及技术框架的搭建;
对技术文档编写;
对组人员工作调配;
配合业务人员进行需求及可行性分析;
进行软件调优;
项目描述: 该项目为面向仪器仪表检测的功能系统,整体包含PC上位机与嵌入式下位机两部分,我主要负责上位机开发,整体技术采用QT/C++架构设计,采用USB通讯连接,进行双工交互。
主要包含以下功能:
1. 上下位机握手,下位机初始化
2. 对物体进行红外光谱检测,收集实验参数,原始数据采集采用傅里叶变换进行过滤。
3. 进行红外光谱分析,包含高斯滤波、均值滤波、中值滤波、多项式滤波、等高图、峰谷值检测等方式。
4. 对采集数据进行图形化展示,需要进行2D、3D方式的呈现。
5. 审计追踪功能,需要对软件操作的过程进行权限控制,并记录到数据库。
技术特点: 该项目交互逻辑复杂,尤其是图表的呈现具有难度。
一、在技术选型方面,考虑过QtCharts和ECharts两种方案:
1.QtCharts由C++原生开发,性能较好,但相关功能比较原始,需要自实现的内容较多;
2.ECharts由js语言开发,功能强大,类库极为丰富,但由于跨语言、且需要WebEngine作为容器辅助,实现比较复杂。
两者权衡下,最后采用ECharts的方式,为了解决3D数据的性能问题,我对其进行了压缩,在保证性能的同时,也兼顾分辨率,最后得到了很好的效果。
二、采用响应式技术,优化Qt界面的构建
传统方式的Qt,组件内各内容的呈现,需要手动用代码去绑定,数据内容修改后,需要多点维护,非常的麻烦,造成bug的几率也特别高,为了解决这个问题,我采用了发布订阅软件设计模式,重写了部分Qt UI,大大提高了开发效率。
三、采用RxCpp技术,解决上下位机通讯问题
由于本项目嵌入式数据的采集都是耗时操作,通讯并非及时返回,采用传统阻塞方式,非常容易造成程序陷入等待假死,用户体验不好。因此引入RxCpp技术,将原有的阻塞通讯改造成非阻塞通讯,大大提高了软件交互体验及运行性能。
2019.11 - 今 xxxx门禁管理系统
责任描述: 1. 数据结构设计
2. 逻辑图绘制
3. 功能代码实现
4. 各类硬件对接
4. 团队管理与协作
5. 各类文档提供
项目描述: 该项目为面向制药公司制药车间定制的门禁系统,整体包含java服务器与安卓、Linux下位机两部分,我主要负责架构设计工作。
项目采用BS架构设计,主体语言为Java、js、c++。
后端采用SpringBoot+Mybatis+MySql+Redis技术栈构建,文档处理由poi进行pdf输出,并对接了AD域控进行统一认证管理;
管理端前端为Vue3.0,分为chrome浏览器与Electron两部分;
终端部分为安卓门禁机、Linux门禁机,安卓门禁机部分采用kotlin+compose UI搭建,Linux门禁机采用瑞芯微RV1109/arm32芯片技术,Qt5.9.4 + QML 技术搭建UI;
人脸识别采用中科视拓seeta6.0方案进行底层构建;
服务器与终端通信方式,采用事件驱动架构方式进行搭建。
主要包含以下功能:
1. RFID服装、芯片识别
2. 虹膜识别、人脸识别
3. 人员进出控制(权限、时区、假期、考勤)
4. 人数同步
5. 防潜回
6. 互锁门控制
技术特点: 1.门禁机与后端通信方式,需要进行稳定可靠的长连接,因此在java技术栈能利用的地方,采用了netty4的方式进行连接,而针对Linux/C++的门禁机,则采用了curl的底层库。
2.目前人脸识别有多种实现方式,能可靠利用的商业化的视觉库,国内早期都是收费的,而OpenCV在多轮测试下来发现准确率不达标,综合考量及实验下来,采用中科视拓的Seeta6方案最为稳妥。
3.虹膜采集器早期采用武汉虹识的方案,需要结合windows|c++的方式进行对接,传统bs架构无法应对,因此选用了Electron|C++中间件的方案解决了上述问题。
2023.08 - 2024.01 傅里叶变换红外光谱仪软件系统 责任描述: 进行项目的开发环境及技术框架的搭建; 对技术文档编写; 对组人员工作调配; 配合业务人员进行需求及可行性分析; 进行软件调优; 项目描述: 该项目为面向仪器仪表检测的功能系统,整体包含PC
责任描述: 1. 数据结构设计 2. 逻辑图绘制 3. 功能代码实现 4. 各类硬件对接 4. 团队管理与协作 5. 各类文档提供 项目描述: 该项目为面向制药公司制药车间定制的门禁系统,整体包含java服务器与安卓、Linux下位机两部分,我主要负责架构设计工作。