小编Jan*_*omä的帖子

你如何将两个div放在一起,以便填满可用空间

我有两个div,右边一个是80px宽,另一个应该填满剩下的空间.到目前为止我试过:

<!DOCTYPE html>

<html>
<head>
    <title>#{get 'title' /}</title>
    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
        }

        #left {
            position: relative;
            margin-right: 80px;
            background-color: red;
        }

        #right {
            float: right;
            position: relative;
            text-align: left;
            width: 80px;
            background-color: yellow;
        }
    </style>
</head>
<body>
<div id="left">
    Left
</div>
<div id="right">
    Right
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但是,右侧框始终位于左侧框下方,而不是右侧框.我想这是因为保证金.我也尝试了一个左边距:-80px在右边但这似乎没有改变任何东西.那么我该如何更改CSS以使右边的div与左边的div在同一行?

css css-float

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

Selenium:间歇性“找不到元素”问题

我的硒测试时不时地会随机失败并显示“找不到元素 X”的错误消息。我通过 ID 做一个简单的选择,例如。

click('sideBar_queryButton')
Run Code Online (Sandbox Code Playgroud)

当我使用 dom 检查器时,元素就在那里,所以我想知道为什么 selenium 有时找不到它。当我再次运行相同的测试时,它会工作或再次中断,似乎没有可靠的方法来重现它。即使是已经存在了很长时间的测试似乎也会随机中断,然后又神奇地再次起作用。插入一些睡眠语句有时会有所帮助,但并不可靠。所以我想知道我是否使用它不正确。有没有其他人遇到过硒的这些问题,如果有,你是如何解决的?

selenium

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

在OpenShift环境中部署秘密Java密钥库的好方法是什么?

我们有一个Java Web应用程序应该从常规部署模型(在服务器上安装)转移到OpenShift环境(作为docker容器部署).目前,此应用程序使用一组Java密钥存储(.jks文件)作为客户端证书,以便与第三方Web界面进行通信.我们每个接口都有一个密钥库.

这些jks文件在生产计算机上手动部署,并且在需要更新第三方证书时偶尔会更新.我们的应用程序有一个设置,其中包含密钥存储文件的路径,在启动时,它将从中读取证书,然后使用它们与第三方系统进行通信.

现在,当转向OpenShift部署时,我们有一个docker镜像,该应用程序将用于所有环境(开发,测试和生产).所有配置都作为环境变量给出.但是我们不能将jks文件作为环境变量提供,这些文件需要安装到docker容器的文件系统中.

由于这些证书是秘密,我们不想将它们烘焙到图像中.我扫描了OpenShift文档以获取有关如何处理此问题的一些线索,并且基本上找到了两个选项:使用Secrets或安装持久卷声明(PVC).

秘密对我们来说似乎不起作用,因为它们几乎只是键值对,可以作为文件挂载或作为环境变量传递.它们也有尺寸限制.使用PVC理论上可行,但是我们需要有一些方法将JKS文件放到该卷中.一个简单的方法是启动一个安装PVC的shell容器,并使用OpenShift命令行工具手动将文件复制到其中,但我希望手动解决方案稍微少一些.

您是否找到了解决此问题或类似问题的聪明解决方案,您需要将文件放入容器中?

client-certificates openshift

6
推荐指数
2
解决办法
7988
查看次数

正则表达式查找文本中某个字符的所有变体

我试图在文本中找到用户输入字符的unicode变体以突出显示它们.例如,如果用户输入"Beyonce",我想在文本中突出显示所有带有"Beyoncé"或"Beyônce"或Bèyönce等变体的文本.当前我唯一的想法就是通过用一组替换输入字符串来创建一个正则表达式像这样的字符组:

"Beyonce" => "B[eêéè]y[óòôö]c[éèê]"
Run Code Online (Sandbox Code Playgroud)

