个人信息 information 
              
              
                  
                    籍贯:河南 
                    生日:1995.02 
                    性别:男 
                    Java开发:2018.04-至今 
                   
               
             
           
          
            
              
教育经历 Education 
              
              
                
                  2014 ~ 2018 
                    黑龙江大学 
                    信息管理与信息系统(全日制本科) 
                   
                 
               
             
           
          
            
              
项目与工作经验 Experience 
              
                
                  广州瑞云网络科技有限公司深圳分公司(所有项目均为淘宝商家软件) 
                    2018.04 ~ 至今 
                      掌中宝交易-订单中心(本人是从0到1最初的开发者) 
                      项目说明:订单中心是一个利用Dubbo 开放其接口,供其他微服务调用的后端项目,是为了解决商家查询订单接口慢的问题(速度慢是由于淘宝接口没有提供丰富的入参,而用户又需要各种定制查询,需要调多次淘宝接口导致) 
                      具体实现:整体项目使用SpringBoot2.0 ,通过Mongodb 存储从淘宝 api 拉取全量字段订单数据,保存用户查询时间至redis ,并加Redis 锁,以保证分布式运行不会出错,下次用户进入查询,再根据查询时间增量查询数据,把查询的数据跟mongodb 中数据进行对比,替换过期数据,即完成更新,通过特定的搜索条件添加Mongodb 索引的检索速度 
                     
                    
                      掌中宝交易-短信模块(后续维护和开发) 
                      项目说明:提供公司所有项目短信的发送,使用Kafka 和数据库同步两种方法发送短信 
                      具体实现:其他项目可以通过Kafka 发送消息或者插入数据表的方式来通知短信项目发送对应短信,短信项目发送之后会对结果进行同步,具有很强的可扩展性,可以对接多个短信运营商,可以随时添加新的项目的短信发送类型 
                     
                    
                      多买宝(后续维护和开发) 
                      项目说明:买家购买商品之后,可以使用该软件发送各种定制化卡片,包含定制化海报,优惠券,优惠金额,促销游戏等等。 
                      具体实现:是利用淘宝的奇门接口,经过一系列商家设计的复杂逻辑来判断推送需要推送的卡片,并发送给买家,项目中有使用quartz 来作为分布式定时器,使用Mongodb 存储用户统计数据,使用Redis 保存缓存信息 
                     
                 
                
                  
                  
                    nzook :一个zookeeper 可视化Intellij IDEA 工具插件可以在插件市场直接搜索到,工作的时候使用Dubbo 时需查看zookeeper 节点,使用插件就非常方便了 
                    以树的形式提供显示zookeeper 的znode结构 
                    可以新建、编辑、删除和拷贝节点 
                    可以查看和编辑节点数据、节点元数据和控制信息 
                    之后看情况还会加个测试Dubbo 接口的功能 
                     
                 
                
                  
                  
                    NclassReader :Java类文件结构查看器写这个的原因主要是因为要熟悉class文件结构 
                    使用vue 开发前端页面,用electron 来构建的一个桌面应用程序 
                    功能跟Classpy  类似 
                    遵循Java8Jvm规范解析,Java8以后的暂时没有添加 
                    左边是树形的class文件结构,对应右边的二进制字符,选择左边的分支,右边会对应高亮 
                    参考了《Java虚拟机规范(Java SE 8版)》《深入理解Java虚拟机(第3版)》 
                     
                 
                
                  
                  
                    NReader :epub格式图书的桌面级阅读器个人学习前端时基于兴趣做的一个阅读器 
                    使用vue 开发前端页面,也是用electron 来构建的一个桌面应用程序 
                    支持绝大多数epub图书的阅读 
                    可以调节字体大小,背景颜色,进度条等常用设置 
                    使用了ant-design UI 组件库 
                    使用了轻量级数据库lowDB 来保存图书信息和进度信息 
                   
                 
               
             
           
         
        
          
            
              
技能 Skills 
              
                
                  Java后端 
                    Java基础 熟悉Java基础知识,对于泛型,接口,异常,容器,注解,以及各种Java语言基础都有很深了解 熟悉Java高并发及多线程业务处理,对于多线程及JUC都能熟练使用 了解一定的Jvm基础知识,对于Jvm底层运行逻辑非常感兴趣,目前想要利用Java实现一个简单的Jvm Spring Boot 能够独立搭建spring boot项目,熟悉web应用场景开发 熟悉数据库整合,项目中使用过mybatis、mybatis-plus,了解过分库分表解决方案 sharding-jdbc 能够整合各种中间件 redis、rabbitMQ、Dubbo 数据库(mySql/redis/mongodb) 熟悉mysql的使用、优化,了解一部分底层原理,能够对索引和查询性能进行优化 熟悉redis,项目中使用过redis做缓存和分布式锁 了解mongodb,使用过mongodb,熟悉springboot中的mongodb操作 RPC框架(Dubbo)和 springCloud 熟悉Dubbo框架使用,能够使用springboot-Dubbo构建微服务 了解springCloud和springCloudAlibaba,能够快速上手学习开发 消息中间件(kafka/RabbitMQ) 熟悉kafka,项目中选择使用了kafka作为短信项目的消息队列 了解RabbitMQ的使用、做过springboot相关的项目  
                 
                
                  Web 前端 
                    html/js/css/vue(不深入) 了解 html/js/css 一些基础知识 能够写出简单的网页,使用vue和各种组件可以开发一些简单的前端项目 有个人项目 NReader 和 NClassReader 是使用vue开发 electron(不深入) 能够和vue一起开发一些桌面应用 有个人项目 NReader 和 NClassReader 是使用electron开发  
                 
                
                  其他 
                    具有一定的 数据结构 / 计算机网络 / 前端 相关知识 熟悉大部分的设计模式,对于代码的优化有很深的洁癖,着重于编写易懂具有扩展性的代码 了解docker的简单使用,自己有台云端服务器,常常使用docker来搭建各种环境 开发使用IDEA 个人缺点:涉猎很多但是不算精通,未来能够找到一个方向,进行深入