2022 这一年

2022 年经历了好多事情,见证了很多魔幻、让人愤怒的事情,当然也收获了不少快乐和感动,永远致敬那些勇敢的人。

去年年终总结许下的一些愿望真的实现了,要来还愿,例如谈甜甜的恋爱!!!真的特别有幸能在 2022 年遇见阿光光,和你恋爱真的超级超级甜💙✨~

2022 年的 9 月和 10 月,整整两个月基本都沉浸在找工作当中,不停地重复着刷题、背八股、笔试、面试,简历投了 100 多次,最终收获了 6 个 offer。在被称为最难就业季的 2022 年,也算是顺利找到了工作,尽管自己并不是特别满意,但还是值得稍微庆祝一下的啦!表现平凡,但仍然值得期待认可!

比较遗憾的是没有得到互联网大厂的面试机会,当然,这个也和我简历比较贫瘠有关,没有任何实习经验,所做的项目可能也没有太大的吸引力。但是未来可期嘛!现在也会觉得工作的意义可能不仅仅只是赚钱,能实现自我的价值、做自己喜欢的事情才是更重要、更难得的,所以不一定要追求什么大厂,重要的是自己能够工作得开心啦!之前就一直开玩笑着说,如果 xxx (一个很想去的公司)给我 offer,哪怕要加班,我也会立刻马不停蹄地过去,因为我觉得我在这家公司工作,可以做自己喜欢的事情、做自己喜欢的产品,会很有成就感和满足感。

如果说给应届生的求职建议的话,那就是建议早点开始行动起来,特别是在经济萧条的当下。就计算机行业来说,算法和八股这两部分的准备绝对是少不了的,而这两部分基本上只要投入了足够的时间就能得到很明显的提升,可以尽早多刷刷题、多背背八股。然后就是项目了,多参与开源项目,多做一些自己的开源项目永远不会错!面试不难,多面几次就有经验了!祝大家好运~

然后今年比较深刻认识到的可能就是自己和家庭的关系吧,直到今年和家里发生了一些冲突之后,我才猛然意识到,25 岁的我,在之前 24 年的人生旅途中都是那个听父母话的好孩子,但我实际上是一直在忽视自己的感受和想法去听从父母的建议,我自己其实并不觉得快乐。

冲突来自于今年,和他们汇报了找工作进展之后,他们只是草草表示"已读",然后紧接着就一个劲地催我赶紧去考公考国企,甚至一天可以打好多个电话。而我在和他们说,我连续两个月没有休息,一直在找工作,真的很累、我读研一点都不快乐之后,他们直接忽略了我说的一切想法和感受,对我没有一点的关心,继续不停打电话说考公考国企的事情。

我发现他们并不关心你的真实想法是什么,不关心我真正想要的是什么,不关心我的感受是什么,他们仅仅只是希望我能按照他们设计好的人生路径走,和我说那是为我好,说那是希望我未来能过上好的生活。但他们所描述的那些真的是好的生活吗?真的是我想要的生活吗?不,不是的,我自己的生活为什么需要由父母来定义…人都是独立的个体,我也想要自己的生活,我也想由我自己来定义我自己的生活,我也可以拥有我自己的生活。

似乎是我迟到的叛逆期,和他们吵了一架。回顾自己之前 24 年的人生,似乎从来没有和他们有过真正意义上的吵架,现在的我好盼望能和他们有更多的争吵。

前些天刚回家,才在家里待上没几天,发现他们依然如此,哪怕已经和他们说过,我希望你们尊重我的想法,我希望你们能多想想我想要的是什么,他们依然是只想着他们为我规划好的人生轨迹,而从来不关心我的想法和感受,就好像我是他们的某一件物品一样,他们想要怎么处置就怎么处置。

我不管,我自己的人生只能由我自己决定!

今年还有的一个感受就是,人需要多出门走走,多尝试尝试不一样的新鲜事物,多和不同的人接触,多交朋友,哪怕就只是出去附近溜溜弯、散散步,都能收获很多能量,不能一直重复待在一个地方。今年去了两趟深圳,接触了很多不一样的人,体验了很多新鲜的东西,感受到了久违的自由的感觉,是那种对自己生活完完全全的掌控感,这真的很重要,今年的两趟深圳之旅,都觉得自己的内心被充满了电。当然,最重要的是有阿光光的陪伴啦,一起生活真的好快乐!

