JIAHANG ZHANG / 软件工程师

你好,我是
Jiahang。

我在字节跳动做软件工程师。工作之外,会写一些开发者工具,也在做 Aside,一个可以用语音提问的播客播放器。

一个小小的代码实验移动指针,探索形态
▪ 前端系统 / 开发者工具 / 开源在 BYTEDANCE 从事工程开发

01 — 精选作品 / 04

我做过的一些项目。

一个 React diff 组件,两个我参与开发的工具,还有 Aside。

浏览全部项目

开源 · REACT / TYPESCRIPT

react-virtualized-diff

一个用虚拟列表显示大文件差异的 React 组件,支持左右对比,也可以展开未修改的行。

试用实际组件

这里使用已发布的组件与生成的示例代码。可以切换布局,或试试 10,000 行文本。

diff 体验区已发布的组件
architecture.ts +4 −4

正在加载组件… 查看组件源码 ↗

REACT-VIRTUALIZED-DIFF · 交互演示滚动探索

DEEPSEEK HARNESS 生态

DSH Plugin Hub

将插件和配置分享为有版本记录的 Profile。使用 Hub CLI 检查升级、保留本地修改,并恢复到之前的版本。

我的工作:Profile 生命周期管理、客户端工具和发布流程。

了解 CLI

在改动进入工作区之前,先检查具体变化。

dsh-hub profile diff dsh-web-workspace --version 0.1.0 --profile web

命令说明 · 示例 PROFILE

贡献者 · DEEPSEEK HARNESS

DSCODE

支持持久会话的编码智能体工作区,连接终端、桌面端、脚本与协作智能体。

我的贡献:桌面端集成、浏览器隔离、分发,以及按凭据区分的余额缓存。

了解会话命令

不打断主要编码对话,也可以提出一个相关问题。

/btw why is the cache cold on the first turn?

命令参考 · 在 DSCODE 会话中运行

REACT / TYPESCRIPT · 语音与 AI 音频

Aside

Aside 可以在听播客时打断提问,听完回答再继续播放。iOS 和 Android 的基础实现都是我写的,最难的部分是语音交互。

02 — 代码背后的人

软件工程师
字节跳动 / USC

简单介绍
一下自己。

我主要做前端和开发者平台,常用 React 和 TypeScript,工作里会写共用的界面组件,也会处理研发流程相关的工具。

加入字节跳动之前,我在 TORC Robotics 做过车辆测试工具,也在 TeleTracking 做过后端服务。我本科在 USC 读计算机,同时辅修了 Web Technologies & Applications 和 Mobile Development。

更多关于 Jiahang ↗联系我 ↗
离开编辑器以后

周末也看 F1。 Hamilton 44

01

前端架构

REACT / TYPESCRIPT / 模块化系统

我在内部研发工具里开发和维护共用的 React、TypeScript 模块。

组件架构 · 状态管理 · Module Federation
02

开发者平台

工作流 / 工具 / 可靠性

参与 DSH Hub 的 Profile 生命周期与升级流程,以及 DSCODE 的桌面端集成与浏览器隔离。

CI 流程 · 可复用抽象 · 工程效率
03

渲染性能

开源 / UI / 开发者体验

react-virtualized-diff 结合虚拟化列表、并排与合并布局,以及可展开的上下文。可以在本站用 10,000 行示例试用已发布的组件。

虚拟列表 · 组件接口

03 — 一路走来

我的
工作经历。

在 ByteDance 建设工程平台。
此前,参与车辆测试工具与服务基础设施。

工作经历
2024 — 至今

ByteDance

软件工程师

工程平台

我负责内部研发平台相关的工作。

  • 参与内部产品与工程平台的开发,覆盖 CI、集成流程与回归工具。
  • 开发和重构内部产品共用的界面模块。
  • 维护共用的前端代码和测试,明确模块之间的接口。
ReactTypeScript前端架构开发者平台
2023 年 2 月 — 8 月

TORC Robotics

全栈软件工程实习 / Co-op

自动驾驶车辆工具

为车辆测试流程开发工具与实时通信基础设施。

  • 使用 Vue 3 / Quasar 和 Golang 改进 Vehicle Test Tool,支持测试工程师进行卡车测试与记录。
  • 改进 Mercury WebSocket 框架,包括回调注册、消息处理、自动重连与恢复机制。
  • 扩展测试搜索,支持忽略大小写和更多查询参数,并完善测试状态的边界情况。
  • 探索 GitHub Actions 与 Jenkins 的集成,改进构建与验证流程。
Vue 3QuasarGolangWebSocketsCI/CD
2022 年 5 月 — 8 月

TeleTracking Technologies

软件工程实习生

服务与开发者体验

简化本地开发,让后端服务更易于维护。

  • 自动化本地 Kubernetes 环境配置,改进集成测试流程,减少重复的依赖准备工作。
  • 利用 MongoDB TTL 索引,让多个微服务中的存储数据自动过期,减少维护成本。
  • 升级八个编排微服务,处理 Spring Boot 弃用接口,并扩展单元测试覆盖。
KubernetesJavaSpring BootMongoDB单元测试
日常工作之外

通过开源项目持续实践: react-virtualized-diff, DSH Plugin Hub, Aside,以及对 DSCODE.

学习经历

南加州大学

计算机科学学士

辅修Web 技术与应用移动应用开发
2021 — 2024

04 — 项目笔记

一些
项目笔记。

写一些项目里的具体做法,比如 Aside 的语音控制,以及 DSH Hub 如何处理配置升级。

浏览项目笔记

05 — 留一点实验空间

在浏览器里
试一试。

可以调整首页曲面的形状,再下载成 SVG。这里也有一个用一万行示例代码演示的 diff 组件。

调整曲面 试用 diff 组件

06 — 从一次交流开始

邮箱 / GITHUB / LINKEDIN

有什么想法?
聊聊吧。 ↗

想聊聊某个项目,
或者有合作的想法,
可以给我发邮件。