个人介绍
我是程序员客栈的艾斯尼勒,有着10余年的开发工作经验,目前是一名全栈工程师。
我有着近10年的php开发经验,3年以上的python3开发经验。最近因性能原因接触rust而迷上rust,非常渴望能进行基于rust语言的开发工作。
技术栈:rust php python3 typescript mysql postgres redis ElasticSearch vue3 eCharts linux等
工作经历
2019-01-04 -至今知易网全栈工程师
公司经营商标、专利、版权等知识产权的交易平台及业务代理业务。 公司建设有zhiyiwang.com网站供用户交易知识产权。 我担任全栈工程师的职位,运维、维护网站、以及公司内工作运转工具开发和维护。 期间开发了多项全司使用的知识产权行业工具。商标查询、驳回复审文档生成、批文自动导入分发等系统。 由于公司老板多重身份的原因,还为其专门开发多项复杂的系统,设计金融、法律等
2014-07-08 -2018-10-30穷游网开发工程师
穷游网是一个ugc网站,服务于自助出境游的用户,允许用户创建行程、记录行程、点评景点、分享并帮助他人如何更好自助出境游。 我在穷游网的基地部门,我们主要负责穷游网的“目的地”、“个人中心”、“论坛”、“图片”等频道的建设、开发及维护。以及对接其他部门的业务需求
教育经历
2010-04-07 - 2013-01-24北京广播电视大学工商管理本科
1998-07-08 - 2003-05-06高等教育自学考试计算机软件专科
技能
注:彼时178的dkp单独有个网站http://dkp.178.com 但现在已经不能访问,应该已经全部整合到插件中了或者现在都是金团没人用dkp了。我认为该项目确是我10年前印象深刻的工作故写在这里 178游戏网下的DKP(屠龙积分)工具。dkp为大型网络MMORPG游戏为攻略团队副本记录出勤、击杀boss 、分配奖励记录的工具。彼时随着魔兽世界(WoW)游戏而兴起,当时由于大量工会达到满级60级开始攻略熔岩之心(mc)、黑翼之巢(BLW)等大型团队副本,当时的dkp工具最初设计的承载访问量不堪负荷频繁宕机,我负责进行性能优化。 该项目原本使用php+mysql进行的后端开发,分析主要性能瓶颈还是出现在团队数据大量上传后mysql表格急剧膨胀,导致取性能降低,继而数据请求大量堆积在数据库服务器最终导致宕机。我们在优化mysql的索引后,设计了一套双层的memcache缓存,降低了原本从9成以上的数据库读取量,即解决了宕机问题也极大的提高了访问的延迟问题提高了用户的使用体验。 也是由于原本的dkp工具在实现上把业务逻辑和数据读写在层次上分离的比较好,我得以在这个优化过程比较简单的实现我设计的双层缓存系统,否则大概率不得不对后端进行大量的重构和重写。
穷游网用户中心改版后可以连接展示穷游用户在穷游网上的各种数据,诸如足迹、点评、帖子、图片、问答、行程计划以及商城订单以及关注、粉丝、到访等等。 改项目后端由我主导,由于项目庞大另有一位后端同事协助我开发一些功能,实际项目中我完成八成以上的后端开发。 由于用户中心的绝大部分对接内容都是我们BU内部的数据,可以直接访问,所以实现复杂度和项目性能都比较好控制,少部分诸如商城、问答等属于其他BU的数据,需要通过SOA进行访问,而有些数据未开放SOA服务,还需协调其他部分同事开发其SOA。开发均是使用PHP7语言进行开发的,数据库使用mysql,缓存采用redis,soa访问有一套内部的sdk。 当时的难点是由于要访问各部门的数据内容,而各部门的数据由于业务不同、各部门内部的技术要求不同所以数据结构也并不统一。而考虑到可扩展性,当然要对齐数据格式,我们设定了一套我们顶层业务逻辑,并且因为需要为个不同的数据结构编写格式转换的适配器,我采用工厂模式生成适配器,并且将来穷游网业务扩展后也可以很简单的使用工厂生成新的适配器从而简单的实现开闭原则下的增加用户中心的功能。
这是一个仅面仅面向单人用户的B/S系统,包含:快速检索符合条件的股票、指数及基金的工具(含中外多个市场)。查看历史行情、实时行情、多行情对比、技术指标(均线/MACD/PSY等)、自定义买卖策略、根据买卖策略回测/筛选金融目标等多种功能。 该产品是因金融分析师个人需求开发,因此仅是个单人系统,为了开发、使用以及改变需求和实现方便,采用了B/S结构。全栈均由我单人开发,前端采用Vue3、naive-ui、echarts实现各种需求,后端采用python3+flask+postgreSQL+redis架构开发,部署上使用了docker-compose。数据源绝大部分由AKShare采集、部分数据通过自行开发的爬虫采集。 部分对性能要求苛刻的地方使用了rust语言进行开发,rust是一个性能堪比c/c++的编译语言,同时有着良好的抽象性以及强大到无与伦比的编译器可以在编译期就解决掉开发期所能犯下的99%的错误,我现在是个狂热的rust的粉丝,非常渴望基于rust语言的开发工作。