小编acj*_*jay的帖子

撤消导致合并冲突的git stash pop

我开始对我的代码库进行更改,但没有意识到我在一个旧主题分支上.要转移它们,我想将它们藏起来,然后将它们应用到主人的新分支中.我曾经git stash pop将正在进行的工作更改转移到这个新分支,忘记在创建新分支之前我没有将新的更改提取到master中.这导致了一堆合并冲突并且丢失了我的更改(因为我使用了pop).

一旦我正确地重新创建了新分支,我如何才能恢复我的隐藏更改以正确应用它们?

git

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

在Scala中编写代数数据类型

在Haskell中,我可以定义一个Tree:

data Tree a = Empty | Node a (Tree a) (Tree a)

我怎么能在Scala中写这个?

我不确定如何将[A]Scala中的type参数保持Node匹配Tree的类型a.

haskell scala abstract-data-type type-parameter

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

使用play.api.libs.json将对象序列化为json

我正在尝试将一些相对简单的模型序列化为json.例如,我想得到json表示:

case class User(val id: Long, val firstName: String, val lastName: String, val email: Option[String]) {
    def this() = this(0, "","", Some(""))
}
Run Code Online (Sandbox Code Playgroud)

我是否需要使用适当的读写方法编写自己的格式[用户],还是有其他方法吗?我看过https://github.com/playframework/Play20/wiki/Scalajson,但我还是有些迷茫.

json scala playframework playframework-2.0 playframework-json

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

Django相关对象的Queryset,在对原始模型进行预过滤之后

给定一个模型的查询集,我想获得一个与外键相关的另一个模型的查询集.以Django项目docs的weblog架构为例:

class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()

    def __unicode__(self):
        return self.name

class Author(models.Model):
    name = models.CharField(max_length=50)
    email = models.EmailField()

    def __unicode__(self):
        return self.name

class Entry(models.Model):
    blog = models.ForeignKey(Blog)
    headline = models.CharField(max_length=255)
    body_text = models.TextField()
    pub_date = models.DateField()
    mod_date = models.DateField()
    authors = models.ManyToManyField(Author)
    n_comments = models.IntegerField()
    n_pingbacks = models.IntegerField()
    rating = models.IntegerField()

    def __unicode__(self):
        return self.headline
Run Code Online (Sandbox Code Playgroud)

假设我有一个author对象,并且我希望将作者编写的每个博客都作为查询集.我做的事情author_blogs = [entry.blog for entry in author.entry_set].但是我在这种情况下留下了一个列表,而不是一个查询集.有没有办法可以直接使用ORM查询来执行此操作,因此我可以通过自定义条目管理器进行设置use_for_related_fields = True并执行类似操作author_blogs = author.entry_set.blogs,并获得查询集延迟评估等的好处?

编辑的场景和解决方案

所以,我意识到我的问题的应用与我上面提出的问题略有不同,丹尼尔罗斯曼的情况很有意义.我的情况更像是author.entry_set.manager_method().blogs …

django django-models

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

我应该如何将redux与不会被重用的嵌套子组件一起使用?

我正在研究一个有很多子组件的组件,其中一些子组件嵌套了五个子组件.我有兴趣使用redux来获得在共同状态原子中具有单一真实来源的优势.

我不理解的是智能/愚蠢的组件推荐,并将提供者置于主要组件之上,并通过道具传递所有内容.如果我这样做,那么我需要将道具一直传递到第五个嵌套项目,这样它就可以进行回调以调度一个动作或查看只有它需要的状态,而不是它的父项.我理解这是用于代码重用,但子组件永远不会在主组件之外使用.这里推荐的解决方案是什么?还在用道具?

注意:该库的作者要求我们在StackOverflow上提问.我之所以提到这一点,是因为SO似乎将"最佳实践"问题标记为过于模糊.

javascript reactjs redux

13
推荐指数
2
解决办法
5203
查看次数

Play Framework 2.3(Scala)中的自定义JSON验证约束

我设法用自定义约束实现表单验证,但现在我想用JSON数据做同样的事情.

如何将自定义验证规则应用于JSON解析器?

示例:客户端的POST请求包含用户名(username),我不仅要确保此参数是非空文本,还要确保此用户实际存在于数据库中.

