张星海
全栈工程师
- 性别:男
- 住址:广东深圳
- 电话:+86-18742538743
- 邮箱:zhangxinghai79@gmail.com
- 民族:汉
- 籍贯:湖北
- 学历:本科
- 意向:2D/3D 可视化方向
简介
拥有 10 年软件开发经验,其中 8 年专注于前端技术,精通 React、Vue、ThreeJs、WebGL、TypeScript 等主流前端框架和技术,擅长面向对象编程(OOP)和架构设计。熟悉领域驱动设计(DDD)在前端应用中的实践,能够将 DDD 思维运用到业务逻辑建模和状态管理。
过去 3 年在海柔创新科技担任高级前端工程师,主导开发了实时监控系统、仓库布局系统(编辑器)、以及仓库图形库。在图形化技术和大型系统架构的设计与实现方面积累了丰富的经验。
关注代码质量和架构设计,致力于构建高性能、可扩展的前端应用,擅长为复杂业务需求设计模块化和组件化的架构。具备一定的团队协作和技术领导能力,能带领团队高效推进项目交付。
技能
- 前端开发 熟练掌握
React、Vue、Angular、Tailwind CSS、TypeScript
和ES6
,能够高效开发高性能、可扩展、可维护的Web
应用。 - 图形化技术 熟悉
Canvas
和WebGL API
并且深入掌握Leaflet.js、Konva.js、Three.js
和Pixi.js
等2D/3D
图形库,具备开发高效图形渲染与数据可视化系统的能力。 - 架构设计 具备前端架构设计能力,擅长搭建模块化、组件化的前端架构,解决技术难题,确保项目的高扩展性与可维护性。
- 后端开发 掌握
Node.js、PHP、C#、Express、Koa、Yii2.0
和.NET
,具备搭建基本后端服务和API
的能力。 - 服务器与数据库 了解
Apache、Nginx、IIS
配置,了解MySQL、MSSQL、LevelDB
数据库的设计。 - 团队管理与协作 拥有一定的团队管理经验,擅长组织跨职能团队协作,推动项目按时交付,并保障团队成员的技术成长与效率。
工作经历
2024/09-__
| 个人项目
- 3D 仓库监控系统 开发了基于
THREE.js
的智能仓库监控系统,能够展示实时监控数据,包括输送线、机器人、货架等。 - 照片书制作 设计并开发了一款可以在线实时编辑照片、制作照片书的
WEB
应用,支持多种图像处理功能。 - 地图相册 基于
leaflet
和react
以及Electron
框架开发了一款结合地图和照片管理功能的应用,提供位置相关的照片浏览体验,同时支持桌面版和 web 版。 - THREE.js 学习计划 一个帮助初学者入门
THREE.js
的网站,提供丰富的交互,让用户从视觉上深刻理解THREE.js
的各项配置。 - 实践项目 与输送线厂商合作推出 3D 输送线监控软件。
2021/05-2024/09
| 深圳市海柔创新科技有限公司 | 高级前端工程师
- 负责前端工程建设,设计与开发高性能 仓库实时监控系统 及 仓库图形编辑器(WLS)。
- 主导并组织组内成员参与
2D/3D
仓库图形库(WIK) 的设计与开发,提升系统的可扩展性与性能。 - 使用
Leaflet
、Three.js
、React
等技术栈,成功实现状态驱动视图、实时数据推送、协同操作等关键功能。 - 优化系统架构与前端流程,支持高频次
WebSocket
消息推送,确保系统高性能与高可用性。 - 负责团队协作与任务分配,推动项目按时交付,并有效提升开发效率与团队合作。
2020/01-2021/05
| 软通动力信息技术(集团)股份有限公司 | 主任工程师
- 负责华为
BPIT CBGIT
部门渠道产品(toB 商城)的研发工作,推动项目从ES6
迁移至TypeScript
,提升代码质量与可维护性。 - 主导全平台性能监控系统
Sentinel Dashboard
的前端架构设计与实现,确保系统稳定性和高效的性能监控。 - 参与项目全生命周期,优化用户体验,提升系统的可扩展性与性能表现。
- 配合团队进行技术难题攻关,推动项目按时交付。
2018/11-2020/01
| 丽珠医药集团有限公司(深圳)| 高级前端工程师
- 负责药品进销存系统的前端架构设计与实现,确保系统的稳定性、可扩展性及高效性。
- 组织并开展新同事的技术培训,提升团队整体技术水平。
- 与后端团队紧密合作,优化数据交互和前端性能,确保业务需求的精准落地。
- 参与需求分析和技术方案设计,确保项目的高质量交付。
2015/03-2018/09
| 大唐鸿业科技有限公司(大连)| 前端工程师
- 负责开发基于淘宝服务平台的多个应用,提升了平台用户体验与系统稳定性。
- 参与地方政府相关项目,提供技术解决方案,优化用户界面及交互设计。
- 主导美国医师资质认证系统的前端开发,提升了系统的可扩展性与性能。
- 推动公司前端技术架构的优化,制定开发规范,提高了团队开发效率。
2013/09-2015/05
| 大连奈特网络科技有限公司 | .NET 开发工程师
- 负责
CMS
产品及零售系统(e-commerse)
的研发与维护,涉及ASP
、PHP
、服务器端开发。 - 主导系统架构与功能开发,确保产品的稳定性与扩展性。
- 组织销售团队进行新软件使用培训,提升团队对产品的理解和应用能力。
项目经历
仓库监控系统 | 深圳市海柔创新科技有限公司
-
角色 高级前端开发 / 项目负责人
-
描述
该项目旨在为全球智能仓储管理提供一个高性能、实时监控的解决方案。现有的仓库监控系统存在设计简单、功能无法满足日益增长的客户需求以及性能差等问题,因此我们需要重新设计并开发一个全新的系统,能够支持实时数据流的高效监控与展示,满足更复杂的业务需求。
-
技术栈
TypeScript, Leaflet, React, Material UI, MUI/data-grid, i18next
React CRA, Protobufjs, Proto2typescript, Eslint
Koa, JSONEditor, Koa/websocket
Java, Protobuf
-
主要职责
- 组织并协调前端开发团队的工作,确保项目按期高质量完成;
- 使用
TSLint
进行代码检查、配置TypeScript
类型检查和生成脚本来自动化构建过程; - 撰写明确的开发文档,确保团队成员的理解一致,规范开发流程,提高了开发效率;
- 负责前期的技术调研、技术选型、前端架构设计,以及开发工作;
- 与产品、UI 设计人员、后端、测试、运维紧密合作,确保各方需求的高效整合与实现;
- 与其它部门同事协作,实现系统国际化以及与其它系统集成。
-
项目成果
- 软件成功部署到了全球客户,新系统显著提高了仓库状态监控和异常处理效率,确保高效运营。
- 支持了
SVG, DOM, leaflet.Layer
实时渲染 - 采用领域驱动设计
DDD
和面向对象设计OOD
,实现了清晰架构、良好的可扩展性,便于维护及团队协作开发。 - 实现了高性能设计,能够稳定处理
50Hz
数据推送,并支持了2
万货架的实时渲染。 - 结合
leaflet
和react
实现了ReactSvgOverlay
,支持了实时SVG
渲染,包括输送线和充电桩,提供流畅的直线与曲线动画及设备故障警告。 - 实现了分库区监控功能,实时展示设备状态和列表数据,并提供快速查询支持。
仓库布局编辑器(WLS)| 深圳市海柔创新科技有限公司
-
角色 高级前端开发 / 项目负责人
-
描述
仓库布局编辑器(
WLS
)是一款专为内部仓库设计的地图编辑软件,旨在简化仓库地图的设计、布局管理和后期修改过程。WLS
通过灵活的图层管理、实时数据同步和高度定制化的功能,优化了仓库设计与实施流程。软件与地图图纸制作部门和现场实施人员紧密对接,帮助提高仓库设计的效率和灵活性,减少了修改周期,并且支持多语言和用户角色权限控制,满足了不同用户的需求。 -
技术栈
TypeScript, Leaflet, React, Antd UI, GLmatrix, i18next, LocalForage, AJV, JSONEditor, Websocket
Protobuf, Proto2Typescript, ProtobufJS, Typedoc, Less, Eslint
Java, Protobuf, MySQL
-
主要职责
- 需求梳理与沟通 负责与产品、后端及相关部门沟通,识别与解决项目实施过程中存在的困难,梳理并确认软件需求。
- 前后端协作 设计前后端的数据交互方案,确保数据的流畅传递与一致性。
- 技术选型与架构设计 负责前端技术栈的选型与系统架构设计,确保代码高效、可维护,适应多人协作开发的需求。
- 功能讨论与设计 与产品和
UI
设计师深入探讨功能需求与具体呈现方案,确保用户体验的顺畅与一致。 - 团队协作与开发管理 组织并协调前端开发团队,确保各项任务按时交付,并与其他部门高效协作。
- 文档与规范管理 撰写开发文档,制定开发规范,保证代码质量与一致性。
-
项目成果
- 优化项目架构与开发流程 设计适合多人协作的项目架构,制定开发规范,确保代码质量和一致性,促进高效开发和团队协作。
- 技术创新 通过改写
Leaflet
的事件发布逻辑,实现图层穿透交互,多个canvas
图层可同时交互,优化用户操作体验。 - 大规模数据支持 成功实现了
2W
货架、4W
点的高效渲染与实时交互,满足了大规模仓库的管理需求。 - 实时数据同步 与后端实现实时数据保存与原子级数据交换,支持多端协同操作,保障数据一致性。
- 功能实现 实现了元素拖放添加、移动和删除,
Undo/Redo
功能,交互模式管理等,提升了系统的灵活性与用户体验。 - 国际化与多语言支持 完成
8
种语言的国际化支持,拓宽了产品的市场覆盖面。 - 高效的地图编辑体验 完美实现
React
与Leaflet
地图的互操作,简化了地图设计与交互流程。
仓库图形库(WIK) | 深圳市海柔创新科技有限公司
-
角色 高级前端开发 / 项目发起人 / 项目负责人
-
描述
仓库图形库(
WIK
)是一款用于智能仓库可视化的图形库,旨在提供高效、灵活的仓库布局展示、编辑与交互管理能力。通过引入基于继承的 Mixin 方案和以及自研的模型驱动机制,WIK
解决了仓库布局编辑器(WLS)中复杂的原型修改问题,并通过严格的类型声明和接口先行原则,提升了代码的可维护性与可扩展性。WIK
支持多视图绑定,能够与Leaflet、DOM、Three.js
等图形引擎无缝配合,实现多平台、跨场景的可视化需求。 -
技术栈
Eventemiter3, React, Leaflet.js, Pixi.js, Three.js, gl-matrix
TypeScript, SASS, Vite, Eslint, Prettier, Typedoc
-
主要职责
- 项目架构设计 主导整体技术架构与设计,确保系统可扩展、高效且易于维护。
- 开发与实现功能 负责核心模块的开发,包括图形渲染、交互行为管理、模式控制等。
- 团队管理 组织和指导前端开发团队,分配任务并确保高效协作与按时交付。
- 项目进度管理 每日编写并更新开发计划,确保项目按预定进度有序推进,及时解决开发过程中的问题。
-
项目成果:实现了以下特性
- 模型驱动(Model-Driven) 用户可以定义强大的模型,并通过事件驱动这些模型来渲染视图,实现高效的视图更新。
- 数据驱动(Data-Driven) 每个视图都具有自己的状态,可以随时间变化呈现不同的展示效果,类似于
React
的状态管理机制。 - 一模型多视图(1 Model => N Views) 由于模型和视图分离,一个模型可以同时驱动多个视图的变化,从而提升灵活性和可维护性。
- React-SVGOverlay 传统的
Leaflet SVGOverlay
是静态的,Wik
使其变得响应式,提升了交互性。 - 真正的混入(Real Mixin) 提供比重写类原型更灵活的混入机制,避免了继承层次的复杂性,提升代码复用性。
- 依赖注入(Dependency Injection) 通过解耦接收者和依赖项,减少紧耦合,实现更灵活的代码复用。
- 自动面板管理(Automatic Panes Management) 面板根据类别自动管理,并且仅限于
Leaflet
地图视图的范围内。 - 交互式状态管理(Interactive State Management) 支持鼠标悬停、选中、高亮等交互状态,并且支持扩展,增强用户体验。
- 行为与模式(Behavior & Mode) 提供强大的可扩展交互能力,用户可以在不同模式下管理和操作不同的行为,提升灵活性。
教育经历
2009/09-2013/06
| 大连大学(本科)| 计算机科学
在校期间成绩优异,成功通过大学英语四级考试。曾荣获“大连大学英语写作一等奖”、 “大连市数学竞赛三等奖”以及“全国高等院校数学竞赛辽宁省三等奖”。
计算机相关课程包括:C
语言基础、ASP
网页制作、ASP.Net
网站制作、C++
基础、关系型数据库设计原理、Flash
实践、VB
基础。
独立研究过 Python
和 Java
,毕业设计聚焦 Python
在物理实验数据处理中的应用。