史飞超 前端可视化调包工程师 / Github Markshinima / yuque-icon技术博客

微信号 feichao93 / 大学英语六级

教育/工作经历

专业技能

项目经历

高性能 React 表格组件

高性能的 React 表格组件,数据量较大时自动开启虚拟滚动,支持 10 万行 / 10万列数据的渲染。组件拥有简单灵活的 API,提供丰富的定制能力。 组件提供了实用的表格特性,包括表头吸顶、左右侧锁列、粘性定位的滚动条、单元格合并等。
组件介绍: https://zhuanlan.zhihu.com/p/130755755
项目地址: https://github.com/alibaba/ali-react-table

坦克大战复刻版

基于原版素材,主要使用 TypeScript 和 React 进行实现,独立完成整体框架设计与具体实现; 技术选型方面主要使用 React 生成 SVG,使用 Immutable.js 构建游戏数据结构, 使用 Redux 管理全局数据,使用 redux-saga 处理复杂的游戏逻辑; 针对鼠标的交互方式设计并实现了新的关卡编辑器,并提供了关卡管理功能。
游戏地址: https://shinima.github.io/battle-city/
完整项目介绍: https://zhuanlan.zhihu.com/p/35551654

redux-saga / little-saga

我是开源项目 redux-saga 的协作者(collaborator)之一,目前和其他协作者一起维护该项目。 我对 redux-saga 源码有较深的理解,也给 redux-saga 贡献过不少核心代码。
而 little-saga 是我自己根据 redux-saga 源码修改而来的简化版本,little-saga 去掉了一些不常用的特性,并使用了更现代化的 JavaScript 进行编写,主要目的是帮助更多人理解 redux-saga/little-saga 的原理。 little-saga 采用了更加面向对象的方式实现了 saga-runtime,允许用户自定义 effect 类型,具有良好的拓展性。
项目地址: https://github.com/little-saga/little-saga

temme

从 HTML 中提取 JSON 数据的开源工具。在 CSS 选择器的基础上使用 PEG.js 定义了额外的语法来抓取 HTML 中所需要的字段,支持多字段选取、列表选取、格式处理等功能。 该工具包含了完善的文档、测试、实例,设置了持续集成并发布在 NPM 上。 我也为该工具实现了 VSCode 插件,插件提供语法高亮和执行选择器的功能。
项目地址: https://github.com/shinima/temme

简易 SVG 编辑器

该编辑器主要功能是绘制多边形等形状,以及将语义信息附加到绘制的形状上。 编辑器提供了丰富的快捷键和自动对齐功能,可以完成较为复杂的图形绘制。 编辑器采用了响应式编程框架 Cycle.js,对键盘、鼠标、用户行为等进行了合理抽象,用简洁直观的代码清晰地描述出了应用的数据流。 该编辑器是 TRIPS 系统 的室内空间建模工具;而 TRIPS 论文已经被 VLDB 2018 接受。 项目地址: https://github.com/shinima/editor