个人信息
- 彭闽 / 男 / 1995
- 本科肄业 / 南京航空航天大学 / 软件工程
- 工作经验:7 年
- 个人博客:https://blog.jubeat.net
- Github:https://github.com/PMExtra
- 联系电话:18115167573
- E-mail:[email protected]
- QQ/微信:1304445713
教育经历
2013~2015 南京航空航天大学 计算机学院 软件工程专业 肄业
2013年信息学奥林匹克竞赛免高考保送入学。
2015年因个人规划,休学创业,两年后退学肄业。
2014~2018 年期间,我利用业余时间在校组织学生活动,期间先后担任:
- 纸飞机青年网络社区 电脑服务部 副部长
- 蜂鸟网络技术协会 技术部 部长
- 微软技术俱乐部 技术部 部长
- 校科技中心 计算机工作室 主任
- 校信息中心 IT 创新区 主任
期间还负责了学校教务系统部分模块的开发和维护,详见项目经历。
工作经历
生迪智慧科技有限公司(2019年11月 ~ 现在)
担任 运维开发 职位,主要工作内容:
- 协助 CTO 进行前后端技术选型及架构设计;
- 负责公司网络办公、研发的环境搭建,如: OpenLDAP 账号管理、FreeRadius + OCserv 内网访问、GitLab 代码管理、Confluence 文档管理、Portainer 容器管理 等;
- 负责既有项目的容器化和 CI/CD;
- 负责云服务的成本优化,使用 Terraform 进行自动化资源管理,通过 Sentry 等工具进行指标和异常监控。
深圳迅倢科技有限公司(2018年10月 ~ 2019年10月)
担任 后端开发 职位,主要工作内容:
- 负责后端部分业务模块的开发;
- 负责公司网络办公、研发的环境搭建,如: GitLab 代码管理、Confulence 文档管理、Jira 开发及测试管理、Seafile 私有云存储 等;
- 负责既有项目的容器化和 CI/CD;
- 负责项目上云的架构设计、成本优化、部署实施和指标监控。
上海墨瓦信息科技有限公司(2017年4月 ~ 2018年10月)
作为公司联合创始人之一,负责研发工作,主要工作内容:
- 负责组建研发团队,并跟踪研发进度;
- 负责项目整体技术方案选型和架构设计;
- 负责后端代码开发;
- 负责项目的容器化和部署。
南京开悦软件有限公司(2015年6月 ~ 2017年4月)
担任 研发工程师 职位,主要工作内容:
- 参与边缘网关流媒体模块的开发;
- 负责 iOS App 客户端开发;
- 其它研究性课题的探索与开发。
项目经历
榕下听风教学辅助系统(2008~2009)
我初中时期,自学编程独立开发了本项目。
该项目主要应用于课堂教学和班级管理,安装于教室讲台电脑中。
通过该工具,教师可以随时唤醒屏幕贴边的悬浮窗。悬浮窗中有课堂倒计时、点名器、小组积分等实用工具,方便教师掌握课堂进度,增加课堂互动性和学生积极性。
除此以外还有 成绩管理、座位编排、辩论赛计时、U 盘病毒专杀 等实用功能,广受各科老师好评,在全校推广应用。
项目主要采用 Visual Basic .NET 3.5 - WinForm 技术开发,其中 U 盘病毒专杀 采用 bat 批处理进行数据修复。
纸飞机Windows部署助理(2014~2015)
我本科在校期间,自主独立开发了本项目。
该项目主要针对同学们广泛存在的重装系统需求,实现标准化和自动化的无人值守部署,供校园公益组织——纸飞机电脑服务部使用。
与传统 Ghost 系统不同的是,该项目使用微软官方技术(DISM)封装,使用 sysprep 无人值守方案,实现系统底包与外部驱动、软件的隔离。
因此可以非常方便的对系统底包、驱动包和软件包独立更新,并可以在部署前自定义需要安装的驱动和软件,甚至可以自定义软件的版本。
该项目 GUI 程序主要由 易语言 + VC98Linker 实现,自动化脚本主要由 bat 批处理 和 AutoIt 脚本 等方案实现。
音乐游戏:《Mazic》(2014~2015)
我在 南京水幻之音信息科技有限公司 兼职期间,负责开发本项目的初期原型,并为该创业公司组建研发团队。
这是一款原创音乐游戏,现已更名《Zion 载音》,由 Bilibili 发行,曾登顶 App Store 付费游戏排行榜。
Mazic 项目原型使用 Cocos2DX 制作,奠定了游戏的核心玩法。后期因结合附加元素的多样需求和研发效率的综合考虑,改用了 Unity3D 引擎。
南航选课系统 (2014~2018)
我在本科期间,与学校教务处签订项目外包合同,承接了本项目。我在该项目中担任项目负责人,设计了项目架构和技术方案,并主导开发。
该项目是在南京航空航天大学(简称南航)实际服役 5 年的选课平台,它改善了以往选课系统兼容性差,访问卡顿,甚至一到高峰期就无法访问的缺点,并且提供了丰富的扩展性和逻辑选项,实现了一套系统应对多个类型的选课需求。
项目初期因教务处建议,采用 ASP.NET MVC5 + 动软简单三层架构 开发,后因数据结构庞杂而引入 ORM,最初尝试了 NHibernate,但在性能方面遇到了瓶颈。随后尝试过 EntityFramework 和 LINQ to SQL 等多种技术方案,都没有达到预期的效果。在项目上线一年后的 2015 年,微软发布了全新的开源 ASP.NET vNext (现更名 ASP.NET Core) 和 EntityFramework 7 (现更名 EntityFramework Core)。通过对这一全新框架的学习,让我对 WEB 开发的本质有了更深层的认知和理解。2016 年,我们采用 ASP.NET Core + EntityFramework Core 方案重新开发新版本,并使用 Redis 作为数据缓存,通过独立的 Vue SPA 前端,避免了服务端渲染,降低了后端服务器的压力,提升了前端交互体验。最终使系统稳定应对了单机两万人同时访问。
美林智能盆景 PC 客户端(2016)
我在本科期间,与 江苏美林智能盆景有限公司 签订项目外包合同,承接了本项目。我在该项目中担任项目负责人,设计了项目技术方案,并独立开发。
该项目是美林智能盆景硬件的上位机客户端,用于对智能盆景进行参数配置。
项目主要使用 易语言 开发,并由 VC98Linker 静态编译,使用 USB COM 串口协议和下位机通讯。
无人驾驶车辆技术研发中心项目管理系统(2016~2017)
我在本科期间,与 自动化学院无人驾驶车辆技术研发中心 签订项目外包合同,承接了本项目。我在该项目中担任项目负责人,设计了项目架构和技术方案,并主导开发。
这是一个按需定制的 OA 平台,集人员管理,任务管理,绩效考核,财务管理,统计分析于一体。
采用 ASP.NET MVC Core + EntityFramework Core 技术方案。
iOS App:IVS 视频监控(2016~2017)
我在 南京开悦科技有限公司 任职期间,独立负责该项目的开发。
该项目是 输电线路防外破智能监控系统 的 iOS 客户端,主要应用于国家电网等电力公司。
该系统可以智能监测输电线路周边环境,对潜在的输电线路破坏行为进行预警,推送可疑照片和信息到客户端,客户端可以实时播放、回放监控画面,并且可以鸣笛示警或远程喊话。
该项目采用 Swift 3 + Storyboard 原生开发方案,使用了 RxSwift 响应式编程设计,开发了大量可重用的 UI 组件,并通过 Storyboard 实现了负责的界面组合。
在开悦任职期间我还参与了一些视频编解码(ffmpeg/OpenGL)和视频传输(rtsp/rtmp)的嵌入式开发。
互联网视频汇聚监控云平台(2017)
我在 上海墨瓦信息科技有限公司 任职期间,参与了该项目的开发。我在该项目中主要负责设计采集端的技术方案,并予以实施。
这是与公安部门合作的一个平安城市项目,将社会公共监控(学校、公园、酒店、商场等)接入到互联网平台,供公安系统远程调阅。
我在该项目中主要负责采集端开发,即根据服务器指令,通过 Onvif 协议 或 设备 SDK 等方式,从市面上主流的 IPC/NVR 设备上采集数据,推送至云平台。
网关端使用 x86-64 架构的 Linux 系统,该项目主要开发语言是 C++,我在该项目中学习并使用了 C++11/Boost 的一些特性,封装了一套 SDK 供第三方设备厂商适配接入。
物联网系统平台:智慧路灯(2017~2018)
我在 上海墨瓦信息科技有限公司 任职期间,负责设计该项目的架构和技术方案,组建研发团队并管理开发。
该项目面向现代化社区、景区和智慧城市、平安城市,提供节能、环保、治安、信息服务的一套物联网智慧路灯平台方案。
项目后端采用 ASP.NET Core + EntityFramework Core + PostgreSQL + Redis + DotNetty 的技术方案,前端采用 Vue + ElementUI 方案。
项目前期尝试了 SuperSocket 作为硬件设备的服务端框架,但在使用过程中发现 SuperSocket 具有效率低下,结构混乱等缺点,因此更换为 DotNetty 框架,并自主二次封装研制了 ProtoSocket 通讯框架。
在 PostgreSQL 中我们还使用了 PostGIS 和 TimescaleDB 等插件,分别用于处理定位信息和传感数据。
项目服务端使用 Docker 容器化部署,安装便捷,可以轻松实现横向扩展。
MyDaxue 留学生教务平台(2018)
我在 南京宾思鲁商务信息咨询有限公司 兼职期间,负责设计该项目的架构和技术方案,组建开发团队并指导开发。
该项目是 南京宾思鲁商务信息咨询有限公司 和 南京航空航天大学国际教育学院 合作的留学生教务平台。
该项目为高校管理员、教师提供了一个良好的教学管理平台,为在华留学生提供了多语言的教学信息查询,填补了目前国内对留学生信息化管理的空缺。
项目采用 ASP.Net Zero Core (ABP) 框架,Angular 前端,React Native 移动端。
此外,我们结合 BLE 物联网技术,为课堂考勤提供了一个廉价易部署的高效方案。
NextSalon 医美连锁会员系统(2018~2019)
我在 深圳迅倢科技有限公司 任职期间,参与了该项目部分业务的开发,并负责对项目进行容器化和 DevOps 自动化,设计并实施了整个系统的 AWS 上云方案。
该项目是为 日本 Axxzia 株式会社 开发的医美连锁会员管理系统。
我在该项目集成或使用了 Amazon AWS 以下业务:
- Amazon VPC 虚拟私有云:负责隔离内外网,实现实例间内网通信,跳板机做 NAT 网关
- Amazon ELB 负载均衡服务:作为 HTTP API 入口,负责负载均衡和 TLS
- Amazon EC2 弹性计算服务:作为容器宿主,负责 API Host
- Amazon EBS 块存储服务:作为 EC2 的外存,配置自动快照
- Amazon RDS 关系数据库服务:主数据库
- Amazon ElasticCache 缓存服务:Redis 缓存
- Amazon S3 对象存储:负责用户头像、电子合同和 WEB 前端等文件存储
- Amazon Route53 域名/DNS 服务:负责域名和 DNS 解析
- Amazon SES 邮件服务:负责发送邮件通知和接收用户预约邮件
- Amazon SNS 通知服务:负责发送监控通知,和 SES 联动当收到用户预约邮件时产生 HTTP Callback 传递到 API
- Amazon CloudWatch 指标监控:负责监控各服务指标,与 SNS 联动发送通知给运维人员
- Amazon ECR 容器镜像:负责存储 Docker Image
- Amazon Certificate Manager:负责申请和管理 HTTPS 证书
- Amazon CloudFront:负责 CDN
商瑞物联网智能商业照明 & 客眸零售客流分析平台(2019~2020)
我在 生迪智慧科技有限公司 任职期间,负责该项目的技术方案设计、容器化、DevOps 自动化和云服务架构设计以及上云实施。
该项目是集 智能商业照明 和 智能客流分析 为一体的 智慧商业物联网+ 平台。
我在该项目中设计了一套适用于边缘网关的基于 MQTT RPC 通讯框架。
搭建了由 OpenLDAP / FreeRADIUS / ocserv / Crowd / Confluence / GitLab / Portainer 等工具组成的一套完善的用户、网络、文档、代码、容器的管理平台。
负责项目的云架构设计,云服务 SDK 对接,和 AWS / Aliyun 部署实施。
负责既有项目的容器化与 CI/CD 、日志采集、状态监控和自动报警。
负责母公司部分业务的云服务成本优化,使云服务成本大幅度降低。
开源项目
自主开源项目
Abp.Mqtt
一个基于 MQTTv5 协议的 RPC 通讯框架。开源的部分是 .NET 的实现,灵活运用 .NET 反射特性简化代码,使编写和调用远程服务,就像声明和调用本地函数一样简单。
Html-Marker
一个 Chrome 浏览器插件,可以便捷的在页面上标记 DOM 元素并添加说明,方便撰写文档时附图。
MowaInfo.DataPager
一个 HTTP API -> EntityFramework Core 的通用数据查询分页筛选库。
MowaInfo.ProtoSocket
这是一个基于 DotNetty 的 RPC 通讯框架,使用 ProtoBuf 序列化数据。
参与贡献的项目
以下是我参与过的部分开源项目,您也可以点击 GitHub PR 和 GitLab MR 查看完整列表。 (Tip: 未登录时 GitHub 会提示 404,登录任意账号后重新访问此链接方可查看)
acmesh-official/acme.sh 
A pure Unix shell script implementing ACME client protocol https://acme.sh
- #2929 Support multiple servers for SSH deployment
abpframework/abp 
Open Source Web Application Framework for ASP.NET Core https://abp.io
- #5697 Improve EFCoreRepositoryExtensions
- #5866 Unify route format: checkPassword -> check-password
- #6705 Fix AbpStringExtensions
- #6997 Fix enum file template with string enum
- #7879 Improve MongoDbCoreRepositoryExtensions
- #9245 feat(audit-logging): add userId filter
- #10142 Improve IdentityServer module
apache/superset 
Apache Superset is a Data Visualization and Data Exploration Platform https://superset.apache.org
aspnetboilerplate/aspnetboilerplate 
ASP.NET Boilerplate - Web Application Framework https://aspnetboilerplate.com
- #5107 Add [ContractAnnotation] for null check
- #5350 Improve GetLastChild of OrganizationUnitManager
- #5351 Ensure OrganizationUnit.Code is unique
dotnet-architecture/eShopOnContainers 
Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET Core 3.0, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor. https://dot.net/architecture
- #473 Fix about some async calls
chkr1011/MQTTnet 
MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker).
- #836 Support existing session with ManagedMqttClient
- #886 GetUserProperty extension
- #889 Support MqttClientOptionsBuilder.WithConnectionUri()
gabime/spdlog 
Fast C++ logging library.
- #330 Use the feature checking macros to detect thread_local support in clang
microsoft/vscode 
Visual Studio Code https://code.visualstudio.com
- #91237 Fix a small bug of JsonValidation
gitlab-org/gitlab

GitLab is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab on your own servers, in a container, or on a cloud provider.
- !31453 Fix export upload
其它技能
有初级的逆向工程能力,有 .NET / Java / Electron (NodeJS) 等项目的逆向经验。
擅长软硬件的检修和维护,学生时期曾在三星电脑售后兼职,有相关工作经验。
致谢
感谢您阅读我的简历,期待能有机会和您共事。