小编Bry*_*unt的帖子

使用maven jetty时:运行 - 是否可以禁用编译步骤?

我正在使用Eclipse和Maven并使用Maven jetty插件运行我的应用程序.

我发现Maven每次执行jetty时都坚持要重新编译我的文件,这有点令人恼火:run.它是次优的,因为文件已经由Eclipse编译(我正在编写具有(相对)慢编译器的Scala).

我正在使用配置文件,并运行mvn jetty:在我的'development'配置文件下运行.

我想做的是:

配置jetty插件,以便在开发配置文件下运行时跳过编译阶段.

我查看了maven生命周期文档,但没有找到有关'skip.compile'标志或配置参数的任何信息.

我也尝试过配置Maven这样做是徒劳的假设,它会在maven-jetty-plugin启动时停止重新编译.

我错了,它没用.但我所想的是,也许Scala编译器就是问题所在.也许它忽略了编译的东西.

开发maven-compiler-plugin default-testCompile test-compile default-compile compile 1.6 1.6 false org.mortbay.jetty jetty-maven-plugin 7.2.2.v20101205 true development

更新:

我将尝试专门禁用scala编译

maven maven-jetty-plugin jrebel

8
推荐指数
2
解决办法
4203
查看次数

paramiko,不是和ssh-agent谈话.在织物中的相同行为

首先,我试图让织物工作,但它一直在问我密码.

所以我试图减少这个问题.也许从Python创建SSH连接是一个很好的POC.我发现Fabric使用parmiko进行SSH处理.嗯.好吧,让我们尝试一个工作的例子.

这是我写的.

from ssh import *
import os 

print "SSH-AGENT VARS"

print "SSH_AGENT_PID: %s " % os.environ['SSH_AGENT_PID']
print "SSH_AUTH_SOCK: %s " % os.environ['SSH_AUTH_SOCK']

a = Agent()
keys=a.get_keys()
print keys.count("192.168.1.10")


client = SSHClient()
client.load_system_host_keys()
client.connect('192.168.1.10')
Run Code Online (Sandbox Code Playgroud)

导致以下错误消息:

% ./ssh_test.py
SSH-AGENT VARS
SSH_AGENT_PID: 26557 
SSH_AUTH_SOCK: /tmp/ssh-pZHBElj26556/agent.26556 
0
Traceback (most recent call last):
  File "./ssh_test.py", line 18, in <module>
    client.connect('192.168.1.10')
  File "/usr/local/lib/python2.7/dist-packages/ssh/client.py", line 332, in connect
    self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
  File "/usr/local/lib/python2.7/dist-packages/ssh/client.py", line 493, in _auth
    raise saved_exception
ssh.PasswordRequiredException: Private key …
Run Code Online (Sandbox Code Playgroud)

python paramiko ssh-keys fabric ssh-agent

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

Pyparsing,使用嵌套解析器解析php函数注释块的内容

AKA"将从Parser.parseAction的结果构造的子节点添加到父解析树"

我正在尝试使用PyParsing(规则恕我直言)解析PHP文件,其中函数定义已使用JavaDoc样式注释进行注释.原因是我想以一种可用于生成客户端存根代码的方式存储类型信息.

例如:

