README.md

Posted by lizhao on 07-09,2019

个人信息

技能清单

以下均为我熟练使用的技能,相关项目在工作经历目录层级

  • Web开发:Java/C++
  • Web框架:SpringBoot/SpringFramework/SpringMVC/MyBatis
  • 前端框架:Bootstrap/AngularJS/LigerUI/Vue/NodeJs/VideoJs
  • 网络框架:Netty/JgServer
  • 移动端:Android/微信开发
  • 游戏引擎:Unity3d/CocosCreator
  • 服务器容器:Nginx/Tomcat
  • 数据库相关:MySQL/MonetDb/Redis/ElasticSearch
  • 消息队列:ActiveMQ
  • 版本管理、文档和自动化部署工具:Svn/Git/Maven
  • 服务器相关:Windows/Linux

工作经历

福州市仙起居网络科技有限公司 (2018年3月至今)

服务器框架搭建

创业初期,团队需要一套服务器框架,本人对Java较为熟悉,就以Java为主语言进行框架搭建。对游戏行业的技术认知不是很具体,途中主要通过网络资料/线上交流方式获取相关资料,开发了一套模块相对完备的框架

职责描述:

  1. 角色:技术选型,开发。
  2. 功能:消息字典/事件处理/Byte及Json消息封装/网络监听及消费/Session/缓存/游戏配置文件自动处理/日志系统/定时任务等
  3. 难点:之前都是做Web,对于游戏服务器的整体架构没什么清晰的认识,一些思维上的转换。
  4. 游戏中较多的连接方式是TCP/WebSocket的长连接,后采用选用Netty框架
  5. 游戏中的通讯方式使用字节形式,故对字节消息做了封装
  6. 游戏中配置文件的比重极大,故完成了一个自动读取配置文件到内存的工具
  7. 游戏中对于实时性相对较高,使用了Redis做缓存操作
  8. 项目中的整体类管理使用Spring,使用类自动装载,日志处理方面
  9. Mybatis使用在数据库连接方面,并对Mybatis进行二次开发,将常见的CURD方法封装,只需关注业务
  10. 当前上线的8款游戏使用该框架能够稳定运行
  11. 技术栈:SpringFramework+SpringMVC+MyBatis+Mysql+Netty+Redis

其他项目

仙起居商城(微信小程序)

为了扩展小程序方面的业务而开发的项目。通过类似开源项目修改,包括商品/会员/订单/支付等模块。从服务端到后台到客户端,使用到的技术栈,服务端:SpringBoot+MyBatis+Mysql+Redis,后台:Vue+iView+layer,客户端:微信小程序原生

皮皮潜水大冒险(微信小游戏)

一款通过滑动产生气泡,勇者通过气泡的位置躲避小怪及吃到金币的游戏。

  1. 角色:游戏的立案,开发,上线及运维;
  2. 关卡方面是使用热更,所有配置也是直接写在配置文件中,加载关卡时,会进行判断更新
  3. 对 ccc 的相关 API 不了解,踩了很多坑。例如:碰撞/移动/速度等
  4. 上线方面就是对微信的相关要求接口不是很了解,导致时间耽误
  5. 游戏运行卡顿。自带线程池使用时,容量还是在增加。后面使用一个定长数组存储数据,超出数组大小就重新赋值 6 技术栈:jgServer+CocosCreator+微信开发

广州思涵信息科技有限公司(2017年2月~2018年3月)

Opencast录播管理平台

在信息社会飞速发展的今天,为满足新型课堂环境,将老师的课堂资源录制下来,便于循环使用,从而开发的这套系统。

  1. 基于Opencast(一款开源的分布式录播系统)的二次开发,主要负责内容包括直播模块,评论模块等。
  2. 直播模块为设置直播课程,到对应时间自动分发推送任务,进行推流。
  3. 解决直播过程中推送视频流卡顿,消耗资源多的问题。将视频源推送过程中的转码操作给简化,满足单服务器可同时推送50个直播任务。
  4. 解决视频录制的时候产生的时间差(多路视频时间同步)。修改FFmpeg源码中的转码操作,在往文件中写入Frame时对PTS判断。
  5. 技术栈:OSGI+ActiveMQ+ElasticSearch+Nginx+FFmpeg+VideoJs+Angularjs

课堂分析系统

将录播管理平台中录制的视频进行采样分析,提取视频中老师所说的内容,根据解析出来的内容进行分析,包括敏感词,情感态度,课堂反响等。

  1. 课堂分析系统(SSM框架系统)的开发维护。
  2. 负责指标体系模块,知识图谱,巡课等接口开发及相应界面前端开发。
  3. 每次视频处理,都会占据极大内存,导致系统卡顿。解决:抽取视频处理(包括语音识别,分词等)为单独服务,较少服务器负载,提高性能。
  4. 每次语音识别-分词操作的时候,都会存入大量数据,大概一个月的时间就有将近5个G的容量,使用的时候查询或者插入异常缓慢。优化方案:一个是使用了MonetDb列式数据库,一个是数据库读写分离,分库分表操作。
  5. 技术栈:SSM+Vue

柳州市联柯八佰科技有限公司(2015年12月~2017年2月)

广汽丰田物流业务管理系统

公司主体业务是面向企业做的仓储/物流管理平台,这个项目主要是为了开展汽车行业整车运输的业务。

  1. 参与广汽丰田物流业务管理系统开发,负责其中运输模块、新业务模块及android程序
  2. 完成对接违章查询,并与生理检测仪器对接、手持NFC扫码设备及RFID对接,并完成对应MVC桌面程序
  3. 服务端C++,数据库使用MySQL,前端使用LigerUI(基于JQuery),移动终端Android
  4. 项目主要难点:需求不明确并且变化、项目周期不合理
  5. 完成3期验收工作,进入试用阶段。并负责后期整个项目的维护与开发

致谢

感谢您花时间阅读我的简历,期待能有机会和您共事。