2022 年的 12 月,感染了 COVID-19。发烧了三天,最高38.5度,感谢布洛芬救我一命(重要的是感谢阿光光提前准备了布洛芬)。发烧过后是喉咙吞刀片🔪,真的超级超级痛,每咽一次口水都能要我命的程度,那些天真的是吃饭对我来说都是上刑一样,因为吞咽食物特别特别痛,但也意外发现了,吞咽菜包好像不会很痛,不知道是什么原理,以及喝热水对喉咙痛真的会有很大的缓解作用。感染过 COVID-19 之后身体好像比较容易疲惫,会觉得很容易发困,甚至今年跨年 22:30 就已经困得不行躺床上睡着了。康复过后觉得健康真的非常重要,新的一年要多锻炼锻炼身体,还有要感谢我身体的免疫系统,生病期间没日没夜地和病毒抗争,你们辛苦了!还要感谢生病期间照顾我的阿光光,你真好!

所以,2022年对我来说意味着什么呢?我觉得尽管有很多痛苦的时刻,但还是收获了相当多的快乐,也一直觉得自己很幸运能遇到阿光光,有你真好~

好啦,下面还是按照书影音、今年所写的小东西的顺序来回顾一下自己的这一年吧!

书影音

今年好像没看几本书,

  • 《等你好久啦》

    继去年的《忍不住想打扰你》之后,今年"bibi动物园"又新出版的绘本,尽管书里的很多漫画都已经在公众号的每日推送上看过了,但纸质版的书总会给我一种捧在手里更实在的感觉,会更仔细观察绘本里的每个细节、每个角落,随书还附送了一张可可爱爱的贴纸,喜欢~

  • 《秋园》《我本芬芳》

    杨本芬三部曲其中的两本,还剩下一本《浮木》已经加入今年的阅读清单,作为 90 后,真的很难想象 1914 年出生的人所经历的种种苦难、所经历的一生无常,感谢有文字记录,让我有幸感受到了那个年代生活的艰辛和不易。书是比较小的那种开本,所以很容易揣兜里带走,随时随地掏出来看,例如排核酸队伍的时候(现在不用做核酸,真是太好了!)

  • 《带壳的牡蛎是大人的心脏》

    是今年生日收到的礼物,很温柔的一本书,来自最好最好的阿光光~让我看哭了的一本绘本,觉得难过的时候都会想再来翻一翻这本绘本,有很多温暖人心的小故事。

    很喜欢书里面的这段话:

    爱自己

    就是给自己买冰激凌

    但是现在我觉得

    爱自己

    是不讨厌自己的小肚子

    不讨厌自己的痘痘

    不讨厌自己的笨

    不因为别人的指责怀疑自己永远相信自己

    每天都对自己说: 你可以,你最棒

    就算现在不棒,以后也会很棒

  • 《足利女童连续失踪事件》《桶川跟踪狂杀人事件》

    分别是听了痴人之爱播客的单集50.从桶川杀人到足利女童失踪案:调查新闻是屠龙之技吗?限时肤浅播客的单集54 去年我们说书影音,今年我们聊读看听之后看的书,真的很佩服调查记者清水洁对职业的热爱,对于新闻报道的追求,感受到了新闻报道对于推动社会改革的强大力量,这个时代真的需要有更多真实的新闻报道,需要有更多不一样的声音,很推荐这两本书。

  • 《在黑暗中等》

    依旧是来自阿光光的日常赠书,是乙一的小说,觉得挺好看的,看完之后竟然觉得很甜(不是)!