/*
*  @vo{$user=UserAccount}
*/
public function blah($user){ ......
Run Code Online (Sandbox Code Playgroud)

现在,我已经能够编写一个解析器,使用PyParser非常容易.但是,PyParser带有一个内置的javaStyleComment Token,我想重用它.所以我解析了代码,然后尝试附加一个parseAction,它将剥离gunk并运行一个子解析器(抱歉,不确定术语)并将结果附加到父解析树.

我无法弄清楚该怎么做.代码附在下面.顺便说一句,我可以轻松编写自己的javaStyleComment,但我想知道一般是否可以链接解析结果?

再次,抱歉,如果我的问题不简洁,我只是这个东西的新手.

#@PydevCodeAnalysisIgnore
from pyparsing import delimitedList,Literal,Keyword,Regex,ZeroOrMore,Suppress,Optional,QuotedString,Word,hexnums,alphas,\
    dblQuotedString,FollowedBy, sglQuotedString,oneOf,Group
import pyparsing

digits = "0123456789"
colon = Literal(':')
semi = Literal(';')
period = Literal('.')
comma = Literal(',')
lparen = Literal('{')
rparen = Literal('}')
lbracket = Literal('(')
rbracket = Literal(')')
number = Word(digits)
hexint = Word(hexnums,exact=2)
text = Word(alphas)

php = Literal("<?php") + Literal("echo") + Literal("?>")
print php.parseString("""<?php echo ?>""")

funcPerm = oneOf("public private protected")

print funcPerm.parseString("""public""")
print funcPerm.parseString("""private""") …
Run Code Online (Sandbox Code Playgroud)

php python nested pyparsing post-processing

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

Scala,不喜欢java collections API吗?

我正在使用asynchttpclient.构建参数时,将java.util.Map传递给setParameters方法.

(Java)签名如下所示:

setParameters(Map<String,Collection<String>);
Run Code Online (Sandbox Code Playgroud)

真实的一天1.但哇,我正试图从Scala中调用它,我不能为我的生活创建一个与该签名相匹配的集合.

这是我到目前为止创造的混乱.

var m:java.util.Map[java.lang.String,java.util.Collection[java.lang.String]] = new java.util.HashMap[java.lang.String,java.util.HashSet[java.lang.String]]()
val req = new RequestBuilder().setUrl("http://localhost:1234/").setParameters(m).build
Run Code Online (Sandbox Code Playgroud)

这是错误信息,

Multiple markers at this line
- type mismatch; found : java.util.HashMap[java.lang.String,java.util.HashSet[java.lang.String]] required: 
 java.util.Map[java.lang.String,java.util.Collection[java.lang.String]] Note: java.util.HashSet[java.lang.String] <: java.util.Collection[java.lang.String], but Java-defined 
 **trait Map is invariant in type V. You may wish to investigate a wildcard type such as `_ <: java.util.Collection[java.lang.String]`. (SLS 3.2.10)**
- type mismatch; found : 
Run Code Online (Sandbox Code Playgroud)

很公平,我不会想到我做了一些特别复杂的事情,但是让我们试试编译器的建议......

所以我将其更改为以下内容

 var m:java.util.Map[java.lang.String,_ <: java.util.Collection[java.lang.String]] = new java.util.HashMap[java.lang.String,java.util.HashSet[java.lang.String]]()
 val req = new RequestBuilder().setUrl("http://localhost:1234/").setParameters(m).build
Run Code Online (Sandbox Code Playgroud)

并收到以下可爱的错误消息作为回应.

Multiple markers at …
Run Code Online (Sandbox Code Playgroud)

java scala covariance scala-java-interop

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

是否有规格匹配器将取消选择选项和任何一个

我已经创建了一个specs测试,以验证一些JSON解析.虽然测试效果很好,但感觉相当嘈杂.

我想知道规格中是否有现成的代码来取消选择和选择?

"twitter json to Scala class mapper" should {
    "parsing a tweet" in {
      TwitterJsonMapper.tweetP(tweetS) match {
        case Right(t: Tweet) => {
          implicit def unOption[T](t: Option[T]): T = t.get
          implicit def unEither[T](t: Either[T,Throwable]): T = t match {case Left(left) => left ;case Right(t) => throw t}
          "test id" in {
            true must_== (t.id.get == 228106060337135617l)
          }
          "test id_str" in {
            true must_== (t.id_str.get == "228106060337135617")
          }
          "test time" in {
            true must_== (t.created_at.getHours == 13 )
          }
        }
        case …
Run Code Online (Sandbox Code Playgroud)

bdd specs scala

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

Scala多态函数用于过滤输入列表的任一个

寻求更优雅的解决方案

我有这段代码,我只是在没有必要进行任何错误处理的测试用例中使用它.它的作用是:

  • 获取字符串的输入列表
  • 使用DSJSonmapper.parseDSResult方法解析它们
  • 过滤它们并从每个Either中提取Right值(Left是一个例外)

代码如下:

  def parseDs(ins: List[String]) = {
    def filterResults[U, T](in: List[Either[U, T]]): List[T] = {
      in.filter(y => y.isRight).map(z => z.right.get)
    }
    filterResults(ins.map(x => DSJsonMapper.parseDSResult(x)))
  }
Run Code Online (Sandbox Code Playgroud)

现在,我还没有做过很多多态函数,但这很有效.不过我觉得它有点难看.有没有人有更好的建议,如何完成同样的事情.

我知道这将归结为个人偏好的情况.但欢迎提出建议.

monads types scala either parametric-polymorphism

7
推荐指数
2
解决办法
1161
查看次数

嵌套的Scala匹配为什么Some(Some(1),1)无法匹配?

似乎嵌套匹配不起作用,这是一个奇怪的限制.

行为的一个例子如下:

Some(Some(1),2) match {
 | case Some(Some(a),b) => a
 | case e => e
 | }
<console>:9: error: wrong number of arguments for <none>: (x: (Some[Int], Int))Some[(Some[Int], Int)]
   case Some(Some(a),b) => a
            ^
<console>:9: error: not found: value a
   case Some(Some(a),b) => a
                           ^
Run Code Online (Sandbox Code Playgroud)

这有效:

Some(Some(1),2) match {
case Some(a) => a match {
case (Some(a),b) => "yay"
case e => "nay"
}
}
Run Code Online (Sandbox Code Playgroud)

现在,我只是一个蠢货还是有更好的方法来实现这一目标?

scala case pattern-matching extractor scala-option

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

Python bug - 或者我的愚蠢 - EOL在扫描字符串文字时

我看不出以下两行之间的显着差异.

然而,第一次解析,后者则没有.

In [5]: n=""" \\"Axis of Awesome\\" """

In [6]: n="""\\"Axis of Awesome\\""""
  File "<ipython-input-6-d691e511a27b>", line 1
    n="""\\"Axis of Awesome\\""""
                                ^
SyntaxError: EOL while scanning string literal
Run Code Online (Sandbox Code Playgroud)

这是一个Python bug/feature/oddity,还是我遗漏了一些基本的东西?

python string syntax-error eol

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

python可以调试而无需修改代码

似乎调试python代码是一项简单的任务,只需插入以下行来触发调试器.

import pdb
pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)

是的,所以我试过了,它的效果非常好.这是一个不错的调试器.

但有可能启动一个未经修改的python程序,可能指定一个文本文件,列出断点位置?这就是我通常用Java或Flash做的方式.

python debugging command-line

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

c程序,'fstat'的警告消息传递参数1从没有强制转换的指针生成整数

经过长时间的休整,我又回到了c.这是我写的一个小程序来输出文件大小.它编译,并且它正常工作,并且几乎从手册页复制和粘贴.但它给了我一个恼人的gcc警告.

gcc -ggdb  read_file_to_char_array.c -o read_file_to_char_array `mysql_config --cflags --libs && pkg-config --cflags --libs gtk+-2.0 && pkg-config --cflags --libs sdl`  
read_file_to_char_array.c: In function ‘main’:
read_file_to_char_array.c:22:19: warning:   [enabled by default]
/usr/include/i386-linux-gnu/sys/stat.h:216:12: note: expected ‘int’ but argument is of type ‘struct FILE *’`
Run Code Online (Sandbox Code Playgroud)

关于如何让它消失的任何提示(不禁用警告;))

#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char **argv) {
    unsigned long *lengths;
    FILE *fp;
    struct stat sb;

    fp = fopen("image.png", "rb");
    fstat(fp,&sb);

    printf(" Size - %lld : ", (long long)sb.st_size); …
Run Code Online (Sandbox Code Playgroud)

c warnings pointers casting stat

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