我正在 SegmentFault 上录制一些 视频课程,欢迎购买收看,这是支持我创作更多技术内容的好机会哦。
基于业界最成熟的加密和版本控制工具 —— GPG 和 Git 的密码管理器:Elecpass
查看源代码

简历

王子亭,1995 年生于辽宁沈阳,现居江苏苏州。自初中(2009)开始顶着学校和老师的压力学习编程,高二(2013)离开学校开始以编程为工作,目前在 LeanCloud 任服务器端开发工程师。

联系方式:jysperm@gmail.com

亮点:

  • 使用 Node.js, Golang 或 PHP 开发现代的 Web 后端引用
  • 熟悉 Openresty、ELK、Ansible、Bash 等运维工具
  • 熟悉 MySQL、MongoDB、Redis、InfluxDB、Etcd
  • 使用 React 开发浏览器端应用
  • 在容器平台方面有非常深入的经验

LeanCloud - 2015-10 至今

LeanEngine(容器平台)

LeanEngine 是一个基于 Docker 的容器平台,也即 PaaS,为终端开发者提供在线编辑代码、依赖构建、平滑部署、版本回滚、负载均衡等功能。我在近三年的时间里参与了大部分的功能开发、日常维护和线上运维工作,包括:

  • 使用 Node.js, MySQL 和 Redis 构建 RESTful API.
  • 自动化地构建镜像,在 Docker 上运行和管理容器。
  • 基于 Openresty 构建富逻辑的负载均衡。
  • 使用 InfluxDB, Grafana 和 Sentry 追踪和监控后端系统。
  • 运维线上环境,处理紧急情况。
  • 开发工具来收集容器的 CPU, 内存用量和输出的日志。
  • 使用 React 和 Bootstrap 开发内部的管理员后台。
  • 维护客户端 SDK 和工具,包括 JavaScript, PHP, Golang 等语言。

[Pomotodo] - 2013-08 至 2015-09

贝米钱包(互联网金融应用)

2014 年 11 月至 2015 年 9 月,贝米钱包是一个 P2P 的互联网金融项目,其网站负责接受用户充值、开展运营活动、追踪用户的每一笔投资并计算收益、为用户展示统计信息。在近一年中,我参与了服务器端大部分的设计工作,负责了大约一半的编码工作,包括:

  • 基于 Redis 设计了层次化的缓存架构,以便通过事件来刷新统计信息中的部分数据,以减轻复杂的统计信息对数据库的压力。
  • 借助 InnoDB 的事务和基于 Promise 的错误处理,使得即使业务逻辑中任何一个环节出现异常,也可以正确地回滚数据。
  • 为项目添加单元测试和 API 测试,覆盖到了所有主要的功能点,为之后的重构和新功能的开发提供了保障。

番茄土豆(任务管理应用)

业余项目

主题演讲

  • Atom 背后的故事(杭州 Node Party):文章幻灯片
  • Node.js 错误处理实践(杭州 Node Party):文章幻灯片
  • GPG 与端到端加密(稀土杭州 Meetup):文章、幻灯片
  • Docker 与容器化技术实践(Connext 2016):文章幻灯片
  • 区块链与 Ethereum 原理解析:文章

工作之外

  • 熟练使用 Git 并用 GitHub 分享代码。
  • 自有收入开始没有使用过盗版软件和游戏。
  • 活跃于 V2EXSegmentFault知乎 等社区。
  • 自 2002 年创建了一个博客,目前有高质量原创文章百余篇。

RootPanel

2012 年 3 月至 2016 年 3 月,我在业余时间断断续续地一个人开发这个项目,RootPanel 是一个开源的插件化 PaaS 开发框架,它提供了用户系统、付费计划管理等功能,以便在此基础上以插件的形式开发服务(如虚拟主机、代理等):

  • 提供了一个 Web UI 去配置 Nginx 反向代理来共用 80 端口、配置 MySQL 和 MongoDB 数据库、配置 Supervisor 和 Shadowsocks 等服务;通过 coreutils, procps, iptables 等工具和系统交互来进行 CPU、内存和流量的统计。
  • 实现了一个设计良好的插件化架构,通过 Registry 和 Hook 的模式允许插件去修改主程序的行为、添加新的功能,上述的功能都是以插件的形式实现的。

技术栈

Node.js

自 2013 年末开始使用 Node.js, 精通 JavaScript。参与了数十个线上项目,包括自动交易(比特币)、交易所(比特币)、账户系统、订单系统、运维和监控系统、Web 图表后端、多语言模板渲染、邮件队列、命令行工具、实时消息推送、插件化架构等场景。

配合 Node.js 使用过 MySQL、MongoDB、Redis、Influx 等数据库;精通 JavaScript,同时也在使用 ES2016/Babel、TypeScript 和 CoffeeScript。

在 Node.js 方面的开源项目:

  • Mabolo:一个 MongoDB ORM, 对嵌入和引用关系(较 mongoose)有更好的支持。
  • Cichorium:基于中间件的 Promise 风格的路由框架。
  • pomo-mailer:多语言邮件渲染和邮件队列。
  • RootPanel:一个插件化的 PaaS 开发框架。
  • mysql-querier:用 JSON 格式的查询语法生成 SQL.

PHP

早期热衷于设计 Web 框架和 ORM,有较为扎实的 PHP 基础,后因开发 Node.js 离开 PHP 社区,对 Laravel、PHP7、自动测试、异常收集、指标采集均有一些实践。

Web 前端

对 HTML、CSS 和浏览器端 JavaScript 有基本的了解,能够使用 Bootstrap 和 React 开发 Web 应用;对 Less 和 Pug 等替代语言也有些使用经验,对前端工程化亦有很多实践。

在 Web 前端方面的开源项目:

主题演讲

技术之外

撰写评论

精子写了这么多年博客,收到的优秀评论少之又少,在这个属于 SNS 的时代也并不缺少向作者反馈的渠道。因此如果你希望撰写评论,请发邮件至 jysperm@gmail.com 并注明文章标题,我会挑选对读者有价值的评论附加到文章末尾。

精子生于 1995.11.25, 21 岁,英文 ID jysperm.

订阅推送

通过邮件订阅精子的博客日志、产品和项目的最新动态,精子承诺每一封邮件都会认真撰写(历史邮件),有想和精子说的话也可以直接回复邮件。

该博客使用基于  Hexo  的  simpleblock  主题。博客内容使用  CC BY-NC-SA 3.0  授权发布。最后生成于 2018-10-21.