今年虽然没看几本书,但电影电视剧倒是看了不少

  • 初恋

    虽然剧情有那么一丢丢老套,但依然看得津津有味,依然觉得超级甜,推荐!很多空镜头都拍得很美,特别是日本的冬天,下雪过后真的好美!希望未来有机会能去一次日本,看看富士山,看看雪。是和阿光光一起看的电影~

  • 你的婚姻不是你的婚姻

    看到网上强烈安利之后和阿光光一起看的剧,但我觉得很普通,看到一半就弃剧了。很多剧情都让我觉得不是很合理,剪辑感觉也是拖泥带水,经常有很长一段时间都在讲述同一件事。另外就是,这部剧不知道为什么会强行在剧情中加入一些和 AI、科技相关的元素,感觉编剧像是为了完成某个 KPI 似的,让我觉得有点点反感。

  • 弥留之国的爱丽丝 第二季

    听我的,看第一季就好,第一季还是挺好看的,第二季就别看了👀。

  • 万神殿 第一季

    超好看,强烈推荐的一部动漫,前几集的悬念设置得很棒,配乐也做得很棒。

  • 小偷家族无人知晓

    是枝裕和的作品,和阿光光一起看的,很喜欢电影的胶片质感,真的好美,故事情节也都很有味道。

  • 祝你好运,里奥·格兰德

    和阿光光一起看的电影~看似是关于性工作者的电影,但更像是关于心理咨询的电影,男主和女主说的每一句话都很像是心理咨询师会说出来的话。

  • 花束般的恋爱

    和阿光光一起看的电影~好看!

  • 爱,死亡和机器人 第三季

    和阿光光一起看的电影~喜欢最后一集《吉巴罗》,好震撼!

  • 瞬息全宇宙

    和阿光光一起看的电影~很无厘头的一部电影,但是真的很好看,超级喜欢电影中两个石头对话🗨的那一幕!

  • 心跳漏一拍 第一季

    和阿光光一起看的电影~超级甜,推荐!!!

  • 和阿光光一起看的电影~

  • 健听女孩

    和阿光光一起看的电影~

    很喜欢里面的"Both Sides Now"这首歌:

  • 青春变形记

    和阿光光一起看的电影~红熊猫真实太可爱啦!

  • 爱情神话

    年初时候看的电影,剧情感觉比较平淡,但是电影所展现出来的上海味道很吸引我,听闻电影里的很多店铺在疫情中倒闭了觉得好可惜。未来一定要去上海走走看看!

  • 黑客帝国黑客帝国2:重装上阵黑客帝国3:矩阵革命黑客帝国:矩阵重启

    说来惭愧,一个计算机专业的研究生,竟然直到2022年才总算是看了《黑客帝国》三部曲,最喜欢第一部,很难想象在1999年的时候可以做出这样的特效,但最新的黑客帝国:矩阵重启总让我觉得在毁黑客帝国这个 IP 👀。

  • 007:大破天幕杀机007:无暇赴死

  • 超感猎杀 第一季超感猎杀 第二季超感猎杀:完结特别篇超感猎杀:圣诞特别篇

    限时肤浅 Iris 推荐之后开始看的一部剧,很好看,一口气追完了全集。

根据 Spotify 的年终总结,今年听得最多的是告五人的《红》:

Happy Coding

播客小镇 2022

新的一年,播客小镇也做了一些更新,重新绘制了地图和小镇上的所有元素,增加了一些新的交互,网站的加载应该也变得更加流畅了(国内访问的话,国外访问因为静态资源的 CDN 节点都在国内,所以可能会挺慢的),你可以通过这个链接到播客小镇上散步:https://podtown.xyz

今年用 TypeScript 把去年 JavaScript 写的代码完全重构了一遍,地图框架也从 Leaflet 换到了 OpenLayers,并对很多代码都进行了一些优化,提升网站的访问速度。重构的感觉真的特别爽!基本上就是边重构边问自己"我去年怎么会写出这样的代码?我怎么会写出这么烂的代码!"。重构的过程中也体会到了 JavaScript 这类弱类型语言的项目代码在后期维护上的难度,真的很不想碰 JavaScript 写的旧代码。

至于为什么从 Leaflet 换到 OpenLayers,其实主要还是性能上的考虑,Leaflet 基于 DOM 元素来渲染 Marker,在 Marker 数量多起来之后,页面的移动会变得特别卡顿(大约 200 多个 Markers 就能明显感受到页面的卡顿了),issue 里一直有人提到这个问题,解决方法也很简单,使用 canvas 来渲染这些 Markers,但目前好像没有一个针对 Leaflet 的开箱即用的方案,需要自己处理 canvas 渲染 Marker 的逻辑,还额外需要处理一些 canvas 的点击事件。而 OpenLayers 本身就采用 canvas 渲染,经过测试在添加上千个 Marker 依然能保持流畅,所以最终决定将地图框架从 Leaflet 切换到了 OpenLayers,虽然有一些逻辑需要重写,但好在切换的过程整体并不是十分困难,OpenLayers 在官网提供了大量的 Examples,看看那些 Example 基本就能把地图构建出来,一些需要处理地图动画和点击事件相关的逻辑再去查查官方文档就足够了,迁移框架的过程也顺便学习了一些地理学的知识。

不过我还是会更喜欢 Leaflet 多一些些,使用 Leaflet 来构建一个简单的地图应用很容易,也不会涉及太多地理学方面的内容,官方的文档也足够清晰。但 Leaflet 如果要构建一些比较复杂的地图应用似乎就稍微会有一些力不从心了,并且社区生态上似乎还是 OpenLayers 会更有优势一些。

