小编spa*_*rkr的帖子

使用SBT创建独立jar

我是一个沉重的Maven用户,现在我逐渐将SBT用于我的一些项目.

我想知道如何使用SBT创建一个独立的Java项目?此项目应打包为JAR文件,此JAR文件将用作另一个SBT项目中的依赖项.

在Maven中,我可以告诉我pom.xml在构建它时应该生成什么类型​​的工件.在SBT中我能做些类似的事吗?

uberjar sbt

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

如何在AWS DynamoDB中连接表?

我知道整个设计应该基于自然聚合(文档),但是我正在考虑为本地化(lang,key,text)实现一个单独的表,然后在其他表中使用键.但是,我无法找到任何关于这样做的例子.

任何指针可能会有所帮助!

amazon amazon-web-services amazon-dynamodb

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

在Scala选项类型isEmpty方法中检查无

我正在使用Option Type的isEmpty方法来检查是否没有值.我不想case match在我的情况下使用as,我只是想检查是否有,None因为我会向调用者抛出错误.但isEmpty即使值很大,该方法也会失败None.

这是我试过的!

val questionOption = Question.getQuestionForQuestionId(userExam.get.examId, currQuesId + 1)

if(questionOption.isEmpty) {
    Left(Failure(FailureCode.NO_DATA_FOUND, "Cannot get next exam question you tampered your cookie or cookie is lost.... >> TODO... modify the exception message"))
} 
Run Code Online (Sandbox Code Playgroud)

它没有进入if条件.我试着在questionOption上做一个println,然后打印出None.所以想知道为什么我没有进入if条件.

scala scala-option

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

Android ACTION_DATE_CHANGED广播

我有一个Nexus S,当我在手机上手动更改日期时,并不总是广播ACTION_DATE_CHANGED.如果我将日期从2014年2月13日更改为2014年2月14日,我还没有获得ACTION_DATE_CHANGED工作,但如果我将其设置为未来几年,我有时会将其解雇.

我可以(99%)向你保证我不会滥用IntentFilters,BroadcastReceivers等.我只是好奇为什么这个广播记录得如此糟糕.通过SO和Google进行的快速扫描显示,当用户手动更改,或者日期在每天凌晨12:00或两者都滚动时,人们不确定是否会发生这种情况.我的经验表明,它与用户更改非常不一致,我没有尝试过系统更改.

我将通过AOSP代码,并隔离所有被触发的点并报告回来.

编辑:问题:任何人都知道这里发生了什么?:-)

android broadcastreceiver android-intent android-broadcast

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

GitHub Actions 忽略目录中的某些文件

我有一个使用 GitHub Actions 的项目。我现在需要忽略某些文件夹内的某些文件更改。这是我的项目结构:

masterDir
 - contentDir
   - dir1
     - file1.ignore.md
     - file2.md
  -  dir2
     - file3.md
     - file4.ignore.md
Run Code Online (Sandbox Code Playgroud)

因此,我希望对文件名中包含ignore.md 的任何文件进行任何更改都不会触发我的GitHub 操作。这就是我想出的办法,但这似乎不起作用。

on:
  push:
    paths-ignore:
      - 'README.md'
      - 'backup/**'
      - 'masterDir/contentDir/**/*.draft.md'
Run Code Online (Sandbox Code Playgroud)

关于我的通配符匹配有什么问题有什么想法吗?

github-actions

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

C#NUnit TestCaseSource传递参数

我有以下方法生成一组测试用例!

public IEnumerable<ResultsOfCallMyMethod> PrepareTestCases(param1)
{
    foreach (string entry in entries)
    {
        yield return callMyMethod(param1);
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将作为参数类型的param作为参数传递给我的PrepareTestCases()方法?

有没有办法做到以下几点:

[Test, Category("Integration"), TestCaseSource("PrepareTestCases", param1)]
public void TestRun(ResultsOfCallMyMethod testData)
{
    // do something!
}
Run Code Online (Sandbox Code Playgroud)

c# nunit

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

将Java Future转换为Scala Future

我有一个Java Future对象,我想将其转换为Scala Future.看看jucFuture API,除了isDone方法之外我没有什么可以使用的.这是isDone方法阻止吗?

目前这就是我的想法:

val p = Promise()
if (javaFuture.isDone())
  p.success(javaFuture.get)
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

scala future scala-java-interop

12
推荐指数
4
解决办法
8649
查看次数

了解Scala类型系统中的Aux模式

这个问题之前可能会被提出并回答,但我想通过一个例子来理解这个问题,我无法推断出Aux模式可能有用的地方!所以这是特征:

trait Foo[A] {
  type B
  def value: B
}
Run Code Online (Sandbox Code Playgroud)

为什么我有一个类型绑定到值函数的返回类型?我这样做了什么?特别是,我会在哪里使用这种模式?

scala shapeless

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

将 GitLab CI 变量注入 Terraform 变量

我有一组 Terraform 文件,特别是一个 Variables.tf 文件,它保存了我的变量,如 aws 访问密钥、aws 访问令牌等。我现在想使用 GitLab CI / CD 在 AWS 上自动创建资源。

我的计划如下:

  1. 编写 .gitlab-ci-yml 文件

  2. 在 .gitlab-ci.yml 文件中进行 terraform 调用

我知道我可以在 GitLab 中拥有秘密环境变量,但我不确定如何将这些变量推送到我的 Terraform Variables.tf 文件中,现在看起来像这样!

# AWS Config

variable "aws_access_key" {
  default = "YOUR_ADMIN_ACCESS_KEY"
}

variable "aws_secret_key" {
  default = "YOUR_ADMIN_SECRET_KEY"
}

variable "aws_region" {
  default = "us-west-2"
}
Run Code Online (Sandbox Code Playgroud)

在我的 .gitlab-ci.yml 中,我可以访问如下秘密:

- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}' 
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}' 
- 'AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}'
Run Code Online (Sandbox Code Playgroud)

如何将其传送到我的 Terraform 脚本?有任何想法吗?我需要从 GitLab 环境中读取秘密并将其传递给 Terraform 脚本!

continuous-integration amazon-web-services gitlab terraform

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

了解Scala中的Case类和Traits

我有一个如下定义的简单特征:

trait MyTrait {

  def myStringVal: String

}
Run Code Online (Sandbox Code Playgroud)

我的case类实现了这个特性如下:

case class MyCaseClass(myStringVal: String) extends MyTrait {
  ...
  ...
}
Run Code Online (Sandbox Code Playgroud)

来自Java世界,我发现有点难以理解MyCaseClass实际上只是通过定义MyCaseClass的参数来实现它.我知道你的字节代码实际上会编写getter和setter.但如果没有var或val,这怎么可能呢?

我的理解是,如果没有var或val,则不会生成getter或setter方法.在这种情况下,上面的案例类MyCaseClass如何实现myStringVal方法?

有时太多的Scala魔法难以理解,特别是遗留代码.

scala

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