小编mix*_*xel的帖子

Gradle - 手动下载依赖项,锁定版本和更新依赖项

问题.

Gradle依赖管理如下:

  • 没有简单的方法来检查依赖项更新的可用性(仅使用某些第三方插件,如ben-manes/gradle-versions-plugin)和下载更新替换旧版本;
  • 依赖项工件从远程存储库下载,然后存储在gradle缓存中并在后续构建中重用; 但是,成功编译项目不能依赖于连接到Internet,远程存储库的可用性以及这些存储库中特定版本的依赖项的存在.

目标.

  • 在VCS中下载并存储所有依赖项工件;
  • 手动检查这些依赖项的更新并下载它们.

java android dependency-management gradle

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

如何配置android studio avd路径?

今天我google android studio ide用来做一些测试,当我创建一个新的avd时,我发现avd是在路径上生成的C:\Users\username\\.android\avd.我不希望这样.

有人告诉我如何配置avd到另一条路径?

android android-studio

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

以编程方式禁用SIM插槽

我有双卡手机,我需要写一个小部件,将禁用第一张或第二张SIM卡.有没有办法做到这一点?

编辑: 我发现了问题

1)双SIM卡Android

2)双SIM卡更改默认SIM卡

3)双sim安卓sdk

情况令人失望.

android android-widget dual-sim

5
推荐指数
0
解决办法
2435
查看次数

MySQL STR_TO_DATE日期时间值不正确

我已经从文件到表中加载了一些日期,现在我想将带日期的字符串转换为日期时间格式。我的字符串“ datestring”列看起来像这样“ 12-16-2010 01:48:28”,如果我运行此查询:

select STR_TO_DATE('12-16-2010 01:48:28', '%c-%e-%Y %T')
Run Code Online (Sandbox Code Playgroud)

它返回正确的日期时间: 2010-12-16 01:48:28

但是当我尝试运行此:

update database.`temptable` 
SET datetimefile = (SELECT STR_TO_DATE(datestring, '%c-%e-%Y %T'))
Run Code Online (Sandbox Code Playgroud)

我得到那些错误:

Incorrect datetime value: ''12-16-2010 01:48:28'' for function str_to_date
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

mysql datetime

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

使用Context Bound时无法找到隐含值

我正在使用以下用Scala 2.11.8编写的代码:

  sealed trait Acceptable[T]

  object Acceptable {
    implicit object Int extends Acceptable[Int]

    implicit object String extends Acceptable[String]
  }

  case class Enc[T](f: T => Any)

  implicit def test[I, T](implicit f: I => T, a: Acceptable[T]): Enc[I] =
    Enc[I](f)

  val e = implicitly[Enc[Int]]
Run Code Online (Sandbox Code Playgroud)

它成功编译.

如您所见,a: Acceptable[T]参数应该很容易转换为上下文绑定:

implicit def test[I, T: Acceptable](implicit f: I => T): Enc[I] =
    Enc[I](f)
Run Code Online (Sandbox Code Playgroud)

但在那之后,更改编译开始失败并出现错误:

找不到参数e的隐含值:app.Enc [Int]

为什么会这样?

更新:

我试过-Xlog-implicits编译选项和编译日志给我:

[info] /path/to/ScalaTest/src/main/scala/app/Main.scala:60: test is not a valid implicit value for app.Enc[Int] …
Run Code Online (Sandbox Code Playgroud)

scala implicit context-bound

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

为什么 Swift 3 需要 @escaping 注释?

我阅读了这个问题和答案以及Cocoacasts 博客文章,我完全理解什么是@escaping注释。

但老实说,我不明白我们为什么需要它。

上面的 Cocoacasts 博客文章指出:

默认情况下使闭包不转义有几个好处。最明显的好处是性能和编译器优化代码的能力。如果编译器知道闭包是非转义的,它可以处理内存管理的许多细节。

但是 Swift 编译器可以确定是否@escaping丢失并在这种情况下显示错误,所以如果我们@escaping从 Swift 语言中删除注释,那么编译器仍然可以看到闭包何时没有逃逸,我们可以让他在这种情况下应用优化。

这也意味着您可以在非转义闭包中使用 self 关键字而不会出现问题,因为闭包在函数返回之前被调用。没有必要在闭包中使用对 self 的弱引用。这是您免费获得的一个很好的好处。

