8 min read

杨博-前端工程师-7年-18404905852

杨博 / 18404905852 / yangbos123@163.com / 山西大同大学 / https://www.adaiacat.cn

职业技能

JavaScript / TypeScript / React / Vue 全家桶 / Node.js / 跨端(微信小程序|Flutter|Electron)

工作经历

  • 杭州卓益科技:2017/9 ~ 2018/9 前端工程师
  • 杭州翔天:2018/9 ~ 2021/9 前端工程师
  • 网易:2021/9 ~ 至今 前端工程师

技术成果

  1. 网易数创官网及易系列子产品维护
  • 以核心开发人员参与官网、易学园(视频)、易千面(建站)、易设计(制图)等前端子产品的开发工作
  • 私有化部署各类子产品到20+个园区中
  1. 技术改造
  • 以核心开发人员身份设计网易数字产业平台项目基础脚手架和业务组件库并落地
  • 通过命令行的形式生成一个基础的后台项目/组件模板生成等,提升开发效率
  1. 大屏虚拟数字人
  • 立意技术创新型团队,对接业界领先的面部驱动技术(伏羲)
  • 跨语言技能栈unity使用
  • 低成本自研替代80%功能的方案(借助第三方开源大模型与服务端定制面部驱动数据格式)
  • 较早接入chatgpt实现实时语音交互
  • 上饶饶派街区4台大屏数字人五一活动日均问答5000+
  1. 云境空间(3D多人实时在线虚拟空间)
  • 跨语言技能栈(js、unity)结合使用
  • 完成对供应商交付代码从0-1的上手并二次开发,从最初50s+的进入空间时间降低到12s左右
  • 举办的赣州红色文旅活动收到新华网表彰

项目经验

网易数创官网及易系列子产品

参与角色:前端 owner/核心开发人员

性能优化、解决toG官网私有化交付定制问题

  1. 难点:SEO、网站多样化配置、Saas交付问题
  2. 工作内容
  • 基于vue的nuxt做服务端渲染
  • 实现前台页面组件式配置
  • 优化官网页面性能(日志+图片压缩+资源压缩)

虚拟数字人

参与角色:前端 owner

解决第三方大屏适配问题,提高用户体验

  1. 难点:智能交互、人脸识别、客户端代码接手(unity)、低成本自研
  2. 工作内容
  • 第三方供应商大屏设备对接
  • 独立完成虚拟数字人播报动作交互流程
  • 完成自研虚拟数字人面部表情驱动和动作驱动(降低成本)
  1. 团队协作与技术反哺
  • 帮助前端开发同学上手该项目并能继续开发
  • 通过 Code Review,帮助组内成员提升开发技能
  • 积极参与团队技术设计和产品规划讨论,推动自研虚拟数字人面部驱动方案
  • 与后端开发人员密切沟通,提供前端视角完成自研动作和表情落地

云境空间

参与角色:核心成员

不同技术栈结合使用、多端通信、性能分析和优化

  1. 难点:
  • 将不同技术栈(涉及js、unity)结合使用
  • 多端交互(unity客户端与web端交互,web端与小程序交互)
  • 首次进入空间加载慢,canvas性能问题,unity客户端与web端交互
  1. 工作内容
  • 给 unity客户端与web端 通信制定规范化的通信协议,跨端通信减少冗余代码
  • unity客户端与web端UI交互拆分(活动交互h5实现,提升开发效率)
  • 核心角色模块开发和优化 & 参与核心任务系统模块
  • 性能优化:优化游戏资源加载方式(资源检查->资源包合理分包->首次进场景资源细分) 首次进场景时间大大减少

脚手架及组件库

参与角色:核心成员

解决易系列(易学园、易千面等系列产品)新增子产品时,开发人员需重复初始化项目 解决重复组件在多个项目同时使用的重复工作,做到开箱即用

  1. 难点:模板工程基础架构设计,满足多项目初始化需求
  2. 工作内容
  • 设计模板工程的基础架构
  • 参与开发脚手架和组件库制定方案
  • 制定前端规范
    • 制定 Git Commit 规范
    • 推行 ESLint 代码风格检测
  • 增加组件库演示与使用API(降低组件库上手成本)
  • 推行并引导开发人员使用脚手架和组件库

验货系统

参与角色:Owner

解决验货流程的优化,提高验货效率

  1. 难点:服务端开发、验货流程梳理以及数据整理
  2. 工作内容
  • 集成应用到钉钉小程序中,借助钉钉API与验货数据打通验货流程
  • 服务端接口独立开发(nestjs完成服务端接口开发,包含:权限校验、超时处理、定时任务、错误处理、数据校验等)
  • 前端小程序独立开发(taro)
  • 手机快速完成验货流程,无需借助电脑;解决了数据延后性以及延后性导致的不准确问题

其他

vscode 插件开发

  1. 难点:vscode与webview-ui相互通信,流式对话规范设计
  2. 内容
  • 设计vscode层与webview-ui通信规范,完成vscode内代码与webview-ui层相互通信
  • node-server 调用openAi SDK实现基础流式对话
  • 基础UI交互界面逻辑实现(React)

Flutter APP开发

  1. 难点:跨语言开发,flutter框架使用
  2. 内容
  • 完成电商APP跨端开发
  • cms动态渲染页面设计开发

Electron应用调用dll

  1. 难点:相关资源/资料较少
  2. 内容
  • 借助node-ffi调用win系统dll
  • 实现学生上课期间按win+tab键切换窗口,强制切换回当前上课窗口