具备良好的C++基础知识与面向对象编程思想。较好理解TCP/IP协议,熟悉Windows下的Socket接口,有IM即时通信程序开发经验。熟悉windows的消息机制与API,能熟练进行dll、多线程、多进程、windows服务、注册表等编程;能开发基于VC/MFC的视窗程序。熟悉COM,一般性掌握ATL,能进行进程中服务器组件的开发。一般性掌握SQL Server、SQLite、MongoDB。较好掌握JavaScript,能进行Node.js平台上的开发。目前从事手游后台开发。
2018-06~2018-10 四川血战麻将
2017-11~2018-03 红中麻将
全权负责麻将和牌算法(高效查表法)的实现、游戏通信协议设计、以及完整的游戏逻辑的实现。
在麻将游戏项目中,和牌算法是技术上最核心、最重要的一部分。由于游戏服务器需要频繁地对成千上万副手牌进行和牌检测,因此要求该算法必须非常高效。而上述项目所实现的和牌算法均采用了查表法,最复杂的四川血战麻将,其和牌检测算法实际测试在一台配置了Intel i5 7500(四核,3.4~3.8GHz) CPU的计算机上可实现一百万次调用耗时大约800ms,具有极高的效率。实际仍然有提升的空间,但已经足够快了。
2016-05~2017-11 在线客服系统
该项目的实现目标是为客户咨询服务提供简单、高效、便捷的解决方案。
本项目基于C/S模式,涉及的主要技术为:
COM、Asynchronous Pluggable Protocols、图形图像、Socket、多线程同步、进程间通信。
(一)项目职责
1、负责整个项目的架构、功能、通信协议的设计;
2、负责后台服务器的数据库设计、编码实现;
3、负责前端主程序框架、底层的异步可插协议(Asynchronous Pluggable Protocols)、Socket通讯层、以及桌面截屏、涂鸦、图像压缩、远程控制等C++功能模块的编码。
(二)项目功能描述/实现
1、客户端(C++实现)
(1)、兼容Window XP ~ Window 10;
(2)、支持服务启动、在线更新;
(3)、支持会话转接、会话邀请、会话监视;
(4)、支持消息群发、离线消息、消息记录查看;
(5)、支持文件发送/接收;
(6)、支持远程控制。
2、服务器端(基于Node.js/MongoDB)
1、保持并管理客户端到服务器的长连接、响应客户端的协议请求;
2、制定客户与客服之间的会话接入规则;
3、存储并管理会话信息。
2015-12~2016-10 SQLite数据库引擎
该项目基于SQLite3,旨在为应用程序提供轻便、高效、稳定的嵌入式数据库引擎。除了封装了基本的增、删、改、查功能外,主要实现了游标操作、以及数据库云备份功能。该引擎以进程中组件的方式实现。主要涉及STL、COM、ATL、正则表达式等技术。
(一)项目职责
1、负责协调、制定接口的调用约定;
2、负责接口的功能编码实现;
3、协助团队成员对接口进行验证、调试。
(二)项目功能描述/实现
1、支持标准SQL的增、删、改、查操作;
2、支持字段别字、默认值、多表查询;
3、支持游标操作;
4、支持云备份。