前端开发工程师 毕业于华南师范大学

  • 个人博客

精通前端,涉猎后端

编织有艺术感的代码

  • JavaScript

    精通 JavaScript。编写过 DOM 与 AJAX 的类库、CMD 模块加载器、基于 ES3 的 Promise;熟悉正则表达式;有 Vue.js、Nuxt.js、微信小程序项目经验。

  • HTML & CSS

    有扎实的 HTML(5) 和 CSS(3) 功底,熟悉流式布局和弹性盒子布局,能处理主流浏览器的兼容问题。

  • Node.js

    熟悉 Node.js,开发过多个 Web 应用(基于 Express)和命令行工具。

  • SQL

    掌握 MySQL、SQLite 等数据库的使用,能熟练设计中、小规模应用的数据库。

  • Photoshop

    能使用 Photoshop 进行简单的图片处理和平面设计。

对Web充满热情

学生时代就踏上了开发之路

2001 年 9 月至 2004 年 6 月在广州市第八十六中学就读,课余做的以黄埔军校为主题的网站「黄埔军魂」曾获以下奖项:

  • “第三届全国中小学生电脑制作活动”广州市初赛高中网页二等奖;
  • “广州市中学生历史科‘研究性学习’个案征集评比活动”一等奖。

2004 年 9 月至 2008 年 6 月在华南师范大学修读软件工程专业,取得学士学位。期间:

  • 2005 年 4 月,在院系的“班级网页制作大赛”中获一等奖;
  • 在社团「师大青年」任职,为其开发了网站,2007 年 6 月被评为“年度优秀校园媒体工作者”。

年工作经验

曾在知名互联网企业任职

现在

广州易方信息科技股份有限公司

前端技术主管

参与了直播管理系统、图文直播等需求的开发,并主导网校平台的重构。

此外,也负责团队(10 名下属)的日常管理,包括需求预审、任务分配、技术专栏建设等。

2018/11

广州市贝聊信息科技有限公司

前端经理

主要负责前端基础架构建设

  • 选定 Vue.js 作为主开发框架,编写和维护公共代码,建立项目模板;
  • 采用自研的 Back2Front 框架开发数据交互较为简单的项目(如官网、文章内容页)。

此外,还承担团队管理工作(3 名下属),包括任务分配、人员培养、工作汇报等。

2018 年 2 月获“二〇一七年度最佳员工奖”。

因公司缺乏有效盈利模式、缩减规模而离职。

2016/12

广州绽放信息科技有限公司

高级前端开发工程师

前端技术负责人。使用 Node.js 搭建中间平台(Back2Front 框架的雏形)实现前后端分离,并在此基础上开发美黛拉手机站和 PC 站;后期在部分数据交互较多的页面中使用了 Vue.js

因线上业务盈利欠佳、调整业务重心而离职。

2015/4

广州市千钧网络科技有限公司

高级前端开发工程师

基于 JRaiser 对业务 JS 进行模块化重构,并负责视频上传、播放等核心业务。此外,还作为内部讲师分享了技术原理和开发经验,并组织团队成员轮流分享。

因公司被搜狐收购后,要长期应付对自身没有太大提升的整合对接工作而离职。

2012/9

广州奔步广告设计有限公司

前端开发工程师

主要负责外包网站的开发和维护,偶尔也为业务系统开发团队提供前端协助。

因平台小、工作技术含量低而离职。

2011/5

广州久邦数码科技有限公司

ASP.NET/前端开发工程师

前期作为 ASP.NET 工程师参与了内部流量统计系统和手机门户网站的开发;后期回到前端岗位,负责混合式应用的开发。

因上班路程较远、加班太多而离职。

2010/11

广州网易信息科技有限公司

页面工程师

第一份正职工作,初期只负责专题页面的制作。后来转为负责 JS 开发,编写了基础库与 UI 组件,并负责网易跟贴和内部 CMS 等重要项目。

因网站部搬迁到北京而离职。

2008/5
2007/9

动网先锋网络科技有限公司

ASP 技术员(实习)

大三暑假时的实习工作。前期负责动网论坛功能定制业务,后期参与了 JScript 版动网论坛的开发。

实习三个月后离职。

2007/7

丰富的项目经验

业余项目与公司项目相得益彰

网校平台重构

  • Vue.js
  • Node.js

2019/2 至今

基于 Nuxt.js 重构网校平台,具备单页应用体验的同时,也能兼顾 SEO。实现细节包括:

  • 根据 User-Agent 调用 PC 端或移动端组件,实现设备适配
  • 以插件形式实现兼容前后端相对路径请求的 axios
  • 构建时把静态资源上传到阿里云 OSS,并使用独立域名访问。
  • 重构工作分多期进行,通过配置 Nginx 分发请求到新项目或旧项目。
  • 打印接口请求耗时与页面渲染耗时,便于排查性能问题。

Back2Front框架 (开源项目)

  • Node.js

