小编Ole*_*leg的帖子

如何显示用于运行任务的类路径?

如何run在SBT 0.13下显示用于任务的类路径?

我在这里找到了一些信息https://groups.google.com/forum/#!msg/simple-build-tool/0rhVRPnjyZU/DOYAd14gh1wJ:

我倾向于使用类路径作为最近对我的构建进行故障排除的方法,也许这个任务也可以帮助你:

lazy val printClasspath = task {
  this.runClasspath.getPaths.foreach(println);
  None
}
Run Code Online (Sandbox Code Playgroud)

runClasspath是一个PathFinder [1]实例,您可以进一步询问它.我想构建一个':' - 这些路径的分隔列表将很容易.

我不明白我应该在哪里以及如何使用这个提示.请指教.

sbt

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

python OpenCV - 将alpha通道添加到RGB图像

使用opencv在python中将RGB图像转换为RGBA的最佳方法是什么?

假设我有一个有形状的数组

(185, 198, 3) - it is RGB
Run Code Online (Sandbox Code Playgroud)

另一种是带有形状的alpha蒙版 (185, 198)

如何合并它们并保存到文件?

python opencv

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

WebSocket连接超时

我正在尝试实现failafe websocket包装器.而我遇到的问题是处理超时错误.逻辑应该是:如果套接字在$ timeoutInMiliseconds期间没有打开 - 它必须关闭并重新打开$ N次.

我写的是这样的.

var maxReconects = 0;
var ws = new WebSocket(url);
var onCloseHandler = function() {
    if ( maxReconects < N ) {
        maxReconects++;
        // construct new Websocket 
        ....
    }
};
ws.onclose = onCloseHandler;
var timeout = setTimeout(function() {
                console.log("Socket connection timeout",ws.readyState);
                timedOut = true;
                ws.close();  <--- ws.readyState is 0 here 
                timedOut = false;
},timeoutInMiliseconds); 
Run Code Online (Sandbox Code Playgroud)

但问题是正确处理超时websockets - 如果我试图关闭未连接的套接字我在chrome中收到警告:

"与'ws://127.0.0.1:9010/timeout'的WebSocket连接失败:在建立连接之前WebSocket已关闭."

我不知道如何避免它 - ws接口没有中止功能.

我尝试过的另一个方法是在超时时关闭套接字,如果它没有连接,只是将其标记为不使用更多,如果接收到readyState不止一个就关闭它 - 但是它可能产生可能的泄漏,并且对于这样简单的任务来说很复杂.

javascript websocket

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

用法 golang atomic LoadInt32/StoreInt32 (64)

任何人都可以展示需要使用此类原子操作的示例。我不明白两者之间的区别

import "sync/atomic"

...
var sharedA int64
var sharedB *int64
...
// concurent code
tmpVarA := sharedA
tmpVarB := *sharedB
// and
tmpVarA := atomic.LoadInt64(&sharedA)
tmpVarB := atomic.LoadInt64(sharedB)
Run Code Online (Sandbox Code Playgroud)

go atomicity

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

Mongodb 不能使用部分 (...) 来遍历元素 ({...: undefined})]

升级到 3.0 mongo 驱动程序后,我收到更新请求的一些新错误。对于这样的更新:

db.table.update({_id: .... } , {$set : { "tags.Tag1" : true }});
Run Code Online (Sandbox Code Playgroud)

我正在接收

cannot use the part (tags of tags.Tag1) to traverse the element ({tags: null})]]
Run Code Online (Sandbox Code Playgroud)

问题是我更新的文档已经包含默认值tags:null。如果我从文档中手动删除它,更新开始正常工作。这对我来说是一些新行为,它发生在将 mongo 驱动程序从 2 更新到 3(甚至不是数据库本身)之后。

但现在我想知道如何避免这个错误。我当然可以检查“标签”是否已经定义,然后才制作$set元素或整个地图。但这意味着 3 个请求 vs 一个旧请求以及原子性等其他问题。

mongodb mongodb-query

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

scala读取大文件

您好我正在寻找最快的蝙蝠而非高级方式来处理大数据集合.我的任务包括在内存中读取大量文件的两个任务,然后进行一些统计计算(在此任务中使用数据的最简单方法是随机访问数组).

我的第一种方法是使用java.io.ByteArrayOutputStream,因为它可以调整其内部存储的大小.

def packTo(buf:java.io.ByteArrayOutputStream,f:File) = {
  try {
    val fs = new java.io.FileInputStream(f)
    IOUtils.copy(fs,buf)
  } catch  {
    case e:java.io.FileNotFoundException =>
  }
}

    val buf = new java.io.ByteArrayOutputStream()
    files foreach { f:File  => packTo(buf,f) } 
    println(buf.size())

    for(i <- 0 to buf.size()) {
       for(j <- 0 to buf.size()) {
          for(k <- 0 to buf.size()) {
       //  println("i  " + i + "  " + buf[i] );
                   // Calculate something amathing using buf[i] buf[j] buf[k] 
          }
       }
    }

    println("amazing = " …
Run Code Online (Sandbox Code Playgroud)

scala large-files bytearrayoutputstream

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

MySQL 中会自动索引唯一键 - 这是真的吗?

我有一个大约有 200k 行的表:

 CREATE TABLE `yaThread` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `yaid` varchar(255) DEFAULT NULL,
   `complete` datetime DEFAULT NULL,
   `version` int(11) DEFAULT '0',
   `code` varchar(255) DEFAULT NULL,
   `info` varchar(255) DEFAULT NULL,
   `stCount` int(11) DEFAULT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `yaidk` (`yaid`)
 ) ENGINE=InnoDB AUTO_INCREMENT=510312 DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

