问题列表 - 第206433页

Ruby:在数组中查找下一个匹配的索引,或者使用offset查找

我希望Array#find_index { |item| block }第一次在比赛后找到更多的比赛.如何搜索第二场比赛,第三场比赛等的索引?

换句话说,我想要相当于for 的pos参数.然后我可以保持当前位置索引继续搜索.Regexp#match(str, pos)Array#find_index

我无法使用,Enumerable#find_all因为我可能会在调用之间修改数组(在这种情况下,我还会调整当前位置索引以反映修改).我不想复制部分数组,因为这会增加我的算法的计算复杂性.我想这样做而不复制数组:

new_pos = pos + array[pos..-1].find_index do |elem|
    elem.matches_condition?
end
Run Code Online (Sandbox Code Playgroud)

以下是不同的问题.他们只询问数组中的第一个匹配,加上一个:

以下问题更接近,但仍然无法帮助我,因为我需要在继续下一个之前处理第一个匹配(这种方式也与修改冲突):

ruby arrays

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

边缘检测后从四面八方裁剪图像

我是 OpenCV 的新手。我想从图像中提取主要对象。因此,我在图像上应用了 Canny 以获取主要对象周围的边缘并得到以下输出: 在此处输入图片说明

这是在 Python 中使用 OpenCV 获取此信息的代码:

img = cv2.imread(file)
cv2.imshow("orig", img)
cv2.waitKey(0)
img = cv2.blur(img,(2,2))
gray_seg = cv2.Canny(img, 0, 50)
Run Code Online (Sandbox Code Playgroud)

现在,我想在只获取图像中的主要对象后将下面的图像作为最终输出: 在此处输入图片说明

我想以优化的方式进行,因为我必须处理超过 250 万张图像。谁能帮我这个?

python opencv image image-processing

5
推荐指数
2
解决办法
9657
查看次数

主错误的多重定义

当我编译我的项目时,我收到以下错误.

错误:main()的多个定义是什么问题?

这是代码:

