小编Rob*_*sen的帖子

如何导出Vagrant虚拟机以进行传输

我有一个流浪盒正在运行(配置了LAMP堆栈).我需要将它转移到另一台PC.我该如何出口?我想我可以得到一个可以复制到另一台PC的文件(或文件),所以我可以运行一些命令来导入流浪盒.

virtualbox virtual-machine vagrant

100
推荐指数
4
解决办法
9万
查看次数

Google协作平台API全文搜索不适用于非西方语言

在我的JavaEE应用程序中,我使用基于Atom的Google Sites API从非公开的Google站点检索内容.从本质上讲,我们将Google网站用作轻量级CMS,并且在应用程序中我使用API​​检索网站内容以提供我的在线帮助系统.我有一段时间没有这个设置,它的工作没有任何障碍.

问题

在我的应用程序中,我需要为在线帮助系统添加全文搜索功能.我知道此功能请求会在某个时刻出现,因此在决定使用Google协作平台托管我的内容时,我检查了Sites API是否支持全文搜索.确实如此.例如,以下URL将在整个站点中搜索my-site包含该关键字的页面user.

https://sites.google.com/feeds/content/my.doma.in/my-site?q=user
Run Code Online (Sandbox Code Playgroud)

这有效,并给我预期的结果页面.但它只针对用西方语言编写的内容,或者更具体地说,用空格和标点符号分隔标记/单词的语言.当我在日语内容上运行类似的搜索时,搜索关键字????:

https://sites.google.com/feeds/content/my.doma.in/my-site?q=%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC
Run Code Online (Sandbox Code Playgroud)

我将只获得结果页面,其中搜索词显示为裸字符串,即由空格或标点符号分隔.由于日语是一种用脚本连续编写的语言,这还不够.包含的页面,例如:

自身ごのユーザー基本情报の确认

不会出现在结果中.因此,似乎在幕后使用的搜索索引是基于"西方"词汇规则创建的,并且日语内容未正确标记化.但是,当我从Google网站的" 搜索此网站"字段中搜索相同的关键字时,我确实得到了正确的结果.我得出结论,存在一个正确的标记化索引,但似乎不可能将它用于基于API的搜索.

到目前为止我尝试过的

为了解决这种情况,这些是我迄今为止探索过的途径:

  • 我试过在Google协作平台中寻找语言设置.有一个通用的UI语言设置已经设置为日语,并且对API查询结果没有影响.没有每页或每模板语言设置来强制索引器/标记器的手.
  • 我试过用双引号引用搜索字符串("????").
  • 我试过包含通配符(*????*).
  • 我已经使用其他语言的参数,在其他谷歌API是常见的URL尝试:lang,hl(界面语言), rl(结果语言)..
  • 我尝试过创建一个Google 自定义搜索引擎,但似乎无法让它在非公开的Google网站上运行.

所以...

我在这里很快就没有想法了.在最糟糕的情况下,我最终将不得不自己检索,标记和索引所有内容,并使其可以通过这种方式进行搜索.由于这需要大量工作,我想知道是否有人遇到过同样的问题,并找到了可接受的解决方法或解决方案.


更新1

我还没有找到针对此问题的优雅解决方案,因此我在Google Apps API问题跟踪器上提出了一个缺陷:https://code.google.com/a/google.com/p/apps-api-issues/issues /细节?ID = 3780

更新2

在经过一些反复来回之后,谷歌的工程师们已经承认问题确实存在于所描述的范围内,并且已经"在内部提交了问题".缺陷票一直停留在被分流状态至今.如果您和我一样有兴趣看到此问题已解决,请花点时间在Google的问题跟踪器上加注星标/投票.

full-text-search google-sites tokenize google-data-api

67
推荐指数
1
解决办法
907
查看次数

如何使Array.indexOf()不区分大小写?

我正在为一个网站制作一段代码,该网站将在数组中包含一个名称列表,并选择一个随机名称,我想添加一个功能,让用户在数组中添加或删除一个名称.我拥有所有这些功能,但在删除名称时,用户必须键入名称以匹配数组中的Case.我试图这样做就是Case-Insensitive,我做错了什么?

<html>
<!--Other code uneeded for this question-->
<p id="canidates"></p>
<body>
<input type="text" id="delname" /><button onclick="delName()">Remove Name from List</button>
<script>

//Array of names

var names = [];

//Other code uneeded for this question

//List of Canidates
document.getElementById('canidates').innerHTML = 
"<strong>List of Canidates:</strong> " + names.join(" | ");

//Other code uneeded for this question

//Remove name from Array

