
前言
NIO 全名 non-blocking Io 也叫非阻塞IO
三大组件
Channel 和 Buffer
channel 有一点类似于 stream 流,它是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 stream 要么只能是输入,要么只能是输出,channel 比 stream 更为底层
Typecho 的轻量导致某些基础设施缺失,邮件通知就是其中一项。这些年来无数人写了无数的邮件通知插件,其中许多要不是极度臃肿,要不就是年久失修了。
我之前在用的插件(CommentToMail)使用队列来保存发信任务,需要外部访问某个触发网址才能一次性发信。之所以不在评论完成时立即发信,是因为发信是耗时操作,会导致前端等待很久。
首先是在少数派上写一些折腾经验,然后是自己基于 WordPress、Typecho 建站,我在各种网络平台上涂鸦也快三年了。这期间尝试了许多写作、建站工具,深感该领域百花齐放,令人眼花缭乱。很长的一段时间里,我沉浸于给博客程序写主题写插件、使用诸如 CDN 等方式优化网站速度、研究 SEO 玄学,不亦乐乎。
受 NCP 疫情影响,这个春节十分轻松,也十分无聊。正是尝试新事物的大好时机。
虽然文章题目已说明我购买了任天堂的游戏主机 Switch,但容我扯远一些。我不玩游戏。若非说玩过,那就只限于魂斗罗、超级玛丽之类;其它主机、PC、手机游戏一概不沾。对我这代人而言,「不玩游戏」这个标签是与「好学生」绑定的,因此对这一点,即使称不上骄傲,我也觉得相当无所谓。
我在 2019 年 12 月自己写了一个静态博客生成器,名叫 Maverick,使用它实现了我的个人博客完全自主化,一度是我最自豪的作品之一。但它现在久缺维护,似乎已经走到了生命的尽头。
想来这事很有意思。2016 年前后我开始接触个人博客,从公开的服务(简书,Medium,etc.)到自托管的博客程序(WordPress,Typecho,Hexo,etc.)统统玩了一个遍,最终停留在 Typecho 上,输出了一些内容,也写了一两个还算过得去也有人用的模板和若干插件。到 2019 年达到了一个小高潮:终于决定要自己写一个静态博客程序。
那时候我刚大四毕业,整天有无穷的精力和时间探索学习。和很多后来被证明是伟大创新的项目一样,我从自己的观察总结出发,写了面向自己需求的 Maverick。我承认,不是没有一瞬间,我希望这个项目被很多人用上,因为它真的解决了我许多需求:比如编写博客时图片引用的问题,比如对许多有用功能(RSS,搜索,图片排版等)的原生实现。事实上我也确实用它作为我的博客引擎直到今年。当 Maverick 第一版问世时,我心想: