个人信息

  • 蔡峤 / 1995 / 两年工作经验

  • 本科 / 江西师范大学(2013 - 2017)

  • Email: adevjoe@gmail.com

  • Blog: adevjoe.com

  • Github: github.com/adevjoe

  • 目前已就职,无换工作想法

工作经历

灵雀云 (2019.3 - 至今) | 后端开发工程师

南昌同凯网络信息服务有限公司(2017.4 - 2019.2)| 后端开发工程师

商城系统

考呀呀是做在线会计教育的,旧的售卖体系不再支持新的营销需求。我负责设计新的商城架构,采用 SKU/SPU 这种模式,解耦各个组件,并主导了核心业务系统的开发工作。

主要技术

  • 使用 Gin 作为 Web 框架,灵活运用中间件和参数验证,使用 Gorm 作为 orm 框架
  • 使用 Redis 作为消息队列中间件,解耦各个组件
  • 使用 Docker 部署应用

主要成果

  • 提供了市场部更多的营销手段,售卖也更加灵活
  • 上线以来用户下单流畅,开通产品正常
  • 向 shopspring/decimal 贡献了代码

题库系统

题库是学员使用最频繁的功能,为适应新的需求和便于维护,我们使用 Golang 重构了整个题库。我主要负责题目库和学员做题记录模块,并编写脚本同步新旧题库数据。

主要技术

  • 使用 MySQL 存储题库数据,使用 MongoDB 作为答题数据仓库
  • 使用 Redis 缓存题目数据
  • 学员答题数据比较大,使用了分表,并且做了 SQL 优化
  • gRPC 提供 PHP RPC调用服务

主要成果

  • 从原有的单体架构解耦出题库系统,减少了维护难度
  • 切换新的题库后,学员反馈良好
  • 优化了数据库结构,业务扩展性增强

考生成绩查询爬虫系统

为了方便学员查询初级会计成绩,我们制作了成绩查询预约系统。我负责编写爬取已预约学员成绩的爬虫,第一时间推送成绩给学员。

主要技术

  • 利用 Golang 的协程,加快爬取的速率。
  • 使用 chzyer/go-fetcher 库模拟浏览器获取信息
  • 使用 PuerkitoBio/goquery 获取页面 DOM 结构,提取关键信息

主要成果

  • 成功为10多万学员查询到成绩,获取了一批高质量的粉丝
  • 由于第一时间批量查询了学员成绩,在查分官网挂了之后,考呀呀依然能查询出学员的成绩

技术分享

介绍后端架构的内部分享: 考呀呀后端架构介绍

主要介绍了考呀呀的后端架构,包括架构的演进、技术栈的选择和使用 Golang 的一些经验。目的让团队成员对现有架构有一定理解,帮助今后的开发工作。

Jenkins 实践之后的内部分享: Jenkins 介绍

为了让团队成员都能参与到 DevOps 中来,我介绍了以往的部署流程,和现在改进方案。让开发同学了解到代码经过了怎样的流程,怎么交付到生产环境。

技能

  • 熟练掌握 Golang,熟悉 Gorm、Gin、Micro、gRPC 等框架,拥有 PHP、Java 开发经验
  • 熟练使用 MySQL、Redis 数据库,做过一些 SQL 性能优化,能够使用 Redis 的 Lpush/Lpop 和 Pub/Sub 来做消息队列
  • 熟悉 Docker,能够编写 Dockerfile ,使用 docker-compose 进行容器编排
  • 熟练使用 Git 进行代码管理和协作开发
  • 熟练使用 Jenkins 自动化程序的构建和部署,能够编写 Jenkins 插件
  • 熟悉 Unix/Linux,经常用 Shell 编写一些脚本提高工作效率
  • 熟练使用阿里云的 CDN、RDS、OSS、容器服务、SLB、VPC 等服务
  • 英语四级,能流畅地阅读英文文档

个人介绍

非科班出身的程序员,大学期间误打误撞进入编程的世界,通过自学开发了一个网盘项目。喜欢追逐新技术,目前专注于 Golang 相关的开发,喜欢 Docker、Kubernetes、Flutter、gRPC-Web,希望接下来能在这些领域有所发展。非常热衷于自动化工作和生活中的一些流程,既能提高效率也能给自己省下更多的时间去体验生活。注重代码整洁和结构的清晰,不喜欢代码中有过多的单词拼写错误。