大二上学期小结
2021-01-26 / UNIDY

这是我第一次这么晚写学期小结——甚至拖到了出分之后。这让我在构思这份小结的时候有些矛盾。熟悉我的人应该知道,我过去的这学期过得其实不太好。但出分之后,我在一些四学分的课程(马原、大物)上意外地收获了比预期高的成绩。因此从结果上看,过去这学期我过得也绝不差。

细思之,或许本就不应该用好坏两极来评价过去的一学期。毕竟,采用不同的尺度,好坏的评价结果可能有着天壤之别。真正有意义的,大概是盘点一下,在这悲喜交织的一学期里,我到底收获了些什么吧。


成就

THUInfo

自国庆节正式在全平台发布THUInfo以来,这款APP的总下载量已经破万,平均活跃用户已经破千,峰值(即查成绩那几天)活跃用户达到2000,截止目前已收到171条有效用户反馈。从数据上看,THUInfo是一款成功的APP,也是我这学期最具成就感的作品。

写这款APP还给我带来了一些别的,比如我在软工课小组内负责移动端开发,直接选择了React Native作为框架,复用了不少THUInfo的代码,节省了大量上手时间。

此外,由于React Native背后是一个正在活跃生长的开源生态,我在项目中又用了很多开源库,因此我在各种修bug的过程中对GitHub的运用日益娴熟,并开始为开源生态做做自己的贡献。我给第三方JS库写过类型标注,反馈过bug,提过PR。虽然好些石沉大海,但我还是觉得这样的行为是颇有意义的。


来点有意思的。我们于12月24日上线了图书馆座位插座情况显示的功能(而据我所知,学校快到考试周结束了才官方支持这一功能),使用的是自己的免费LeanCloud服务,因此我也能顺便得到同学们在考试周对图书馆座位需求的变化情况。

下图记录的是考试周内每日访问选座页面的人次数。

每日访问选座页面的人次数

(顺便,是什么力量让贵九同学坚持到1月10日才考完……)


科协

这学期,我在科协智能体部负责鱼洋陷役游戏播放器的开发,虽然工作过程很辛苦,让我在学期中获得了周日凌晨赶ddl的阴间作息——

小丑竟是我自己

也让我明白了即使这样赶也还是会跟不上预期的进度,不如躺平了,等考(kai)(sai)(hou)再肝。

不过也正是这样的经历,让我真切地体会到了进度把控的重要性;也正是在肝锅的过程中,让我结识了不错的朋友;也非常感谢给力的队友,帮忙做了不少开发工作。

总之,这一学期在科协干活的经历,虽然多少有些阴间,但也十分值得。

#引战 C#是什么辣鸡语言啊,大括号换行的都是异端,以后不用了……


软件开发

这学期我也从事了一些软件开发的工作,并且一度沉迷于让自己软件开发的流程自动化与现代化。这一点,我在THUInfo的开发和维护的过程中已经有了初步的实现。

不过,我后来对业界软件开发和维护的操作有了粗浅的了解,意识到自己现在对软件运维的认识还非常浅薄。


回首

虽说上学期有了些许自己还算满意的成就,但细细想来,过去的半年里,低谷的时刻还是比较多。

感谢我的神仙女朋友,这一学期以来一直都陪着我,鼓励我。

“命比纸薄,心比天高。”马原邹广文老师在讲解人的灵与肉的冲突时,曾反复提到这一俗语。

套用这句话,力比纸薄,心比天高,或许就是我过去这半年的状态吧。

学期中,我想做的事有很多:完善THUInfo、做好播放器、好好听课、多去答疑坊服务、做点科研、多提几个PR、绩点苟住……到头来,这些事也没能全部实现。我不禁思考,过去这一学期到底发生了什么。


时间都去哪了

这是一个颇为重要的问题。在过去的这半年里,我似乎每天都在忙,但不知从何时起,事情开始做不完了。这让我很苦恼。

