朱安邦的工作经历

🌙
手机阅读
本文目录结构

基本信息

我叫朱安邦,现杭州

仅分享我做过的一些开源的项目;

其它在公司的coding和内网Svn的项目,因涉及隐私不列出,不分享。

团队的开源Github: https://github.com/canonchain

博客

个人总结

擅长区块链周边的业务开发,使用 JavaScript 封装公用业务模块,npm 包的制作,Node.js 做接口以及相对复杂的业务,在公司的团队内主要做一些探索性的开发和处理棘手性的问题

设计师出身,有不错的美感和用户体验思维,做过 2 年半的前端开发组长,有相对丰富的项目推进和人员调配经验。

内心真正的热爱大前端这个行业,并建立 阿西河前端教程(axihe.com)的网站,用于分享和帮助别人,以及交流提高自己的前端技术。

技能总结

  • 前端基础技能 HTML/CSS/JavaScript 均熟练掌握
  • 熟练使用 Vue.jsReact.js,Angular,且均做过稳定运行的线上产品。
  • 熟练使用 TypeScript,Gulpbabel,Webpack 及不同情况下的 Webpack 配置
  • 熟读 web3.js 源码,对以太坊前端生态的技术有较深入的理解,并做过多个类似的区块链线上产品(下面项目区有介绍)
  • 良好的数据结构和算法基础,熟练使用基于 Nodejs 的后端开发,开发过基于Express,Koa,Eggjs的线上产品
  • 熟悉Nodejs线程模型,并发模型,异步原理,熟悉V8引擎;
  • 深刻理解 HTTPHTTPSgrpc 网络协议
  • 熟悉 PostgreSql,Mongodb 的使用和性能优化(了解基本数据库的优化,索引知识,但没有做过线上产品的分库分表)。
  • 熟练使用 GitSVN 进行团队协作
  • 熟练进行 LinuxWindows服务器下的项目部署,熟悉Docker。
  • 熟练使用抓包工具 CharlesPostman,以及 Chrome Dev Tools 工具
  • 可以阅读英文的文档,但口语较差

前端工作经历

  • Nakamoto & Turing Labs (实验室性质的组织,非公司)
    • 2018 年 1 月 - 至今
    • 配合 3 位在美国的博士大佬做大前端辅助工作
    • 主要是分布式计算和区块链科研方向的前端辅助
  • 杭州链生科技有限公司 (区块链开发的公司)
    • 2018 年 6 月 - 至今
      • 2018 年 6 月劳动关系由 微飞胜科技 转到 链生科技
      • 老板和团队均未改变,仅换了下劳动关系
    • 从事工作
      • 区块链浏览器开发 - 独立完成
      • 区块链 PC 钱包开发 - 独立完成
      • 区块链 Web 开放 Api 开发 - 独立完成
      • czr.js 开发 (JavaScript SDK) - 独立完成
      • Erc20 代币映射到主网币的完整发币流程 - 独立完成
      • 智能合约的开发工具开发 - 辅助同事完成
  • 杭州微飞胜科技有限公司
    • 2016 年 4 月 - 2018 年 6 月
      • 劳工关系后续转到 链生科技
    • 从事工作
      • 微信公众号开发
      • 基于微信摇一摇的 iBeacon 设备(摇钱宝)周边页面开发
        • “摇钱宝”是微信摇一摇市场份额排名第一
      • 内部管理后台的开发 (用户为微信用户,用户量为 150 万)
      • 内部通用 JS 模块的封装(基于 jQuery 或 基于原生 JavaScript)
  • 科大讯飞股份有限公司
    • 2015 年 4 月 -2016 年 3 月
    • 从事工作
      • 内部项目的管理后台开发

工作经历总结:在安徽合肥的科大讯飞股份有限公司工作 1 年后离职,2016 年入职一家杭州创业型公司;

项目描述

区块链浏览器开发 - 独立完成

  • 线上地址: explorer.canonchain.com
  • Github仓库
  • 说明:
    • Axure做原型图 -> Sketch做设计稿 -> Vue.js做前端页面 -> Nodejs + Express + PostgreSql做后端接口
    • Nodejs 做服务,实时从区块链节点中获取数据,经过组装后写入PostgreSql数据库的各个表
  • 难点:
    • 因测试的时,经常用 3 亿至 5 亿条数据进行模拟测试,所以在 SQl 索引及分页查询优化地方进行摸索很久
    • 区块链节点开发的同事因需要频繁测试 Bug 及分叉情况,所以要求浏览器的数据展示要及时;而一笔交易需要处理封装后写入到 21 个数据表中,所以 Nodejs 写入数据库的代码性能做了很多优化,重点是数据库索引及前端查询方式的优化,最终优化到:从向节点获取数据开始计算,到写入数据库完毕;Nodejs 服务每秒可以处理 1600-2500 笔交易;