int main(int argc, char *argv[])
{
  QCoreApplication a(argc, argv);

myserver server;
server.startserver();

return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

c++ qt

0
推荐指数
1
解决办法
625
查看次数

如何从java 6中的字节数组中获取MIME类型

我一直在试图弄清楚如何从JAVA6中的字节数组中获取MIME类型,但遗憾的是还没有能够获取MIME类型.有人可以帮我摆脱这个吗?

java

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

读取请求消息的主体时出错

我需要在WCF项目中阅读消息内容

 var messageContent = Encoding.UTF8.GetString(OperationContext.Current.RequestContext.RequestMessage.GetBody<byte[]>());
Run Code Online (Sandbox Code Playgroud)

但结果我得到一个错误:

期望命名空间' http://schemas.microsoft.com/2003/10/Serialization/ '中的元素'base64Binary' .遇到名为'Human'的'Element',命名空间' http://numans.hr-xml.org/2007-04-15 '.

你能告诉我我做错了什么吗?

我发送的内容是:

<Human xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://numans.hr-xml.org/2007-04-15">
  <HumanId>
    <guid>c2ee9a7e-c7a8-48e0-910b-47c2012bfa8e</guid>
  </HumanId>
  ...
</Human>
Run Code Online (Sandbox Code Playgroud)

我还尝试阅读以下内容:

var messageContent = OperationContext.Current.RequestContext.RequestMessage.ToString();
Run Code Online (Sandbox Code Playgroud)

messageContent的结果:

...流...

c# wcf

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

在 ASP.NET 5 响应中设置 Content-Length 标头

TL; DR我有一个 ASP.NET 5 (MVC 6) 应用程序,只是尝试设置 HTTP Content-Length 标头以避免分块响应。

令我惊讶的是,这在 ASP.NET 5 中是一项相当棘手的任务。一切都在 Kestrel 上运行,从 ASP.NET 5 Beta7 开始,当没有为响应指定内容长度时,它支持自动写入分块响应

这里有一个类似的问题,但不同之处在于OP只想计算响应大小,而我需要确保Content-Length标头在响应中发送。到目前为止尝试了很多事情,唯一有效的是编写一个自定义中间件:

public class WebApiMiddleware {
    RequestDelegate _next;

    public WebApiMiddleware(RequestDelegate next) {
        _next = next;
    }

    public async Task Invoke(HttpContext context) {
         using (var buffer = new MemoryStream()) {
            var response = context.Response;

            var bodyStream = response.Body;
            response.Body = buffer;

            await _next(context);

            response.Headers.Add("Content-Length", new[] { buffer.Length.ToString()});
            buffer.Position = 0;
            await buffer.CopyToAsync(bodyStream);
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

然而,这是非常低效的,因为我们在处理每个请求时都使用额外的内存。使用仅环绕流context.Response.Body并另外计算字节的自定义流是行不通的,因为 …

.net asp.net http asp.net-core-mvc asp.net-core

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

关闭JGit clone命令的SSL验证

我试图通过它克隆一个Git存储库CloneCommand.有了这段代码

`Git.cloneRepository().setDirectory(new File(path)).setURI(url).call();`
Run Code Online (Sandbox Code Playgroud)

远程存储库位于使用自签名证书的GitBlit实例上.由于这些自签名证书,我在克隆的获取部分执行时得到以下异常:

Caused by: java.security.cert.CertificateException: No name matching <hostName> found
    at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:221)
    at sun.security.util.HostnameChecker.match(HostnameChecker.java:95)
Run Code Online (Sandbox Code Playgroud)

虽然我可以创建一个新的TrustManager,但是注册一个虚拟对象HostnameVerifierSSLContext使用这个虚拟对象创建和初始化TrustManager.克隆完成后,还原所有这些.

但是,这意味着在同一时间启动的任何其他SSL连接都会将它们暴露给不安全的连接.

在已经克隆的仓库中,您可以将http.sslVerify设置为false,并且JGit可以正常工作.

是否有一种更清晰的方式,我可以告诉JGit将此http.sslVerify设置为false以进行克隆操作,就像我可以为已经克隆的回购做的那样.

jgit

7
推荐指数
2
解决办法
4849
查看次数

如何使TextInputLayout中的错误消息出现在中心

目前它看起来像附加此布局:

<android.support.design.widget.TextInputLayout
    android:id="@+id/layoutCurrentPW"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    app:errorEnabled="true">
Run Code Online (Sandbox Code Playgroud)

如何设置错误信息"密码必须至少为8个字符"到中心引力?
我尝试使用android:gravity ="center",但这不起作用.

在此输入图像描述

编辑
包含EditText的布局:

<android.support.design.widget.TextInputLayout
    android:id="@+id/layoutCurrentPW"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    app:errorEnabled="true">

        <EditText
            android:id="@+id/editTextCurrentPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginLeft="50dp"
            android:layout_marginRight="50dp"
            android:gravity="center"
            android:hint="@string/current_password"
            android:inputType="textPassword"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/black" />
    </android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

android android-textinputlayout android-gravity

7
推荐指数
1
解决办法
5043
查看次数

查找多个列表中元素的重叠DateTime间隔

我有一个n列表的构造,用于记录与我想要监视的事物(比如任务)相关的开始和结束时间.任务可以重复多次(尽管同一任务不能同时重叠/运行).每个任务都有一个唯一的ID,其开始/结束时间存储在自己的列表中.

我试图找到所有任务同时运行的时间段.

举个例子,下面我有3个任务; taskId 1发生7次,taskId 2发生两次,taskId 3发生一次;

import org.joda.time.DateTime
case class CVT(taskId: Int, begin: DateTime, end: DateTime)

val cvt1: CVT =  CVT (3, new DateTime(2015, 1, 1, 1, 0), new DateTime(2015, 1, 1, 20,0) )
val cvt2: CVT =  CVT (1, new DateTime(2015, 1, 1, 2, 0), new DateTime(2015, 1, 1, 3, 0) )
val cvt3: CVT =  CVT (1, new DateTime(2015, 1, 1, 4, 0), new DateTime(2015, 1, 1, 6, 0) )
val cvt4: CVT =  CVT …
Run Code Online (Sandbox Code Playgroud)

scala

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

C#按索引重新排序数组,甚至是递增的奇数降序

我需要通过每次跳过一个元素来重新排序数组,首先将均匀索引的元素升序,然后按降序排列奇数索引元素.

例如,假设我有一个这样的数组,double如下所示:

[0,0.3,0.7,1.1,1.5,1.9,2.3,2.7,3.1,3.5,3.9]

我想让它像这样订购:

[0,0.7,1.5,2.3,3.1,3.9,3.5,2.7,1.9,1.1,0.3]

正如您所看到的,我对按值排序感兴趣,但只对元素的索引感兴趣.我找不到Array.Sort或IEnumerable <>的重载.QuickBy给出索引,所以我似乎无法使用它.

我觉得有点羞于问这么简单的问题,但我无法弄清楚如何优雅地做到这一点.我当然可以使用foreach循环并使用索引来完成它,但我正在"翻译"一些Matlab代码,这个特殊的部分是用这个优雅的(虽然很难理解,如果你不习惯那种事情)一个班轮:

y = y([1:2:n 2 * floor(n / 2):-2:2],:); % n being the number of elements in the array y
Run Code Online (Sandbox Code Playgroud)

c# arrays

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