Contents

基本信息

  • 李希望/男/29

  • 工作年限:6年(目前离职状态)

  • 教育背景:河南大学/本科/计算机科学与技术(2013 ~ 2017)

  • GitHub:https://github.com/lxw15337674

  • 个人博客:https://lxw15337674.github.io

  • 手机/微信:15515255978

  • Email:404174262@qq.com

职业技能

  • 有Vue、React两套技术栈的开发经验,能够熟练使用React+TypeScript。
  • 有大型web端项目开发经验,对于富文本、在线表格有相关开发经验。使用过 Draft.js、Slate.js 富文本框架、Zustand 状态管理库、并开发过对应插件。
  • 对技术有追求和热情,能够根据自身需求开发效率工具,业余时间开发过React Hooks库、React组件库、浏览器插件、VSCode插件等。

工作经历

杭州群核信息技术有限公司(酷家乐)

在职时间:2020/09 ~ 2023/07

技术栈:React、TypeScript、Zustand、Slate.js、Jest。

工作内容:

算量清单

项目概述:该产品通过3D渲染的户型方案与在线表格结合,实现可视化的精准算量。

负责内容:

  • 从0到1参与表格的基础功能开发,实现单元格富文本编辑、排序筛选、快捷键操作等功能。
  • 通过调研市面上产品及实现方式,进行表格功能完善及性能优化,并输出对应的技术选型文档。

项目难点

  • 项目需要实现支持语法高亮、语法联想、彩虹括号等功能的公式编辑器。通过技术调研确定使用Prism.js作为词法解析工具、Slate.js作为富文本框架、Jest作为单元测试框架,实现公式编辑器。并封装了各种词法规则、Slate.js插件、React组件,提供给下游业务方使用。
  • 表格中数据太多会造成页面卡顿,通过封装虚拟滚动的React Hook、并将表格分为不同的层级,包括渲染层、选取层和编辑层,保证每个层级的更新不会影响其他层级的重新渲染,来优化表格性能。
  • 项目状态管理复杂,经过技术选型使用Zustand用于状态管理,并开发了插件实现状态的衍生属性,满足在3D户型图和在线表格之间复杂状态共享的需求。
算量中台

项目概述:该系统通过设计方案、资源库、计算规则三者结合实现对户型方案进行自动算量,代替传统的人工算量,节约设计方案出量的成本。

负责内容:

  • 负责算量中台的前端功能迭代,包括套价规则编辑、清单报表输出等功能。
  • 搭建业务工具平台,提供数据查询、json比对等功能,提供给后端、运营同事使用。

项目难点:

  • 项目比较久远,历史代码难以维护。为了解决问题,重新梳理业务逻辑编写相应文档,对历史代码重构全部改为函数组件+TypeScript形式。
  • 基于业务需求封装了React hooks库,在算量多个项目中使用,提高开发效率。
  • 基于业务场景需求搭建了算量业务组件库,提供给下游业务方使用,减少业务方开发成本。

新华三技术有限公司

在职时间:2017/07 ~ 2020/09

技术栈:Vue2、Vue-Router、Vuex。

工作内容:

数据中台

项目概述:为政府内部提供数据抽取、数据填写、数据维护、数据监控、开放API接口等功能,实现政府部门之间的数据共享。

负责内容:

  • 担任web端的组长,从0到1参与系统各个功能模块的规划、设计、开发。

项目难点:

  • 根据业务需求,基于Element开源组件库,封装业务组件库,并成功推广到部门内部使用。
  • 新部门刚成立,缺乏持续集成,通过引入jenkins搭建CI/CD 流程,代替本地编译打包,手动部署上传。
政务服务平台

项目概述:基于数据中台的政府业务系统,提供政策精准推送、政策申报、政企交流等功能,提高政府与企业间沟通效率。

负责内容:

  • 负责系统web端的政策申报、政企交流功能开发。

项目难点:

  • 公司技术栈刚从Angular.js由转为Vue,缺乏统一的项目脚手架,基于Vue CLI搭建项目脚手架,集成Vue框架全家桶,接入 ESLint+Prettier代码校验。
  • 项目中做数据展示用Echarts,为了方便复用,封装Echarts组件,实现支持跟随界面自动缩放、监听配置变化、事件响应等功能。
  • 项目中大量使用svg文件,想复用时很难找到对应的Icon,利用webpack的require.context()导入项目引用的所有图标,在一个页面展示图标和其文件名,方便引用。

个人项目

zustand-middleware-computed

zustand中间件,提供衍生属性(类似Vue的computed)功能。

ww-hooks

自定义的React hooks库,根据工作中业务开发经验,封装了包含请求、函数、生命周期、状态、DOM等几十个hook。

switchTab浏览器插件、vscode插件

实现自定义快捷键切换浏览器、vscode标签页。

计数器

浏览地址:https://todo-web-liart-two.vercel.app

一个计数器网站,后端Nestjs、前端Nextjs,支持github三方登录。