- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想为自己创建一个小应用程序来存储想法(问题是 - 我希望它按照我的方式行事)
我想简单一点:
id - unique id of revision in database
text_id - identification number of text
rev_id - number of revision
flags - various purposes - expl. later
title - self expl.
desc - description
text - self expl
.
rb;65
,而不是存储整个文本,我只是说,每当我要求最新修订版时,我都会再次进入数据库并检查修订版 65 问题:这个设置是最好的吗?存储差异或整个文本更好吗(我知道,空间很便宜......)?该修订标志是否有意义(仅复制文本是否更好 - 更多磁盘空间,但更少 db
和 php
处理。
我在想,我会在这里使用 PEAR。虽然要点是 open-edit-save
,但查看修订的可能性并不难编程,并且在某些情况下可以挽救生命(好主意被删除,保存错误的版本等) ...)。
然而,我从未在长期或全项目关系中使用过 PEAR,然而,在我之前的经历中短暂的接触留下了相当糟糕的感觉——我记得,它实现起来太难了,太慢了,而且太庞大了一起玩,不知道有没有更好的。
更新:似乎有更多的文本差异预制库,有些甚至比 PEAR 更轻量级,所以我可能不得不深入研究一下。
尽管有无数种时间/项目/想法管理工具,但对我来说,一切都缺少一些东西,无论是与用户共享、在更多 PC 上同步、时间跟踪、项目管理……而且我相信,这篇文章diff webapp 稍后将用于内部使用各种不同的工具。因此,如果您知道任何支持大量文本使用且具有良好 UI 的项目管理应用程序,请告诉我,这样我就可以节省时间去做比重新设计 weel 更好的事情。
最佳答案
我认为您的问题只是归结为一行(如果还有其他问题,请告诉我,我会补充):
Is it better to store the diff, or whole text (i know, space is cheap...)?
除非你真的需要节省空间,否则存储整个文本肯定更好。查看文本将是比检查差异更常见的操作,如果某些内容有很多修订,那么为最新版本“构建”文本可能是一个重要的过程。想象一下您在其中进行了数千次修订的频繁使用的页面,并且“全文”仅与原始内容一起存储。然后,您必须处理数千个差异才能查看最新文本,而不是直接从数据库中提取它。
如果您想妥协,每次计算任意两个修订版之间的差异时,将其存储在单独的表中。然后你只需要计算一次任何给定的差异,所以下次你查看相同的差异时它会是即时的。如有必要,可以每隔一段时间修剪一次该表,以删除长时间未访问的差异。
关于php - 如何创建文本差异 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2581116/
我是一名优秀的程序员,十分优秀!