小编Alb*_*urg的帖子

HList上的约束:检查类型的单次出现

我正在尝试在HList上添加约束(来自Shapeless):

  • 它应该包含任意数量的类型元素TA(从0到N);
  • 它应该包含一个且只有一个类型的元素TB.

我的示例有这种类型层次结构:

trait T
case class TA extends T
case class TB extends T
Run Code Online (Sandbox Code Playgroud)

举个例子:

  • tb :: HNil 已验证
  • ta :: tb ::HNil 已验证
  • ta :: tb :: ta :: HNil 已验证
  • ta :: HNil 是无效的
  • HNil 是无效的

我无法弄清楚如何将其表达为约束.

scala shapeless

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

结合别名功能

使用Graphite,我正在绘制一些图表和相同的时移.

例如:

aliasByNode(my.application.metric.$Continent.$DC.*, 4, 5, 3)
aliasByNode(timeShift(my.application.metric.$Continent.$DC.*, "7d"), 4, 5, 3)
Run Code Online (Sandbox Code Playgroud)

但我希望能够识别图表(它们目前的名称相同).

如何在度量标准别名中添加前缀或后缀(或任何标记)?

例如:

-- EU.PAR.pokemonCaught
-- EU.PAR.pokemonCaught (last week)
Run Code Online (Sandbox Code Playgroud)

graphite

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

使用(B => Future [C])函数将来[[A,B]]到[未来[A,C]]

我有一个Future[Either[A, B]]和一个功能提供一个Future[C]来自B.

我需要转变Future[Either[A, B]]Future[Either[A, C]].

是否有直接的方式获得Future[Either[A, C]]而不是Future[Either[A, Future[C]]]

我正在考虑这样的事情:

val eventuallyInitialValue: Future[Either[A, B]] = ???
val result: Future[Either[A, C]] = for {
  e: Either[A, B] <- initialValue
  c: C <- service.getValue(e.right)
} yield e.right.map(_ => c)
Run Code Online (Sandbox Code Playgroud)

它只是伪代码,因为service.getValue(e.right)不编译.这样做的正确方法是什么?

scala future either

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

将水平参考线添加到Google图表的LineChart

我正在使用Google可视化的LineChart来显示一些数据(它可以正常工作).

的图表显示了性能试验的结果和那些结果应该超过某个值(例如,响应时间应不超过20ms).Si我想绘制最大值(我猜的水平线),而不必添加新的(虚拟)数据系列.

那可能吗?

非常感谢,

阿尔班

google-visualization

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

依赖期货

开始玩Scala期货,我陷入了依赖期货的困境.

我们来举个例子.我搜索地点并得到一个Future[Seq[Place]].对于每个地方,我搜索最近的地铁站(服务重新出发Future[List[Station]]).

我会写这个:

Place.get()
.map { places =>
    places.map { place =>
        Station.closestFrom(place).map { stations =>
            SearchResult(place, stations)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

那件事会让我得到Future[Seq[Future[SearchResult]]]......这不是我所期待的.

我错过了Future[Seq[SearchResult]]什么?

谢谢大家,

阿尔班

scala future playframework-2.0

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

无法在Java 7上启用SNI

我正在尝试使用TLS调用服务器,仅接受具有SNI支持的客户端.

我正在使用Java 7运行客户端:

$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

它应该默认启用但是:

  • "它不起作用"
  • 我无法将其视为日志中的扩展名

例如,从我的日志:

Compression Methods:  { 0 }
Extension elliptic_curves, curve names: {secp256r1, sect163k1, sect163r2, secp192r1, secp224r1, sect233k1, sect233r1, sect283k1, sect283r1, secp384r1, sect409k1, sect409r1, secp521r1, sect571k1, sect571r1, secp160k1, secp160r1, secp160r2, sect163r1, secp192k1, sect193r1, sect193r2, secp224k1, sect239k1, secp256k1}
Extension ec_point_formats, formats: [uncompressed]
Extension signature_algorithms, signature_algorithms: SHA512withECDSA, SHA512withRSA, SHA384withECDSA, SHA384withRSA, SHA256withECDSA, SHA256withRSA, SHA256withDSA, SHA224withECDSA, SHA224withRSA, SHA224withDSA, SHA1withECDSA, …
Run Code Online (Sandbox Code Playgroud)

java java-ee netty sni

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

Play 2和Cloudbees:无法将替换解析为值

我正在部署我的Play!2.1 Cloudbees上的应用.

我在我的application.conf中:

# Database configuration
# ~~~~~ 
db.default.driver=com.mysql.jdbc.Driver
db.default.url=${MYSQL_URL_DB}
db.default.user=${MYSQL_USERNAME_DB}
db.default.password=${MYSQL_PASSWORD_DB}
Run Code Online (Sandbox Code Playgroud)

我在Cloudbees配置中定义了这些值:

$ bees config:list -a myself/my-app 
Application Parameters:
  proxyBuffering=false
  MYSQL_URL_DB=jdbc:cloudbees://my-app
  MYSQL_USERNAME_DB=my-app
  MYSQL_PASSWORD_DB=yummy
Runtime Parameters:
  java_version=1.7
Run Code Online (Sandbox Code Playgroud)

我使用git(git push cloudbees cloudbees:master)发布我的应用程序,触发Jenkins.但是在部署应用程序时,我会进入Jenkins日志:

[error](compile:compile)com.typesafe.config.ConfigException $ UnresolvedSubstitution:conf/application.conf:16:无法解析替换为值:$ {MYSQL_PASSWORD_DB}

还有什么可以让Jenkins知道配置吗?我误解了什么吗?

谢谢你的帮助!

阿尔班

cloudbees playframework-2.1

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

比较 t 和 t-7 天的值

为了获得一些“视觉警报”,我想在 Grafana 中的同一个图形上同时绘制两条曲线:

  • 当前时间窗口图
  • 相同的图表,但有 7 天前的数据

这个想法是为了能够比较前一周同一天的数据演变。

我找不到 Graphite 函数(但我可能在文档中遗漏了一些东西)。

有没有办法做到这一点?

graphite grafana

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

使用数据库(但不是模型)中的选择填充 Django 表单字段

我想用数据库中的数据填充表单下拉列表。这些数据不是直接来自模型,而是来自原始查询。

当数据库可用并且迁移已生成时,此功能有效。否则,生成迁移 ( python manage.py makemigrations myapp) 会失败,因为 Django 评估_all_departments()无法找到合适的表。

def _all_departments() -> List[Tuple[str, str]]:
    from django.db import connection
    with connection.cursor() as cursor:
        cursor.execute("select distinct department from crm_mytable order by department")
        return [(row[0], row[0]) for row in cursor.fetchall()]


class MyForm(forms.Form):
    department = forms.CharField(
        widget=forms.SelectMultiple(choices=_all_departments()))
Run Code Online (Sandbox Code Playgroud)

我天真地尝试手动更新选项,但__init__没有成功(选项始终为空):

class MyForm(forms.Form):
    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        self.fields['department'].widget.choices = _all_departments()

    department = forms.CharField(
        widget=forms.SelectMultiple(choices=[]))
Run Code Online (Sandbox Code Playgroud)

正确填写按需选择的方法是什么?

django django-forms

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