blog: 再见 2022,你好 2023
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Ivan Li 2023-01-01 05:31:59 +00:00
parent 97904d66b4
commit b2c2b0eb98

View File

@ -14,7 +14,7 @@ summary: 2022 年就要结束了,写个工作与学习的总结,记录下我
软件开发一直和数字电路有着密不可分的联系,草草地学习完模拟电路和数字电路后,更加肯定软件和硬件不能独立,而是相辅相成的。 软件开发一直和数字电路有着密不可分的联系,草草地学习完模拟电路和数字电路后,更加肯定软件和硬件不能独立,而是相辅相成的。
而我的第一个目标是构建一个锂电池 UPS为的是让充当服务器的 J4125 工控机能从容应对突然的断电。 而我的第一个目标是构建一个锂电池 UPS为的是让充当服务器的 J4125 工控机能从容应对突然的断电。
项目我拆分了好几部分,一个阶段,一个阶段地完成,向着目标努力。 项目我拆分了好几部分,一个阶段,一个阶段地完成,向着目标努力。
印象比较深的还是第一个部分的实现第一个部分是实现一个理想二极管。 印象比较深的还是第一个部分的实现第一个部分是实现一个理想二极管。
所谓理想二极管就是电流单向流动,并且(几乎)没有普通二极管的压降。 所谓理想二极管就是电流单向流动,并且(几乎)没有普通二极管的压降。
还记得我开开心心地在各大电子电路论坛爬楼找思路时,找到了个方案,在电路模拟软件搭建好电路后,运行了模拟,结果挺有效的。 还记得我开开心心地在各大电子电路论坛爬楼找思路时,找到了个方案,在电路模拟软件搭建好电路后,运行了模拟,结果挺有效的。
我就赶紧画电路板打样了。等待样板寄来的包裹的这几天,我思来想去这电路好像不应该有效啊,换了个模拟软件一跑,坏了,不对。 我就赶紧画电路板打样了。等待样板寄来的包裹的这几天,我思来想去这电路好像不应该有效啊,换了个模拟软件一跑,坏了,不对。
@ -48,8 +48,8 @@ Rust 语言确实费脑子,因为开发过程中将会被编译器一直教育
年中因为业务调整,我的工作和元宇宙搭上了边。年中出去嗨皮了一周后,回来就开始学习 Unity 3D。 年中因为业务调整,我的工作和元宇宙搭上了边。年中出去嗨皮了一周后,回来就开始学习 Unity 3D。
不得不说,国内疫情防控挺好的,走了好几个城市,回来也没阳,哈哈。 不得不说,国内疫情防控挺好的,走了好几个城市,回来也没阳,哈哈。
跑题了,不得不说, Unity 3D 作为入门 3D 游戏开发确实挺合适的,虽然我们当时本想着用 Unity 开发元宇宙项目。 跑题了不得不说Unity 3D 作为入门 3D 游戏开发确实挺合适的,虽然我们当时本想着用 Unity 开发元宇宙项目。
正当我在庆幸我还没把 C Sharp 忘光光时,又换成了现在正在使用的 Three.js 作为引擎,也回到了 Web 领域。 正当我在庆幸我还没把 C Sharp 忘光光时,又被要求换成了现在正在使用的 Three.js 作为引擎,也回到了 Web 领域。
接下来的半年,我和我的同事们便开始踩坑之旅。 接下来的半年,我和我的同事们便开始踩坑之旅。
因为是全新的领域,我和我的同事经历了 Unity 3D、Lingo 3D、r3f 这三个阶段,踩了许多的坑。 因为是全新的领域,我和我的同事经历了 Unity 3D、Lingo 3D、r3f 这三个阶段,踩了许多的坑。
@ -59,17 +59,21 @@ Lingo 3D 作为刚出现的框架,并没有经过市场的检验,也并没
当我向 Lingo 3D 提了一个 PR 后,同事就抛弃了 Lingo 3D转向 r3f + BVH 碰撞检测。 当我向 Lingo 3D 提了一个 PR 后,同事就抛弃了 Lingo 3D转向 r3f + BVH 碰撞检测。
而接下来,继续遇到了大量的性能问题。 而接下来,继续遇到了大量的性能问题。
十二月,是我专攻前端性能问题的一个月。不过滑稽的是我之前几个月基本上在开发 WebRTC 相关部分和后端,而前端游戏场景渲染这部分并不是我开发的…… 从项目开发的第一周起,我就有一个 3D 场景渲染性能优化的任务挂着。
就这样,从项目开发的第一周起,我就有一个 3D 场景渲染性能优化的任务挂着。 不过滑稽的是我的开发任务基本上在 WebRTC 相关部分和后端,而前端游戏场景渲染这部分并不是我开发的……
虽然处于尴尬的位置,优化是没处优化了,但是问题还是能另起项目去发现和验证。
我断断续续地折腾这事,现在回头看看,其实得出的结论挺正确的,但是当时没人懂也没人信,我也是半验证半猜测,没想到正确率还行。 我断断续续地折腾这事,现在回头看看,其实得出的结论挺正确的,但是当时没人懂也没人信,我也是半验证半猜测,没想到正确率还行。
第一,游戏开发确实很考验建模师的素质,调优后的模型性能直接翻倍;
第二模型拆分、复用、LOD 是真的有明显的性能提升; - 游戏开发确实很考验建模师的素质,调优后的模型性能直接翻倍;
第三,内存瓶颈是存在的,降低内存占用量能够让程序更稳定。 - 模型拆分、复用、LOD 是真的有明显的性能提升;
- 内存瓶颈是存在的,降低内存占用量能够让程序更稳定。
可惜当初领导没认可,所以问题一直没很好地解决。现在我也拿着新写的 Demo 带着数据验证了上述方案的可行性,后续就看安排了。
虽然我对元宇宙没啥兴趣,不过可视化这方向是很有价值的。 虽然我对元宇宙没啥兴趣,不过可视化这方向是很有价值的。
看好元宇宙的风口,也看好可视化的前景。 看好元宇宙的风口,也看好可视化的前景。
## 自建服务与远程开发 ## 自建服务
八月换了新的迷你主机作为服务器,依然使用移动平台的 CPU性能和功耗还可以。 八月换了新的迷你主机作为服务器,依然使用移动平台的 CPU性能和功耗还可以。
比之前的机子性能好太多了,当然,满载时也学会芜湖起飞了。 比之前的机子性能好太多了,当然,满载时也学会芜湖起飞了。
@ -92,3 +96,26 @@ Lingo 3D 作为刚出现的框架,并没有经过市场的检验,也并没
使用 VPN 拨入 NAT VPS 后,再由 NAT VPS 与家里组网,就没在掉过线。 使用 VPN 拨入 NAT VPS 后,再由 NAT VPS 与家里组网,就没在掉过线。
现在从公网访问我的自建服务是由从境外服务器反向代理的,延迟比较大。 现在从公网访问我的自建服务是由从境外服务器反向代理的,延迟比较大。
目前域名重新备案,希望能套上国内 CDN这样再由 NAT VPS 反向代理应该能改善国内访问速度。 目前域名重新备案,希望能套上国内 CDN这样再由 NAT VPS 反向代理应该能改善国内访问速度。
## 开发容器与远程开发
那么,我为什么要组网呢,更大原因还是我想进行远程开发。
我在公司使用的是毕业时买的 Macbook Pro 2018 款,性能其实还不错,但是跑测试用例还是有些慢。
而且我今年也拥抱了 Dev Container 的开发方式,开发容器能很好地解决开发环境搭建问题。
再配合上数据库迁移脚本和数据生成工具,能极大地解决前后端开发时出现的数据污染问题。
可谓是 2022 年我最正确的选择了,哈哈哈哈。
这个选择是有代价的,那就是每开发一个项目都是有自己的持久化、缓存和应用组件,比较消耗硬件资源。
这不就换了个迷你主机嘛AMD yes!
因为在家里,所以就搞起了远程开发,家里网络质量也比较好,拉依赖什么的速度和稳定性比在公司高出了不少,这也极大地改善了我的开发体验。
要说这远程开发有啥不好的,那就是怕家里突然断网断电,那就有可能痛失劳动成果了。
开发容器是个不错的东西,今年看很多开源项目都用上了开发容器,也有很多开源项目还没用上。
但很明显,这是未来。我今年在开源社区也算是小小地冒了个泡,无论项目是否有开发容器的配置,我都会拉完项目后在开发容器运行,不用担心弄乱我的电脑,也不用担心环境冲突。
而且最重要的,是不用那么担心去年的项目今年怎么也跑不起来。这感觉,经历过的都懂。
最后,洁癖万岁~
比较可惜VS Code 的 Web 版本还不能支持开发容器,要是支持了,在 iPad 上快乐生产是多么值得的一件事呐。
## 未来可期
以上是我在 2022 年的经历,有些是我的计划,有些是命运的安排。贴近底层、满足兴趣,让我接触了嵌入式开发,意外的变动让我接触了 3D 游戏开发;心心念念的 Rust 终于安排上了,为了修自建的服务而改起了好几个 Go 语言项目。回顾过往,我已经摸了好多好多门编程语言了,也换了好多口味的编程风格,也大概摸清了自己向往的方向和风格。希望能够继续用着 TypeScript 和 Rust快乐地写着后端玩着前端搞着偏后端的全栈开发在 Arch Linux 上维护着服务。我可见不得 Java 和 PHP希望依旧再也不见。对还有 Python我和你不熟可别过来。