2025整体上既是享受技术的一年,也是享受生活的一年。
技术篇
目前的岗位技术上相对自由,开发进度也比较乐观,因此我和团队进行了不少技术尝试。
可视化
SVG
svg相关的开发主要有
- svg建模编辑器(类@antv/x6)
- svg图形编辑器/LaTeX编辑(类simulink封装图形编辑)
- svg交互组件,如旋钮,仪表盘等
echarts
除基本图形外,还基于echarts自定义图形开发了可交互游标,自定义图例等
代码编辑器和语法校验
项目中的可视化建模,沿用了我之前总结的很多低代码方法论,其中实现了python/js和c++三种语言的代码编辑器,魔改了brython实现python的语法校验,调研了c++的语法校验方案,顺便接触到了wasm
亿级数据的前端渲染
由于业务每秒可能生成数十万的数据,echarts的单条曲线可能就有千万到十亿级的数据量。即使echarts本身具有采样能力,但这个量级的数据光内存就可能直接超出js内存限制。
为了提升渲染性能,我们进行了以下技术改进:
- 内容剪切,减少传输的冗余字段
- 采样算法,针对不同场景,提供了固定步长的系统采样和lttb采样算法
- 基于可视范围区间查询和采样
- 流式传输,基于SSE的协议进行解析
- 内存数据采用TypedArray,减少js内存占用
- 全量采样数据采用IDB临时存储,避免二次处理
国际化
基于ollama的自动翻译工具
工程化
工程化除了monorepo和turbo的引入,以及组件库及文档搭建,我们还深入研究了
- vite和rolldown
- rspack和rsbuild
数学算法
这一年用到了不少数学相关的知识
- echarts游标相关:各种插值算法、贝塞尔曲线和平滑算法
- 三次方程解法:盛金定理/牛顿迭代
- 角度计算相关:三角函数和反三角函数、向量
- lttb采样、系统采样
其他尝试和学习
- 依赖注入和领域驱动设计模式的落地
- k8s和docker操作
- rust的初步学习
- wasm的初步尝试
- BroadcastChannel
- SharedWorker
- wasm
- mbse相关理论、fmi规范
生活篇
上半年深圳杭州两地跑,飞机都坐吐了,下半年对象搬来了深圳,并转行到了一个新的领域。之前两人都在互联网,聚少离多,现在终于又能一起了。
旅行
作为一个比较宅的人,今年和对象还是去了不少地方:
- 杭州西湖和周边景点,如九溪,龙井村;
- 深圳的各种绿道、甘坑、深圳湾、大梅沙、红树林、梧桐驿站;
- 香港维港周边
运动
养成了游泳的习惯
游戏
- switch通关了三十四、奥日2、王泪、邪恶冥刻、无间冥寺;
- 王者头一回上了50星;
- 象棋靠运气升到业4(实际上业3都下不过)