小编rpm*_*rtz的帖子

Twitter Typeahead.js - 选择后删除数据

我正在使用typeahead.js 0.9.3并且它正在游泳.我的问题是,是否可以在"typeahead:selected"事件(或任何事件)上从数据集中删除数据.

prefetch在页面加载时使用Typeahead 选项获取数据集中的数据.我知道我可以调用$('selector').typeahead('destroy')并重新使用typehead并filterprefetch对象中使用a ,但是重新调用数据似乎相当重要(我们不会在本地存储中缓存数据).

我想我正在寻找类似于filter函数的东西来遍历基准数组并删除先前选择的(或所有选定的)基准.看起来没有类型的公共功能可以做到这一点,但也许我错过了它.

我通过typeahead的文档阅读并在此搜索但未找到答案.

编辑:我解决了直接的问题,通过切换prefetchlocal和使用AJAX post调用来获取数据,将其设置为全局变量然后传递给typeahead我,在那里我可以从全局数据数组中添加/删除项目,然后销毁/根据需要重新开始先行.远非理想,但它的工作原理.

javascript typeahead.js twitter-typeahead

9
推荐指数
2
解决办法
5086
查看次数

具有独占启动密钥的DynamoDB全局二级索引

通过全局二级索引查询DynamoDB表时是否可以指定独占启动键?

我正在使用aws-java-sdk版本1.6.10并使用a QueryExpression和a 执行查询DynamoDBMapper.这是我要做的事情的要点:

MappedItem key = new MappedItem();
item.setIndexedAttribute(attributeValue);

Map<String, AttributeValue> exclusiveStartKey = new HashMap<String, AttributeValue>();
exclusiveStartKey.put(MappedItem.INDEXED_ATTRIBUTE_NAME, new AttributeValue().withS(attributeValue));
exclusiveStartKey.put(MappedItem.TIMESTAMP, new AttributeValue().withN(startTimestamp.toString()));

DynamoDBQueryExpression<MappedItem> queryExpression = new DynamoDBQueryExpression<MappedItem>();
queryExpression.withIndexName(MappedItem.INDEX_NAME);
queryExpression.withConsistentRead(Boolean.FALSE);
queryExpression.withHashKeyValues(key);
queryExpression.setLimit(maxResults * 2);
queryExpression.setExclusiveStartKey(exclusiveStartKey);
Run Code Online (Sandbox Code Playgroud)

这会导致400错误,指出指定的开始键无效.TIMESTAMP是表索引和全局二级索引的范围键,属性值对是有效的(即表中有一个项目,其值作为索引的哈希和范围键传递,属性传递为索引是全局二级索引的哈希键).

有什么我错过了或这是不可能的?

java amazon-web-services amazon-dynamodb

7
推荐指数
3
解决办法
9982
查看次数

Chrome和Safari缓存302重定向

已经提出过各种各样的风味,但我还没有看到真正的答案.

我们有一个单独的图像服务,我们的网络应用程序用它来获取它的一些图像.图像服务经过了充分测试,运行正常.为了使它具体化,我们的应用程序来自domain.com.所述src的元件img的元件是images.domain.com/{imageId}.图像服务检索图像的URL并发回图像的HTTP 302重定向.

该应用程序允许用户更改图像.因此,假设用户5将图像A作为个人资料图像,并决定通过上传图像来更改图像B.当用户上载映像时,应用程序缓存将正确无效并更新数据库.应用程序执行标准重定向后POST,用户在更改其图像后重定向到的页面中的一个元素如下所示:

 <img src="example.domain.com/5">
Run Code Online (Sandbox Code Playgroud)

问题是Chrome example.domain.com/5在初始重定向或定期重新加载页面时从不调用来检索图像,它只是提供A来自浏览器缓存的图像. 单独调用以example.domain.com/5正确返回图像B,以及硬刷新或清除Chrome的缓存会强制Chrome请求图像src,从而正确返回图像B.请注意,我不是在谈论在收到304 Not Modified回复后从缓存中提供任何一个图像,我说的是Chrome决定不访问该文件img src而只返回图像A.此外,附加了一些独特的查询字符串到imgsrc属性可以解决问题,但就是这样,我们宁愿没有做一个黑客.

