个人信息
姓名 | 出生年月 | 联系方式 | 邮箱 |
---|---|---|---|
杨赫 | 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提名