今年在做播客小镇的过程中,所有主创人员都感染了一遍 COVID-19,真的是很不容易,也因此时间上有一些些赶,导致部分功能没有来得及完成,希望明年的小镇能上线更多有趣的功能,让用户能有更多的参与感,而不仅仅是打开网站寻找播客、听播客。其实越来越觉得播客小镇像是一款游戏,有地图、有建筑、有 NPC,未来如果能用游戏引擎来构建播客小镇就好了哈哈哈!

今年的小镇也有了赞助,感谢赞助,让小镇可以活得更长久,目前来看小镇的日常开销还是稍微大了一些,未来考虑减少一些服务器开支。

在做播客小镇的过程中也产出了一些其他东西,一个 Quadratic voting 投票器,全部采用 Next.js 构建,数据库使用了 Google Firebase 的 Firestore Database,免费的套餐正好能够满足小镇投票的需求。未来会把这个投票器完善一下,作为一个问卷系统开源出来,支持更多的问卷类型,例如单选、多选等,数据库大概会换到 MongoDB,目前正在缓慢开发中。

Hikari Sync Player

一个用来远程一起听播客的小项目:

本来还打算支持奶牛快传的链接来实现同步观看电影的,但因为太懒了,一直没有做哈哈哈~目前的实现方式其实还是存在不小的延迟,主要来自于同步播放进度的过程中 用户A <-> 服务器 <-> 用户B 中间两次通信上的延迟,不过用国内的服务器试了一下,基本上能稳定在几百毫秒左右,还是可以接受啦!

自用的小宇宙桌面版

初衷是想实现一个简易的小宇宙桌面版客户端,满足自己在电脑上收听播客的需求,因为我目前使用的是 iPhone 11 + AirPods,而电脑则是 Windows / Linux,这就导致耳机在电脑端和手机端没办法做到自动的切换,经常得来回地摘下耳机再戴上耳机很麻烦,所以想着要是能直接在电脑上收听小宇宙播客就好了,这样在使用电脑的时候,如果突然想要收听播客就不需要摘下电脑的耳机,然后再戴上 AirPods 使用手机播放了。

于是这个项目就诞生了,刚开始只是想实现最基础的播放功能,同时支持一下记录播放时长就好,结果写着写着就把很多功能都实现出来了,包括小宇宙的播放时长累计、多端同步也都实现了,用起来还挺方便的,应该算是完成度已经很高的第三方客户端。并且因为是基于 Tauri + Next.js 构建的,所以支持 macOS、Linux 和 Windows,如果解决了跨域的问题,甚至可以直接将它做成一个网站来使用。

因为是第三方实现的客户端,所以这个项目我不会公开,就纯粹保持自己使用就好,未来也许还可以加上一些自己喜欢的小功能,例如我一直想要有一个按钮能 一键随机打乱我的播放列表。我积攒了很多很多的播客在播放列表中,然而播放列表永远是最新添加的单集会显示在列表的最上面,导致很早之前添加的播客我基本上没有什么机会会点开收听,甚至可能随着添加新的单集,导致最早添加的播客单集被替换掉。所以我一直很想有个按钮,让我的播放列表随机排序一次,这样说不定我就可以发现藏在播放列表中的那些有趣的播客了。

现在,我可以自己实现这个功能咯!

Nice Podcast RSS

这是一款 Chrome 扩展,也是我第一次尝试编写 Chrome 扩展,用于让播客的 RSS 链接更友好地显示出来,你可以到这里安装它:https://chrome.google.com/webstore/detail/nice-podcast-rss/ofofpfeldepmeolpbcmehmfgakjnlekf,或者到这里查看它的源代码:https://github.com/LGiki/nice-podcast-rss

出于我个人的需求,有时候可能得到了某个播客的 RSS 链接(例如在一些推荐播客的文章中看到了某个播客的 RSS 链接),但是还不确定要不要订阅,想先听听看,这时候我又懒得直接掏出手机订阅,所以就会直接用浏览器打开 RSS 链接,然后找到最新一期单集的音频链接,开始收听。但我始终觉得这个过程很繁琐复杂,我希望可以直接让浏览器显示一个简单的播客单集列表,我可以直接点击 ▶播放 按钮来收听。

其实 XML 文档是有一项叫 XSLT 的技术,用于将 XML 文档渲染为更加直观的网页,有一些托管平台也做了这方面的支持,例如 Typlog 平台的 RSS 链接,打开之后是可以直接在网页上收听的,但大部分播客托管平台并没有增加这方面的支持,导致很多播客的 RSS 链接用浏览器打开就是一个 XML 文档,可读性较差。

