个人介绍
擅长Python, Typescript, Go, C, Java等流行编程语言,以及flask, fastapi, gin, react, spring等前后端框架。拥有丰富的开发、测试和运维经验,参与过公司双十一、集五福和红蓝攻防演练等众多保障工作。
积极参加社区开源项目,有cpython开发经验。
工作经历
2021-04-01 -2022-08-01支付宝(中国)网络技术有限公司后端开发已认证
服务于支付宝主站风险技术组,从事灰度测试相关SRE工作。工作技术栈包括Java, Typescript, Oceanbase等。
教育经历
2019-09-01 - 2021-01-01乔治华盛顿大学计算机科学与技术硕士
致力于计算机分布式计算的研究,擅长通过map reduce 实现高可用、高并发的服务。
技能
hot-diagnose是Python程序运行时诊断工具,也是唯一能够做到实时代码分析功能。它具有以下特点: 运行时诊断(Runtime Diagnose): 它可以根据不同运行参数、上下文环境,动态诊断Python程序运行效果。同时, 由于Python的动态语言特性,该工具可以在程序运行时实时分析程序状态,更新诊断结果。 插件化(Plug-in Support): 该工具通过插件的方式提供大部分业务功能。用户也可以通过API实现自己的诊断工具。 无第三方依赖(No thrid-party dependency): 为了提高项目可维护性,最大发挥性能,该工具主体部分不依赖任何第三方包, 渲染依赖少量的JS包。 本项目用100%纯Python实现文件系统、websocket协议和HTML模板渲染引擎,对底层代码构建有较高的要求。 目前项目已上传至Pypi,只需要pip install hot-diagnose既可体验。
Nasu是一款面向个人的NAS软件,其定位是网盘和传统NAS的结合。Nasu产生的目的是“云上存储,随时使用”,用户只要部署一次就可以像浏览网页一样上传和预览文件内容。和传统的网盘相比,其优点有一下几个方面: 安全:文件存储在网上可以做数据备份,而且不会因为审核丢失数据 高效:文件的上传下载完全依赖于网络环境,不会限流限速 便宜:自己部署的NAS平台,没有会员机制,成本只是服务器的成本 灵活:只是个人使用,不需要大范围的运维 本项目后端采用Go语言开发,结合Gin框架可以实现异步处理用户请求,在数据库读写方面,项目通过xorm框架实现和数据库通信。数据库可以是sqlite、MySQL或SQL Server等主流数据库。 本项目前端采用React框架开发,页面UI采用antd,并通过axios实现前后端通信。 项目通过make构建,但是运行只需要clone项目后执行go mod download和go build nasu/src即可。
issuer是一个面向非专业使用者的轻量级软件项目管理系统,类似市面上的禅道、PingCode,但是是完全开源的作品。本项目目的是让非专业使用者也可以轻松管理软件项目,控制软件开发风险。同时,本项目开发参考了禅道(试用版)、云效(旧Aone)和GitHub等优秀作品,但在此基础上也扩充自己独特功能,包括以下特点: 完全开源: 本项目完全由社区驱动(虽然现在只有我一个人),支持MIT协议且永久承诺不包含任何商业成分。 多方联动: 本项目支持与各软件开发工具联动。目前可以通过Gitea钩子驱动项目迭代。 响应页面: 本项目通过 tailwindcss 实现响应式页面,可以在不同设备上正确展示页面信息。 本项目后端采用Python开发,通过FastAPI框架实现异步处理请求,提高响应速度。在数据库方面采用SQLModel对象关系模型工具连接sqlite数据库,也可移植主流的MySQL和SQL server数据库。 本项目前端采用typescript开发,通过主流的React框架结合Shadcn/ui库实现Web端和移动端界面开发。在异步请求方面,通过axios实现与后端通信。 本项目通过make快速构建,确保本地安装node和python环境后执行make init、make build-front和make run即可。