一位前端爱好者
1月前来过
全职 · 1000/日  ·  21750/月
工作时间: 周末10:00-18:00工作地点:
服务企业: 2家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

本人在18年自学的前端,19年出来工作的,有三年的工作经验,主要技术栈是React+TypeScript,对小程序、小程序框架、React、Vue、V8等前端流行框架有深入的了解。

技能清单:

掌握前端工程化工具Sonar、Drone、Webpack、Snowpack、ESBuild、Vite、SWC掌握前端的性能优化方案掌握现代化CSSNext:PostCSS、CssDoodle、StyledComponents、CSSHoudini、TailwindCSS、Styletron掌握React+TS技术栈、React状态管理Redux、Recoiljs深入了解React、Vue的整体架构、DomDiff、Isomorphism、微前端对原生小程序、小程序框架架构有深入的了解对V8中的Object、Array、JS运行机制有深入的了解掌握NodeJS的错误捕获、性能监控、IOC的深入原理掌握前端的第四门语言WASM掌握前端缓存管理LocalForage+BasketJS掌握MPA重复加载资源的解决方案Quicklink+GuessJS对函数式编程有深入的理解、熟练使用函数式编程库RxJS、LazyJS、Immutable、Lodash熟练使用脚手架构建工具Commmanderjs、Ora、Execa、Chalk、Inquirerjs的使用熟练使用测试工具Jest、TestingLibrary、BacktopJS、Puppeteer

工作经历

  • 2019-03-01 -2020-03-01Deepexiweb前端开发工程师

    主要负责开发自动化构建、可视化编辑、商城App,用到的技术栈:Vue、Flutter、NodeJS。 项目: dp-serverless-mobile:这个项目为了能够通过可视化拖拽的方式,快速生成可二次开发的flutter、h5、小程序代码,这个项目最大的难点就在于怎样在可视化的时候保证显示出来的效果和跑在多端的效果是一致的,然后生成完之后还会将代码存放到代码仓库,并对接deepexi-mobile-builder项目进行构建打包,然后发布到对应的应用商店 deepexi-mobile-builder:当一个移动端应用开发完成之后就是打包,像移动端项目的还需要配置启动页、icon图标等繁琐的过程,并且像h5页面想打成app也是一个繁琐的过程(市面上有很多跨平台框架像uniapp,但是有些旧的h5项目或者就是想使用h5的语法来开发项目,降低开发成本,不需要去学习新的语法),这个项目就是为了解决这些问题,让移动端的打包、替换启动图、icon图、h5直接打成App应用等功能实现自动化,并且发布到对应的应用商店

教育经历

  • 2016-09-11 - 2019-07-01广州航海学院电子商务专科

    在学校学习的课程有跨境电子商务、计算机网络、php等课程

技能

Flutter
Node.js
Vue
React
webpack
taro
uniapp
0
1
2
3
4
5
0
1
2
3
4
5
作品
dugu-defeat

项目背景(技术栈:React、TS、Scss、Jest、StoryBook):让项目能够快速的成型,减少在项目中重复的造轮子。 已实现的组件:目前实现了Alert、AutoComplete、Button、Icon、Input、Menu、Progress、Tabs、Upload、Transition组件,每个组件都会通过jest+testing-library测试,文档使用StoryBook生成。 开发过程:使用React Hooks的形式编写函数式组件,每个组件都会先设计好,使用方式是怎样的,然后再去写简单的代码,然后进行优化,然后在进行测试,有一些组件是使用TDD模式开发的,Menu组件比较复杂所以使用TDD的模式开发,开发组件的使用跟着测试用例开发即可,像Menu组件比较的复杂是需要使用到Context的,在测试的时候单纯使用Jest是不能满足需求的,引入testing-library可以对React组件的测试、事件的模拟、异步的模拟,让测试更加的简单。

0
2021-12-02 11:03
performance-monitoring

项目背景(技术栈:TS、Microbundle):用户对网站的交互体验要求越来越高,网站有时候会因为JS、CSS大文件导致用户看到界面的等待时间过长,还有用户在使用网站过程中遇到的一些问题不可能一一的通过打客服*的形式进行沟通,这时候就需要一个工具,监控文件加载的时间、FP、FCP、FMP、LongTask指标的记录、用户的网速和错误的捕获和录制错误是如何产生的,并且把这些指标和录制通过api上传到服务器,然后网站管理员就可以通过这些数据分析寻找问题并及时的修复。 性能指标实现方案:像FP、FCP、FMP是可以直接使用performance.timing中获取,像longtask、first-input等通过PerformanceObserver监听获取,这个项目在使用的时候会有长任务的js执行,所以会通过使用requestIdleCallback解决这个问题。 错误录制实现方案:将Html转为VDom,使用MutationObserver监听dom的变化,记录dom的变化,鼠标移动的时候收集鼠标的移动记录,然后将这些数据传到服务端进行保存,然后通过Canvas将鼠标的轨迹模拟出来,像文本框的内容就可以通过vdom模拟出来。

0
2023-02-26 18:50
fe-code

项目背景(技术栈:React、TS、Inquirer、Chalk、Antd、Ora、CommanderJS、Vue、Handlebars、Quicktype、Vite、Snowpack、Webpack):随着前端工程化工具和开发框架的发展,前端的业务也越来越复杂,但是前端的很多业务都是存在共性的,例如:通过接口我们需要去写TS的接口、经常复制粘贴的CRUD的代码、CRUD的接口联调等业务,这些业务如果可以通过一个工具去生成,那么前端将解放生产力,目前市面上做的LowCode平台也非常的多,例如Procomponents、通过拖拉拽生成代码等,但是这些还不能解决前端某些问题,例如根据接口生成TS的类型定义文件等。 实现方案:这个项目通过CommanderJS制作命令行,通过Inquirer实现用户的交互(比如选择打包工具的类型、是否需要支持TS等),然后根据用户的交互去选择对应的工具,这就快速生成了一套开发环境,然后就是通过命令行生成一套CRUD和根据接口生成TS类型定义文件,CRUD代码有Vue、React版本的代码,代码实现类似于FormRender,可以通过JSON去快速生成需要的业务,其次就是使用QuickType生成类型定义文件,因为QuickType有点不符合我们当前的业务,所以后续我们是想手写这样一个库,去适配Swiper、Yapi等平台等接口转化。 后续:后续打算从设计稿到生成代码整个流程的自动化,通过设计稿生成对应的代码,然后在通过拖拉拽的形式生成代码,重点还是在设计稿生成对应的代码,因为想生成可维护的代码是不太简单的,需要通过算法去计算哪些模块是符合某种类型的(例如列表、网格布局等)。

0
2021-10-29 11:31
更新于: 2021-12-02 浏览: 94