我的一位朋友提请我注意第四届欧洲Lisp研讨会的欢迎辞:
...任何Lisp方言的实现和应用,包括Common Lisp,Scheme,Emacs Lisp,AutoLisp,ISLISP,Dylan,Clojure,ACL2,ECMAScript,......
然后询问ECMAScript是否真的是Lisp的方言.真的可以这样考虑吗?为什么?
是否有明确定义的明确标准来帮助我们检测语言是否是Lisp的方言?或者是一种非常松散的方言(在这种情况下,我们可以将Python,Perl,Haskell等添加到Lisp方言列表中吗?)
我试图在Scala中使用布尔函数的否定,例如:
def someFunction(x: Set, p: Int => Boolean): Boolean =
someOtherFunction(x, !p)
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
value unary_! is not a member of Int => Boolean
Run Code Online (Sandbox Code Playgroud)
我怎样才能提到p的否定?
我正在构建Apache Spark Streaming应用程序,并且在YARN上运行它时无法使其登录到本地文件系统上的文件.怎么能实现这个?
我已经设置了log4.properties
文件,以便它可以成功写入/tmp
本地文件系统目录中的日志文件(部分如下所示):
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=/tmp/application.log
log4j.appender.file.append=false
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Run Code Online (Sandbox Code Playgroud)
当我使用以下命令在本地运行我的Spark应用程序时:
spark-submit --class myModule.myClass --master local[2] --deploy-mode client myApp.jar
Run Code Online (Sandbox Code Playgroud)
它运行正常,我可以看到日志消息写入/tmp/application.log
我的本地文件系统.
但是,当我通过YARN运行相同的应用程序时,例如
spark-submit --class myModule.myClass --master yarn-client --name "myModule" --total-executor-cores 1 --executor-memory 1g myApp.jar
Run Code Online (Sandbox Code Playgroud)
要么
spark-submit --class myModule.myClass --master yarn-cluster --name "myModule" --total-executor-cores 1 --executor-memory 1g myApp.jar
Run Code Online (Sandbox Code Playgroud)
我/tmp/application.log
在运行YARN的机器的本地文件系统上看不到任何内容.
我错过了什么
我正在使用" 第一原理的Haskell编程 " 一书来学习Haskell ,并且在第4章"基本数据类型"的末尾,我遇到了让我感到困惑的事情.这本书提到了一个功能,length
并说它适用于Lists
s.一切都很好,但是当我length
用各种Tuple
s 尝试这个功能时,我看到的东西让我很困惑:
首先,让我们看看类型length
:
:t length
length :: Foldable t => t a -> Int
Run Code Online (Sandbox Code Playgroud)
好的,所以我在上面读到"带一个可折叠的,我认为这是一个方便的列表,并返回一个Int,即列表中元素的数量." 因此,我的第一个困惑:为什么以下工作:
length (1, 1)
1
Run Code Online (Sandbox Code Playgroud)
因为对我而言,似乎我刚刚传递了一个带有两个元素的元组length
,它返回1.是元组列表吗?元组是否可折叠?当然,为什么1
呢?
现在我更进一步:
length (1, 1, 1)
<interactive>:6:1:
No instance for (Foldable ((,,) t0 t1))
arising from a use of ‘length’
In the expression: length (1, 1, 1)
In an equation for ‘it’: it = length (1, 1, 1)
<interactive>:6:9:
No instance …
Run Code Online (Sandbox Code Playgroud) 根据Django文档,"如果SESSION_EXPIRE_AT_BROWSER_CLOSE设置为True,Django将使用浏览器长度的cookie - 一旦用户关闭浏览器就会过期的cookie.如果您希望人们每次都必须登录,请使用此打开浏览器."
这就是我通过将以下行添加到我的settings.py文件(并重新启动服务器)所做的事情:
# Close the session when user closes the browser
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
Run Code Online (Sandbox Code Playgroud)
然后我登录到一个页面,检查用户是否经过身份验证,然后我关闭了浏览器.当我再次打开浏览器并访问同一页面时,它不会要求输入用户名和密码,因为它显然通过了以下测试:
def check_teacher(request):
result = {}
if request.user.is_authenticated():
...
Run Code Online (Sandbox Code Playgroud)
我做错了什么或我错过了什么?有什么建议?
我在我的Ubuntu GNU/Linux 10.10系统上使用Django 1.3版pre-alpha SVN-13858,并使用Django开发服务器运行上面的示例.
是否可以创建一个受限制的 Int,例如PositiveInt,并对其进行编译时检查?换句话说,可以定义一个方法,例如:
def myMethod(x: PositiveInt) = x + 1
Run Code Online (Sandbox Code Playgroud)
然后有类似的东西:
myMethod(-5) // does not compile
myMethod(0) // does not compile
myMethod(5) // compiles
Run Code Online (Sandbox Code Playgroud)
如果这是可能的,我应该如何开始定义PositiveInt,我的意思是在Scala中有一个方便的技术吗?
我正在尝试使用Avro架构验证JSON文件并编写相应的Avro文件.首先,我定义了以下名为的Avro架构user.avsc
:
{"namespace": "example.avro",
"type": "record",
"name": "user",
"fields": [
{"name": "name", "type": "string"},
{"name": "favorite_number", "type": ["int", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
Run Code Online (Sandbox Code Playgroud)
然后创建了一个user.json
文件:
{"name": "Alyssa", "favorite_number": 256, "favorite_color": null}
Run Code Online (Sandbox Code Playgroud)
然后尝试运行:
java -jar ~/bin/avro-tools-1.7.7.jar fromjson --schema-file user.avsc user.json > user.avro
Run Code Online (Sandbox Code Playgroud)
但我得到以下异常:
Exception in thread "main" org.apache.avro.AvroTypeException: Expected start-union. Got VALUE_NUMBER_INT
at org.apache.avro.io.JsonDecoder.error(JsonDecoder.java:697)
at org.apache.avro.io.JsonDecoder.readIndex(JsonDecoder.java:441)
at org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:290)
at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)
at org.apache.avro.io.ResolvingDecoder.readIndex(ResolvingDecoder.java:267)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:155)
at org.apache.avro.generic.GenericDatumReader.readField(GenericDatumReader.java:193)
at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:183)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:151)
at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:142)
at org.apache.avro.tool.DataFileWriteTool.run(DataFileWriteTool.java:99)
at org.apache.avro.tool.Main.run(Main.java:84) …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个类似于Arc90的readability.js的Python /模块/函数等
http://lab.arc90.com/experiments/readability
http://lab.arc90.com/experiments/readability/js/readability.js
所以我可以给它一些input.html,结果是清理该html页面的" 主要文本 "的版本.我想要这个,以便我可以在服务器端使用它(不同于仅在浏览器端运行的JS版本).
有任何想法吗?
PS:我已经尝试过Rhino + env.js并且该组合有效,但性能是不可接受的,需要几分钟来清理大部分的html内容:((仍然无法找到为什么会有这么大的性能差异).
如何更改IE中禁用的SELECT元素的字体颜色?无论我尝试什么,它都会保持灰色.我能够将背景从灰色更改为白色,但禁用SELECT内的文本保持不变.对于Firefox来说,完美的效果对IE中的字体颜色没有影响(在本例中为IE8).您可以在此处查看两种浏览器的最新情况:
http://www.flickr.com/photos/64416865@N00/4732813702/
我使用jQuery来禁用select元素:
$(selectObject).attr('disabled', 'disabled');
Run Code Online (Sandbox Code Playgroud)
这是我用于禁用的CSS类选择:
select[disabled] {
color: black;
background-color: white;
border-style: solid;
}
Run Code Online (Sandbox Code Playgroud)
我觉得很奇怪,我可以轻松更改禁用选择的默认背景颜色,但不能更改默认字体颜色.关于这个的任何提示或想法?(或者在IE中使用CSS完全不可能?)
是否可以在Avro架构中有一个可选字段(即该字段在.JSON文件中根本不显示)?
在我的Avro架构中,我有两个字段:
{"name": "author", "type": ["null", "string"], "default": null},
{"name": "importance", "type": ["null", "string"], "default": null},
Run Code Online (Sandbox Code Playgroud)
在我的JSON文件中,这两个字段可以存在与否.
但是,当它们不存在时,我收到一个错误(例如,当我使用avro-tools命令行客户端测试这样的JSON文件时):
Expected field name not found: author
Run Code Online (Sandbox Code Playgroud)
我理解只要字段名称存在于JSON中,它可以是null
或者是string
值,但我想表达的是"如果这些字段名称不存在则此JSON有效,或者如果它们是存在,它们是null或字符串".
这是否可以在Avro架构中表达?如果是这样,怎么样?
avro ×2
javascript ×2
json ×2
scala ×2
apache-spark ×1
css ×1
django ×1
ecma262 ×1
hadoop-yarn ×1
haskell ×1
heuristics ×1
lisp ×1
log4j ×1
logging ×1
python ×1
types ×1
validation ×1