小编bri*_*n h的帖子

Backbone.js:如何在Backbone Collection中获取模型的索引?

有没有办法在集合中找到模型的索引?

让我们说在一个视图中我们有一个我们正在研究的模型,该模型是否可以在其当前内部的集合中吐出它的索引?我想这样做是因为我想访问当前目标上方或下方的模型.

换句话说就是这样的:

index = this.model.index
modelAbove = this.collection.at( index-1 )
Run Code Online (Sandbox Code Playgroud)

我的数据是嵌套的,所以我可以在"lft"或"rgt"列上进行搜索,但如果Backbone已经拥有此信息,我不想重新发明轮子.

backbone.js

119
推荐指数
1
解决办法
4万
查看次数

如何使用undo-redo设计SQL数据库?

我正在试图弄清楚如何设计我的数据库表以允许Undo-Redo.

假装您有一个具有以下结构的任务表:

id <int>
title <varchar>
memo <string>
date_added <datetime>
date_due <datetime>
Run Code Online (Sandbox Code Playgroud)

现在假设在几天内进行多次登录并进行了多次编辑; 但是用户想要回到其中一个版本.

  1. 您是否有一个单独的表来跟踪更改 - 或 - 您是否会尝试将更改保留在任务表中("ghost"行,因为缺少更好的术语)?
  2. 您会跟踪所有列还是每次更改的列?

如果重要,我正在使用MySQL.此外,如果重要,我希望能够显示历史记录(ala Photoshop)并允许用户切换到任何版本.

奖金问题:您是保存整个memo单元格的更改还是仅尝试保存delta?我问的原因是因为memo单元格可能很大,每个修订版本只能更改一个单词或字符.当然,保存delta需要解析,但如果不经常预期undos,那么节省空间而不是处理时间会不会更好?

谢谢您的帮助.

mysql sql undo-redo audit-tables delta

10
推荐指数
1
解决办法
3102
查看次数

Web浏览器作为Web服务器

抱歉,这是一个愚蠢的问题,已经被问到了,但我什至不知道最好搜索哪个术语。

我遇到一种情况,云应用程序会将SPA(单页应用程序)交付给客户端Web浏览器。多个客户端可以一次连接,并且都可以在同一网络中工作。一个示例就是企业用于协作的应用程序-全部都在同一物理空间内(全部在同一网络上)。

令人担心的是,互联网连接可能参差不齐。我知道我可以将客户端更改存储在本地,然后在恢复连接后将其全部推送到服务器。但是,问题在于某些客户端(显示系统)将需要显示来自其他客户端(移动输入系统)的最新数据。如果互联网中断一两分钟,那将是无法接受的。

我目前的思路是,本地网络需要某种“ ThinServer”,所有客户端都可以连接到该服务器。然后,该ThinServer将充当主云服务器的代理。如果互联网中断,则ThinServer将接管同步数据的工作。由于所有客户端都是完整的SPA,因此移动的唯一内容就是数据-因此ThinServer确实只需要同步数据库信息(它可能不需要托管完整的SPA-不过,这并不是一个完整的SPA。坏事)。

但是,对于大多数公司而言,配备完整的专用服务器显然是一大障碍。

所以问题是,是否有任何技术可以让网页充当网络服务器?是否可以指示企业thinserver.coolapp.com在其任何一台计算机上的浏览器中进行访问?然后,该“网页”将显示“该网络中的所有客户端都应连接到192.168.1.74:2000”(这是运行此页面的计算机的IP:端口)。然后,所有客户端都将连接到该新的“服务器”,并且如果Internet中断,该服务器将充当数据协调器。

换句话说,我真的不喜欢复杂的服务器设置的想法。只需一个简单的URL即可启动服务。

我想唯一的选择可能必须是需要安装的二进制程序?这不是理想的解决方案-也许是唯一的解决方案?如果是这样,他们是否有任何单击Web服务器的程序?我尝试过MAMP,LAMP等,但是它们都是为开发人员设计的。还有其他更精简的吗?

感谢您的任何想法!

browser connection networking synchronization

5
推荐指数
1
解决办法
2355
查看次数