但这似乎是一种非常乏味且容易出错的方式.我基本上寻找的是一个正则表达式字符组,它匹配给定输入字符的所有变体,类似于\ p {M},但可以指定基本字母.在java正则表达式中有这样的东西吗?如果没有,那么如何改进正则表达式创建过程?我不认为手动指定所有变体将在长期内起作用.

java regex

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

如何检查for循环何时完成,在循环内?

这是一个快速的jsfiddle,我提出了一个更好的例子我的问题.

function gi(id){return document.getElementById(id)}

    a= [1,5,1,2,3,5,3,4,3,4,3,1,3,6,7,752,23]


for(i=0; i < a.length; i++){
    /*
    if (WHAT AND WHAT){ What do I add here to know that the last value in the array was used? (For this example, it's the number: 23. Without doing IF==23.

    }
    */

    gi('test').innerHTML+=''+a[i]+' <br>';
}
Run Code Online (Sandbox Code Playgroud)

(该代码也可在https://jsfiddle.net/qffpcxze/1/获得)

所以,该数组中的最后一个值是23,但是我怎么知道最后一个值是循环内部循环的呢?(如果IF X == 23有意义的话,不检查简单但动态).

javascript

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

如何使用 Sentry 优雅地处理错误峰值?

在我们的项目中我们使用Sentry来报告错误。这工作得很好,但是在负载很大的系统上,当第三方系统宕机时,我们有时会看到错误高峰。例如,如果数据库无法访问,在问题解决之前我们可能会收到几万个调用,所有这些都会导致向 Sentry 报告错误。

我知道Sentry客户端有一个通用的设置sample.rate。这允许仅将所有事件的一定百分比发送到 Sentry。但是,我只是想避免在第三方系统出现故障时出现大量重复的错误报告。我不想限制一般发送的错误数量。有没有办法配置 Sentry 客户端,以便在出现峰值时仅发送一些样本,否则发送所有错误报告?

java sentry

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

Flink:如何使用命令行界面取消正确的作业?

我有一个Flink服务器,它运行几个流媒体作业.这些作业是使用该flink run命令启动的,基本上一直运行直到你停止它们.现在我想取消一个特定的工作.当我这样做时flink list,我会得到这样的东西:

------------------ Running/Restarting Jobs -------------------
10.12.2015 08:30:37 : d6aeefaa2295ce122b65037805db0891 : Flink Streaming Job (RUNNING)
10.12.2015 08:44:18 : cfe10aca3435730d09691ff644475467 : Flink Streaming Job (RESTARTING)
10.12.2015 08:55:08 : 4ca359e286d4f5b4de62aee76f4c6389 : Flink Streaming Job (RESTARTING)
10.12.2015 08:57:42 : 1b75acb482f2610039ea2211e094b862 : Flink Streaming Job (RESTARTING)
10.12.2015 09:07:22 : 609993523b0214f52fabfdf09baf419d : Flink Streaming Job (RESTARTING)
Run Code Online (Sandbox Code Playgroud)

使用此输出无法取消正确的作业,因为无法确定哪个作业是哪个.所有的工作都只有Flink Streaming Job作为他们的名字,所以我不知道选哪一个.

有没有办法更改出现的作业名称flink list?如果没有,有没有办法通过命令行获取有关正在运行的作业的其他信息(例如,它是从哪个JAR文件启动,它是什么主类,等等).如果没有,是否有办法从中获取Job-ID flink run,所以我可以将它存储在某种PID文件中,并稍后使用该ID来取消Job?

apache-flink flink-streaming

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

如何在 flink 独立安装上进行 kerberos 身份验证?

我有一个独立的 Flink 安装,我想在其上运行一个将数据写入 HDFS 安装的流作业。HDFS 安装是 Cloudera 部署的一部分,需要 Kerberos 身份验证才能读取和写入 HDFS。由于我没有找到有关如何使 Flink 与受 Kerberos 保护的 HDFS 连接的文档,因此我不得不对该过程进行一些有根据的猜测。这是我到目前为止所做的:

  • 我为我的用户创建了一个密钥表文件。
  • 在我的 Flink 工作中,我添加了以下代码:

    UserGroupInformation.loginUserFromKeytab("myusername", "/path/to/keytab");
    
    Run Code Online (Sandbox Code Playgroud)
  • 最后我使用 aTextOutputFormat将数据写入 HDFS。

当我运行作业时,出现以下错误:

org.apache.hadoop.security.AccessControlException: SIMPLE authentication is not enabled.  Available:[TOKEN, KERBE
ROS]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
        at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
        at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:1730)
        at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1668)
        at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1593)
        at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:397)
        at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:393)
        at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
        at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:393)
        at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:337)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:908)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:889)
        at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:786)
        at org.apache.flink.runtime.fs.hdfs.HadoopFileSystem.create(HadoopFileSystem.java:405)
