作者:鲁棒棒
写于:20240325
正文
今天来写一下工作进行过程中发生的一些事情吧,今天的写作应该是比较轻松的,因为虽然那两个月的工作很紧张,有些辛苦,不过不算太累,同时也有一些有趣的事情发生,包括公司文化,同事关系等等一系列的事情。要说印象最深刻的事情,那就是我和同事一起在会议室里玩 xbox360 了,因为我是很喜欢游戏机的,并且之前也没接触过主机上的游戏,公司的会议室有一个很大的电视,还有一台 xbox360,不过游戏机没硬盘,只能自己买盗(和谐)版光盘玩,为了玩这台游戏机,我在中关村鼎好的地下一层,找了好久的游戏光盘,不知道我当时买的那张 “忍龙” 的光盘现在流落到了哪里,我记得是花了 30 元买的,一顿饭就这样没了。
好了开始正式进入写作,我已经记不清楚当时写代码的具体情况了,因为当时的那个项目我没保存好,已经完全消失了,代码找不到了,否则还可以拿出来参考一下。大概来说就是一些 CRUD 类似的功能以及 bootstrap 框架下的 html 代码,甚至 R 是比较多的, CUD 是很少的,毕竟我没权限动那些数据,只是拿出来展示一下。
具体的研发过程当中,除了 lua 的语法不太熟悉造成了困扰之外,其次就是前端方面的问题比较多,毕竟当时使用的 bootstrap,虽然基本的样式都有,但是我不是一个专业 CSS 玩家,对于页面细节方面的美观调整,还是挺有挑战性的,并且我有一段时间很讨厌页面,因为调试页面觉得很枯燥,比如那个年代适配多种分辨率就很麻烦。貌似那时刚有响应式的开发模式。
主要方法也是通过媒体查询的方式来写的,每次写 css 都要载入一个 reset 的 css 文件,用来协调不同浏览器下元素样式的差异,那年刚开始有了 html5 和 css3,前端研发上,多了很多特性,比如一些图表框架开始用 canvas 来画图了,一开始貌似只能用 SVG 来画图,之后 html5 的小游戏也成为了一个风口。那个年代的网页游戏貌似赚大发了,比如 “七雄争霸” 这种游戏。
当时我第一个遇到的比较大的 lua 的问题就是 lua 的 table 的使用方式上的问题了,具体情况就是,我记得当时我需要读一张表,表里很多数据,我当时的需求是读取每一行数据,然后处理这些数据,组成一个特定的格式返回,由于读入的数据比较多,而我在处理每一条数据的时候,把这条数据的副本复制到了需要返回的数组里面,导致 lua 的虚拟机中保存了两份这个比较大的表,最后出现了一个内存暴涨问题。
当时还没有上线运行,是那位 co-founder 在检查我的代码的时候,发现了这个问题,他跟我说,不能这么处理,必须让 lua 的虚拟机,处理完一条之后就回收一条,不能再引用那一条记录了, 让我改代码。
我也不知道当时处于一个什么情况,总之就是听不懂,因为我没修过 “操作系统” 的课程,不明白什么内存啊,引用啊,还有 lua 虚拟机的内存不会及时回收之类的问题。具体来说就是,主管让我改代码,我嘴上说的是 “好的好的,懂了,没问题” 但是实际上我根本不知道他在说什么。我很清楚的记得那个下午,因为这个问题,他指点了我好几次,最后搞得我面红耳赤的,说起来就是有点狼狈。不过最后我貌似还是没弄明白到底是什么意思。
我的操作系统是后来慢慢的学了一点,学了之后觉得豁然开朗,但是对于系统的机制,还是一知半解,因为并没有在研发过程中接触到比较丰富的系统的细节,其实市场上,很多程序员都完全不懂系统的,随便问一个内存相关的问题,线程相关的问题就可以判别得出来。
我一下午都在疑惑和恐慌中度过,结果就是,最后也没研究出来到底该怎么解决,最后我记得是坐在我左边的那位大佬帮我改了几行代码,然后这件事就算过去了。这是我在研发过程中的第一个坑,不过这个坑对我来说远远不算完,因为我根本没有能力自己解决这个问题,同时,虽然同事帮我解决了代码的问题,但是他也没办法向我说清楚这里面的逻辑。
我当时还不会复盘,没有养成比较好的工作和学习习惯,所以我很长时间之后才开始思考为什么我搞不明白这个问题,我记得当时很多人向我解释这个问题,我都弄不明白这个问题,因为这个问题已经超过了我当时对技术的认知。
之前一直有人说 “信息茧房”,我觉得这个词汇很有趣,并且我又通过这个词汇,想出了另一个词汇,那就是 “认知茧房”。所谓的 “认知茧房” 就是没有办法理解认知以外的任何东西,因为它已经超出了你的物理思索能力的范围,所以你必然理解不了。
不过根据 “Growth mindset” 的理论模型,人的认知是会不停的改变的,当然有人变得快,有人变得慢,总的来说这都是正常的,因为在我们的实践生活当中,有人善于学习,善于进步,而有的人总会选择 “固步自封”,其实可以用 “舒适圈” 来解释一部分 “认知茧房” 的概念。
但是 “舒适圈” 的突破,不一定会让你能够增进认知,因为这里绝对不是对等的, 1 + 1 = 2 的问题。我认为这是一个成正相关的问题,但不是充要条件,可以说是必要条件,但是不够充分。
比如我在之后的工作学习当中,我怎么都搞不明白系统的内存问题,以及垃圾回收的理论,我看了很多博客,帖子,还有讨论,论坛页面,都搞不明白。而当我无意中,硬着头皮,开始啃 “现代操作系统” 这本书的时候,我发现我开始慢慢懂了,最后有些豁然开朗,竟然能弄明白了,然后我再也忘不掉了。
这是为什么呢?因为我通过看帖子,试图达成一个 “空中楼阁” 的效果,我没有从基础做起,就想马上理解某个理论,某个方程,或者是公式,这是绝对不现实的,尤其是对于技术来说,一定要想办法去建立完整的知识结构网络。
比如系统不懂,一定要去看系统的 “操作系统” 的书,还有课程, 最后还要结合实践,而不是上网上随便找帖子看。这也算是我的一个教训吧,之后我在学习任何东西的时候,都尝试通过最基础的教材去完善的理解某个事物,这样才能完整的理解一个事务。
当然我做的还远远不够好,比如学霸,在初中,甚至小学,就已经理解了这些东西,他们会寻找源头,而笨蛋如我这样的人,总是不明所以,一头雾水的看老师在讲台上解方程,解完了,自己啥也不会,不懂原理,更不要说举一反三了。
而有的人能在很年轻的时候能弄明白这是怎么一回事,而有的人一辈子也认识不到这里面的问题,其中的原因,又是一个说不清楚的事,可以说这是一种 “智慧”,可以从 “知识” 里区别开来的一种完全不同的认识体系。
不写了,累了!今天就写到这里,晚安。