值得注意的是Firefox最初也在做同样的事情.Cache Control最初的响应中没有标题.我们在响应头中添加了一个Cache Control: no-cache标题(并尝试no-store过),这修复了Firefox中的行为,但Chrome和Safari仍然提供过时的缓存图像而不调用图像src.

看起来这是Chromium中长期存在的错误(https://code.google.com/p/chromium/issues/detail?id=103458),据称大约在6周前修复了,但我们使用的最多Chrome的更新版本.

我们已经在这里这里查看了答案,但他们实际上并没有回答这个问题.

根据RFC 2616的14.9.1节:

如果no-cache指令没有指定字段名,那么缓存绝不能使用响应来满足后续请求,而不能成功地与源服务器重新验证.这允许源服务器甚至通过已配置为返回对客户端请求的陈旧响应的缓存来防止缓存.

除非我们遗漏某些内容或做错了什么,否则Chrome(和Safari)似乎不遵守重定向no-cache …

html safari caching google-chrome http

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

动态规划:最优二叉搜索树

好吧,我希望有人可以向我解释一下.我正在攻读决赛,我无法解决问题.

问题是动态编程; 构造最优二叉搜索树(OBST).我理解一般的动态编程和特别是这个问题的概念,但我不明白这个问题的递归形式.

我得到的是,我们正在为这些节点中不断增加的子集构建最优二叉搜索树,并在我们继续时将答案保存在表中以避免重新计算.当你在a_ {k}根树时,我也得到了这一点,所有来自a_ {1}到a_ {k-1}的成功节点以及它们对应的虚构不成功节点(即树的叶子)都在左子树,然后右子树中的子树是a_ {k + 1}到a_ {n}.

这是我不明白的等式的递归形式:

c(i,j)= min(i <k <= j){c(i,k-1)+ c(k,j)+ p(k)+ w(i,k-1)+ w(k + J)}

其中w(i,j)= q(i)+从i + 1到j的总和(q(1)+ p(1)).

所以在c(i,j)中,从左到右,我们有左子树的成本+右子树的成本+成功搜索root + w(i,k-1)+ w(k + j)的概率.

我的困惑是c(i,k-1)与w(i,k-1)的区别.

文本是Horowitz,Sahni和Rajasekeran的计算机算法,但我也读过OBST上的CLRS并在线搜索,我所遇到的任何内容都没有很好地解释这些部分之间的差异.

algorithm computer-science binary-search-tree

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

无法在情节提要中更改自定义UICollectionViewCell

我有一个UICollectionView自定义UICollectionViewCells。首次制作时,我使用Interface Builder(通过XCode 8)来调整集合视图和单元的大小。

现在,我试图调整单元格的大小,但无法在Interface Builder中进行调整(使用XCode 9)。我无法在集合视图本身或自定义单元格上调整单元格的宽度或高度。向上/向下箭头不执行任何操作,也不输入任何值。它只是保持在145。

我看到了一些关于不能使用UICollectionViewControllervia Interface Builder 来完成此操作的答案,只有a UICollectionView,但这不是一个集合视图,而没有UICollectionViewController

我确定XCode 9中缺少一些新的设置/配置,但是我无法弄清楚为什么我不能调整自定义值。

xcode interface-builder ios

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

Maven没有进行硒测试

您好我正在尝试使用Maven运行JUnit测试.

public final class CreateAllObject {
    public static final String INIT_URL = new String("http://fpt2:8080/webTest/");


@BeforeClass 
public static void initialisation()
{
    Driver driver = new Driver(PROFILE_PATH);
    driver.getDriver().get(INIT_URL);
    driver.getDriver().findElement(By.xpath(ADMIN_ARM_XPATH)).click();
    BASE_URL = driver.getDriver().getCurrentUrl();
    driver.getDriver().close();
    try {
        new File("C://logfiles//").mkdirs();
        log_work = new BufferedWriter (new FileWriter(
                                       new File("C://logfiles//" + 
                                       new SimpleDateFormat("dd.MM.yyyy 'at' HH-mm-ss").format(
                                       new GregorianCalendar().getTime())+".log_work")));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

    @Test
public void test()
{
    Driver driver = new Driver( PROFILE_PATH );
    ...
}

@AfterClass
public static void destruction()
{
    try 
    { …
Run Code Online (Sandbox Code Playgroud)

java junit selenium maven

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