proginn2112376691
全职 · 600/日  ·  13050/月
工作时间: 周末08:00-22:00工作地点: 远程
服务企业: 0家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

擅长编写高质量代码,优化系统性能和可维护性;熟悉数据库存储和分布式架构设计。主观能动性强,善于总结经验教训。 个人博客:https://blog.csdn.net/trinityleo5

工作经历

  • 2023-11-01 -至今叠纸后端开发

    1. 负责对公司基建平台服务的架构设计和实现,保障服务稳定,提升服务性能,对项目中的难点进行攻关; 2. 按照项目计划,按时提交高质量代码,完成开发任务; 3. 与业务运营、产品团队紧密合作,通过技术手段推动业务持续改善。

  • 2017-05-01 -2023-05-01上海云蟾网络科技有限公司后端开发

    这是一家游戏公司,研发中心组旨在为公司游戏项目组提供周边服务技术支持,比如登录、支付、推送、分享等服务。 后端开发(2019-2023年): 1. 负责对公司的游戏周边核心项目 (登录、支付) 进行架构设计和实现,并确保高质量的产品交付。 2. 负责项目部署与监控,优化服务器性能,配置Jenkins自动发布,实时分析日志并自定义监控规则检测异常时告警。 前端开发(2017-2019年):负责内部GM后台系统和手游登录前端开发:包括需求分析设计、编码及性能优化等任务

教育经历

  • 2011-09-01 - 2015-06-30湖南理工学院计算机科学与技术本科

技能

0
1
2
3
4
5
0
1
2
3
4
5
作品
API开放平台

XAPI 开放平台 http://60.204.157.168/ 仓库入口:https://github.com/xiaoxiongmao5/xapi 项目介绍:一个API开放调用平台。管理员能配置发布接口并可视化分析数据。用户能浏览接口并在线调用。 技术栈:Golang、Gin、MySQL、Redis、Dubbo-go、Nacos、Docker、React、Ant Design 项目亮点: 1. 设计项目架构:该项目由前端 + 后端组成,在后端系统中,根据功能职责,将系统划分为三个关键模块: 1. ① 核心业务后端 ② 聚合第三方API接口的SDK包 ③ 负责统一鉴权、限流、路由转发的网关 2. 各模块相互独立,通过 Dubbo-go + Nacos RPC远程调用 技术实现高效协作。 2. 设计 API签名认证 算法,通过唯一的 ak/sk 鉴权方式,确保接口调用的安全性并防止恶意调用。 3. 封装 全局日志工具,通过 Logrus 的钩子机制为每个请求日志添加 SessionID,以增强故障排除能力。同 时,使用 file-rotatelogs库 对日志文件进行按日切割,以提高日志管理的效果。 4. 设计 全局配置加载和监控机制,静态配置在初始化时加载,而动态配置通过 goroutine 定时检查动态配置 文件的更新时间,若变更就将数据更新到全局动态配置中,并使用 互斥锁 sync.Mutex 确保并发安全。 5. 设计 IP限流中间件,使用 Golang 的 time/rate 扩展库,基于 令牌桶算法 构建IP级别的速率限制器,允许 为每个IP地址设置独立的访问频率限制条件。以提高应用程序的可用性和安全性。 6. 构建 容器化部署 方案,使用 Docker、Docker Compose 实现一键部署,提升应用部署效率

0
2024-07-01 21:34
在线判题系统

项目介绍:一个编程题目评测系统。能够根据管理员预设的题目用例对用户提交的代码进行执行和评测。 技术栈:Golang、Beego、MySQL、Redis、Dubbo-go、Nacos、Docker、Vue3、Arco Design 项目亮点: 1. 设计系统架构:该项目由前端 + 后端组成,在后端系统中,根据功能职责,将系统划分为三个关键模块: 1. ① 核心业务后端 ② 校验结果的判题服务 ③ 负责编译执行代码的可复用代码沙箱 2. 各模块相互独立,通过 Dubbo-go + Nacos RPC远程调用 技术实现高效协作。 2. 设计代码沙箱的技术实现方案(确保安全性和执行效率的平衡): 1. 为宿主机安全稳定,选用 Docker容器 隔离执行用户代码,使用 Docker Engine Go SDK 做操作管理, 通过 HostConfig 对容器做内存、CPU和网络限制。并用 goroutine + select 控制代码执行超时。 2. 与使用 Golang 原生 os/exec 相比,Docker容器虽然有更高的安全性,但是执行时间较长,而编译过程 相对安全,因此编译使用原生 exec 方式,以缩短代码沙箱流程耗时。 3. 使用 模版方法模式 定义标准的代码沙箱流程,确保未来扩展其他编程语言的代码沙箱时可以保持一致性, 包括代码保存、编译、执行、获取输出和清理。同时也提高了可读性和维护性 。 4. 异步执行判题,后端采用 事务 确保将用户提交信息写入数据库并更新提交数,同时将 ID 写入 Redis消息 队列。判题服务启用 goroutine 读取 Redis队列 做判题消费后,通过 RPC 与后端通信更新判题结果。 5. 使用 Option模式 封装可配置的 通用HTTP请求工具,包括Method、URL和可选选项,提高代码扩展性。 6. 设计 全局异常处理器,通过 recover 捕获所有异常,使用 errors.As 识别特定异常进行处理,最后统一规 范错误响应,以提高应用程序的可靠性和稳定性。

0
2024-07-01 21:30
更新于: 2天前 浏览: 8