我突然发现我的“yaid”查询相当慢 - 似乎它们没有索引 - 这是真的吗?


这里有一些简单的测试。

首要的关键

 mysql> select * from yaThread where id = 12999993
     -> ;
 Empty set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

独特的

 mysql> select * from yaThread where yaid = 123; …
Run Code Online (Sandbox Code Playgroud)

mysql sql database

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

非连接形态滤波器

经过一些简单的预处理后,我收到了分段图像的布尔掩码.

阈值预处理

我想"增强"面具的边框,使它们更光滑.为此我使用具有相当大的圆内核的OPEN形态滤波器,它非常有效,直到分段对象之间的距离足够.但在很多样本中,物体粘在一起.是否存在一些或多或少的简单方法来平滑这种图像而不改变其形态?

在此输入图像描述

opencv image-processing computer-vision image-morphology

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

Python3 CSV阅读器Unicode解码错误

我有一个 utf8 编码的巨大 csv 文件,但某些列的编码与主文件编码不同。看起来像:

UTF-8 编码的input.txt

a,b,c
d,"e?",f
g,h,"kü"
Run Code Online (Sandbox Code Playgroud)

win-1252 中相同的input.txt

a,b,c
d,"eü",f
g,h,"kü
Run Code Online (Sandbox Code Playgroud)

代码:

import csv

file = open("input.txt",encoding="...")
c = csv.reader(file, delimiter=';', quotechar='"')

for itm in c:
    print(itm)
Run Code Online (Sandbox Code Playgroud)

和标准的 python3 csv 阅读器在这些行上生成编码错误。我不能忽略阅读这一行,但我只需要始终编码良好的“someOther”列。

是否可以使用标准 csv 阅读器以某种“字节模式”以某种方式拆分 CSV 数据,然后将每个数组元素转换为普通的 python unicode 字符串,还是应该实现我自己的 csv 阅读器?

追溯:

Traceback (most recent call last):
  File "C:\Development\t.py", line 7, in <module>
    for itm in c:
  File "C:\Users\User\AppData\Local\Programs\Python\Python35-32\lib\codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't …
Run Code Online (Sandbox Code Playgroud)

python csv unicode encoding

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

Play框架2.4的HTTP基本身份验证

我正在寻找一种对我的Play框架应用进行身份验证的方法:我希望允许/禁止对未经身份验证的用户进行整体访问

是否有一些适用的模块/解决方案?我不需要任何形式的身份验证,只需要未经身份验证的用户的401 HTTP响应即可(例如Apache .htacccess“ AuthType Basic”模式)。

authentication scala playframework playframework-2.4

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

Google Kubernetes Engine 入口注释

我在 google Kubernetes 引擎上配置 Ingress。我是 ingress 方面的新手,但据我了解,ingress 可以为不同的负载均衡器提供服务,并且不同的 LB 应该进行不同的配置。

我从 GKE 上的简单入口配置开始:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: basic-ingress

spec:
  rules:
  - http:
      paths:
      - path: /*
        backend:
          serviceName: web-np
          servicePort: 8080
      - path: /v2/keys
        backend:
          serviceName: etcd-np
          servicePort: 2379
Run Code Online (Sandbox Code Playgroud)

它工作正常,所以我有 2 个不同的 NodePort 服务 web-np 和etcd-np. 但现在我需要使用一些重写规则来扩展此逻辑,以便指向/service1- 的请求将被重定向到其他service1-np服务,但之前/service1/hello.html必须替换为/hello.html。这就是为什么我有以下问题:

  • 如何在入口中配置重写以及是否可以使用默认负载均衡器。
  • GKE 上的默认负载均衡器是什么。
  • 我在哪里可以找到它的所有注释的列表。我认为完整的列表位于https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/上,但有一个完全不同的列表,并且没有kubernetes.io/ingress.global-static-ip-name广泛使用的注释谷歌的例子。

kubernetes google-kubernetes-engine kubernetes-ingress

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

将Null值视为零

我有一个关于Influxdb的查询,例如:

SELECT last("Shop1.balance")+last("Shop2.balance")+last("Shop2.balance") + last("Shop2.balance") FROM "balances" WHERE $timeFilter GROUP BY time($__interval) fill(previous)
Run Code Online (Sandbox Code Playgroud)

我收到graphana所有商店的总余额.它工作正常,直到我添加一个带有新数据的新商店:历史中某个时间间隔的新商店余额可以为空,整个计算值将为空.我无法重新组织我的数据库,但可能是我可以更改我的查询以接收日期,其中空间隔将被视为总和为零.

influxdb

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

CasperJS跳过超时

我的casperjs测试中有一个页面有图像,我不要等到这个页面加载到下一步.我该怎么做 ?我试过这种方式

var casper = require("casper").create({
   onStepTimeout: function() {
                        this.echo("TIMEOUT" + this.requestUrl,"RED_BAR");
   // Some skip page controlling code 
   },
);
var timeout = ~~casper.cli.get(0);

casper.start("http://127.0.0.1/index2.php", function () {
    this.echo("FIRST GOOD PAGE", "GREEN_BAR");
    casper.options.stepTimeout = timeout;
});

casper.thenOpen("http://127.0.0.1/slowpage.php", function() {
        this.echo("SECOND PAGE LOADED - I want to be called even  have received Timeout!", "GREEN_BAR");
});

casper.then(function() {
    this.echo("THEN!", "GREEN_BAR"); 
});
Run Code Online (Sandbox Code Playgroud)

但它只是调用onStepTimeout直到slopage.php被加载.

javascript casperjs

0
推荐指数
2
解决办法
7550
查看次数