回首(2023.2)

2.5

随着工作时间的增长,自己更倾向于把空闲时间用到一些无需思考的娱乐活动上了,虽然一定程度上可以缓解工作的疲倦,但也明确感受到平时基本没有知识积累了。

生活娱乐

“疫情”算是2022年绕不开的一个话题。郑州这边在三月份有过一次全市静默,不算彻底,每家每户还可以凭小区出入证出门采购,快递外卖会送到小区门口,居家办公对实际工作也没太大影响。小区里的核酸检测亭忘记是什么时候立起来的了,后面就一直要求有72小时核酸阴性证明,商超之类的公共场所会检查得比较严,写字楼次之,小区门卫最松,再往后随着疫情的发展也经历过48小时甚至24小时1的核酸检测要求。到十一月时,郑州再次出现了一波严重的疫情传播,多位同事所在的小区被封,随后又是一次全市静默。这次的静默就十分彻底了,小区完全禁止出入,快递外卖全停,生活必需物资靠小区门口贴的团购微信群下单配送。下午休息时经常站在阳台看不远处的主干道,只剩下红绿灯在交替闪烁,车辆、行人全都杳无踪迹。

十一月的静默最终是以分小区逐步放开的形式结束的,之后没多久便开始传“全面放开”的消息,自己也根据同学群里的推荐提前买了一些感冒发烧相关的药品2。接着是身边同事开始出现症状,各药店布洛芬、对乙酰氨基酚售空,自己分了部分药品给同事,然后又补充了电子体温计和血氧仪。大概延后了一周左右,自己开始出现发烧症状,体温最高到 39.2°C,晚上经常被汗水浸醒,期间保持间隔一个小时测一次体温3,特别难受时会吃点退烧药,白天没什么事就躺在床上休息。退烧大概花了三四天,然后嗓子开始不舒服,随后的味觉和嗅觉失灵持续了一周左右。因为宣传的是“全面放开”,所以公司的政策是感染了还需要正常上班,等到症状严重到影响工作时,再去提病假申请,算下来自己也就请了一天病假,凑着周末把发烧熬过去就回公司了。

九月份租房即将到期的时候,和合租的同事商量着换到了一个距离公司更近的小区,整个退房过程还是挺不愉快的,有禁止货拉拉进小区或地库,有说厨房抽油烟机没打扫干净,还有说一些物品损坏是租房期间出现的,最后扣了部分押金总算把事情给结了,跟之前在自如的退房体验差距还蛮大的,因此到了新住处后第一件事就是找各种可能有问题的地方拍照留了记录。自己的个人物品大概花了两个周末才收拾完,中间还给窗户补了密封胶,加了遮光窗帘,屋里添了个货架放杂物4。宽带到线下联通营业厅咨询后办理了移机手续挪过来继续用,没想到后面在续费时遇到了问题,线上续费付款后未生效,已付金额也无法退回,只能改成另一套餐按月扣费,等已付金额扣完了再重新办理业务。

2022年也追了不少动漫5 6,四月的 ④街角魔族2丁目,七月的 ③莉可丽丝、①RWBY冰雪帝国、④异世界舅舅,还有十月的 ④Do It Yourself!!、⑤孤独摇滚、③秋叶原冥途战争,除此之外还补了2017年的 ④来自深渊,之前收藏的 ⑤妖精森林的小不点、⑤本田小狼与我、⑤日常也拿出来重温了一遍。游戏方面的话有二月的艾尔登法环,七月的极限竞速地平线5风火轮DLC,然后就是看炉石主播玩的一些小游戏了:They Are Billions、Brotato、Goose Goose Duck,还有 scboy 的星际争霸II比赛,超级小桀的超级马力欧创作家2。最初听到暴雪1月23号关闭国服的消息时还是有一点惋惜的,但想想之前的“Do you guys not have phones?”,星际争霸II的停止付费内容更新,守望先锋的“大”版本更新,又感觉已经不是以前的暴雪了,没什么好惋惜的。