区块链 PC 钱包开发 - 独立完成

  • 地址:https://github.com/canonchain/canonchain-wallet
  • 说明:
    • Axure做原型图 -> Sketch做设计稿 -> Electron 做页面和应用
    • 节点程序由 Electron 进行下载和控制
  • 难点
    • Windows 平台的兼容性,热更新在 win10 部分系统被默认屏蔽的问题
    • Windows 平台因环境缺失,导致应用意外的问题
    • 360/ 腾讯管家对Electron报毒的处理
    • Mac 系统中节点下载后,部分系统的节点无权限问题
    • 在强制断电,系统蓝屏等情况下,本地存储的账号文件的安全保障

区块链 WebApi 开发 - 独立完成

  • 区块链信息查询的接口
  • 说明:
    • 身份 Key 的生成
    • Api 调用的频率限制
      • 使用 Node.js + Koa + PostgreSql 完成
  • 难点
    • API 的身份验证
    • API 调用速率的限制及扩展,避免 API 的恶意使用
    • 从浏览器sql内取数据,主要是数据库优化以及业务处理来提高性能

czr.js 开发 (JS SDK) - 独立完成

  • 地址:https://github.com/canonchain/czr.js
  • SDK的使用文档: https://czr.readthedocs.io/en/latest/
  • 说明:
    • 与节点进行交互的方法
    • 周边的账户以及常用工具类方法
    • 合约相关的封装
  • 难点
    • 发送交易时,因不确定调用的节点是否为恶意,以及是否有wireshark这种显卡级抓包工具及类似的截取脚本,所以交易流程做了特殊处理;可以保证即使发送到恶意节点,用户的资产信息也是绝对的安全
    • 账号随机生成时,在内存中工作生成,因为担心有恶意脚本可以读取内存中的信息,做了对应的随机混淆
    • 因为需要在浏览器中使用,而账号的生成算法是C++写的,所以用WebAssembly转为.wasm文件,后期因为多个 wasm 维护问题,又转为base64使用

Erc20 代币映射发币 - 独立完成

  • 地址: http://explorer.canonchain.com/#/mapping_log
  • 说明:
    • 用户通过智能合约将 Erc20 Token 转入合约,进行映射
    • 监听 Eth 主网,过滤需要的交易,组装写入 PostgreSql;
    • Nodejs 服务从数据库中筛选合适的数据,自动转入等额的主网币
  • 难点
    • 做 Nodejs 服务时候的,各种异常的处理,写到最后try catch的代码比业务代码还多。
    • infura接口的返回数据,不应该作为精准来源,最好自建一个;

智能合约开发工具 - 辅助同事完成

  • 地址: studio.canonchain.com
  • 说明:
    • 开发和调试智能合约的工具
    • 主要是协助同事进行项目的开发,提供技术建议
    • 因需要中国和美国等都需要正常访问,静态资源使用了阿里云的全球 CDN

分布式算力租用 - 辅助同事完成

  • 地址: www.gopekka.com
  • 说明:
    • 基于 Eth Token 的分布式算力租用
    • 独立完成配套的 Pc 端应用,使用 Electron
    • 协助同事进行 Web 项目的开发,提供技术建议
    • 代表项目和又拍云进行项目对接
      • 协商合作的技术实现方案
      • 对定制接口协商内部同事对接
    • 推进项目的进度

其他

我在公司内搭建了NPM私服用来储存内部业务的包,公司的npm私服上的通用包,涉及公司敏感信息和隐私,不列出

其它项目属于公司为别的公司做的定制产品,因涉及公司隐私,不再继续放出。

axihe
axihe

AXIHE / 精选教程

浏览全部教程

HTML

CSS

JS

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili 和抖音。

关注我: Github / 知乎

如果你加我的私人微信,麻烦写上您的 称呼,所在地区,职业,方便我备注,谢谢


本站的微信公众号

阿西河前端教程

Anbang

安邦的私人微信

微信号: yaolushan

Anbang

Bilibili(B站)

朱安邦

Anbang

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

axihe