个人信息

技能

  • 熟悉 Golang, 理解 Golang 编程特性,如 goroutine,channel 等,阅读过 Golang runtime 部分的源代码,理解 Golang 的并发机
  • 对 P2P 网络分布式算法有一定了解,阅读过星际文件系统(IPFS)网络层 libp2p 协议的 Go 语言实现(go-libp2p)核心模块代码
  • 研究过 PBFT(实用拜占庭容错算法),对区块链共识算法 DPOS 有一定认识
  • 熟悉 Python, 代码风格良好,了解 PEP8
  • 了解并使用过 Django、Flask, 理解 PEP3333,并阅读过 flask 框架的源代码,了解 flask 框架的工作机制
  • 熟悉 Linux、AWS 等开发环境
  • 使用过 MySQL、MongoDB、Redis, 了解 MySQL 查询优化,索引优化;
  • 了解 TCP/IP、HTTP 协议相关知识
  • 了解并使用过 Docker、Kubenetes,理解 Docker 的基本原理,有 Kubenetes 的使用经验
  • 能够突破语言层面的限制,了解 x86 平台下的汇编,了解 Unix/Linux 环境下下的 C 语言系统编程,对操作系统原理有一定认识
  • 有 Web 前后端完整的知识体系,了解 HTML/CSS/Javascript 等前端知识,有 Vue 的使用经验
  • 熟练使用 Git 进行版本控制
  • 熟悉基本的数据结构和算法
  • 英语水平 CET-6,熟练使用 Google/StackOverflow/Wikipedia, 有阅读英文文档并解决工作中遇到的问题的能力

项目经验

XTAR

2019 年 7 月 - 2019 年 12 月
基于区块链的去中心化的交易系统

项目简介

XTAR 是以 VRF(可验证随机函数算法)和 PBFT(实用拜占庭容错算法)为基础来实现 DPOS(Delegated Proof of Stake,委任权益证明)机制的去中心化价值交易平台。独有的两阶段共识算法,提高了整个系统的区块出块速度,并通过 native 系统合约实现了链上治理,保证了共识的公平民主。

主要职责
  • XTAR 系统对等网络层(P2P 网络层)的功能重构和性能优化
  • XTAR 底层代码的交叉 review
  • XTAR 系统 Bug 排查修复
  • XTAR 系统生态圈内后端服务的开发
  • 基于 XTAR 系统 SDK 的系统流程测试开发
技术细节
  • 开发语言为Golang
  • 网络层第三方库为libp2p
  • 将 XTAR 系统生态圈内后端服务的开发系统 P2P 网络层由结构化 P2P 网络(采用 Kademlia 算法实现)修改为无结构化 P2P 网络以提高网络中节点查找性能
  • 在 XTAR 系统 P2P 层进行节点网络质量管理,利用 EWMA(指数加权移动平均法)记录的 Peer 节点的 RTT(Round-Trip Time,往返时延)的统计值,对当前节点的 Peer 做排名
  • 在 XTAR 系统 P2P 层实现消息限流功能,预防消息过载导致的节点崩溃
  • 在 XTAR 系统 P2P 层实现协程池,以降低 GC 压力提升系统性能
  • 搭建 XTAR 系统 docker 集群的开发调试的环境
  • XTAR 系统 native 系统合约测试流程开发
  • XTAR 系统在线 IDE(集成开发环境)后端部分的开发

Linkeychain 公链系统

2018 年 6 月 - 2019 年 2 月
基于DPOS的区块链公链

项目简介

Linkeychain 是第二代区块链系统,支持智能合约,授权股权证明机制 DPOS,为公司的区块链商业应用提供底层技术支撑。

主要职责
  • 搭建基于区块链的底层服务
  • 负责公链系统的p2p网络层的搭建和维护
技术细节
  • 开发语言为Golang
  • 参考开源项目星云链
  • 基于第三方p2p网络库libp2p做的开发,该第三方的库提供了开发p2p网络服务所需的数据结构和函数
  • 网络服务由两个模块组成:
    1. 分发器模块
      • 负责应用层消息注册和消息转发处理
      • 采用观察者模式,将消息类型和消息处理渠道注册在分发器模块中
      • 其他需要网络服务的模块在此通过对所关注的消息类型下注册channel,来实现应用服务和网络服务之间的解耦
    2. 网络数据服务模块
      • TCP层上做网络连接资源的管理
      • 应用层网络协议的处理,包括应用层握手和应用层消息通信
      • p2p路由表的管理,包括定时同步和路由表更新。

