小编thu*_*und的帖子

平滑手绘曲线

我有一个允许用户绘制曲线的程序.但是这些曲线看起来并不好看 - 它们看起来摇摇晃晃,手绘.

所以我想要一种能够自动平滑它们的算法.我知道平滑过程中存在固有的模糊性,因此每次都不会是完美的,但是这些算法似乎确实存在于几个绘图包中并且它们工作得很好.

是否有类似这样的代码示例?C#会很完美,但我可以翻译其他语言.

c# bezier spline smoothing

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

HttpClient上传的进度条

我想在WPF中使用进度条运行异步上传(最好使用PCL在Xamarin和SL中重用代码.)

我一直在尝试使用System.Net.HttpClient.不幸的是,PutAsync不提供任何进度通知.(我知道它适用于Windows.Web.Http.HttpClient,但这不适用于WPF,也不适用于PCL).

对于下载,它非常容易实现自己的进度条,如所描述这里.您只需传递ResponseHeadersRead选项,该选项会在返回标题后立即使用该流,然后您可以在块中按块读取它,随时增加进度条.但是对于上传,这种技术不起作用 - 您需要一次性将所有上传数据传递给PutAsync,因此没有机会增加您的计数器.

我也想知道如何使用HttpClient.SendAsync.我所希望我可以把这个像一个异步HttpWebRequest的(其中如你所描述的写入HttpWebRequest.GetRequestStream可以增加计数器在这里).但不幸的是HttpClient.SendAsync不会给你可写的流,所以这不起作用.

那么HttpClient是否支持使用非阻止UI和进度条上传?这似乎是一个适度的需求.还是我应该使用另一个班级?非常感谢.

wpf upload portable-class-library progress-bar dotnet-httpclient

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

在Slick/HikariCP中连接关闭错误后,不允许任何操作

我正在使用Slick3.1.1 + HikariCP2.5.1.我的配置是:

rdsConfig = {
  url = "jdbc:mysql://mydb.........us-west-2.rds.amazonaws.com:3306/owlschema"  

  driver = "com.mysql.jdbc.Driver"
  connectionPool = HikariCP
  maxConnections = 222   
  minConnections = 30
  keepAliveConnection = true
  properties = {
    user = "me"
    password = "mydarksecret"
  }
  numThreads = 40    
}
Run Code Online (Sandbox Code Playgroud)

我每3秒运行一次查询,每次查询时间<0.4秒.起初一切运行正常,但大约2小时后,HikariCP开始关闭连接,导致错误"连接关闭后不允许操作":

15:20:38.288 DEBUG [] [rdsConfig-8] com.zaxxer.hikari.pool.HikariPool - rdsConfig - Timeout failure stats (total=30, active=0, idle=30, waiting=0)
15:20:38.290 DEBUG [] [rdsConfig connection closer] com.zaxxer.hikari.pool.PoolBase - rdsConfig - Closing connection com.mysql.jdbc.JDBC4Connection@229960c: (connection is evicted or dead)
15:20:38.333 DEBUG [] [rdsConfig connection closer] com.zaxxer.hikari.pool.PoolBase - …
Run Code Online (Sandbox Code Playgroud)

mysql slick hikaricp aws-rds

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

以编程方式向AvalonEdit添加语法突出显示规则

我在一个运行我自己的定制语言的应用程序中使用AvalonEdit.我想在Avalon Edit中加入适当的语法高亮显示.通常,这是通过手动定义xml文件中的突出显示规则来完成的.

但是,每当我扩展语言时,我都不希望突出显示规则总是与语言语法不同步.所以我希望使用已经包含在我的coco/R解析器中的语法信息来自动生成这些规则.那么有没有办法以编程方式向Avalon Edit添加语法突出显示规则?

谢谢

syntax-highlighting avalonedit

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

可以从期货中观察 - 从多个线程开始

我想Observable从列表的结果中实时生成Futures.

在最简单的情况下,假设我有一个我正在运行的期货清单Future.sequence,而我只是监控他们的进度,Observable每次完成时都会告诉我.我基本上是这样做的:

  def observeFuturesProgress(futs: List[Future[Int]]) : Observable[String] = {
    Observable[String](observer => {
      val loudFutures: List[Future[Int]] = futs.map(f => {
            f onComplete {
              case Success(a) => observer.onNext(s"just did $a more")
              case Failure(e) => observer.onError(e)
            }
            f
        })
      Future.sequence(loudFutures) onComplete {
          case Success(_) => observer.onCompleted()
          case Failure(e) => observer.onError(e)
      }
    })
  }
Run Code Online (Sandbox Code Playgroud)

这在我的测试环境中工作正常.但我刚刚读过,onNext不应该从不同的线程调用,至少不要小心没有重叠的调用.建议的解决方法是什么?似乎许多现实世界的使用Observables需要onNext从这样的异步代码中调用,但我在文档中找不到类似的例子.

scala observable rx-java rx-scala

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

正则表达式可选组解析

已经摆弄这个几个小时了......

我正在尝试解析这种形式的错误消息:

[error]  C:\Me\MyPath\myFile.scala:18:22: not found: value getaa
Run Code Online (Sandbox Code Playgroud)

我可以使用以下正则表达式来完成此操作:

\[(error|warn)\]\s+(.+):(\d+):(?:\d+:)\s+(.+)$
Run Code Online (Sandbox Code Playgroud)

哪个正确产生组:

error
C:\Me\MyPath\myFile.scala
18
not found: value getaa
Run Code Online (Sandbox Code Playgroud)

但为了使其健壮,我需要将该22:部分设为可选(因为某些版本的 scala 编译器不输出列号)。换句话说,它也需要为此字符串生成与上面相同的组:

[error]  C:\Me\MyPath\myFile.scala:18: not found: value getaa
Run Code Online (Sandbox Code Playgroud)

我尝试在可选组后面加一个问号,但这不起作用 - 它弄乱了原始组。我认为有一些关于懒惰与贪婪的东西我不理解。这是 regex101 的工作示例。谢谢你的帮助。

regex

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

Slick/HikariCP 提供“太多连接”而不是超时

我正在使用Slick3.1.1+HikariCP2.5.1连接到 AWS t2.mediumMySql 实例。AWS 文档说t2.medium最多可以有 312 个连接。我的配置文件是:

rdsConfig = {
  url = "jdbc:mysql://mydb.........us-west-2.rds.amazonaws.com:3306/owlschema"  

  driver = "com.mysql.jdbc.Driver"
  connectionPool = HikariCP
  maxConnections = 222         # <<<<< ie make this < 312.
  keepAliveConnection = true
  properties = {
    user = "me"
    password = "mydarksecret"
  }
  numThreads = 40    
}
Run Code Online (Sandbox Code Playgroud)

当我承受重负载时,我开始收到“连接过多”错误:

    17:05:40.708 DEBUG [] [rdsConfig connection adder] com.zaxxer.hikari.pool.HikariPool - rdsConfig - Cannot acquire connection from data source
    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections
        at sun.reflect.GeneratedConstructorAccessor59.newInstance(Unknown Source) ~[na:na]
...
Run Code Online (Sandbox Code Playgroud)

我对此很困惑。从文档中我认为它永远不应该尝试获取超过我指定的 …

mysql amazon-rds slick hikaricp

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