Rust

rust 测试环境看不到输出内容

我们长话短说(因为实在是太蠢了),先上解决方案:Why doesn’t println! work in Rust unit tests? - Stack Overflow(这个感叹号很灵性,不了解 rust 的可能还以为是个暴躁老歌) 简单来说就是我在修补之前写的日历自动化工具,结果发现死活打印不出 interactive oauth 的输出。本来还以为是 async 或者 oauth 啥的问题,结果后来发现连 println! 都打印不出东西了,感觉有点问题。这个 feature 也是特别奇怪,可能是某次升级加进去的吧。

「日历记事本」规划

本文是 2020 年暑假学习 rust 计划的一部分。目前项目存放在 owen8877/calendar-as-diary,欢迎围观和吐槽

动机

逐渐发现 Google Calendar 是个好东西(其实所有日历软件都是个好东西),用来计划日常生活、提醒工作安排真是非常方便,在计划之余还能形成一本自然的日记本。于是我就想,如果能 自动 记录一些生活琐事(一些懒得规划的事情),那就再好不过了——比如看视频、锻炼身体,因为在完成之余还要誊到日历上真的是非常麻烦。

市面上有一些比较成熟的自动化软件/服务,比如 ifttt 、 zapier 和被苹果收购的 workflow ,它们的特点是功能广泛,要完成和日历的对接也是非常容易。但是缺点也比较明显,如果是像上文提出的那种特殊需求,有时候就有点力不从心了。因为很多站点并不开放让用户自己查询自己的历史数据,因此根本无法从流程自动化的服务中提取这些信息——需要说明的是这一点和 GDPR 并不矛盾,因为后者只要把所有东西塞到一个 json 再打个 tarball 扔给用户就完事了。

目前来看,可以借由已有服务完成的有:

(呃……还真是少的可怜呢)因此自己造轮子就势在必行啦!