随着忙碌的结束,终于可以开始写今年的年末总结了。

掐指一算,这是《年末总结》系列的第五篇文章。也就是说,我从2018年的最后一天开始写年末总结,到现在正好是第五年。

过去一年里,我做了什么?

似乎有很多事情,让我先捋一捋……

这一年,我……

  • 写了 1500+ 个 commit, 24 个 Pull Request
  • 博客发布了 3 篇文章,其中 1 篇为年末总结。
  • 追了 2 部番, 看了 1 部美剧。

上半年:RM生涯中永远的遗憾

从上半年的开学一直到六月初,我都在全身心地投入到 RoboMaster 2022 赛季的备赛当中。

六月初,我们来到了厦门,参加区域赛。

在比赛前那段时间,尽管没我什么事情,但我还是没怎么睡觉,因为觉得队友都在为团队而努力着,我直接去睡觉不太安心。

那几天的天气也不是特别好,有好几次是淋着雨回住的地方的。当时就带了一双鞋,非常痛苦,这也许暗示了我们悲剧收场的结局 —— 小组第三的成绩惨败回家。

也许是因为对手太强,或者是因为我们太过自信。身为步兵操作手的我,连一次体验自瞄的机会都没有。

我们的最后一场比赛结束之后,我哭了很久。

4月份:入手 DJI Air2 无人机

很想买一台无人机玩玩,于是便买了。

拍了几张照片玩了玩,然后就让它一直吃灰。最主要的原因其实还是因为它太有点贵,怕玩坏了。

在年底封校的那段时间里,我们还用过这台无人机在南北两个校区之间送过东西。

8月:在广州,给大疆打工

七月份时,我在 RM 参赛群里得了 RoboMaster 青少年系列赛国赛的举办消息。当时觉得挺有意思的,于是就报名了。

经过考核之后,我被分配到 RMYT (青少年无人机系列挑战赛)赛事执行分组中。并且在 8 月中旬独自一人前往广州南沙,到岗上班。

下半年:MiniDB

这学期遇到了一门很有意思的课程,叫「应用软件开发」。这门课给我们的任务是独立开发一款 DBMS (也有其他的,如 XX 管理系统之类已经写到腻的东西)。

这是我的作业:

lss233/MiniDB - GitHub

这个 MiniDB 使用 Kotlin 编写,网络框架基于 Netty。SQL 解析使用的是 Alibaba 的 Cobar,其他的部分都是我们自己写的。

在开发这个数据库的时候,我们基本上没什么头绪,于是决定走一步看一步。

先是对接了 PostgreSQL 的通信协议,然后撸了一个简单的 Key-value 数据库后,根据课本上的关系代数运算开始实现关系引擎。

最终,这个数据库长这样:

值得一提的是, 我们实现的是 PostgreSQL 的通信协议,因此 PostgreSQL 的客户端可以直接连接到这个 MiniDB。然而,Cobar 是一个 MySQL 的 SQL Parser,所以为了让这两货能用,我们又不得不对发过来的 SQL 语句进行魔改。

最终,我们让它可以成功查询非常复杂的 SQL 语句。

当然,这个数据库只能算是个玩具。写到后面的时候我发现,它和大家的数据库长得都不太一样。

比如说,我们使用了 Predicate 来判断条件,这导致了我们直接用不了索引。

此外,大家的数据库都有一个叫做 SQL Planner 的东西,我们也没有。

将来,我会继续完善这个数据库,并且将《MiniDB 开发手札》系列写完。

11月: ChatGPT for Mirai QQ bot

OpenAI 的 ChatGPT 火爆全网,我写了一个使用 Mirai 对接的聊天机器人,没想到在 GitHub 开源以后收到了很多 star。

lss233/chatgpt-mirai-qq-bot - GitHub

star 多了以后, issue 也跟着多了起来。很多人是第一次用 Mirai,在部署的过程中遇到了各种问题。

于是我又写了各种文档和教程,还写了一个 GitHub Action 自动生成 Windows 部署脚本。

后来还留了一个交流群,在项目最火爆的阶段,每天有三十四人加群,全部都是问怎么部署的。

在开发过程中,也遇到了许多 dalao,帮我实现了各种功能。

最大的收获是知道了开源协议也是可以合并的。 AGPL + GPL = AGPL。

12月:自瞄在 RoboMaster EP 上的实现

起初是接了一个培训机构的委托。这个培训机构也是专门做青少年机器人比赛培训的(就是我在8月份当赛事执行的那个)。

然后是因为政策有变,所有的大学生必须离校返乡。于是12月的后半部分,我们是在培训机构度过的。

这个自瞄最初使用 https://github.com/jeguzzi/robomaster_ros 进行传感器参数读取和控制,运行在树莓派上。

树莓派最开始是安装在底盘上,然后相机走滑环连接到树莓派。

但后来发现如果要配合他们在比赛中使用,还得走串口,而这个滑环也承载不了 USB2.0 的通信频率,所以就改成了现在这个样子。

脑子上被插了很多电缆,有点像 RA2 里的尤里。

测试了一下效果还是挺不错的,希望明年的比赛能用上它。

新的一年,打算做什么呢?

回顾了去年的展望部分,我觉得这个环节已经可以算是诅咒了罢。

2023年不得不提的一个话题是:未来,到底是考研,还是就业?

按照我目前的情况,在互联网行业直接就业应该是没什么太大的问题,但我对互联网行业已经失去兴趣。

但是在机器人行业,恐怕是没有什么机会。我知道的东西还太少,需要更高的学历才能足以支撑。但是对于我这种不擅长考试的人来说,考研真的能行吗……

在过去,我一直回避这个问题,但现在,这个问题已经逃避不了了,需要尽快进行了断。

从近两年的总结来看,我也很少接触文学作品,我觉得这主要原因是因为平时太忙,没时间陶冶情操。希望明年可以改善一下,多一点时间给自己吧!

End

先写到这里。

希望明年可以做得比今年更好。

最好的祝愿给2023年的Lss233,明年再见。

--- Lss233,于2022年与2023年跨年之际