- 手机:17610060876
- Email:[email protected]
- QQ/微信号:1341985539/xialvjun
- 夏吕俊/男/1991
- 本科/软件工程/武汉理工大学(2009-2013)
- 工作年限:10年
- 技术博客:http://xialvjun.github.io
- Github: http://github.com/xialvjun
- 现居住城市:武汉
- 熟悉语言:javascript
- 熟悉技能:vue, react, graphql(server and client), typescript
- senia : 一个极小,无依赖,类 vue 的 UI 库。
- rest2graphql : 一个代理 rest api 并将其转化为 graphql api 的工具。
- mobx-loading : 类型安全地为 mobx 的 action 添加 loading 状态。
- farrow-apollo-server : 一个不错的后端框架 farrow 的 apollo graphql 适配。
- ts-sql-plugin : 在服务端 TypeScript 代码中用模板字符串直写 sql 语句, 通过获取代码语法树和变量类型, 组装出假的 sql 语句, 在真实数据库中 explain 来校验正确性。提供 LanguageServicePlugin 和 CLI 程序的用法。链接:https://github.com/xialvjun/ts-sql-plugin。不再推荐,推荐使用
ts-sql-query / @ff00ff/mammoth / pgtyped
。 - stack-switch : 通过缓存变化的 location ,给 react-router 带来 keep-alive 功能,从而轻易地让移动端在后退时恢复前进前的状态。链接:http://github.com/xialvjun/stack-switch
- create-react-style : 在 react 中渲染 style 标签,通过简单的方式带来 scoped style 功能,另附带一个 babel macro,删除 css-in-js 中的多余空格,减小打包体积。链接:http://github.com/xialvjun/create-react-style。不再推荐,推荐使用
tailwindcss + atomic css
。 - react-element : 直接在 JSX 内部使用 React.Component API, 适用于创建一些只有简单逻辑的组件。另外提供一个
genc
工具函数,提供比react hooks
更通用的使用体验。链接:http://github.com/xialvjun/react-element - react-fetcher : 在 react 中声明式的获取数据,类似 apollo-client 的 Query。链接:https://github.com/xialvjun/react-fetcher
- rx-domh : 使用 jsx 直接生成真实 DOM,并把 rxjs 的 Observable 精确绑定到真实 DOM 上去。链接:http://github.com/xialvjun/rx-domh
- tiny-graphql-client : 抽象出 graphql-client 的通用接口,相当于一个简易版的 apollo-link,而且适用于微信小程序。链接:http://github.com/xialvjun/tiny-graphql-client
- knex-schema-session-store : 把数据库中 session 的某些字段抽取出来,拥有单独的列,从而方便检索,例如 user_id。链接:https://github.com/xialvjun/knex-schema-session-store
- koa-lazy-multi-session : 懒加载 session,减少不必要的数据库请求。链接:https://github.com/xialvjun/koa-lazy-multi-session
- preact-flyd : 把 flyd 的 Stream 绑定到 preact 的 VDOM 上去。链接:http://github.com/xialvjun/preact-flyd
- cache-react-component : 缓存要被销毁的 react 组件,提高那个组件再次显示时的速度。链接:http://github.com/xialvjun/cache-react-component
- React SSR 总结 链接:http://xialvjun.github.io/react-ssr
- 栈式路由 链接:http://xialvjun.github.io/stack-routes
- 响应式 DOM 链接:http://xialvjun.github.io/rx-domh-reactive-dom
vue2 编写 to b 业务,主要增删改查、地图、图表、直播(播放)、对讲这类功能:
- 增删改查:主要使用开源框架 PigX 提供基础管理系统业务逻辑,前端用 Avue 组件简化简单管理页面的开发;
- 地图:使用高德或 mapbox 地图,在地图上聚合展示上万辆车的实时位置,车辆历史轨迹;
- 图表:在部分大屏或总览页面使用 echarts 展示各类统计信息;
- 直播(播放):使用 flvjs 播放车辆上的设备发送给直播服务器的视频流;
- 对讲:使用 websocket 与车辆上的设备双向传送音频数据,实时对讲;
使用 vue(大部分) 和 react(少部分) 编写各式各样的政府项目, 有数据管理系统(react + ant-design), 有政厅大屏展示(vue + echarts), 有交通管理(vue + mapbox). 项目平均体积较小, 自己负责前端部分.
参考视频 https://www.useloom.com/share/e5287e7a39564f31b09161ef618b0e6e
参考视频 https://www.useloom.com/share/edd84533cc7d469ab0687d94a344ecc4
- 熊猫答 (部分页面 + 前身移动网页)
- 谁给你拜年+ (部分页面)
- 熊猫课 (内的核心音频播放逻辑)
- 熊猫问答 (部分页面)
参考视频 https://www.useloom.com/share/56e3d40aad1541688dd3a856d5d20a7d
参考视频 https://www.useloom.com/share/91fe03771f0e421499155f4e8038a0a5
智能泊车系统(离职时未上线),后端django,前端angular2。我负责计费模块(前后端,后端抽象逻辑算是整个系统的核心部分)以及前端框架搭建。
前端Delphi,后端Java(使用alibaba的dubbo架构),做的一套堆场集装箱管理系统。。。以及维护另一套码头集装箱管理系统,用的是同样的技术,做一些前后端业务模块。
- React/Vue : 精通
- Node : express/koa/graphql 熟练
mysql、mongodb、git、bootstrap、go、rust
typescript + apollo-server-koa + async_hooks/zone.js + ts-sql-query + graphql-code-generator + react + @apollo/client + tailwindcss/atomiccss
- 大学以前(09年以前),成绩都不错,学习挺轻松,但并没有太大的主动性。偶尔玩下游戏,但往往只是尝试下就好,图个新鲜和创意。有一些自己的想法,对 IT 很感兴趣。大学选软件工程专业。
- 大学期间(09-13年),发现教的并不是自己想象的一样足够实用(教
C Java SQL
,但没有教具体怎么使用它们做出有实际价值的东西出来),自已有些自学的想法,但是周边没有人能共同学习,自己又被自学的难度吓到了(自己吓自己),迷茫很久。直到大三下学期(2012年)周边有其他同学也开始自学,自己才因为喜欢 Win8 而自学 ASP.NET (没在上面标出来是因为当时自学成效并不好,现在也差不多全忘了,而且 ASP.NET 也不流行)。 - 大四下学期不久,通过校招进入宁波港信息通信有限公司实习,半个月 Delphi 上手,开始了模块开发,做一些简单的 CRUD 模块,偶尔也做些 Java 后端业务逻辑开发。
- 同年(2013年末),自己接触到 nodejs,拜读了 byvoid大神(也许他不算大神,但我真心感谢他) 的《nodejs开发指南》,然后自己又有一定的 js 的底子,真正进入编程领域。
- 先后了解并学习
nodejs express mongodb(mongoose) angularjs
。 - 有种自己是野生程序员的感觉,所以开始学习后端正统 j2ee(14-15年),
maven spring jpa
,也了解了一些 jpa 替代方案,例如 jooq。期间也接触到 scala,发现与自己的一些想法不谋而合(例如数字是对象,操作符是方法),一下子被吸引,学习《Scala编程》,极大地打开了编程视界。 - 15年遇到了 react,自学
react babel webpack
。 - 15.10-16.4,在筑梦园(见工作经历),学习了
python django konckoutjs angular2
。真正学会使用 linux,而不是大学时的装个双系统半年不用。同时,自己也抽空学习了redux react-router
(也就是继续学习 react,自认为技术洞察力还行,可惜当初没能说服团队使用 react)。 - 16.6-17.4,自学了很久的 react,终于可以在实际项目中用到了(北京趣找科技)。自己使用 react 全家桶先后做了客户端与商户端,先后也踩了不少坑,对前端开发开始有了自己的理解,开发出了一些开源小玩意。一个缓存 react 组件的小工具 cache-react-component;受到别人的库的启发,开发的一个响应式 VDOM preact-flyd;以及一个真正的精确数据绑定的响应式真实 DOM rx-domh;也有了自己的博客,写了几篇自己的总结。
- 另外,自己业余时间也学了下 Go Rust,深入学习了 GraphQL。在小大夫漫画(见工作经历),把 graphql 用到工作中,更深度的使用了 react。
- 19.6 进入滴滴,在工作中使用了 vue。
感谢您花时间阅读我的简历,期待能有机会和您共事。