但是如果闭包参数被标记为@escaping我仍然可以传递使用强引用的闭包self并且编译器不会显示任何警告。实际上,如果所有在@escaping闭包中捕获的引用都是weak默认的,并且应用特殊的关键字来增强它们,那将会更有用。

此外,我认为@escaping注释可能是通过明确声明此闭包参数不会转义函数体来使代码自记录的方法,但是调用方的目的是什么?它不限制闭包定义的方式,也不阻止调用方使用强引用。所以我剩下的就是希望调用方仔细查看函数签名并采取适当的措施(例如使用弱引用)。

所以问题是为什么我们真的需要@escaping在 Swift 3 中使用闭包,以及在哪些情况下我们不能没有它?

更新

我知道不能将不转义的闭包传递给闭包参数标记为的函数@escaping

func testNoEscape(f: () -> ()) {
    f()
}

var storeF: (() -> ())?

func testEscaping(f: @escaping () -> ()) {
    storeF = f
}

func tryPassNoEscapeToEscaping(f: () -> ()) { …
Run Code Online (Sandbox Code Playgroud)

closures swift swift3

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

SBT插件:如何添加编译器插件作为未传播到下游的依赖项?

我正在写一个SBT插件.我想使用Circe JSON库,但它需要Scala 2.10上的Macro Paradise编译器插件.

通常,您将编译器插件添加到build.sbtSBT插件project/plugins.sbt.

现在,当您构建SBT插件时,其他插件将成为依赖项,因此您将它们放入并将build.sbt它们传播到您使用SBT插件的项目.

当我将以下片段放入build.sbt我的SBT插件时:

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)
Run Code Online (Sandbox Code Playgroud)

Paradise编译器插件是否会传播到下游项目?

scala sbt scala-macros scala-macro-paradise sbt-plugin

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

如何在Android中将样式文本分解为页面?

我有一个很长的文本,我想打破多个页面.我还需要一种方式来设置这个文本的样式.

android text page-break styledtext spannablestring

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

找不到类型的隐式“SchemaMeta”

我使用 Quill 库编写了这个简单的应用程序来查询 Cassandra

QuillSample.scala

import java.util.UUID
import io.getquill._
import scala.concurrent.ExecutionContext.Implicits.global
object QuillSample extends App {
   lazy val ctx = new CassandraSyncContext[SnakeCase]("ctx")
   import ctx._
   val getAllRows = quote {
      query[Movies]
   }
   val result = ctx.run(getAllRows)
   println(result)
}
case class Movies(uUID: UUID,
                  avgRating: Float,
                  genres: Set[String],
                  name: String,
                  releaseDate: java.util.Date,
                  videoReleaseDate: java.util.Date)
Run Code Online (Sandbox Code Playgroud)

生成.sbt

name := "QuillSample"
version := "1.0"
scalaVersion := "2.12.0"
libraryDependencies ++= Seq(
   "io.getquill" % "quill-cassandra_2.11" % "1.0.0"
)
Run Code Online (Sandbox Code Playgroud)

应用程序属性

ctx.keyspace=movielens_small
ctx.preparedStatementCacheSize=1000
ctx.session.contactPoint=192.168.1.169
ctx.session.withPort=9042
ctx.session.queryOptions.consistencyLevel=LOCAL_QUORUM
ctx.session.withoutMetrics=true
ctx.session.withoutJMXReporting=false
ctx.session.maxSchemaAgreementWaitSeconds=1
ctx.session.addressTranslater=com.datastax.driver.core.policies.IdentityTranslator …
Run Code Online (Sandbox Code Playgroud)

scala cassandra quill.io

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

Array.contains返回false

我有一组[User]叫做conversationUsers 的用户

用户定义为

public class User: NSManagedObject { ... }
Run Code Online (Sandbox Code Playgroud)

并且currUser是一个User对象

如果我试试

currUser == conversationUsers[0]
Run Code Online (Sandbox Code Playgroud)

结果是真的

conversationUsers.contains(currUser)
Run Code Online (Sandbox Code Playgroud)

结果错了

相反,我使用

conversationUsers.contains({$0 == currUser})
Run Code Online (Sandbox Code Playgroud)

它返回true

仅供参考我还定义了这个:

public func ==(lhs: User, rhs: User) -> Bool {

    let logicalExpression = lhs.email.lowercaseString == rhs.email.lowercaseString

    return logicalExpression

}
Run Code Online (Sandbox Code Playgroud)

为什么包含返回false?这是他的默认谓词?

谢谢您的帮助

contains ios swift swift2

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