如果把所有文件放在一个目录下, 是不是会显著影响流畅性?

本贴最后更新于 1230 天前,其中的信息可能已经天翻地覆
  • 我创建的目录越来越多, 每次想要创建一个文件, 得先想, 我该把它放在哪里, 然后盯着屏幕找到那个文件夹.
  • 由于 assets 文件夹是在各个文件夹中, 如果不是同级调整, assets 路径会失效

由于标签支持多层级. 我打算将标签作为目录. 比如 path/es/search, 这样我就再也不需要考虑存放在哪里. 标签相当于虚拟路径. 而且修改起来也方便.

但是我非常怀疑这会降低流畅性. 是这样的么?

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    19846 引用 • 76073 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6899 引用 • 31128 回帖 • 227 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 如果会影响流畅性的话. 说点联想, mac 上有一个软件是 devonthink. 我感觉它就是在 finder 之上提供了一层抽象. 文件的存放路径完全不是 ui 上看到的, 这样在 ui 上随便怎么移动到某个文件夹, 真实的路径也不会变. 我感觉我可以采取类似的做法. 比如写一个脚本, 干这几件事:

    • 将目前已有的文件目录, 下的所有文件全部移到根目录, 将它的 assets 目录下的移到根 assets 下. 有点像 flatten 的感觉. 同时将原来的路径做一些去除工作后加上标签, 添加到第一行, 算是它的新的 path 标签.
    • 创建 a-z 和 0-9 这些目录, 将根目录的文件移到这些目录下. 关于 assets 有 2 种方案: 1. 只修改路径, 也就是只做文本替换, 不试图移动 assets 文件. 2. 找到它的全部 assets(这样估计会慢很多), 再创建子目录的 assets 文件, 也移动过去.
  • 我猜测移动文件应该不会改变文档 id, 文档 id 和块 id 是写在文件中的, 以这种方式持久化. 但真的是每次启动软件实时读入每个文件的 id 的么? 我担心移动文件会使文档链接失效.

  • 关于这种做法还有一个好处是, 可以创建一个索引页, 不加任何考虑(有考虑是什么样呢?我得创建在哪个文件夹下)地在这个索引页中用 ((name 创建一个新的页面, 至于如果需要组织, 就直接改改标签.

  • 继续这个脑洞, 想到 notion 就有这样的抽象(毕竟它不是本地笔记). 别管这页是啥内容, 该放在哪里, 我只知道我需要在这个位置插入它. 有这样的一种连接关系.

    想到这一点, 那么其实用标签作虚拟路径都不必了. 直接创建一个索引页面, 里面是各个笔记的链接. 如果不满意, cut paste 放到另一个位置就行了.

  • 说一个相关方面的:我觉得文件树不会是很好的大数量的文件管理方式,尤其是从笔记应用来好像更是如此。之前有一个想法就是建立一个个人主页:用文件树 + 图状文件链接来管理,但是感觉也不是特别有效。

  • 这个问题困扰了我好久, 那就是, 我是做了笔记, 但是我怎么才能在需要的时候找到它. 目前我的想法, 也是当前做法, 就是: 创建了 index 页面, 以事件组织起来. 如图:

    image.png

    而且还可以加入更多属性, 比如创建时间, 结束时间, 总之添加啥描述信息都行.

  • 可以先放在一个临时目录,后面在整理?

  • 关于 assets 文件夹的问题,移动文档时,对应的 assets 文件应该是会自动复制在目标文件夹中,这个不用担心

  • adlered

    玄学问题,固态硬盘不考虑多目录导致的流畅性影响。同样目录下的文件也会产生文件碎片。

请输入回帖内容 ...

推荐标签 标签

  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6899 引用 • 31127 回帖 • 226 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    171 引用 • 813 回帖
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 709 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    140 引用 • 441 回帖 • 1 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    164 引用 • 594 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    713 引用 • 1174 回帖 • 116 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖 • 1 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 442 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    106 引用 • 152 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    138 引用 • 268 回帖 • 145 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 507 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    165 引用 • 407 回帖 • 516 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    536 引用 • 672 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 708 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 610 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    60 引用 • 287 回帖
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 407 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 178 关注
  • 创业

    你比 99% 的人都优秀么?

    83 引用 • 1398 回帖 • 2 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 126 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 398 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    493 引用 • 1385 回帖 • 338 关注
  • 博客

    记录并分享人生的经历。

    272 引用 • 2386 回帖
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    122 引用 • 73 回帖
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 616 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