2015/4 至今

基于 ExpressXTemplate 开发的前后端同构框架,支持:

  • 把 HTML 及其引用的 JS、CSS 封装成模块,便于整体调用
  • 对静态资源进行预处理
  • 模板以及 JS 的前后端同构。

此外,还配备对应的构建工具 Back2Front-CLI

本框架先后应用于美黛拉 Web 端产品、贝聊 Web 端产品。

JRaiser & Bowljs (开源项目)

  • JavaScript
  • Node.js

2012/6 至今

基于 CMD 规范的模块化类库,包含加载器和一些通用性强的基础模块(DOM、AJAX、Cookie、Promise 等)、UI 组件(拖动、分页条、月历等)。此外还有配套的 CLI 工具,可用于构建代码生成 API 文档

后来又把加载器拆分为 Bowl.js 项目,CLI 工具也拆分为 Bowljs-CLI

本类库先后应用于 56 网、美黛拉 Web 端产品和贝聊 Web 端产品。

贝聊旗下微信小程序

  • WXML
  • WXSS
  • JavaScript

2018/1 至 2018/9

参与了「幼儿园招生帮手」和「贝聊家长圈」两个小程序的开发,均使用了 WePY 框架。

其中两个较为通用的功能——图片上传富文本(HTML)渲染,均已封装为组件并开源。

贝聊旗下微信小程序

美黛拉手机站

  • HTML 5
  • CSS 3
  • JavaScript
  • Vue.js

2015/4 至 2016/11

兼容主流 Webkit 内核浏览器,使用 REM 单位适配不同尺寸的屏幕。核心页面包括:

  • 商品目录页:可通过各种过滤条件搜索商品。过滤条件通过 HTML5 历史记录接口记录在 URL 参数中,即使页面刷新也不会丢失。
  • 下单页:有多个可选的子步骤,且数据交互逻辑较多,因此使用 Vue.js 开发。
美黛拉H5站

LetsBlog (开源项目)

  • Node.js
  • MySQL

2015/1 至今

基于 Back2Front 框架开发的博客发布系统,前身是使用 ASP.NET 开发的「TidyBlog」,因 Node.js 逐渐成熟且开发便捷而更换实现技术。

LetsBlog

UA Detector (开源项目)

  • Node.js

2014/10 至今

分析 User-Agent 的程序包,能识别出设备品牌(针对移动设备)、操作系统、浏览器核心和浏览器,识别方式主要是正则表达式匹配。曾用于 56 网内部日志分析。

维护此项目以来,通过生产环境服务器的大量 Nginx 日志,不断丰富特征库,提高匹配度。

UADetector

56 网 HTML5 视频上传

  • HTML 5
  • JavaScript

2013/3 至 2015/2

通过 XMLHttpRequest 2.0 实现支持PC现代浏览器、移动浏览器的视频上传,且能实时显示上传进度和速度。

后来进一步改良为断点续传,即分割文件逐块上传,并把上传进度记录在本地存储中。一旦上传中断,短时间内再上传同一个文件可以续传。

56网HTML5视频上传

56 网 PC 视频播放页

  • HTML
  • CSS
  • JavaScript

2012/11 至 2015/2

观看视频的主页面,有若干种类型。通过把页面功能模块化按需引入,达到高度复用的目的。

由于大部分内容都在前端渲染,为了提高性能,采用了内联Flash播放器延迟加载延迟渲染事件代理等优化方式。

此外,还通过监听「window.onerror」对异常信息进行采集,以便及时发现和排查故障。

56网PC视频播放页

网易可视化专题模版系统

  • JavaScript

2010/1 至 2010/10

为网易门户网站常规专题制作而开发的辅助系统,可以在所见即所得的界面中,通过组合模块快速创建专题页面。

系统中的每个模块有两套模板:前端模板(Micro-Templating)与后端模板(Velocity)。前者用于在编辑界面中渲染 HTML,实现所见即所得;后者才是真正生成的代码。

专题页面的布局和模块结构以 Velocity 注释(内容为 JSON 结构)的形式保存在最终生成的后端模板中,以便二次编辑。

网易跟贴

  • XHTML
  • CSS
  • JavaScript

2009/2 至 2010/9

重写网易跟贴的前端代码,实现前后端分离(前端渲染,模板引擎为 Micro-Templating);完成重构后,也负责此项目的功能迭代。

网易跟贴

从程序员到讲师

分享是更好的提升

从 56 网离职后,为了延续技术分享氛围,开始组织技术沙龙,即「前端讲坛」。

2015 年 12 月首次组织该活动,参与者均为熟人。

2016 年 4 月组织第二期,参与者为熟人以及熟人的朋友。

2016 年 8 月组织第三期,以分组讨论加强参与者和讲师之间的互动。

2017 年 4 月组织第四期,参与人数达到 40 人以上。

2017 年 9 月、2018 年 8 月分别组织第五期第六期,均在「活动行」平台发布。