我是谁?

我是 Han Li,你可以叫我「肉」,那是我的化名。我是一个纯 INFP —— 疯狂的脑子和安静的外表在本人身上同时存在。

本站的履历

经历过一次又一次的重新构思与推翻重建,本站现在终于得以展示在您的面前。可以说,本站的历史就是我大学经历的一个缩影。

2020

如果不是课程要求,可能我会很难发现知识沉淀的重要性。在大二第一次写博客时,由于对开发流程还不熟悉,技术栈不够丰富,只能寻求现成的平台进行发布。我自己当时对选择的平台有几个要求:

  • 界面干净纯粹,单页面上不能有超过 2 条广告;
  • 支持开箱即用,因为没有时间折腾;
  • 最好只有博客功能,不需要其他比如 IM 等功能;
  • 支持 Markdown 格式批量导出;
  • 无需支付任何费用就能被浏览;
  • 检索排序尽量靠前;
  • 国内访问速度需要足够快。

当时,在国内 0 成本低门槛、开箱即用的博客平台并不多,并且大多数平台 (如 XXDN) 总是充斥着令人眼花缭乱的其他功能。经过多次遴选,我最终选择了 国内平台「简书」 用来发布几篇上学期间整理的内容。当然,「简书」可能并非最优解,但作为初次搭建博客的落地产品,在当时的我看来已经足够了。

然而,课程结束便意味着老师不再催促技术博客的产出。大二上半学期结束之后,我便很少再打起撰写博客的念头,甚至曾一度忘记「简书」的登录密码。

2021

大学后两年,我的目标非常明确:前往境外某地升学。准备升学的过程中我发现,CS 专业许多成绩没那么顶尖、却又成功了的申请案例都有一个共同点:拥有稳定的开源贡献或者技术沉淀。

不幸的是,第一点「开源贡献」并不是一簇而就的,多数情况下,它需要一定的社区影响力,也需要一定的机遇 – 也就是贡献的项目需要足够优秀,否则用处并不大。我不得不将目光转向「技术沉淀」这一方向;不过,想起我已一年未有登录过的「简书」账号,我又沉默了。好在时间还比较充足,这时开始沉淀也不迟。想到自己刚接触不久的前端技术,我马上开始趁热打铁,用 Vue.js 和 Golang,从需求分析开始,花一个人月手撸了一整套前后端分离的 个人网站,并火速上线。

好景持续了半年的时间。由于饼画得太大,也有点急于求成的嫌疑,站点的架构设计得比较臃肿和难以扩展。前后端分离的网站,靠一个人单打独斗很难维护。此外,发博客的流程不够流畅,写好的东西需要很长的链路才能进入网站。更糟糕的是,2021-2022 年境外留学的卷度也超乎了我的想象,在几份申请石沉大海的同时,我也渐渐失去了维护这个博客系统的兴趣,开始将精力聚焦在即将结束的春季招聘上。

我的个人站点又一次进入了废弃状态。

2022

2022 年的 3 月可称之为我(至今为止)最为煎熬的一个月。当时让我整个人麻掉的不仅是失败的留学申请,还有 HC 锐减的春招 —— 包括腾讯、阿里、微软在内的几家大科技企业都对本科应届生几乎关闭大门。投出去的十几份简历,最终只有两份是有进展的。当我已经做好 GAP 一年苦学 GRE 准备二战申请时,可能谁也无法体会到当我收到那封《欢迎加入字节跳动》的邮件时的激动 —— 就像是一个因冤案入狱的良民收到无罪释放裁决的那种快感。

工作落实后,我获得了一段喘息时间,开始为我即将开始的职业生涯铺路。考虑到作为工程师,技术积累肯定是不可避免的,因此搭建技术博客的计划又再一次提上了日程。这一次我的技术选型变得没那么激进,因为我意识到,个人博客毕竟不是商业网站,访问量是很有限的,不需要那么复杂的架构。退一万步说,假如之后我真的出名了,博客的日访问量达到 10W+ 量级,到时候再升级架构便是手到擒来的事情。结合一些学校项目中的开发经验,这次我选用 Django 作为框架,重构之前的前后端分离博客体系。得益于 Python 活跃的社区资源,我的开发效率瞬间提升,不到一周时间,我的博客便现出了雏形。

但是,当我沐浴在手撸项目的快感中时,有一个关键问题像是横空杀出,困扰了我很长一段时间。有关博客文章如何存储其实是老生常谈,但是在面临究竟是采用 Markdown 格式还是采用自研格式时,我又迷茫了。由于标准 Markdown 格式暂时没有定义一些我想要的功能(例如嵌入 Callout、视频、音乐、地图和附件),我更倾向于自己定义一套格式标准,然后自己写渲染 HTML 的引擎。这又是一张大饼,但在当时的我看来好像并不是不可能。我花了两个星期的时间着手设计数据库格式和渲染程序,好不容易达到了能使用的水平,时间已经悄悄走到 7 月底。

启程来北京之前,我开始幻想着工作之余再把整套框架写完 – 事实证明,这还真是幻觉。互联网人尽皆知的高强度工作,令我下班回家后不想碰任何电子产品。很快,我的博客项目又成功地停滞了。

2023

工作中我没少观察周围大牛们的行为习惯。我发现,身边一些年纪轻轻就有一番影响力的人,包括混迹于开源世界的资深开发者,也包括腰缠万贯的团队领导,都有朝着某方面的稳定产出。这个产出的形式并不固定,有的是向开源社区贡献的代码,也有的是对自身方向的思考沉淀。公司的许多高管不少也都在「飞书」上拥有自己的主页文档,分享一些可能是 PUA 但也确实体现了一些企业管理智慧的内容。

我自己反思后发现,事实上我没少思考(但更多是内耗),代码写的也不少(但却很少敢于开源),但我却习惯缄口不语,不让人看见。这可能令我丢失了许多机会。这样一想,个人博客的重要性似乎又提高了。于是我花了半个月的时间,用来思考个人博客的预期:我想用它来做什么,以及我到底能做什么。这是我之前做博客时从来没思考过的问题。几次博客项目的夭折,估计与胡乱确定目标,饼画得太大脱不了干系。

我的思路不再激进,因为我意识到,博客项目的重点是里面存储的资料,而不是它用来包装它的技术。另外,作为个人项目,在人力不足的情况下,还是应该尽可能使用社区已经成熟的技术。之前几次项目失败,一个原因是盲目地自己建站,因为我自己根本找不到时间去维护网站架构,而时间总是喜欢冲淡一切,每次当我打开原来架构代码时,如果记不起来之前搭建的思路,就会想推掉重做。

于是,我的技术选型也更加明确:使用维护成本低、且易于备份的静态网站。几番筛选后我找到了 Jekyll 和 Hexo,而由于后者采用我更熟悉的 JavaScript,因此我最终选择了它。由于不需要开发网站架构,我只花了约 1 个星期修改了一些 CSS 样式和页面功能,网站就能使用了。

当然,静态网页也存在一些弊端,例如无法自己实现审计和反馈。现在网络上也有提供一些类似服务,但我总是觉得抗拒。将来如果有时间,也会计划写一些简单的后台支持服务,在此先 Mark 一下:

  • 评论、按赞功能
  • 检索功能