个人信息 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
个人缺点:涉猎很多但是不算精通,未来能够找到一个方向,进行深入