function delName() {
    var dnameVal = document.getElementById('delname').value;
    var pos = names.indexOf(dnameVal);
    var namepos = names[pos]
    var posstr = namepos.toUpperCase();
    var dup = dnameVal.toUpperCase();
    if(dup …
Run Code Online (Sandbox Code Playgroud)

javascript

65
推荐指数
5
解决办法
6万
查看次数

如何使用FIDO U2F允许用户通过我的网站进行身份验证?

随着最近关于FIDO U2F规范的讨论,我想在测试平台上逐步实施FIDO U2F,为即将推出的最终规范做好准备.

到目前为止,我有一个由Yubico生产的FIDO U2F安全密钥和安装在Chrome中的FIDO U2F(通用第二因子)扩展.我还设法设置安全密钥以使用我的Google登录.

现在,我不确定如何在我自己的网站上使用这些东西.我查看了Google的Github页面,了解了U2F项目,并检查了他们的Web应用程序前端.它看起来很简单(仅限JavaScript).那么使用FIDO实现第二个因子auth就像实现一些JavaScript调用一样简单吗?在示例中注册的所有内容似乎都是:

      var registerRequest = {
            appId: enrollData.appId,
            challenge: enrollData.challenge,
            version: enrollData.version
      };

      u2f.register([registerRequest], [], function (result) {
          if (result.errorCode) {
        document.getElementById('status')
          .innerHTML = "Failed. Error code: " + result.errorCode;
        return;
          }
          document.location = "/enrollFinish"
          + "?browserData=" + result.clientData
          + "&enrollData=" + result.registrationData
          + "&challenge=" + enrollData.challenge
          + "&sessionId=" + enrollData.sessionId;             
      });
Run Code Online (Sandbox Code Playgroud)

但是我如何将自己用于实现呢?我是否可以使用此方法调用的回调进行用户注册?

authentication google-chrome fido-u2f

34
推荐指数
2
解决办法
2万
查看次数

Windows批处理脚本:将所有输出重定向到文件

我正在运行各种Java基准测试,并希望存档结果.我像这样执行(dacapo)基准测试:

C:\VM\jre\bin\java  -jar C:\benchmarks\dacapo-9.12-bach.jar %arg1% > %time::=%
Run Code Online (Sandbox Code Playgroud)

我在一个参数中传递了基准类型,这就是%arg1%.

您可以看到我将输出重定向到文本文件.不幸的是,输出的第一行和最后一行仍然在控制台中打印,而不是打印在文本文件中:

===== DaCapo 9.12 luindex starting =====
===== DaCapo 9.12 luindex PASSED in 2000 msec =====
Run Code Online (Sandbox Code Playgroud)

特别是最后一行在文本文件中很重要:)

是否有强制这种行为的技巧?

windows batch-file dacapo

30
推荐指数
2
解决办法
3万
查看次数

1多个变量的SET语句,如declare语句

有没有办法用一个set语句设置所有变量,就像使用declare语句一样?

例如:

   Declare @Test VARCHAR(10),
                @Test2 VARCHAR(10),
                @Test3 INT

        SET @Test = 'test'
        SET @Test2 = 'Test2'
        SET @Test3 = 1
Run Code Online (Sandbox Code Playgroud)

我想在哪里做类似下面的事情,但下面的内容不起作用:

Set @Test = 'test',
    @Test2 = 'Test2',
    @Test3 = 3
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2005

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

接口是Java 8中实用程序类的有效替代吗?

在过去十年左右的时间里,我一直在使用下面的模式来实现Java实用程序类.该类仅包含静态方法和字段,声明final为无法扩展,并且具有private构造函数,因此无法实例化.

public final class SomeUtilityClass {
    public static final String SOME_CONSTANT = "Some constant";

    private SomeUtilityClass() {}

    public static Object someUtilityMethod(Object someParameter) {
        /* ... */

        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,随着Java 8 中接口静态方法的引入,我最近发现自己使用了一个实用程序接口模式:

public interface SomeUtilityInterface {
    String SOME_CONSTANT = "Some constant";

    static Object someUtilityMethod(Object someParameter) {
        /* ... */

        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

这使我摆脱构造,和大量的关键字(个public,static,final),这些接口中隐含的.

这种方法有什么缺点吗?在实用程序界面上使用实用程序类有什么好处吗?

java interface class utility-method java-8

24
推荐指数
2
解决办法
5903
查看次数

哪些网站支持U2F?

FIDO Alliance的Universal 2nd Factor(U2F)是一种新的有前途的替代密码的方法.FIDO联盟由许多玩家组成,但到目前为止只有谷歌网站似乎支持它.我可以使用其他网站登录我的U2F令牌吗?

authentication fido-u2f

22
推荐指数
1
解决办法
2万
查看次数

从字符串中删除单词列表

我有一个停用词列表.我有一个搜索字符串.我想从字符串中删除单词.

举个例子:

stopwords=['what','who','is','a','at','is','he']
query='What is hello'
Run Code Online (Sandbox Code Playgroud)

现在代码应该删除'What'和'is'.但是在我的情况下,它会删除'a',以及'at'.我在下面给出了我的代码.我能做错什么?

for word in stopwords:
    if word in query:
        print word
        query=query.replace(word,"")
Run Code Online (Sandbox Code Playgroud)

如果输入查询是"What is Hello",我得到的输出为:
wht s llo

为什么会这样?

python string

20
推荐指数
4
解决办法
5万
查看次数

如何解决找不到媒体类型= multipart/form-data错误的MessageBodyWriter

如何为简单的多表单帖子配置提供程序.任何建议/指针将不胜感激.

堆栈跟踪:

org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=multipart/form-data, type=class org.glassfish.jersey.media.multipart.FormDataMultiPart, genericType=class org.glassfish.jersey.media.multipart.FormDataMultiPart.
    at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:227)
    at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:149)
    at org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1139)
    at org.glassfish.jersey.client.ClientRequest.writeEntity(ClientRequest.java:433)
    at org.glassfish.jersey.test.inmemory.internal.InMemoryConnector.apply(InMemoryConnector.java:214)
    at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:217)
    at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:655)
Run Code Online (Sandbox Code Playgroud)

pom.xml依赖项:

<dependencies>
        <dependency>
            <groupId>org.glassfish.jersey.test-framework.providers</groupId>
            <artifactId>jersey-test-framework-provider-inmemory</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-multipart</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>1.3</version>
        </dependency>
    </dependencies>
Run Code Online (Sandbox Code Playgroud)

代码:

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

import org.glassfish.jersey.media.multipart.FormDataBodyPart;
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.glassfish.jersey.server.ResourceConfig; …
Run Code Online (Sandbox Code Playgroud)

java jax-rs jersey-client

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