我越来越不理解现在的软件开发了。
举个例子,多年前我用Unity做项目,随便干点啥就要重新导入。导来导去我的硬盘和精神都有点受不了,研究了半天,装它那个什么鬼cache-server。装这个东西就得装nodejs,然后还得搞成service要不然就非得挤占我的c盘空间,有一种按下葫芦浮起瓢的感觉。
总之就是浪费了不少时间,总算导来导去也不怕了。然而我就想不明白,最应该解决问题难道不是“资源总在导来导去”吗?假如一个人吃不下饭是因为拉肚子,难道解决方案不是治疗腹泻吗?怎么搞得好像“打造豪华厕所让人一边腹泻一边吃饭”变成了解决方案……
但是我也能部分理解,就是大厂开发的KPI很重要,不搞点事情出来,直接把问题完美解决了,怎么体现自己的impact?没办法,寄人篱下我也只能凑合用,就这样一路从Unity2018用到了6000……
最近开始我总觉得不太对劲,似乎“缓慢的导来导去”的症状逐渐增多了。我的硬盘已经从SATA接口一路升级到NVME,速度早就翻了好几番,导入的时间没有明显增长,但是总觉得不应该这么慢。于是我再次开始看这个CacheServer是不是出了问题。
一看就发现不对:这玩意儿早就不干活了,后台Service常年停止状态。以为是Windows的锅,我尝试重新启动服务结果不成功。仔细研究了一下,原来这个鬼unity-cache-server只能跑在特定的Nodejs-12.x版本下。我不知道啥时候升级了Nodejs之后,它就静静的嗝屁了……
行吧,我有nvm,专门给这位大人装个指定版本的Nodejs,然后一顿调试。最后终于成功启动,再打开Unity6000看看,还是连不上。我灵机一动翻出当年装它的时候用的Uinty2018,没想到这个旧版本的Unity一连就成功了。
这下搞笑了,网上一查原来整个unity-cache-server都已经deprecated。这是前一波人被开掉了还是财富自由跑路了啊。总之,现在要装的是Unity Accelerator!还好这东西是独立的程序,下载之后点点安装就好了。
原来这么些年我以为是cache-server在帮我加速,其实不然。加速的来源是我的钱包,换成NVME才是越来越快的根本原因。软件工程师每天就研究怎么重新发明轮子提升impact,而硬件的发展才是实打实的。作为码农,我泪流满面。
PS:这个故事到这里就应该结束了,但还有个插曲。Unity Accelerator做了个漂亮的dashboard,直接占用了本地的80端口。这怎么能忍!还好它可以让我修改,我就改到了6000……没想到这个平淡无奇的端口居然是x11的保留端口,换了之后所有的浏览器都不让我访问了。这下想改回来都没辙了,最后靠神秘的Chrome命令行参数允许了这个端口,再次通过dashboard改成了别的。我们软件工程师在“搬起石头砸自己的脚”方面果然是无敌的。
好了,故事终于结束了。下一次break将在什么时候到来?让我们拭目以待吧!