Contact:
个人主页: https://yechao.xyz
Mail: liyechao@yechao.xyz
Github: https://github.com/li-yechao
Twitter: https://twitter.com/li_yechao
I'm currently learning English.
目前我在红岭云工作,主要负责 PC 前端和 APP 端框架设计开发,探索引进前沿技术。
我任职的第二家公司。职位高级前端工程师。主要负责 PC(Vue) 管理平台和 App(Uniapp) 跨平台应用的架构设计和开发。
主要经历
为了解决项目日益庞大复杂的问题,独立设计了 PC 端模块化(类似微信小程序)的框架,使每个功能模块可以独立使用代码库、独立开发、独立部署,在宿主应用中可以嵌入模块页面,并实现了应用管理平台来管理部署各个应用模块。
为了快递开发各种业务中的台账功能,独立设计研发了低代码开发平台 Freeform ,只需要拖拽各种控件就可以构建出表单,不用写代码就可以实现增删改查。还设计了脚本配置功能,支持通过脚本代码控制表单逻辑,使用者可以随意控制表单的各种逻辑,使该平台能适应大部分的应用场景。
为了解决图片资源文件过大、旋转方向等问题,使用 NestJS 和 GraphicMagick 开发了资源代理服务,实现了通过 URL 参数来优化 ne 图片资源的加载。
独立开发知识图谱应用,后端使用 NodeJS 搭建服务,数据库使用 Neo4j ,前端使用 3d-force-graph 构建了 3D 图片界面。
使用 Puppeteer 实现了一个 PDF 导出服务,只需要提供一个在线 URL 就可以将页面导出为 PDF 。 为了解决用户头像在各个业务中保存后难以同步更新的问题,设计了头像服务,只需提供用户 id 即可获取用户头像地址,避免了业务中需要保存头像的问题。
制定公司代码规范,定期进行代码 Review 。
为了提高公司整体技术水平,给同事做了培训课,包括:ES6 ProseMirror Nginx 等等。
我在大学毕业前一年提前进入公司实习。负责公司后端、PC 、App 开发,后端使用 .Net ,PC 端使用 React ,App 使用 React Native 。
主要经历
分销系统,全栈开发。后端采用 .Net ,PC 端和微信公众号端采用 React 。
电商系统,全栈开发。后端采用 .Net ,PC 端采用 React ,App 端使用 React Native 。
旅游线路订购系统,全栈开发。
我很庆幸自己偶然选的专业是计算机,这是我的兴趣所在。
我的学习经历
毕业设计“加密通信应用”,使用 Golang 写服务端,Java 写 Android 客户端,Socket 通信,Protobuf 编码消息。设计思路为:两个客户端通过服务器交换 RSA 公钥,发消息时生成随机密码,使用该密码作为 AES 的 key 加密消息数据,然后使用对方公钥加密上一步的随机密码,将两个加密后的数据发送给对方。接收方使用自己的私钥解密 AES 密码,然后解密消息。
Linux 桌面窗口管理器。出于对 Linux 的兴趣,使用 C/C++ 基于 GDK 库开发了一个基于 XServer 的 Linux 的桌面环境,支持打开桌面应用,移动窗口,放大缩小,最小化,关闭应用等功能。
游戏服务器。当时受游戏“我的世界”启发,和室友合作开发一个类似的游戏,室友用 Unity 开发游戏,我用 Golang 开发服务端。最终实现了能随机生成地面,相机移动,敲碎砖块的功能。
自学 CoffeeScript Golang Java Scala 等语言。
学习 Vim ,至今依然离不开的编辑器。
自学 Linux 系统,主要参考鸟哥的 Linux 私房菜。
Win8 瓷砖页面。当时 Windows 8 刚刚面试,觉得它的瓷砖菜单列表非常新颖,就用 Jquery 做了一个,支持 ru 拖拽位置,调整大小,动画等。
Paper ,个人笔记应用,这篇主页就是用这个应用写的,用到的技术包括:NodeJS 、Typescript 、GraphQL 、IPFS 、MongoDB 、Flutter 、React 、Lexical 。
Freeform ,低代码平台,其中使用 Zeebe 工作流引擎来支持用户自定义业务逻辑。
我曾使用 Rust + RocksDB 实现过一个全文搜索数据库。先把输入文本分词,然后把分词使用 XXHash64 算法计算 Hash ,使用 RocksDB 存储 Hash 和输入文本对应的数据标识。查询的时候把关键分词,计算分词 Hash 然后使用 RocksDB 查询关键词 Hash 对应的数据标识。中间还要处理匹配排序、索引等问题。实现参考了 sonic 。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.