大二下学期小结
2021-06-26 / UNIDY

这个学期我过得整体来说还是挺快乐的,主要原因是自己课选得比较少(把大物实验退了),课业压力小一些,也暂时没有科研压力,所以自己心态比较好。此外,女朋友的陪伴、好朋友的相助,也为我这学期保持乐观平稳的心态起到了很大的作用。

我不太能为这学期梳理出一条明确的主线(或许是因为我这学期比较佛吧),所以请允许我用碎片化的方式讲一讲自己这学期都经历了些什么。


Saiblo

如果要概括这一个学期,Saiblo 无疑会成为贯穿始终的主题。

网页播放器开发

在开发日麻网页播放器的过程中,我对 H5 游戏的开发技术获得了较为直接的理解,并结识了 PlayCanvas 框架。这个框架与 Unity 有着相似的核心概念,且开发工具为网页应用,更轻量。它的产物能够更方便地与 Saiblo 对接。总之,这个框架有一系列优点,有潜力成为智能体 3D 网页播放器的首选开发框架。

为了能在测试站对网页播放器进行测试,Papersnake 整了个 WebDAV 共享目录。这一操作完美地解决了开发者在 Saiblo 上测试网页播放器的需求,也同时让我大开眼界,学到了很多。

开发网页播放器还需要处理与 Saiblo 平台对接的相关事宜。接口的设计和消息传递的方式都很好,只是缺个文档。我在摸索的过程中,顺便把它补好了。(这一定很符合奇主席的纲领吧x)

前端新功能施工

我对 Vue 不是那么感兴趣,Saiblo 又恰恰是用 Vue 写的,所以我施工了两个智能体相关的前端需求后就溜了。

一个是,随着多人游戏入驻 Saiblo,多人游戏的快速人机对战也应有所支持。我对着代码一通魔改之后实现了功能,但引入了 bug,后来多亏 Papersnake 及时修好。

另一个是,智能体决赛需要现场抽奖,我施工了一个简单的抽奖页面,也包括一个简单的抽奖服务器。不过我把姓名的输入框放在了页面底部,引来了吐槽。

不过反正我对 Vue 不感兴趣,所以,溜了溜了(x

接手评测端

我个人感觉 Saiblo 现在的评测有点难用,对开发者不够友好。为此,我决定接手评测端,对部分功能进行一些翻新操作。不过这项工作还没正式开始,应该会是我这个暑假的一个主要计划。


技能学习

学习不局限于课内,也不由某个考核指标决定学习的效果。

硬件编程

我这学期选修了数字逻辑设计,通过在 FPGA 上编写代码完成硬件设计,体会了硬件编程的奥秘。我和队友 scpointer 合作完成的是一个混音器的项目,个人感觉还不错,也挺有收获的。这让我对下学期计组大实验有了一些信心。(不过感觉还是经常把硬件描述语言写得像软件串行代码。)

不过有一个地方让我不太理解。既然计组使用的是 Vivado 平台,为什么数字逻辑课程还是用 Quartus 呢?

打破语言隔阂

事情起源于我写日麻播放器的时候,想要在 JavaScript 前端代码中复用 C++ 逻辑代码。经过一番调研,我找到了 emscripten。它能将 C++ 代码编译为某种可在浏览器中执行的 JavaScript 字节码,另一方面也用 C++ 实现了一个 JavaScript 运行时,从而能够实现 C++ 与 JavaScript 代码的互调用。当然,我只用到它在 JavaScript 环境中执行 C++ 代码的部分。

这让我明白了两件事。一个是两个不同语言之间的沟通是完全可行的,大致有预先编译和使用目标语言实现一个运行时两种途径。另一个是,当我想到 React Native 项目也是一个典型的跨语言交互的例子时,当我之后又看到 C++ 与 C#、Python之间相互转译的工具时,我意识到,所有主流语言之间,大概都有途径能够相互连通。这意味着,从理论层面上讲,所有主流语言之间都应当能相互交流。这一想法让我大受震撼。当然,这背后离不开编译理论的支持。


一些想法

尽力而为

互联网本身只能提供尽力而为的服务。上层应用无法突破网络不可靠的现实困境,只能在这一约束下,尽最大努力给出可靠的交付。

这学期的考试安排还是比较折磨的,要想保证每门课都冲着 100 分复习,对于我来说啊,应该是做不到的。不如尽力而为,也算是尽最大努力呈现出自己的最高水平了。

图个乐子

大学生活不仅仅是肝各种作业和锅锅锅,还需要多图乐子。利用每周富余的时间,外出放松,陪一陪自己所珍视的人,或是休闲摸鱼,打一打鱼洋陷役,都是对生活有益的调剂。

听从内心

评估各个选项,做出抉择,有时是件很费神的事。精心权衡做出的选择,最终或许也会事与愿违。在这种情况下,听从直觉里最想要的选项,或者跟随命运的抉择,不要去计较得失,或许是更合适的策略。


迎接挑战

大三秋季学期将是充满挑战的一个学期。

课内学习

我还没有考虑过下学期的选课,不过可以确定的是,我有《信号原理》《编译原理》《计算机组成原理》等课程要修。这些课可以说都不简单。

科协工作

下一年将是智能体大赛转型的重要一年,有很多工作要做。转型的结果会是什么样,我们可谓一无所知。智能体部下一年的工作本身就是不小的挑战

科研准备

一转眼已经要到大三了,升学成为了不得不纳入考虑的问题。下学期我大概会找个实验室干活,为后续科研做做准备。


杂项

每周主题复盘

周数 主题 解释
1 决战 举办鱼洋陷役决赛
2 速成 速成网页游戏开发
3 新起点 为播放器开发引入新模式
4 小试牛刀 尝试使用 PlayCanvas 框架
5 全力出击 集中精力开发日麻播放器
6 永无止境 对前端美观的需求是永无止尽的
7 点亮数字人生 初识硬件描述语言
8 蓄势待发 进行一系列准备工作
9 测验 期中考试
10 清算 清理各类长短期作业
11 转变 从图乐子状态转入肝作业状态
12 飞越悬岛 举办智能体嘉年华
13 玩转 RIP 完成网原课程实验二阶段
14 万马千军 完成高性能课程实验
15 我们联合! 完成网原课程实验三阶段、数设课程实验
16 时分复用 同时应对多门课程的期末
17 决战 期末考试
18 新起点 科协招新,暑期开始

每学期核心收获复盘

学年学期 核心收获 解释
大一秋 适应环境 萌新入学,需要适应这个计算机系
大一春 寻找支点 通过 THUInfo 收获了成就感
大二秋 磨砺意志 整个学期挺压抑的,个人感觉挺磨人的
大二春 转变心态 初步见到了更广阔的计算机系生活

其它信息

  • UNIDY 一直说要给这个网站备案,但一直咕咕咕。这一计划将于近期完成。
  • UNIDY 于寒假曾计划实现 UnTeX(但当时咕咕咕了),这一计划因 typora-latex-theme 的推出而终止。
  • 至这篇文章之前,UNIDY 的所有博文均不符合在中英文文本之间插入空格的规范。这一问题从本文开始得到解决。
  • 至大二春季学期,UNIDY 的所有组队课程作业中,队友主体均为 UNIDY 当时完全不熟悉的同学。这一情形将从下学期开始改变。

现在你真的热爱着这个学科吗

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