我目前正在使用inttelij for java,作为一个phpstorm用户以前我习惯于设置字符串这样的跨度多行(我知道这是不正确的Java语法):
@Query("select count(*) from table where
value= :xxx
AND value= :xxx2")
Run Code Online (Sandbox Code Playgroud)
当它希望设置如下:
@Query("select count(*) from table where "+
"value= :xxx "+
"AND value2 =:xxx2)
Run Code Online (Sandbox Code Playgroud)
是否有某种字符串编辑器插件我可以在intelliJ上使用,或者某种代码格式化选项我可以用来使这或多或少像phpstorm?
我想知道使用我的代码实现类型安全的最佳方法,当各种值可能都是Strings或Doubles时,但仍然不兼容.例如,我可能有单位为磅和千克,但我应该被禁止分配给另一个.同样地,我可能有一个人ID作为String和动物ID的查找表作为Map[String,Int],但我应该被禁止在动物表中查找一个人.
从概念上讲,我正在寻找这样的东西:
class PersonId extends String
class AnimalId extends String
var p : PersonId = "1234"
var tab : Map[AnimalId,Int] = Map("foo" -> 5, "bar" -> 6)
tab.get(p) // Want this to cause a compile error
Run Code Online (Sandbox Code Playgroud)
但是有几个问题使得它不起作用.建议适合精神的东西?
(This question is probably a duplicate, but I can't find it being asked yet...)
Using dplyr techniques, how can I select columns from a data.frame by both names & values at the same time? For example the following (which doesn't work):
> data.frame(x=4, y=6, z=3) %>%
select_if(matches('x') | mean(.) > 5)
Error: No tidyselect variables were registered
Run Code Online (Sandbox Code Playgroud)
In base R, I would do something like this:
> df <- data.frame(x=4, y=6, z=3)
> df[names(df) == 'x' | colMeans(df) > 5] …Run Code Online (Sandbox Code Playgroud) 我正在使用Apache Commons CLI库进行命令行解析.它适用于String值选项,但我不确定如何干净地处理布尔值的命令行标志.我试过这个:
CommandLineParser parser = new GnuParser();
Options options = new Options();
options.addOption(new Option("parseOnly", "Only parse"));
CommandLine cl = parser.parse( options, args );
if( cl.hasOption( "parseOnly" ) )
PARSE_ONLY = (Boolean) cl.getParsedOptionValue( "parseOnly" );
Run Code Online (Sandbox Code Playgroud)
但是这NullPointerException在文件行上失败了,因为cl.getParsedOptionValue()返回null并且无法转换为Boolean.
cl.hasOption( "parseOnly" )返回true或false,但是从文档中不清楚这意味着什么 - 它是否意味着用户指定它并且它可能是true还是false?或者它是否意味着标志被激活?如果你想让一个标志默认为true,并让用户将其关闭(如其他getopt解析器中的--noParseOnly),该怎么办?
我会感谢人们提出的任何建议,包括RTFM - 我确信这是一个很好的基础.谢谢.
我有一个这样定义的Scala类:
import org.apache.spark.{SparkConf, SparkContext}
object TestObject extends App{
val FAMILY = "data".toUpperCase
override def main(args: Array[String]) {
val sc = new SparkContext(new SparkConf())
sc.parallelize(1 to 10)
.map(getData)
.saveAsTextFile("my_output")
}
def getData(i: Int) = {
( i, FAMILY, "data".toUpperCase )
}
}
Run Code Online (Sandbox Code Playgroud)
我将其提交给YARN集群,如下所示:
HADOOP_CONF_DIR=/etc/hadoop/conf spark-submit \
--conf spark.hadoop.validateOutputSpecs=false \
--conf spark.yarn.jar=hdfs:/apps/local/spark-assembly-1.2.1-hadoop2.4.0.jar \
--deploy-mode=cluster \
--master=yarn \
--class=TestObject \
target/scala-2.11/myjar-assembly-1.1.jar
Run Code Online (Sandbox Code Playgroud)
出乎意料的是,输出如下所示,表明该getData方法看不到的值FAMILY:
(1,null,DATA)
(2,null,DATA)
(3,null,DATA)
(4,null,DATA)
(5,null,DATA)
(6,null,DATA)
(7,null,DATA)
(8,null,DATA)
(9,null,DATA)
(10,null,DATA)
Run Code Online (Sandbox Code Playgroud)
关于字段,作用域和可见性以及火花提交,对象和单例以及诸如此类的东西,我需要了解什么才能理解为什么会这样?如果我基本上希望将变量定义为该getData方法可见的“常量”,那我应该怎么做呢?
我希望在我的Jupyter笔记本中有一个默认缩进大小为2个空格而不是4个空格.我怎样才能做到这一点?
注意:这不是重复如何在IPython笔记本中将autoindent更改为2个空格,因为该问题适用于(已弃用)IPython笔记本而非(当前)Jupyter笔记本.
expr在with()函数的表达式中,是否可以data直接访问参数?这就是我在概念上的意思:
> print(df)
result qid f1 f2 f3
1 -1 1 0.0000 0.1253 0.0000
2 -1 1 0.0098 0.0000 0.0000
3 1 1 0.0000 0.0000 0.1941
4 -1 2 0.0000 0.2863 0.0948
5 1 2 0.0000 0.0000 0.0000
6 1 2 0.0000 0.7282 0.9087
> with(df, subset(.data, select=f1:f3)) # Doesn't work
Run Code Online (Sandbox Code Playgroud)
当然上面的例子有点傻,但对于这样的事情会很方便:
with(subset(df, f2>0), foo(qid, vars=subset(.data, select=f1:f3)))
Run Code Online (Sandbox Code Playgroud)
我试图拨开周围environment()和parent.frame()等,但没有拿出任何工作.
也许这真的是一个问题eval(),因为这是如何with.default()实现的.
我一直在寻找以下异常消息的解决方案,当我将更新发布到实体时,我在spring-boot / spring-mvc项目中得到了该消息:
o.s.w.s.m.m.a.HttpEntityMethodProcessor : Written [{timestamp=Wed Jan 14 11:15:34 MST 2015, status=400, error=Bad Request, exception=org.springframework.http.converter.HttpMessageNotReadableException, message=Could not read JSON: Can not deserialize instance of java.util.HashSet out of START_OBJECT token
at [Source: org.apache.catalina.connector.CoyoteInputStream@7f5840c4; line: 1, column: 146] (through reference chain: com.company.product.model.people.dto.EmployeeDTO["user"]->com.company.product.security.dto.UserDTO["roles"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.HashSet out of START_OBJECT token
Run Code Online (Sandbox Code Playgroud)
但是,看来我的情况与我在StackOverflow和Jackson文档中看到的其他情况略有不同。
这是我的两个数据结构:
public class EmployeeDTO {
List<WorkdayDTO> workDays = new ArrayList<WorkdayDTO>();
private UserDTO user;
...
public List<WorkdayDTO> getWorkDays() {
return workDays;
}
public void setWorkDays(List<WorkdayDTO> …Run Code Online (Sandbox Code Playgroud) java ×2
r ×2
scala ×2
apache-spark ×1
dataframe ×1
dplyr ×1
getopt ×1
jackson ×1
jupyter ×1
phpstorm ×1
select ×1
spring-boot ×1
spring-mvc ×1
string ×1
visibility ×1