关于我

杨赫

个人信息

姓名 出生年月 联系方式 邮箱
杨赫 1991-12-08 13717820302 599068284@qq.com

教育背景

2010.09 - 2017.04 : 北京邮电大学(本硕)

工作经历

2017.04 - 至今: 网易有道 前端开发

主要项目经验

有道精品课Web直播系统

  • 参与程度:个人重写 + 复制wap版 + 后期持续迭代 + 分享
  • 主要功能:直播/录播/纯视频观看、讨论区(直播实时+录播记录)、随堂练习等
  • 主要技术:React + Mobx + videoJs + 云信IM
  • 问题&收获:
    • 状态管理:整体数据并不复杂,主要集中在聊天区,遂采用Mobx进行状态管理;包括了讨论区的用户消息、系统消息、实时公告等;实现直播聊天、录播跟随、消息过滤等;
    • 聊天DOM节点过多:定时清理 & 滚动加载;
    • 播放器:卡顿检测 + flash检测(因直播中使用基于flash的rtmp流) + 切/拉流;

印度精品课wap站

  • 参与程度:个人独立调研next.js + 开发 + 分享
  • 主要功能:海外精品课wap主站的课程详情、支付、登录、下单成功页
  • 主要技术:基于next.js的SSR前后端同构 + firebase
  • 问题&收获:
    • next.js采坑
    • 服务端渲染cookie同步
    • server端缓存(基于lru-cache)

印度精品课编辑系统

  • 参与程度:个人独立开发 + 分享
  • 主要功能:为海外项目提供课程、课时、权限、直播间等数据增删改查
  • 主要技术:Ant Design Pro2 + dva
  • 问题&收获:
    • antD Pro本身相对厚重
    • 删减&整理出更简单的antD pro2脚手架结构,用于内部系统开发
    • 基类编辑系统常用表单组件

小程序(考研政治 + 考教师)

  • 参与程度:个人独立开发 + 分享
  • 主要功能:为考研/考教师人群提供在线刷题服务
  • 主要技术:mpvue + vuex + fly.js
  • 问题&收获:
    • 小程序环境的网络请求不同一般,使用fly.js进行网络请求;
    • 小程序生命周期、路由操作存在其特殊性,在必要时要进行特殊处理,如onHide、onUnload等;
    • 原生组件层级过高、cover-view又有诸多问题,在样式设计或交互上规避;
    • 总结&抽离小程序登录鉴权流程;
    • mpvue版本更新和官方文档存在不一致,整理出二次封装的脚手架,接入常用配置+工具;
    • 总结出刷题类小程序通用模板,快速复制迭代出其他学科;

题库相关 (测验 + 课后作业 + 组件库)

  • 参与程度:主要开发
  • 主要功能:提供wap&web刷题、课后作业练习
  • 主要技术:React + Redux + React Router + nwb
  • 问题&收获:
    • 内嵌于APP的Hybrid开发,使用基于js-bridge的内部库与客户端通信,完成例如录音、拍照上传等需要借助系统能力的功能开发;
    • 开发测验业务后,发现会有多种形式类似的题目练习业务线,遂将数十种题型组件抽离出组件库;采用nwb进行组件库开发整理,复用于之后的课后作业、模考、错题本等业务线;
    • 基于verdaccio搭建内部私服,托管题库组件库

少儿英语(PC客户端 + 官网 + 学习报告)

  • 参与程度:合作开发
  • 主要功能:学生参与直播/课后学习的PC客户端 + web官网 + 课后wap报告
  • 主要技术:Electron + React
  • 问题&收获:
    • 首次尝试PC客户端开发框架,总体类似于react开发,借助了electron的跨平台能力
    • 了解了electron主进程+渲染进程的开发细节

伴学系统(逻辑英语 + 纠音练习)

  • 参与程度:主要开发
  • 主要功能:逻辑英语痴学社专项练习 + 英语口语练习
  • 主要技术:Vue + Vuex + Vue Router
  • 问题&收获:
    • 对比了与React开发的区别和优缺点
    • 后基于vue又进行了多个轻量级项目的开发(涉及Hybrid/wap/编辑系统等)

奖励情况

  • 2014-2017:研究生三年一等奖学金
  • 2017年第四季度:有道标兵
  • 2018年第四季度:有道最佳mentor提名