消除后顾之忧,轻松输入卡片笔记。

题图:Photo by Markus Spiske on Unsplash

前些日子,我用视频的方式给你介绍了 Roam Research 这款工具。如果你还没有来得及看,这里是链接。

卡片式笔记工具 Roam Research 介绍_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com

视频发布后,有的朋友积极地尝试使用,然后给我的反馈是这个样子的。

我看到以后,为他能够找到一款心仪的笔记工具,提高输出效率而感到高兴。

也有一些朋友和读者,私信和后台留言不断地在问我:

王老师,这款应用靠谱吗?能长久运营下去吗?
在上面写的东西是否安全?会不会丢掉资料?
在线的东西我可不敢轻易使用啊。它有桌面端下载地址吗?
……

我一一答疑,弄得焦头烂额。

后来实在答不过来,只好找了个有桌面端的类似产品。遇到谁再问上面的问题,就直接把链接发过去。

我这儿有些劳动超负荷。但并不意味着,读者们提的这个问题不重要。

我们在使用一款新的工具,尤其是笔记工具之前,首先得保证安全

毕竟这里面记载的,是我们很重要的思考内容和输出成果。笔记工具号称自己是「第二大脑」。想想看,大脑重不重要?要不要好好保护?

如果笔记不能够保证安全,记着记着就不见了,那感觉肯定很糟糕。

我就有过惨痛的亲身经历

在高一暑假的时候,我曾经发奋写过一本小书,还是章回体的。写了十几章的时候,突然间硬盘坏了。那一刻,我头脑是空白的。

跑到电脑城去修理,人家告诉我那叫「引导区划损」,没治。于是,资料再也没找回来。

更糟糕的是,我没有备份。一章都没有。

那儿之后,我知道了备份的重要性,一直都注意备份操作。

那么说到 Roam Research 这款在线应用,它的备份功能做的怎么样呢?

我觉得做的是很好的。

Roam Research 的作者在设计之初,就定下来一个基调——他不准备把用户强制留在这里

据他说,有一些同行做出来的应用,总是恨不得让用户来的时候很方便、门槛很低,但是将来想转移出去,会很费劲。

这或许是一种很高明的经营策略,但是 Roam Research 的作者不愿意做这样的事情。

他希望的,是留在平台上的用户,都是因为真正喜欢使用,而不是跑不掉了

所以,在导出格式的选择上, Roam Reserach 非常慷慨地提供了 Markdown 格式。

Markdown 格式非常简单,容易上手。我之前给你介绍过如何用它写论文、做幻灯,你不难了解到它的易用性

因为简单易用, Markdown 在很多笔记工具上,都有良好支持。例如 Ulysses, Gingko, Bear 等,以及在这篇教程中给你介绍过的新晋免费学术写作利器,都可以使用它。

那么,是不是说有 Markdown 这样的导出格式,你的所有资料就都安全了呢?

如果你往 Roam Reserach 里边儿输入的只有文字,那基本上差不多了。但是这里面我们不能忽略笔记的一个重要组成部分,那就是图片

我不知道你记笔记怎么样,反正我是经常需要使用插入图片功能的。

比如说我在这里给大家做一些教程,许多都要演示操作和结果。那么我在记笔记的时候,就有意识地要把当时的一些截图记下来。这样我组织文章的时候,就可以拼接笔记卡片,非常方便地把内容整合起来,输出成文章级别。

如果这时候,让我回头去重新制作或者找寻图片,那我的写作成本,就会变得非常高。

当我使用一些文献阅读工具时,经常在上面写写画画。我会把这些潦草的文字作为图片保存下来。

在 "how to take smart notes?" 这本书中,这些内容属于第一遍笔记。可以在不打断阅读心流的时候,把要点抓取下来,这样在后面整理的时候,你才能更加方便和省力。

因此我在这里面会上传大量的图片到 Roam Reserach 。可是问题在于这些图片是怎么样存储的呢?如果你在导出的 Markdown 文件里面查看的话,会发现图片的链接都是这个样子的:

这个链接形式告诉我们, Roam Reserach 图片存储的位置在 Google 云上。它的名字叫做 Cloud Storage for Firebase。

从理论上说,这服务的安全性和可扩展性挺好的。可是有一个小问题。

你存储的时候,用的不是你个人的 Google 云账户进行访问控制,而是 Roam Research 的账户。你上传下载都没问题。但是如果开发者的账户出了问题,例如被人攻击窃取,那你的这些图片随时可能被骇客删除掉。

或者如果 Google 云服务器发生问题,你的图片也会烟消云散。虽然后面这种情况的概率很低。