// In the controller...

def postNew = Action { implicit request =>
    request.body.asJson.map { json =>
        json.validate[ExampleCaseClass] match {
            case success: JsSuccess[ExampleCaseClass] =>
                val obj: ExampleCaseClass = success.get
                // ...do something with obj...
                Ok("ok")
            case error: JsError =>
                BadRequest(JsError.toFlatJson(error))
        }
    } getOrElse(BadRequest(Json.obj("msg" -> "JSON request expected")))
}


// In ExampleCaseClass.scala...

case class ExampleCaseClass(username: String, somethingElse: String)

object ExampleCaseClass {
    // That's what I would use for a form:
    val userCheck: Mapping[String] = nonEmptyText.verifying(userExistsConstraint)

    implicit val …
Run Code Online (Sandbox Code Playgroud)

validation json scala playframework-2.3 playframework-json

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

映射无形记录

在我正在研究的Play应用程序中,我正在尝试改进我们的系统以处理标志,其中一些是用户通过链接导航我们的应用程序时的持久选项.我想使用Shapeless从选项的定义映射到它的值,并且还仅从标记为要传播的参数合成新的查询参数.我还希望能够利用Shapeless的Record功能来获得参数值的强类型解除引用.不幸的是,我不确定我是否在Shapeless中以有效的方式接近它.

以下是一段代码,被一些解释性注释所打断.

以下是我正在使用的基本数据类型:

import shapeless._
import poly._
import syntax.singleton._
import record._

type QueryParams = Map[String, Seq[String]]

trait RequestParam[T] {
  def value: T

  /** Convert value back to a query parameter representation */
  def toQueryParams: Seq[(String, String)]

  /** Mark this parameter for auto-propagation in new URLs */
  def propagate: Boolean

  protected def queryStringPresent(qs: String, allParams: QueryParams): Boolean = allParams.get(qs).nonEmpty
}

type RequestParamBuilder[T] = QueryParams => RequestParam[T]

def booleanRequestParam(paramName: String, willPropagate: Boolean): RequestParamBuilder[Boolean] = { params =>
  new RequestParam[Boolean] { …
Run Code Online (Sandbox Code Playgroud)

scala record shapeless

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

Scala中的常量值播放JSON读取

我想在通过JSON读取构造对象时使用常量值.

例如,该类将是:

case class UserInfo(
  userId: Long = -1, 
  firstName: Option[String] = None,
  lastName:  Option[String] = None
)
Run Code Online (Sandbox Code Playgroud)

阅读将是:

   implicit val userRead: Reads[UserInfo] = (
      (JsPath \ "userId").read[Long] and
      (JsPath \ "firstName").readNullable[String] and
      (JsPath \ "lastName").readNullable[String] 
    )(UserInfo.apply _)
Run Code Online (Sandbox Code Playgroud)

但我不想在JSON对象中指定userId的值.我将如何编写Reads,以便始终在UserInfo对象中创建-1的值而不在正在读取的JSON对象中指定它?

json scala playframework playframework-json

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

用于增量内循环的python

如何从内循环增加外迭代器?

更确切地说:

  for i in range(0,6):
    print i
    for j in range(0,5):
      i = i+2
Run Code Online (Sandbox Code Playgroud)

我正进入(状态

0
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

, 但我想要 0,2,4

以上是我想要实现的简单想法.

这是我的Java代码:

str1="ababa"
str2="aba"
for(int i =0; i < str1.length; i++)
  for(int j =0; j < str2.length; j++)
       if str1[i+j]!=str[j]
           break;
       if( j ==str2.length -1)
           i=i+str2.length;
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

Traceur在多大程度上编译为兼容IE8的Javascript?

我正在研究的项目将IE8作为一项硬性要求.我们希望使用Traceur开始使用ES6的一些改进语法,但我知道它会产生ES5,而IE8不支持它.鉴于我可以修补IE8与es5shim,这Traceur支持ES6功能使用是安全的?

更具体地说,我想知道哪些特征映射总是直接映射到完全兼容的代码(可能是糖的大部分),由于垫片的限制而导致行为不匹配,并且完全不可用

javascript cross-browser internet-explorer-8 traceur

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