田桂兰
C++主程
6年经验
2024-07-08
个人介绍:●扎实的C语言功底,掌握指针,函数指针,数据结构的使用。并具有良好的编程规范。
●精通C++开发语言,理解并掌握C++类继承、重载、多态,模版等相关技术原理。
●精通Windows下VS项目的构建、配置和开发,及MFC加自绘,QT,COM技术的使用。
●精通Windows下网络模型:IO复用(select),完成端口(IOCP),基于消息的WSAAsyncSelect,基
于事件的WSAEventSelect,基于事件重叠I/O(Overlapped I/O),完成例程。
●精通多线程/进程开发及线程的同步互斥,进程间通信。
●掌握分布式系统原理,对存储、消息队列、集群管理有一定的理解。
●熟练使用SqlServer,Oracle,设计数据库,编写存储过程。了解数据库性能优化。
●快速构建redis主从、集群服务,哨兵监控自动切换。使用cppredis操作数据。
●熟练使用cJason、Rapid Jason、libcurl、libCef、DuiLib、thrift。熟悉LuaJit,协程开发。
●具有Linux环境下C/C++和QT开发调试的经验。熟悉linux下poll/epoll网络模型。
项目经验:项目名称:酷酷游戏娱乐平台
项目职责:PC端组长,负责PC端大厅及后端登录服务器开发
1.独立开发PC大厅界面。根据公司新需求和设计对PC端局部框架进行了改变,新增和开发了包括登录模块,游戏大厅模块, 个人中心,拍卖行,背包,银行中心等全部功能模块。并在服务器同步进行相关接口开发。由于业务需求增加和升级,在登录服务器上开发了HTTP业务引擎,将客户端的部分业务请求中转到公司的HTTP业务服。
2.由于部分玩家出现被盗号的情况,我们在客户端为用户帐号安全加入身份绑定,手机绑定功能,微信扫码登陆。同时在系统中加入了Token安全验证及心跳存活,保证服务器从网络上获取数据的安全性。
3.为了方便接入第三方游戏平台,公司创建了统一平台,包含了游戏帐号和商城,将帐号和游戏平台分离。由于统一平台在HTTP服务器上所搭建,PC端大厅为此单独创建HTTP业务队列负责与统一平台的交互,并使用Libcurl库进行数据的发送和访问,以及使用rapid joson组织和解析数据。
4.独自负责在PC端嵌入谷歌浏览器框架CEF3,以解决在PC端使用MFC类库进行界面开发周期长,效果不理想的问题。并使用C++与CEF3交互,提供一些额外功能。首先CEF3将包含回调标识的请求投递给C++客户端后台,然后客户端后台从业务缓存里取出业务并操作,最后C++通过回调标识将业务结果传回给CEF3。为此我们单独创建下载线程用于进行游戏的安装检测,下载更新。同时创建业务线程用于用户信息的保存和提取等服务。每个业务线程都有自己的缓冲队列。
其它工作:.将项目开发工具VS2003升级到VS2010并重新配置项目属性,优化服务器日志输出,优化项目代码,培养新人并分发和监管他们的工作任务等。
项目名称:捕鱼奇兵游戏娱乐-REDIS版
项目职责:C++后端主程,项目负责人
一、提出引入Redis,优化数据库,重构业务功能
1.结合redis设计新服务器架构方案。
2.构建Redis一主二从三哨兵服务,实现主从自动切换。
3. 使用cppredis库用于连接和操作reids。并修改库源码支持请求超时处理,主从切换时自动发现并重连等。
4.设计REDIS存储结构,定义规范,各服务器通过REDIS进行发布和订阅的协议。
5.重新整理登录服业务并开发维护,新开发同步服务器。
6.数据库设计优化及存储过程的开发。
7.开发(mfc、c#等)测试工具和运维工具。
8.编写业务文档,开发文档,测试文档。
9.提供技术支持,协助开发网关服务器。
二、修改和完善服务器内核引擎
1.引入缺失的内核引擎源码,通过调试,修改,测试做到完美适用。为拓展业务打下基础。
2.解决网络引擎丢失连接子项(间接内存泄漏)造成无连接资源可用的bug。
3.完善数据库引擎并使其同时支持存储过程和sql脚本的执行。
4.修复数据引擎切换RecordSet结果有误及系统时间转成DOUBLE存入DB错误的BUG
5.开发HTTP引擎(调用libcurl异步接口,保证高性能),使内核支持http协议。
6.开发定时器集合引擎,满足一对多服务,减少线程,提高效率。
7.修复日志数据队列残留数据(日志输出采用MFC消息投递,重复时造成消息覆盖)
8.修复日志输出面板右键另存为RTF文件时程序假死的问题
技 能:
C++