尽管听起来,确实有点儿像杞人忧天。不过小心驶得万年船。做个备份不是坏事儿。随着存到 Roam Reserach 上的图片越来越多,我觉得还是有必要的在本地留一个备份。

方法并不难,找到所有的云端图片链接,备份到本地的一个文件夹。

更保险的方式,是把这个文件夹放到云同步平台,例如 Dropbox 或者坚果云上面。同一份图片,你于是就有三个副本:一个在Google的云上,一个在你本地的硬盘里,还有一个在这个第三方的云。

那么,假如这三个位置的副本都同时都毁坏怎么办?

真到了发生这种事儿的时候,估计是小行星又来光顾地球了。听我一句劝,笔记别要了,逃命要紧。

玩笑归玩笑。上面的流程,听起来并不复杂,可要真的是执行起来,也挺麻烦的。

解压一堆 Markdown 文件,找到所有的图片链接,然后一一下载……

绝对不能手动操作啊!

咱们得用脚本,自动化执行。

Python 是咱们的好帮手。

你可以让 Python 去循环往复,找到这些链接,一一帮你下载下来。

况且,你也不需要一个个 Markdown 文件里面去找链接。那多麻烦!

Roam Reserach 还提供了一个选项,就是把所有笔记,导出成为 JSON 格式。这样一个文件里面,就包含了所有的图片链接。岂不妙哉?

但是很快,你又高兴不起来了。

随着不断地输入笔记到 Roam Reserach ,你的图片备份就不全了,需要更新。

每一次为了完整备份图片,你还得从头做一遍吗?

这太烦人了。今天我用脚本下载 600 兆的图片,等了好几十分钟。要是每次备份都得花这么长时间,而且每次时间都变得更长,那谁受得了?

当然了,我们不需要把自己逼到这样的窘境。

因为你不必每次都下载所有的图片

解决的办法,是增量备份。就是每一次备份,只把那些之前没有备份的图片文件专门儿挑出来,下载。其他的略过就好

为了做到这个事儿,你需要有个记录表。这个表格记下你已经下载了哪些文件,存在了哪里。

每次新下载之后,你都更新这个记录表。这样,你就不会再已经下载过的文件上耽误时间了。

为了说明这个过程,我手绘了一张流程图。

估计世界上你也找不到第二张这么丑的流程图了。哪位 Visio 用得好?欢迎帮我把它规范绘制出来。谢谢!

不过,能说明大意就好嘛。

在这个图片备份脚本中,主要用到以下的这几个软件包。

一个是 requests ,这个软件包是负责用来从网上下载东西的。

一个是正则表达式包 re 。如果你对「正则表达式」这个名词印象不够深刻了,建议复习这篇《如何用 Python 和正则表达式抽取文本结构化信息?》

还有一个包就是 JSON,他帮你做的,是读写下载记录。

这个记录,除了实现咱们提到的增量备份,避免每次重复做无用功之外,还有一个重要用途。将来如果真的发生资料丢失,或者你不准备再使用 Roam Reserach 了,可以利用它替换你所有的 Markdown 文件。于是你的 Markdown 文件里面,就都是实打实的本地图片链接了。

执行起来的效果,是这样的。

我把这个脚本放到了 Github 上,你可以在我的公众号玉树芝兰后台回复「imgbak」,直接查看源码和下载使用。

这样一来,你就有了一个可以让你踏实安心的 Roam Reserach 备份工具。从文本到图片,全都备份在本地。

而我,也从此可以避免回答「 Roam Reserach 到底可以存活多久」、「在线笔记靠不靠谱」之类的问题了。善哉!

祝你记笔记的过程,变得更加轻松愉快!

喜欢别忘了点赞,并及时写下你的感受与评论

也欢迎你转发给亲朋好友,让他们也加入咱们的讨论中来。

别忘了关注我的专栏“玉树芝兰”,以免错过更多的更新推送。

延伸阅读

你可能也会对以下话题感兴趣。点击链接就可以查看。

  • 如何高效做文献回顾?(工具篇)
  • 如何用人工智能免费帮你改英文?
  • 如何高效读论文?
  • 如何快速写作论文初稿?
  • 如何选研究题目?

python如何让图片镜像翻转_如何用 Python 增量备份 Roam Research 笔记图片?相关推荐

  1. python在工作中怎么用_如何用python在工作中“偷懒”

    原标题:如何用python在工作中"偷懒" "偷懒还能干完活,才是本事 " 有些朋友在工作中会有这样的困惑:明明我从早忙到晚,为什么得到的评价还不高? 要知道, ...

  2. 用python写用手机发邮件_如何用python写发邮件?

    原标题:如何用python写发邮件? 1. 163邮箱 163邮箱需要设置客户端授权密码 请输入图片描述 # coding:utf-8 from email.header import Header ...

  3. python中是什么意思权重_如何用python实现熵值法求指标权重(实例)

    权重是指某一因素或指标相对于某一事物的重要程度,其不同于一般的比重,体现的不仅仅是某一因素或指标所占的百分比,强调的是因素或指标的相对重要程度,倾向于贡献度或重要性.而在我们的数据分析过程中,倘若各个 ...

  4. python词云有什么用_如何用Python实现词云效果

    如何用Python实现词云效果 发布时间:2020-06-06 10:56:57 来源:亿速云 阅读:204 作者:Leah 这篇文章主要为大家详细介绍了用Python实现词云效果的方法,图文详解容易 ...

  5. python怎样打开加密的文件_如何用Python 加密文件

    生活中,有时候我们需要对一些重要的文件进行加密,Python 提供了诸如 hashlib,base64 等便于使用的加密库. 但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而 ...

  6. 如何用python完成基本统计信息计算_如何用python计算基本统计值?

    如何用python计算基本统计值? 用python计算基本统计值的代码为def getNum(): #从控制台获取多个不确定数据的方法 nums = []; iNumStr = input(" ...

  7. 用python做一个舆情分析系统_如何用Python做舆情时间序列可视化?

    如何批量处理评论信息情感分析,并且在时间轴上可视化呈现?舆情分析并不难,让我们用Python来实现它吧. 痛点 你是一家连锁火锅店的区域经理,很注重顾客对餐厅的评价.从前,你苦恼的是顾客不爱写评价.最 ...

  8. python生僻字如何转码_如何用Python检测生僻字

    最近在工作中碰到一个需求,要求检测字段是否包含生僻字以及一些非法字符如 ~!@#$%^&*.通过网上的查找资料解决了,现在将解决的过程和示例代码分享给大家,有需要的可以参考借鉴.下面来一起看看 ...

  9. python怎么实现音乐快进_如何用PYTHON代码写出音乐【】

    如何制作MIDI(用于vocaloid 3) 我也是因为V家才来找midi的 如何用PYTHON代码写出音乐 在python-midi,每个乐谱用Pattern对象表示,乐的每个音轨(通常音乐很多轨道 ...

最新文章

  1. iOS的那个漏洞并不只是影响苹果设备CVE-2017-6975 Google称影响了所有使用Broadcom Wi-Fi SoC的设备...
  2. visio画uml类图添加自定义数据类型
  3. react钩子_迷上了钩子:如何使用React的useReducer()
  4. 计算机网络 --- 数据链路层CSMA/CD协议
  5. 【BZOJ3616】War,KD树+bitset压位
  6. 一款强大的 SQL 工具
  7. 类似金山打字的窗口打字游戏代码版--注释很多,不用讲解
  8. 人工智能导论(专家系统)
  9. 系统架构图 云架构案例
  10. 对计算机课程的总体认识,对计算机基础课程的认识(浅谈计算机基础课程教学中计算思维的培养)...
  11. AcWing237. 程序自动分析
  12. 全智通A+常见问题汇总解答—A+维修管理—维修领料,修改领料单材料归属到了另一个维修单下
  13. EF migration conflicted with foreign key constraint
  14. FilterListener(超详细)
  15. 24小时制和12小时制am Matlab,十二钟头制与二十四小时制详解
  16. SEO面试题与面试攻略,SEO面试技巧以及常见问题分享
  17. Windows Hook 易语言核心编程勾子基本理念
  18. 成绩忽好忽坏的孩子,往往缺乏良好的学习习惯--一语中的
  19. Debian 修改系统语言
  20. java采购管理系统设计_Java毕业设计——采购管理系统的设计参考

热门文章

  1. 盛夏光年——14年暑期总结
  2. csuoj 1351: Tree Counting
  3. ip找计算机名 linux,如何从IP地址中查找LAN中的计算机名称?
  4. 网易云深度学习第一课第二周编程作业
  5. simulink同步发电机模型_基于Speedgoat的永磁同步电机控制Demo
  6. 2019年9月数据库流行度排行:MySQL 强劲增长完成深 V 反转
  7. 阿里云吕漫漪:深度解析国内首个云原生数据库POLARDB的“王者荣耀”
  8. 面试官:请讲一下Redis主从复制的功能及实现原理
  9. 趣味科普丨一文读懂云服务器的那些事儿
  10. 云图说 | 3分钟创建一个游戏类工作负载