我后来复盘了一下,发现我学期中有几周,几乎所有空余时间都在用于写实验报告——包括周一的大物、模电、马原等课上——这让我后半学期这些课都没好好听。再兼之那段时间129活动的加成,我每周的时间规划开始恶性循环。也正是这一点,让我萌生了写一个能够快速生成漂亮实验报告的工具的想法。


什么样的事是有意义的

对啊,什么呢?

绩点?应该是有一些意义的。毕竟绩点如果爆炸了,日子会很难过。但绩点也不是大学的全部。

开发一些实用软件?既然是实用导向,如果真的做成了,那也应该有一定的意义。不过这样的事意义也有限。

学一些新技术?提升自身技能储备,这个确实有长远的意义,不过注意不可赶一时之时髦而学。

为开源社区做贡献?这个应该也是有一定意义的,或许还能刷刷存在感。

拓展一些其他领域的兴趣爱好?这个自然也有其意义。

但回顾过去半年,我深刻地意识到,这一学期里我并没有做太多具备意义的事情,倒是在一些一两学分的课上折腾了太多。这让我一度很苦恼。


矛盾吗?

自然是矛盾的。想要做出点有意义的事,却又困于各种现实情形的束缚。

但我又想起邹广文老师的“命比纸薄,心比天高”——人总是会面临灵与肉的冲突的,正是在这种冲突的情况下,如何选择才更为关键吧。我们或许身陷各种限制,但这不妨碍我们拥有更高的期待。

也正是在过去的这一学期里,我明白了,要想实现某件事,有时不得不放弃些别的。关键在于取舍。不过我过去这一学期里放弃的睡眠时间比较多,这多少有些不健康,希望之后能有所改善。


计划

没错,又到了立flag的时候了。

UnTeX: UnTeX’s not TeX

受够了上学期用LaTeX写实验报告的经历,想着下学期还是躲不过实验报告的洗礼,遂决定做一个用着Markdown语法就能渲染出LaTeX风格实验报告的工具

经过前期调研,我了解到Pandoc已经可以实现各种标记语言相互转化的基本功能。因此,我决定基于Pandoc进行一些定制,让它能够更好地适应书写实验报告的需求

抄一下学期中定下的思路吧。

基础目标:使用md写出TeX格式的实验报告

拓展目标:安装简便,易于学习,能够针对原生tikz作图的痛点进行优化

技术选型:基于pandoc提供的filter接口,采用类似中间件的形式,实现语义的拓展;为了便于安装,最好以单个可执行文件的形式生成产物,故应采用和原仓库一致的语言——Haskell——实现filter

可行性分析:此处略

功能亮点:能够更方便易学地实现各类作图

开发难点:对Haskell不熟悉

开发计划:

  • 学期中:佛系学Haskell
  • 寒假:着手实现

不过现在寒假只剩一个月了,Haskell我还没开始学,不知道还能不能做成呢。


开源社区

这一学期以来,我意识到给开源社区做贡献是一件有点意义的事情,毕竟你写的代码是可能真正流入千千万万同行的项目中的(并且可能被更多人看到),而不是止于课程作业或是学校以内。

在过去的开发中,我和React Native框架打交道比较多,认为RN社区是个充满活力而蓬勃发展的。我打算之后进一步为RN社区做出自己的贡献(先从写类型标注文件开始),甚至可以看看他们这段时间来正重点关注的JSIJSCTurboModules等更底层的问题,做点有意义的事。


志愿、社工与科研

上一学期,我个人忙碌的事情太多,答疑坊那里并没有输出太多精力,希望自己下学期能在答疑坊多做些志愿服务。

社工嘛,就是科协那边。上学期暴力摸了半年鱼,下学期打算真·摸鱼,要么去网络部转转,要么去联创转转,反正下学期不呆在智能体了(暴论

最后,上学期科研无果,下学期继续努力。


彩蛋

英语文学中的中国形象真是一门好课,RW+文核+外语课,我这学期自己看了看培养方案完成情况才注意到。

本文链接:https://www.unidy.cn/articles/summary-2-1/