Run Code Online (Sandbox Code Playgroud)

出于某种奇怪的原因,Flink 似乎尝试了 SIMPLE 身份验证,即使我调用了loginUserFromKeytab …

authentication hadoop kerberos apache-flink

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

如何在 Gitlab 中运行不阻塞后续阶段的作业?

在一个项目中,我正在运行这些作业的两个阶段:

  • build
    • compile & test
    • generate sonar report
  • deploy
    • deploy to staging environment[手动的]
    • deploy to production[手动的]

该阶段的作业deploy取决于作业的输出compile & test。然而,generate sonar report在我可以开始该阶段的任何工作之前,不需要完成该工作deploy。尽管如此,GitLab 坚持认为该build阶段的所有作业都已完成,然后我才能启动该deploy阶段的任何作业。

有没有办法告诉 GitLab 该generate sonar report作业不应阻塞后续的管道阶段?我已经尝试allow_failure: true过这项工作,但这似乎没有达到预期的效果。这项工作需要很长时间才能完成,我真的不想一直等待才能部署。

gitlab

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

Spock-Spring - 如何控制数据驱动测试的事务何时回滚?

我正在使用Spock测试框架和Spock-Spring扩展,它允许您使用Springs的@Transactional和@Rollback注释.鉴于我得到了这样的数据驱动测试:

@Transactional
@Rollback
def "Some Test"(int foo) {
  when:
  someDao.insert(foo);

  then:
  notThrown(Exception)

  where:
  foo << [0..100]
}
Run Code Online (Sandbox Code Playgroud)

现在,当我运行它时会发生什么,这个测试是用不同的"foo"值执行101次.还会发生的是,事务在每次测试后回滚.我想要的是,事务只在101次测试运行后回滚,而不是在每次测试后回滚.我当然可以在测试中编写一个循环,但如果我可以控制事务回滚的时间 - 在每次测试之后或在所有测试之后,它会更好.有没有办法控制这个或我坚持循环?

java groovy spring spock

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

统一animation.play()不起作用

我有一个简单的脚本,应该动画我的播放器,但它不起作用.我读了一段时间的论坛,有些人有关于动画遗留选项的问题,我修复了它,但我的角色仍然没有动画,并且没有任何编译错误.这是我的脚本:

using UnityEngine;
using System.Collections;

public class maincharacter : MonoBehaviour {

    void Start () {
    }

    float xSpeed = 10f;
    float zSpeed = 10f;
    public float playerMovementSpeed = 10f;

    void Update () {
       float deltaX = Input.GetAxis ("Horizontal") * xSpeed;
       float deltaZ = Input.GetAxis ("Vertical") * zSpeed;

       Vector3 trans = new Vector3 (deltaX + deltaZ ,0f,deltaZ - deltaX);
       transform.Translate (trans.normalized * Time.deltaTime * playerMovementSpeed, Space.World);

       animation.Play ("mcrunsw");

       /*if (deltaX != 0 || deltaZ != 0) {
                 animation.Play ("mcrunsw");
          }*/
    } …
Run Code Online (Sandbox Code Playgroud)

c# scripting animation unity-game-engine

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