联系方式
联系方式
- 手机:18710849538
- Email:ybxnice@gmail.com
- QQ/微信号:395120985
个人信息
- 易斌鑫/男/1993
- 本科/西安电子科技大学/应用数学系
- 技术博客:http://two8g.github.io
-
Github:http://github.com/two8g
- 期望职位:JAVA开发工程师
- 期望薪资:月薪12k
- 期望城市:西安
工作经历
西安博创软件软件有限公司 ( 2014年7月 ~ 2017年3月 )
搜索系统项目
与另两位同事合作,研究图像识别模糊搜索算法,克服了搜索准确度问题,和Android前端一同优化图像上传速度及图像识别处理。 两个月后,由我搭建了Solr分布式搜索引擎,完成索引词典建设和LaTeX公式分词算法。同时为其它有搜索需求的项目快速提供搜索实现。此外,利用业余时间在Github上参与翻译了Solr使用指南。服务支撑最高100万日访问,搜索响应时间平均在200ms,搜索结果第一命中率达到65%,超过了部分优秀行业竞争对手。
在线视频服务项目
负责后台服务开发,使用Spring MVC,Thymeleaf,Mybatis完成服务开发,并与基础服务,APP客户端和WEB前端进行对接。为了缩短服务响应时间,使用Ehcache实现缓存加速,部署服务日志监控应用,实时监控用户访问情况,同时将WEB静态资源上传至CDN网络,改善用户体验。服务日PV达140w+,峰值达200w+。
“自由搭”生鲜O2O项目
与客户交流讨论了项目需求和开发流程,并与团队成员商讨明确了需要,分工和周期。项目中主要负责APP客户端后台开发。包括但不限于用户服务模块,内容展示模块,线上交易模块的REST接口。应对下单规则限制等需求变更,做出快速调整并实现。项目如期交付并稳定运行。进一步学习了Hibernate数据持久化框架和Swagger工具的使用。
自动化部署实践
为改善开发现状:新功能需要按计划上线,同时需要预留充足测试时间,开发人员希望服务快速部署和自动测试。搭建了内网Maven仓库。再处理这个问题时,搭建Jenkins自动部署平台,实现应用快速自动化部署。同时,使用开源GitLab搭建内部代码仓库,为以后源码共享维护和CodeReview做准备。学习并分享git-flow工作流和issue协作方式,使得责任明确及问题持续跟踪。并尝试采用GitLab-CI完成自动打包与自动测试。实现了包依赖的自动化管理,避免了出现手动启动错误类似事件。
服务日志监控系统项目
主动研究开源日志监控技术,使用ELK(ElasticSearch+Logstash+Kibana)组合框架,同时为了尽量不给服务器增加额外压力,采用轻量级的Filebeat将所有服务访问日志导入ELK系统中。然后针对Nginx 、Tomcat、Redis日志编写相应配置,进行日志过滤,在Kibana上添加各类监控数据图标规则。填补服务访问日志监控空白,异常排查工作简单安全。还可以随时通过Kibana的图表轻松查看服务运行状态和服务压力,使得及早发现异常,帮助快速定位异常原因。
内容转码服务项目
公司基于安全考虑,文本数据在部分场景下需要使用图像格式。还需要转为其它文档格式(PDF,DOCX)转换,同时需要提供公共API服务。针对图像问题,由于Html2canvas和PhantomJS的效果不尽理想,其中Html2canvas存在浏览器应用必要条件,PhantomJS的内存和CPU消耗太大。最终采用了Cutycapt+XVFB方案,其效果和性能最佳。由于累计工作量超过1000万。为了进一步提高效率,采用了多任务工作流的并发编程模式,使得每秒工作量达600。为了处理文档转码问题,对PANDOC(Haskell语言),Office XML和Xelatex排版系统进行了学习和实验,最终达到90%+的满意效果。
我的技能
- 开发:JAVA/OO/AOP/SOLID/Shell
- 框架:Spring/Spring MVC/Thymeleaf/Hibernate/Mybatis/Dubbo
- 数据库:MySQL/Redis/Solr/
- 工具:Git/Jenkins/IDEA/Swagger
- 平台:阿里云ECS,微信开发平台
自我评价
- 热爱学习,喜欢开源,充满好奇心
- 喜欢阅读技术书籍和博客,喜欢分享讨论
- 喜欢鼓捣源码,追求优美的代码