我处于rails的开始阶段,想要构建像37Signals write board这样的东西,这样我就可以学习并感觉“完成”,但不知道从以下几个方面开始:
答案 0 :(得分:1)
虽然我显然无法回答37Signals的实施情况,但这是我的想法:
由于写板支持编辑以格式化形式存储降价,这意味着无论何时有人编辑降价,您都必须将格式化的html还原为降价。我非常怀疑这将是一个很好的理想,虽然有人可能会争辩说,如果编辑到无编辑的比例非常小,那么性能优势(因为你不必将降价转换为html)将标记存储格式化将是一个休息优势。您也可以选择在数据库中同时使用该版本,或仅在缓存中使用格式化版本。
由于写字板可能会变得非常大,您可能会存储每个版本的差异(参见3.)以及完整的最新版本。这样,无论何时显示写入板,您都可以使用完整的最新版本,并且您不必从差异构建它,同时通过不以完整形式存储每个修订来节省空间。
您可以使用diff,这是在vcs中完成的,如svn和git,diff为您提供两个文本文件之间的区别:哪些字符已更改,插入和删除。