Wincer's Blog
昔日玫瑰以其名流芳,今人所持唯玫瑰之名
又是大半年没更新,或许我不得不承认,我写博客的热忱相比两年多前的确是在逐渐退却,思考了一下,原因或许可以归咎于如下: 在工作上能学到的东西、值得记录的东西变得越来越少,最近半年几乎都乏善可陈了; 在业余时间的精力分散给了其他事情,导致研究技术的时间变少了(业余时间的事情,后续有机会再详细讲讲)。 不过,最近在工作上遇到了一个有点意思的事,钻研了一下觉得值得写一篇文章来记录——于是屁颠屁颠地花了三个晚上时间完成了这 2022 年的第一篇博文(希望不要是唯一一篇博文)。
我一直是一个有些特立独行的人,因此对一些小众、非主流的事物有着偏好:通常不使用 Windows 作为电脑的操作系统,通常使用 Linux 或着 MacOS;使用 Markdown 来写文档,如果有精细的排版需求我会选择 LaTex,不使用 Word;Shell 的解释器我会使用 Fish 而不是 Zsh 或 Bash;浏览器也是 Firefox 的忠实用户;编程语言我也尽量往冷门的学,比如 Elixir……因此,在知道服务器的操作系统除了 Linux 还有 BSD 之后,使用 FreeBSD 作为服务器操作系统的念头便在心里埋下了,这埋下的念头之所以一直没有发芽,除了 FreeBSD 的软件相比 Linux 要少很多之外,更多的原因在于 FreeBSD 一直不支持 BBR 拥塞控制算法,索性,在最近的 FreeBSD 13 版本中,已经可以支持 BBR 了,于是我立刻订购了一台服务器开始了 FreeBSD 的折腾之路。
In the previous post, I introduced how to use Elixir to write a rate limit tool. After that, I was planning to integrate it with theDIEM-API. In this way, my API System doesn’t need to depend on Redis. However, DIEM-API is written in Golang, and I have not decided to re-write it in Elixir in the short term. Besides, I wrote asearch api for my blog using Rust recently. Therefore, I need a cross-platform solution to address communication issues between Golang, Elixir and Rust.
不知出于什么原因,前几个月对写博客这件事情始终提不起太多兴趣和动力,连一年一度的年终总结都鸽了三四个月。其实早在去年十二月底时,我就开始写年终总结了,可似乎总找不到写作的「感觉」——对着屏幕脑子一篇空白,好不容易琢磨了一个开头出来也不甚满意,后来便不了了之了。
博客建站以来,我使用过 Hexo 和 Hugo 两个框架,它们生成的博客在本质上都属于静态博客,对于「搜索」这个与数据库关系紧密的需求,显得有些力不从心——不过也并非没有办法:比如主流的解决方案(这里不考虑使用 Algolia、Swifttype 等第三方服务)就是预先生成一个文档(包括所有的博客数据),然后在浏览器端加载此文档再通过编写 JavaScript 代码进行搜索匹配,最后再输出结果。
时间倒回到两年前,当时的我刚刚结束实习返校:闲着没事又开始折腾起博客,那时博客才更换成 SPA 没多久,由于 Bug 太多,主题各地方的细节我也不是太满意,体验了一段时间满足了新鲜感之后,心里忽然升起了一种对折腾博客的倦怠感。于是我还是换回了原来的 Material 主题,这一用就用了两年。