个人介绍
熟练使用多种关系型数据库如:sqlserver、mysql、oracle、pgsql
熟练使用 nosql 如:mongodb、redis
熟练使用分布式框架:rabbitmq、nginx、apollo、elasticsearch、skyworking
精通 orm 框架:EFCore、Dapper、sqlsugar
精通 ioc 框架:Autofac
精通 aop 框架:Castle.Core
任职过项目组长,负责团队技术管理,任务协调!
工作经历
2020-10-01 -2022-03-01纳龙健康科技有限公司.net core高级工程师
1.根据安排着手参与院内一体化核心项日开发 2.参与对接医院 HIS 系统开发 3.参与公司老院内项目接入院内一体化项目的开发 4.参与对接胸痛系统开发 5.参与对接动态心电项目开发 6.参与电生理系统开发 7.参与老项目静息心电系统功能维护
2019-11-01 -2020-08-01江苏享佳健康科技股份有限公司.net高级工程师
1..net底层框架封装维护,有分布式缓存,及orm框架 2.负责数据库设计,接口设计及后端服务开发 3.参与公司erm项目重构,及功能的升级 4.完成公司核心业务软电话开发 5.针对公司在线客服反馈的项目中的不足,及时予以处理
2018-03-01 -2019-11-01江苏户传科技有限公司.net项目组长
1.任职技术组组长 2.参与需求分析,负责数据库设计,后端开发进度跟踪,人员任务安排 3.在规定时间内完成上级安排的项目开发部署,获得上级的认可,及资金奖励 4.在职期间负责多个项目开发,及需求送代
2015-03-01 -2018-03-01南京未来高新科技有限公司.net工程师
1.根据上级的要求完成指定的需求开发 2.网站上线后根据使用用户的体验,以及不足,及时对系统功能调整及维护 3.对公司项目中的漏洞及时发现处理项目经验
教育经历
2017-09-01 - 2020-03-01电子科技大学计算机科学与技术本科已认证
了解很多技术,开阔自己的视野,补缺了一些知识盲区!
技能
1.项目架构使用winform,cefsharp 2.功能点主要是爬取客户所需要的酒店数据,促销活动,日志数据操作,会员打折信息,促销时间等数据 3.主要抓取数据方式如下 ①使用自带组件cef模拟登录,捕获cookie; ②通过httpclient调用网站对应的接口数据,传入捕获的cookie信息,以及模拟对应参数 ③使用抓包工具,捕获当前网站请求的接口 ④组装接口数据 ⑤使用HtmlAgilityPack三方组件抓取页面元素,具体方式有xpath/class/jQuery等手段 ⑥通过winform组件模拟按钮触发,捕获一些需要点击才能获取的数据 ⑦编写监测程序,捕获对应网站的轮训接口,持续抓取数据,避免漏掉 ⑧等等一系列抓取数据的手段,还要结合实际场景,保证合法合规
1.系统架构: 使用.net6作为后端宿主服务 2.需求功能:集成海康/大华 rtsp协议;作为通用的摄像头转发服务 3.控制摄像头的播放方式 4.控制摄像头的启用禁用 5.接入nginx转发m3u8文件 6.针对摄像头处理一些通用的控制操作,对外提供api 7.支持websocket长连接,确认摄像头存活,自己对摄像头实时发送命令 8.支持摄像头协议检活,用于处理摄像头补偿机制,处理一些突发状况,摄像头协议意外停止,协议不转流,没有缓存文件等问题
项目背景:由于公司没有共用的底层框架,各个项目缺乏统一的逻辑规范及一堆重复的组件;使得项目因框架出现问题时及需要升级时,多个项目要同步修改,不利于程序扩展性开发;因此提出统一底层框架的开发。 目标:解决项目的扩展性、逻辑规范性、公用函数统一使用入口 概述:框架封装了事件总线、ORM 、分布式缓存、定时任务 BackgroundService、Mongo 、工具类(Utility)、依赖注入扩展类(DI )、权限认证等 1.使用.NET Standard 2.1和.NET 6.0 做为底层开发 2. 涉及开发的功能如下 1)RH.Framework.ORM(orm 框架):定义仓储、工作单元及基类;基类提供主键、时间、是否删除等基础信息;仓储内部实现包含三大项:数据代理接口、参数化配置、数据上下文;数据代理接口用于记录日志或内容补充;参数化配置用于从 appsettings 种获取配置或者其他配置文件中读取信息;数据上下文主要是对 sqlsugar 框架的包装以及加入了一些自定义扩展,如条件过滤,用户信息赋值,多租户切换等;仓储的实现同时还公开了原生 sql 的编写方式,以满足复杂业务;最后为仓储提供了扩展类,以补充一些特殊的不常用的需求;如分表查询、树型查询等。令说代理接口及数据上下文都是通过接口注入,所以可以自定义实现去替换默认实现。工作单元这里主要处理数据的统一提交。 2)RH.Framework.EventBus (事件总线):统一发布消息源,接口内部定义多模式消息发送、延迟消息发送、参数配置发送消息机制;默认实现使用的是 EasyNetQ ,针对 rabbitmq 进行消息处理。内部的参数配置提供单条消息确认、批量确认、持久化、事务等操作;该组件还实现了消息的自动订阅,底层通过扫描尾部继承了 IConsume 的接口进行自动订阅。 3)分布式缓存:使用 Redis 作为内存载体,定义通用接口包含 string、hash、list、set、zset及 lua 脚本封装和分布式锁;使用 ServiceStack.Redis 来实现具体接口,同时提供自定义 Mapper 映射,使对象可以很方便的转换 hash 需要的格式。底层实现类提供两种实现方式供选择,一种是哨兵一种是单个服务的实现,通过指定的 Options 参数配置进行选择。 4)B