This commit is contained in:
parent
97904d66b4
commit
b2c2b0eb98
@ -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,我和你不熟,可别过来。
|
||||||
|
Loading…
Reference in New Issue
Block a user