ConSpace 对象存储系统

2017 年 5 月 - 2017 年 10 月
基于Ceph的对象存储系统

项目简介

ConSpace 是为用户提供国内领先的安全,快速、高效的大容量网络存储服务,助力企业打破数据传递的单一性,实现移动办公和统一管理,使企业实现更高效的管理。通过严格、灵活的权限控制,满足企业复杂多变的文档访问需求,和信息安全合规要求。

主要职责
  • 开发环境中Ceph集群的搭建部署
  • 开发环境中Ceph对象存储系统的搭建部署
  • 基于Ceph对象存储提供的Amazon S3兼容的 RESTful 接口 AWS SDK 工具包 Boto3 开发Django后端逻辑
技术细节
  • 采用了 Python 第三方库boto3requests,在Ceph对象存储系统提供的与 Amazon S3 兼容的 RESTful 接口上,完成了 Http 协议层的 AWSv4 签名认证,以及与对象存储相关的文件操作功能和对象存储层用户信息的管理
  • Django管理 ConSpace 对象存储系统业务层数据
  • 前后端分离,Django逻辑层采用Django REST framework为前端提供json格式数据

Bookmarks(个人开源项目)

2017 年 3 月 - 2016 年 10 月
基于 Django 的图片社交网站
Github Repo
[部署地址]() Bookmarks_pic

项目简介

Bookmarks 是一个类似于Pinterest的图片社交网站,用户可以在应用上分享其在网络上发现并收藏的图片。用户之间可以相互关注,并实时获得其关注对象的动态。用户还可以在网站上随时获得最新的图片热度排名。

技术细节
  • 使用 Django + MySQL + Redis 来编写项目后端系统
  • 使用 jQuery + Ajax 编写前端的图片收藏插件
  • 通过 python-social-auth 库,在 Django 框架上实现了基于 OAuth2.0 协议的第三方授权登录功能。能够提供微信,Facebook 等第三方账号授权。
  • 通过 Django 的 signal 技术实现对用户行为的追踪,记录用户在网站上的活动行为,为网站中的用户活动流提供数据支持。
  • 采用 Redis 作为图片热度信息的数据库

Demo 项目

  • Node.js, express, Vue.js,mlab(mongoDB)等工具搭建的 demo 集合
  • 部署在Heroku上, 需要 climb over the wall to visit
  • 地址

工作经历

上海启日信息技术有限公司

  • 2019 年 7 月 - 2019 年 12 月

  • Golang 开发工程师

    • 区块链底层功能开发
    • 服务器后端开发

链极智能科技(上海)有限公司

  • 2018 年 6 月 - 2019 年 3 月

  • 高级软件开发工程师

    • 研究区块链协议及运行机制
    • 参与底层实现,并编写网络应用层代码

内蒙古君正互联网小额贷款有限公司

  • 2017 年 11 月 - 2018 年 05 月

  • Python 开发工程师

    • 使用 shell,python 编写公司内部工具,并进行维护
    • 在 AWS 云平台上管理服务器和应用,编写运维相关的文档、手册、流程,制定安全、备份、统计策略

上海容数信息科技有限公司

  • 2017 年 5 月 - 2017 年 10 月

  • Python 后端开发工程师

    • 学习研究 Ceph(一种开源分布式文件系统)
    • 通过 Ceph 的对象存储接口,基于 Django 开发文档内容管理系统

中航华东光电(上海)有限公司

  • 2012 年 3 月 - 2013 年 9 月

  • FPGA 工程师

    • 参与项目前期技术调研,负责硬件系统中 FPGA 部分通信接口协议的编码、测试工作
    • 设计了基于 FPGA 的某型设备外部驱动电路模块,实现了 UART 通信协议到 I2C 通信协议解析转换功能,使硬件系统能够通过该模块和 I2C 总线接口器件进行数据通讯。

教育经历

  • 华中科技大学,软件工程(硕士) 2012 年毕业
  • 武汉理工大学,电子信息工程(本科) 2008 年毕业