2020 读书统计与推荐
共 65 本,其中推理 21 本,科幻 16 本。
共 65 本,其中推理 21 本,科幻 16 本。
一时兴起,在淘宝上买了一个七八年前的二手服务器拿来玩。就写一篇博客来记录一下折腾的东西吧。
希望有一个包含 ssr plus+ 的 Openwrt 固件,但是这样的固件往往有很多我不需要的功能,而且有被植入后门的风险,所以还是自己编译了一个。
其实一个更重要的理由就是我想要 NAT1,也就是 fullcone NAT,于是只能自己编译。
Update: 目前更推荐 ImmortalWrt,直接使用预编译好的固件,然后根据需求安装其它包就好了(比如 luci-app-openclash
和 luci-app-zerotier
)。
自制一个 C++ 的 Parser Combinator,并用它写一个 json 的 parser,目标是代码尽可能简洁且便于理解(换句话说,就是一个玩具)。文章分为几个阶段,每一阶段后都有相应的代码,方便渐进式学习。
前置知识:基本的模板元编程,基本的 STL 用法,对 C++17 和 C++20 的特性有一些了解。但是如果你愿意查阅 cppreference,那么不需要任何前置知识了。
对于函数式的编程语言,柯里化是语法(或者语法糖)的一部分。但是 C++ 要实现柯里函数,就要 lambda 套 lambda,就很不方便,于是我就想用模板元编程来实现一个把函数柯里化的函数。
注:以下代码用到了 C++20 的特性。
其实本来是另外一篇 curry 函数的一部分,但是和主题没什么关系,就拆出来了。