熟练掌握C/C++语⾔开发,熟练掌握⾯向过程和⾯向对象思想
熟练掌握Linux下Socket编程,了解⽹络通信模型,熟悉TCP/UDP、HTTP协议
熟练掌握Linux下多进程,多线程编程,了解Linux下Shell脚本编写
了解常见的Select,Epoll等⾼并发模型
熟悉应⽤Web服务器Nginx,了解Nginx基本原理
了解FastDFS分布式⽂件系统
熟悉Oracle、MySQL关系型数据库,熟练使⽤SQL语句,熟悉Redis⾮关系型数据库
熟悉数据结构,排序算法,熟悉各种常见的设计模式
熟悉Qt和VS编译器的使⽤
项目名称: 视频信息管理系统
项目要点: Oracle数据库,数据加解密和签名校验,线程池,任务队列,Json,单例模式和工厂模式计,protobuf数据序列化.
项目描述: 项目主要目的是为图片,视频等数据信息在传输过程中提供数据加密或解密的操作,解决信息传输过程中的信息安全问题和身份校验问题.采用了低耦合的设计方式,可以与不同的需要加密的信息进行对接.
项目模块: 秘钥协商服务器,秘钥协商客户端,配置管理终端,外联接口.
个人职责:
● 负责项目加解密模块的编写,并提供接口
● 客户端界面的设计实现
技术要点:
● 使用Protobuf实现秘钥协商服务器,秘钥协商客户端在不同平台的数据传输时的数据一致,使用了TCP协议形成双端通信,封装了统一的Socket套接字通信接口,解决粘包问题和实现超时阻塞.
● 为了避免代码的重复性和对象的频繁创建以及提高效率,使用了工厂和单例的设计模式来简化代码,使用了多线程,任务队列和线程池对任务进行处理提高并发和效率.
● 使用了共享内存降低了频繁的IO操作,使用了base64进行二进制数据的转换.
● 采用了OpenSLL库中的AES和RSA算法提供数据加密.
● 基于Qt实现窗口界面,连接Oracle数据库,使用Json格式的配置文件读写,提供接口实现对外联应用中的通信数据加密或解密.