小编Jor*_*eña的帖子

将骨干集合与服务器响应合并

TL; DR:如果我从服务器轮询整个模型集合,如何将更改的属性合并到每个模型中,并从集合中添加/删除添加/删除的模型?

在我的骨干应用程序中,我正在轮询整个模型集合.我有一个Backbone.Collection我基本上reset每次得到模型数组时都会调用,所以:

myCollection.reset(server_response);
Run Code Online (Sandbox Code Playgroud)

唯一的问题是它摆脱了旧模型,消除了模型上事件的好处.这reset当然是目的,但我想要做的只是修改模型的已更改属性,并删除不在响应中的模型,并添加响应中但不是集合的模型.

基本上我想要一种数据合并.

对于已经在响应中和集合中的模型,我相信我可以这样做model.set(attributes),它只set处理实际更改的模型,触发change流程中的事件.这很棒.

但是,我如何处理模型在响应中但不在集合中的情况,反之亦然,不是在响应中而是在集合中?

我建议的解决方案

我不知道骨干是否已经有办法做到这一点,我可能会过度复杂,这就是为什么我要问,但我当时正在考虑在我的集合上创建一个方法来传递server_response.

它会得到所有的id属性server_response,以及所有id模型的属性已经在收集.

id响应中的差异- 收集将=添加模型,反之亦然将被移除模型.分别从集合中添加和删除这些模型.

两组的交集id将是修改后的模型,所以迭代这些id并简单地做一个collection.get(id).set(attributes).

在pseudocoffeescript中:

merge: (server_response) =>
  response_ids = _.pluck(server_response, 'id')
  collection_ids = @pluck('id')

  added = _.difference(response_ids, collection_ids)

  for add in added
    @add(_.find(server_response, (model) ->
      return model.id == add
    ))

  removed = _.difference(collection_ids, response_ids)

  for remove in removed
    @remove(@get(remove)) …
Run Code Online (Sandbox Code Playgroud)

coffeescript backbone.js

6
推荐指数
1
解决办法
3607
查看次数

C#中的多部分下载?

请原谅我对这个问题的无知.

我想用C#编写一个应用程序,可以像DownThemAll一样从服务器上下载文件.DownThemAll似乎打开四个连接到HTTP服务器下载相同的文件.我只是想知道是否有任何现有的库可能会这样做.

以下是他们网站关于此功能的引用:

DownThemAll采用称为"多部分下载"的智能下载技术.它将文件分成多个部分,可以同时下载.

我还希望能够暂停/恢复下载.这是我想要的基本功能,我不一定需要一个完整的下载管理器库,但如果有一个可以做这些事情,那么我也很想知道它们.这些文件位于使用lighttpd托管的受密码保护的目录中,因此我还需要一些方法来验证自己.

如果没有我可以使用的任何预先存在的库,那么我应该研究哪些.net类可以做到这一点?

谢谢!

编辑:将标题重新编辑为更合适,并在DownThemAll网站上添加了引用,解释它是什么.

第二次编辑:我相信目前为什么svens发布了最合适的答案,虽然作为评论:/这是我的错,因为我错误地标题,因为我不知道我在说什么.他发布了一篇关于HTTP下载暂停/恢复的文章.它还讨论Range了我认为我应该使用的标题:

Range标头能够在一个请求中请求多个范围,这个功能称为"多部分范围".不要将此与分段下载混淆,几乎所有下载工具都使用分段下载来提高下载速度.这些工具声称通过打开两个或多个同时连接来提高下载速度,每个连接请求不同范围的文件.

所以我认为我想使用该范围同时下载文件的某些部分.然后,这可能没有任何优势,只需一次下载文件.我会这样做,并允许暂停/恢复.

多谢你们!

PS svens,继续并发表评论作为答案,以便我可以接受它,如果你想.

.net c# lighttpd http download

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

刮擦和解析维基百科页面

