About


这个博客我把它当作一个知识库,我觉得有价值的东西我都会记录在这里。包括

  • 语言、代码库、框架的API
  • 原理类的知识、感想、阅读记录[1]
  • 如何管理代码、设计代码
  • 遇到过的问题,我如何解决
  • 折腾了的事,及其起因、经过、结果和收获感想

记录API是为了减少记忆,知道有这个东西过来复制粘贴就好了,还可以记录相关的注意事项、使用新的。其他的内容算是一个沉淀,代表着我能力的积累。

现在的工作

公司是做在在线steam教育的,主线业务包含2个主要项目,及相关的多个小项目。

  • 主项目
    • 未来教室(代号s2,负责管理课程,管理学生,承载课件编辑器和播放器)
    • 系统平台(课件编辑器、播放器,教师手机端,通用组件)
  • 附属项目
    • 插件管理系统
    • Knowledge Forum评论系统
    • s1未来教室管理系统
    • 学生端
    • 官网

我负责的工作

  • 2个小型项目的全栈开发(插件管理系统、Knowledge Forum系统)
  • 解决前端团队的技术难点
  • 课程扩展内容的开发

技术

JS CSS 浏览器原理 网络协议 Vue React 解决问题

专业技能、解决问题的能力、沟通能力、对工作的热情,这几个方面来说可能都要好一点。不关我的事我也主动参与。别人解决不了的问题,我能解决;别人有方案,我可能有更好的。

本职工作

  • 插件库前端
  • 各种插件

较好的本职工作

  • knowledge前端
  • 配置绘本

后端工作

  • 插件库后端
  • knowledge后端

份外的工作

对工作的热情 解决问题的能力

  • 旧epp——探索如何优化
  • 重构——内容元素及动画的方案
  • electron视频全屏——有方案,可行
  • 资源本地化——有方案,可行
  • 服务本地化——有方案,探索中

工作经历

  1. 成都水木三一教育科技有限公司,前端,2018年12月-2020年06月

产品是STEAM在线教育系统,客户主要是中小学,学校的老师通过该系统,进行STEAM教育的授课,公司提供授课系统和课程内容。系统功能主要是两大块:制作课件和上课。公司的课研老师制作课件,学校的老师使用课件进行上课。

制作课件和上课分别对系统内的应编辑器和播放器,功能很像PPT的编辑和播放。

为了丰富课件的内容,需要一些有简单的交互功能的教学小游戏。

北京影享时代网络科技发展有限公司 | 前端 | 2016年06月 - 2018年08月 北京科力新技术发展总公司 | Java | 2014年05月 - 2016年06月

教育背景

河北工程大学,信息管理与信息系统专业,本科,2009年-2013年

做过什么

基本工作:

  • 设计组件,定义其功能参数,编写文档。
  • 分析需求文档,评审测试用例。

得意的工作:

  • 开发生产力工具,提高工作效率。用于简化git操作,可以规范commit信息,简化创建合并分之和merge request。原来通过命令行或者客户端和网页操作,一共大概需要2分钟,使用工具只需要30秒。
  • 优化架构,
  • 调查解决技术难题,
  • 提炼技术经验记录到博客。
  • 画流程图

项目

未来教室 前端开发 2018.12—至今

描述:

  • 用于老师课件管理、备课、管理学生、上课播放课件、编辑课件。
  • 编辑和播放课件功能由epp通过iframe提供。
  • 项目使用React(Dva)开发。
  • 项目已经经过了1年的开发,但是使用React、Redux的方式都是有问题的。

业绩:给前端组长、技术总监及其他前端同事科普React和Redux的正确用法、Redux原理,我做了一个keynote。

ed-plugin-platform(epp) 前端开发 2018.12—至今

描述:

  • 作为公司其他项目的基础平台。
  • 包含编辑课件,预览、播放课件等功能。
  • 技术总监自己搭的前端架构,视图层组件使用Vue,没有采用传统的Vue或者React架构。
  • 架构经过长时间的开发后,实现的较混乱,各层级边界不清晰,缺乏拆分(一个文件3000多行代码)。

业绩:

  • 快速理清复杂项目结构。梳理了流程图和文档。
  • 用我总结的流程图、文档给新同事做培训,讲解项目。
  • 讨论架构优化方案,引入Redux(dva-core),使代码可以拆分,使原项目渐进过渡到新架构,重新定义层级边界。
  • 引入immutable,减少引用引起的混乱。
  • 优化缓存方案。
  • 开发生产力工具,用来简化流程,可以便捷的创建分支,提交代码,发邮件。有命令行版和网页版。(代码在码云)

北京影享时代网络科技发展有限公司

web前端 2016.06—2018.08

内容:我的工作是web前端开发,这是一家初创公司,做了两款知识付费产品,都是微信公众号。 第一款产品叫“取得Get”,产品内容前期是各行业精英通过视频讲解本行业的热点问题和知识;后期加入了付费语音问答、语音直播等内容。 第二款产品叫“取得密聊”,是“取得Get”的一个细分领域——情感咨询。前期功能是文字语音聊天、电话咨询;后期加入了语音直播、社区论坛等。

取得密聊 前端开发 2017.07—2018.08

描述:这个项目是一个基于微信公众号的网站。是使用React开发的单页网站,使用了Ant Design的UI库,使用微信jssdk做的登录、支付、分享、录音等功能,使用webpack打包,还有用到mobx、axios、moment等。 我负责支付、登录、首页、密友介绍页、社区发帖等页面的开发。 参与需求设计的讨论,对已有页面和功能提出改进建议并得到领导的认可。

项目链接:微信公众号“取得密聊”

取得Get 前端开发 2016.06—2017.11

描述:这个项目是一个基于微信公众号的网站,使用Angular 1 开发。使用微信jssdk做的登录、支付、分享、录音等功能。我负责视频播放页的开发。

北京科力新技术发展总公司

Java | 研发 2014.05—2016.06

内容:我的工作是Java Web开发,项目叫“乐活到家”,是一个社区服务平台。

乐活到家 Java开发 2014.05—2016.06

描述:使用SpringMVC、MyBatis等开发的系统,我开发了社区服务商管理的相关功能,使用了百度地图API。后来开发了通过微信公众号下单的功能。

教育经历

河北工程大学,信息管理与信息系统,本科,2009—2013

个人网站

技术笔记博客:https://wss.cool

码云——Git代码 https://gitee.com/wss1942

经历

2020年3月至今

接手编辑器、播放器、授课系统项目, 没有文档注释也很少,通过代码结合业务来熟悉代码。 输出一份文档,作为自己的记录,也能帮助其他人熟悉代码。 文档中记录了主要功能的主要代码逻辑、发现的问题及优化方案。

使用redux重构emitter

emitter 是前同事加入到系统中的一个事件机制,各组件之间通过事件通信。它有很严重的问题:难以调试、简单问题复杂化、理解的代价很高。


  1. 比如看到的博客,书之类的

updatedupdated2020-10-122020-10-12