另一个需求是,有时候想下载播客某个单集的封面或者是音频文件,这时候直接打开 RSS 搜索是最快的,但面对一大堆的 XML 代码还是会觉得有点头大,有了这个插件就可以很方便地根据播客标题,定位到对应的播客,直接下载。

这个扩展支持 Anchor、Fireside、Buzzsprout、Typlog、Libsyn、Acast、Megaphone、Simplecast、RSS.com、Podbean、Sounder.fm、SoundOn、NPR、ART19、Omny Studio、RedCircle、JustPod Media、Xiaoyuzhou FM、Ximalaya、Lizhi FM、Wav Pub、Qingting FM、VISTOPIA、Get Podcast、Pod API、Tangsuan Radio 等托管平台的 RSS 链接,应该可以说是支持绝大多数播客托管平台了,不过不支持自定义域名的 RSS 链接,未来也许会加上,但目前已经满足自己使用了,所以可能这个需求会无限期延长。

Chrome 扩展的开发体验其实并不算特别好,Chrome Extension 的文档虽然看起来挺完善的,但如果你点开某个类或者函数的文档就会发现,文档写得都不是特别详细,甚至还有一些 broken links。总之,开发的过程并不算顺畅,有很多问题反而是在 Stackoverflow 上找到解决方案。

另一方面,Google 针对扩展所提出的 Manifest V3 对于隐私的重视是值得鼓励的,但是剥夺了太多扩展的权限,导致开发起来变得很麻烦,很多在 Manifest V2 下面可以轻松实现的功能,到了 Manifest V3 上实现起来就特别困难,还是希望 Google 能给开发者更多自由发挥的空间。

QR Tools

初次学习并尝试 Flutter 开发的一款 app,同样也是出于满足自己的需求,开源地址在这里:https://github.com/LGiki/qr-tools

扫描二维码其实并不是一件什么新鲜的事情了,很多 app 都能做到,甚至现在手机内置的相机 app 都能直接扫描二维码。但是对于二维码内容的解析却几乎都没什么人做。

例如,如果我扫描的是一个连接 WiFi 的二维码,我希望我可以先看看这个 WiFi 的信息,例如密码、认证方式等信息,而不是默认直接帮我连上这个 WiFi。再比如,如果我扫的是一本书的 ISBN 条码,那么我希望我的扫描器能让我选择在 Amazon、豆瓣、多抓鱼等平台搜索这本书,而不是只给我显示出扫描出来的那串数字,让我自己手动去搜索。所以,这个 app 就诞生了,当然,最主要的目的还是想试试 Flutter。

有一定前端开发经验的人来学习 Flutter 其实很容易上手,Flutter 在 UI 上的很多概念都是和前端的布局系统相通的,并且也有很多现成的库可以直接使用。Flutter 的调试上也很方便,hot reload 节省了很多不必要的重新编译的工作,可以专注于代码的编写,并且能实时看到改动后的结果。另外可以直接编译到桌面端也很让人心动,虽然依然会有很多问题需要解决,但至少是真正意义上的 Write Once, Run Anywhere 了。

觉得 Flutter 用来写一些比较简单的 app 应该挺合适的,不过 Flutter 开发的 app 总给我一种卡卡的感觉,另外编译后安装包的体积也比较大,原生开发的优势还是很明显,但 Google 团队似乎一直在不断优化 Flutter,希望未来能看到更多 Flutter 开发的有趣的 app。

本来想把它上架到 Google Play,但看到还要交钱,没有信用卡,付不了,遂作罢(不过就算上架了 Google Play 应该也不会有多少下载量吧🤔)。

新的一年

尽管不知道新的一年到底会不会更好,但至少还是可以希望自己能变得更好啦~又到了一年一度最喜欢的许愿环节啦!🍀

  • 希望新的一年可以和阿光光一起去更多地方走走
  • 希望新的一年多拍照(多给自己拍照,也多给阿光光拍照)
  • 希望新的一年和阿光光多一些一起生活的时刻
  • 希望新的一年可以认识更多的朋友(难过的时候可以打电话放声哭泣的那种好朋友)
  • 希望自己健健康康
  • 希望自己新的一年可以多多照顾自己的想法和感受
  • 希望新的一年我可以学会基础的日语
  • 希望自己新的一年可以多多更新播客
  • 希望看到这里的你在新的一年里能多一些开心、有力量的时刻啦

新的一年,也意味着毕业,开始工作,走上人生的另一个阶段,加油!