我想知道在Objective-C中是否存在任何现有库或者可以从Objective-C访问哪些库,这样我就可以抓取像这样格式化的页面.具体而言,所有日期和每个日期旁边的所有文本.如果没有,那么最好的方法是什么?常用表达?我听说NSString可能已经有了内置的方法.这是真的?

我在四处寻找是否有任何替代方法,例如XML文件或API.我找到了一个API,但我看到的唯一客户端是其他语言,他们似乎只能将内容发布到页面而不是检索它.

编辑:所以我在这些链接上找到了有关API的更多信息:

我能够提出这个请求,返回一些HTML编码的文本(格式是XML,但它包括页面的文本»a href=等等.我将继续查看文档,看看我是否可以使这个文件出来好一点,如果没有,是否有解析这个的建议?

编辑2:好的,所以感谢这个doc页面,我能够检索数据的最简单,最简洁的方法是使用这个构造的链接返回相关部分的原始数据(在wiki标记中).但是,我想我需要解析它,但如果确实如此,它应该比整篇文章容易得多.

有没有人对解析wiki标记有任何建议,例如Objective-C中的以下内容?

==Events==
* [[710]] – [[Saracen]] invasion of [[Sardinia]].
*[[1275]] – Traditional founding of the city of [[Amsterdam]].
*[[1682]] – [[Philadelphia]], [[Pennsylvania]] is founded.
Run Code Online (Sandbox Code Playgroud)

我最终想要的是,我想一个NSDictionary或类似的集合将存储日期与附带的信息片段.谢谢!

parsing wikipedia screen-scraping objective-c wikipedia-api

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

iPhone:设置应用程序以用作"In App Purchase"

关于In App Purchases,我可以找到很多关于实际购买和与商店互动的技术细节的信息(如何检索产品信息,验证收据等),但我似乎无法找到关于指南的信息或准备实际"应用程序"或"组件"的特殊说明,无论它们是否被考虑,它们将充当In App Purchase.

例如,一旦将组件下载到应用程序中,它在应用程序的整体架构中存在于何处?他们如何结合起来联合起来?他们如何相互了解.如果我有游戏,并且使用In App Purchases,我允许用户同时下载新级别,还可以下载可影响任何内置或下载级别的新游戏模式,如何准备所有这些资产,以便他们整合?

我本身并不是在寻找一个教程,但是很想知道是否有人有过In App Purchases的经验,或者除了Apple的In App Purchase编程指南之外还知道一个有用的参考资料,该指南仅涉及实际下载的细节交易.

iphone in-app-purchase

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

隐藏框阴影的部分

免责声明:我已经看到以下问题,他们的解决方案并不适用于我,即使他们是非常相似的情况:

简单地说,我想加-moz-box-shadow0 0 10px.current_page_item是在顶部应用于当前活动标签的标签导航类我的网站.该网站尚未包含实际的盒子阴影或任何这些更改,我在实际发布它们之前,现在只在firebug中使用这些修改.当然,这会导致阴影出现在所有方面,因此底边的阴影重叠到.contentdiv中,div存储了博客的所有实际内容,即帖子.

根据我迄今所看到的,好像我应该设置z-index的东西,不知道(我都试过ul.menu)转移到了低,z-index中的.content股利高的东西,但是这似乎没有任何效果.

我只是想知道这是否是正常行为,如果没有,如果有人可以帮我解决这种情况.

谢谢,我真的很感激.

编辑:我box-shadow之前提到过,但我的意思是各自的具体指令,例如-moz-box-shadow.那不是我遇到的问题.

css css3

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

获取行时间戳列为2天的行

嘿伙计们,我有一个表在sqlite3中有一个带有时间戳的列.默认情况下CURRENT_TIMESTAMP,当插入行时,插入当前时间.现在我正在尝试获取2天前或更早插入的行.我想知道这是否有意义.

阅读我提出的文档:

SELECT * FROM test WHERE timestamp < strftime('%s', '-2 days')

但显然这是错的.我想出了这个查询,因为这与我在实际代码中进行测试的方式类似:

strtotime($timestamp) < strtotime("-2 days").

但我希望sqlite3包含一些针对此类情况的内置检查.

谢谢,我感谢任何回复.

编辑:想出来:SELECT * FROM test WHERE timestamp < date('now', '-2 days')

我会保持这个开放,以防有人能提出更好的东西.

sql sqlite timestamp

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

如何使用jquery在rails中加载html片段?

我想知道如何jQuery.load通过模型的show动作返回HTML片段.例如,$("#container").load("/posts/34").这个问题是它返回我希望嵌入在布局中的视图,就像我在浏览器中访问该URL一样.我只是PostshowHTML片断.

谢谢!

澄清:我希望show视图show在我的浏览器中执行操作时继续在应用程序布局中呈现.我只想弄清楚当我想用jQuery异步加载它时如何获取show视图的html .我已经看过他们创建的指南,show.js.erb然后在那里渲染html视图,但对我来说这似乎很麻烦,为javascript转义所有html.如果这是接受和正确的方式,虽然我想我会遵循标准.我只是想知道是否有可能只获取特定视图的html.

ajax jquery ruby-on-rails

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

全新的Mac,我应该使用Macports吗?

得到一个新的mac,需要准备开发.我听说macports很棒,我应该用吗?它比手动下载和编译更容易吗?有人使用它有什么问题吗?

它适用于典型的ruby web开发.

谢谢

macos macports package-managers

4
推荐指数
2
解决办法
2451
查看次数

仅接受有效时间

好吧,在Java中我想以24小时格式询问用户一段时间.我已设法利用DateFormatSimpleDateFormat告诉它输入时间的格式,然后相应地解释它,如果它不遵循该格式则抛出异常.这是我有的:

DateFormat fmt = new SimpleDateFormat("HH:mm");
Scanner keyboard = new Scanner(System.in);

try {
    String input = keyboard.nextLine();
    Date theDate = fmt.parse(input);
    System.out.println(theDate.toString());
} catch (ParseException e) {
    System.out.println("Incorrect format!");
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

如果我输入一个单词,它确实会引发异常.但是,如果我键入类似234234:2342342实际的内容并进行数学计算以确定这些小时和分钟相等的天数,则输出实际日期.例如,给定输入:

input: 23423423:232323
output: Fri Jul 29 07:03:00 PDT 4642
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法将此视为例外.所以我想只接受格式化程序指定的内容(H 0-23和m 0-59),如果它不属于这些边界,则抛出异常或有某种了解方式.我想知道的是,如果有一种方法可以在我正在使用的格式化程序类中执行此操作,或者是否应该使用Scanner类(如何?),或者如果我必须自己编写解析和验证代码.我接近这个完全错了吗?我目前正在尝试各种可能性,所以如果有更好的方法请告诉我.

谢谢!

java validation time parsing input

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

每个循环都有未使用的变量警告

我有一个由此创建的NSNumber对象数组:

        myArray = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithDouble:0.0],
                [NSNumber numberWithDouble:0.0],
                [NSNumber numberWithDouble:0.0],
                [NSNumber numberWithDouble:0.0],
                [NSNumber numberWithDouble:0.0], nil];
Run Code Online (Sandbox Code Playgroud)

(虽然刚发生在我身上,我本可以做到的

myArray = [NSMutableArray arrayWithObjects: object1, etc..., nil];
Run Code Online (Sandbox Code Playgroud)

并完全跳过了alloc.哪个更好?)

无论如何,这与我的问题相关:

在应用程序的整个生命周期中,值都会发生变化.在某一点上,我想将它们全部重置为零.我现在就是这样做的:

 for (NSNumber *number in myArray) {
     number = [NSNumber numberWithDouble:0.0];
 }
Run Code Online (Sandbox Code Playgroud)

但静态分析器会发出警告,因为它认为"数字"是一个未使用的变量(技术上是 - 设置然后再也不用).有没有更好的方法将阵列的所有元素归零?也许用新的阵列替换阵列?什么是最快的,避免静态分析警告?

iphone objective-c ios4 ios

3
推荐指数
1
解决办法
1789
查看次数