工作学习

工作方面第一季度承担的是原型底层重构的任务,但自身的前端架构能力不足,尝试了几个方向都没能推进下去,到第二季度时只能把任务交给另一同事负责,自己的重心也换到了 K8S 迁移。第三季度将已有的线上服务器切换到了 AWS EKS 集群,接入了扩缩/日志/监控等集群能力,并尝试了部分基于 K8S API 的工具开发。第四季度则主要是协助新版原型的迁移上线工作。回顾下来的话自己应该尽早明确承担不了原型底层重构的任务,寻找其他同事的帮助,而不是一个人迷茫地尝试,最终还是原地踏步。

搬到新住处以后买了工程网线和相关工具,动手整理了一遍屋里的网络布局7,用一个 MikroTik RB750Gr3 做主路由,两个刷了 Padavan 的二手路由器做无线 AP,Phicomm N1 做旁路由,自己的非移动设备全走有线接入。在 RouterOS 上划分了网段,配置了部分 IP/MAC 绑定,并为不同网段分别配置了防火墙规则,J1900 工控机放到了一个单独的网段里挂 PT。整体上千兆内网基本够用,算了一下升级万兆的成本有点高,租房阶段就不太想去追求万兆了。

学习 K8S 的时候,在之前组的 R9 5950X 主机上用 libvirt 开了几台虚拟机8,用 Kubeadm 搭建了一个单控制节点+双工作节点的集群,然后在上面测试 K8S 的功能和特性,并将相关的测试用例整理到了一个 k8s-example9 仓库中。学习过程中还是遇到了不少问题的,比如 K8S 本身不对存储负责,想避免存储导致的可用性问题最好是在应用内对接对象存储,或者使用外部搭建的分布式存储;集群内的服务以 RollingUpdate 的形式实现在线更新,更新过程中必定存在新旧版本共存的状态,因此多个服务的绑定更新无法实现,需要拆分后调整更新顺序。最终感受是 K8S 更适合已经熟悉了它的各种功能特性之后在它的框架内开发新的服务互相调用,迁移已有的单机服务到 K8S 还是需要一定工作量的。

五月份的时候从淘宝入了一个 YubiKey,起因是看到同事的 MacBook Pro 开机指纹解锁和 sudo 指纹验证很方便,Linux 的话很难找到合适的外置指纹设备,就想到用物理密钥来代替手敲密码。YubiKey 本身的正经用法应该是多因素认证,即在用户输入密码的同时还要求通过硬件验证身份,用它来直接代替原有密码也算是邪道用法了。配置 yubico-pam10 的过程中顺便了解到了一点 PAM 的相关知识,于是翻出了大学期间购入的 ACR122U 读卡器,在 pam_nfc11 这个仓库里实现了通过验证 NFC 卡内指定数据来完成用户登录、sudo 执行命令、KDE解锁屏幕等位置的权限验证。卡片就用大学期间发的校园卡了,因为是复旦微电子的 CPU 卡,所以也不用太担心随随便便找个手机就被复制了。

除了在七月份整理过一次 glb12 工具仓库外,去年也开过几个小坑,但基本都是虎头蛇尾,没达到能放出来的程度。其中有一个 console 项目算是一次小尝试,安卓 App 绘制 UI13,通过 gomobile14 绑定具体逻辑,ssh 连接到树莓派上运行编译好的可执行文件,最终实现的操作是远程通过串口红外开关空调,远程利用 miio 协议控制小米插座之类的。由于都是功能绑定硬件,代码就没什么通用性了,调试安卓 App 的过程中感觉安卓开发又是一个巨坑,后面还是尽量绕着走吧。

未来计划

给自己的2022年个人状态定一个整体评价的话,大概会是“中下”,希望下次回顾2023年个人状态时评价能转变成“中上”。


注: