昨天刚求助完,无果,一条条重新搬运回来一组丢失的笔记。
今天有凭空消失了两组...........为什么会这样子?



昨天刚求助完,无果,一条条重新搬运回来一组丢失的笔记。
今天有凭空消失了两组...........为什么会这样子?



复制整个工作文件夹又都是明文的内容,导出的话只能算是备份的一种方式吧。
为啥不复用现在的 sync 逻辑呢?理论上就是把文件的 api 上传下载换成文件系统的写入读取吧,这个应该更容易才对。背后用 google drive,icloud 之类的客户端做云备份。
突然有了一个点子,我之前提到的一个关于笔记本加密的: 可不可以考虑支持对单个笔记本加密?
这种「加密的笔记本」是不是可以总是「优先」从“sync”的目标读取,然后所有数据都放在内存中,这样就解决明文保存的问题了。 因为 “sync”的目标总是加过密,只要解密之后的笔记本不落盘就可以了
不行,对于「笔记本的上锁」的目的是打开笔记本的时候需要「输入密码」。
第二个截图中 数据历史 - 已删除的笔记本 时间是 3 号 20:07:54,在日志中找到了对应的记录:
I 2024/06/03 20:07:54 mount.go:145: removed box [20240603200211-y9bkbgw]
说明是人为手动删除的。
今天凌晨最后一份快照 2f4aae289b0068d371ab09aac5752e2c4a7ae26f,文件数量是 4062,
I 2024/06/04 01:11:09 ref.go:50: got local latest [device=b292b2e7-0dee-4d87-9d0b-ff287716c1c7/windows, id=2f4aae289b0068d371ab09aac5752e2c4a7ae26f, files=4062, size=6.37 GB, created=2024-06-04 01:01:31]
...
I 2024/06/04 01:11:10 sync.go:1581: got cloud latest [device=b292b2e7-0dee-4d87-9d0b-ff287716c1c7/windows, id=2f4aae289b0068d371ab09aac5752e2c4a7ae26f, files=4062, size=6.37 GB, created=2024-06-04 01:01:31]
这次同步后就退出程序了,今天早上 10 点第一次同步是本地快照和云端快照都没有变,还是 2f4aae289b0068d371ab09aac5752e2c4a7ae26f,从这以后一直到日志结束,文件数量没有变化过,一直是 4062,并且日志中没有出现 local remove,即这段时间内本地没有删除过任何文件,所以文件数量没有变化。
截图中楼主描述有两个笔记本不见了,我猜测是被关闭了,建议在 已关闭的笔记本中 找一下。
我的意思是,就像这个楼主遇到的情况,有可能触发了某些「诡异」,让他正在经历丢数据的痛苦中。
如果我遇到这种情况,那么会「导出」一份数据,然后把原来的「笔记软件」和「笔记数据」全删除了,然后重新安装一份,从本地 sync 回来。
而且支持 sync 到本地,那么我的 google drive 和 icloud 也可以用来备份数据了。这个也是我使用了很多笔记软件它们的套路,非常适合小白用户的。
你看,我这样想对不对。如果有时候因为插件,或者逻辑缺陷,导致思源笔记在做一些错误的数据删除,那么此时你的数据是"绝对不安全"的。因为本地的修改会被同步到 s3 云上,云上的数据也会经历删除。
那么我作为一个用户第一步应该先本地备份一下我的数据,再排查问题。这样我只要保证第一份备份在,数据总有回复的一天。
在出故障的时候,就不太能相信软件内的快照了。
第一个还好吧,一个「馊主意」是在思源软件本地内支持一个「webdav」把读写交给他,sync 本地的目录作为 webdav 的目录。这样问题就又变成一个 web 问题了,可以避开不同平台、系统的文件 api 了,反正笔记内置了一个 http 服务器的。
第二个的话,我之前本来也想提的,后来想想没啥必要(虽然我常用的 DevonThink 可以支持多个备份源的)。我是一开始用 webdav,后来加了一个 s3,发现只能 enable 一个。这个倒不是什么大问题,也没必要搞那么多备份。
前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。
Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。
Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用 。
GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。
CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。
webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。
Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。
Latke 是一款以 JSON 为主的 Java Web 框架。
Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。
Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。
链滴是一个记录生活的地方。
记录生活,连接点滴
Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。
单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。
DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。
Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.
GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。