我按照说明安装了cherryPy:
http://docs.cherrypy.org/en/latest/install.html
当我跑:
python -m cherrypy.tutorial.tut01_helloworld
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/lib/python2.7/dist-packages/cherrypy/tutorial/tut01_helloworld.py", line 34, in <module>
cherrypy.quickstart(HelloWorld(), config=tutconf)
File "/usr/local/lib/python2.7/dist-packages/cherrypy/__init__.py", line 169, in quickstart
_global_conf_alias.update(config)
File "/usr/local/lib/python2.7/dist-packages/cherrypy/_cpconfig.py", line 158, in update
reprconf.Config.update(self, config)
File "/usr/local/lib/python2.7/dist-packages/cherrypy/lib/reprconf.py", line 160, in update
config = Parser().dict_from_file(config)
File "/usr/local/lib/python2.7/dist-packages/cherrypy/lib/reprconf.py", line 232, in dict_from_file
self.read(file)
File "/usr/local/lib/python2.7/dist-packages/cherrypy/lib/reprconf.py", line 202, in read
fp = open(filename) …
Run Code Online (Sandbox Code Playgroud) 根据Datomic(在样本/西雅图下)附带的'geting-started.clj'文件的第54行,我应该能够在查询中使用pull函数,如下所示:
(def pull-results (q '[:find (pull ?c [*]) :where [?c :community/name]] (db conn)))
Run Code Online (Sandbox Code Playgroud)
但是,在下面的代码中我收到一个错误:IllegalArgumentException Argument [*] in:find不是变量datomic.query/validate-query(query.clj:315)
(defn get-tag [] (d/q '[:find (d/pull ?e [*])
:where [?e :tag.tag/term]] (db conn)))
Run Code Online (Sandbox Code Playgroud)
现在,在我眼里,这两个人的构造相似.再加上从http://docs.datomic.com/clojure/#datomic.api/pull读取的pull函数api 似乎是:
(pull db pattern eid)
Run Code Online (Sandbox Code Playgroud)
我会说自从编写西雅图代码以来,API已经发生了变化.我对么?如果没有,这里发生了什么.谢谢
我已将数据发布到基座端点“/my-post。我已按如下方式路由该端点:
[[["/" {:get landing} ^:interceptors [(body-params/body-params) ...]
["/my-post {:post mypost-handler}
....
Run Code Online (Sandbox Code Playgroud)
所以在我看来,这意味着 body-params 拦截器也会针对 /my-post 触发。
在我的后处理程序中我有:
(defn mypost-handler
[request]
****HOW TO ACCESS THEN FORM DATA HERE ****
)
Run Code Online (Sandbox Code Playgroud)
我现在如何访问此处的表单数据?我可以从打印请求中看到我有一个 #object[org.eclipse.jetty.sever.HttpInputOverHTTP..] ,它显然需要进一步处理才能对我有用。
(我必须说,Pedestal 的文档充其量只是相当粗略......)
我假设如果在系统的某个地方有一个标记为隐含的值:
implicit val moo = "World!"
Run Code Online (Sandbox Code Playgroud)
然后它可以随时随地"从空中拔出"?
它是否正确?
所以如果我现在有以下代码:
import Execution.Implicits._
def myFunc(stub:String)(implicit imp:String) = {
//the compiler now knows that imp should be the same as moo
println(stub + " " + imp)
}
myFunc("Hello") // <- should print "Hello World!"
Run Code Online (Sandbox Code Playgroud)
但是,如何避免将函数的签名实际定义为隐式?这意味着在调用链的所有方向上我必须将它包含在参数中,这些参数与implicits的预期用途不符.我怎么能真正地"从空中采摘"?
谢谢
我有以下obj是JsObject
:
val approx_pieces: Option[String] = (obj \ "approx_pieces").asOpt[String]
Run Code Online (Sandbox Code Playgroud)
Some("0")
如果数据库中的大约是"0",则此代码将创建一个.
如何更改它以便None
在字符串为"0"时创建它?
我有以下代码:
(defn compile-report [id]
(let [a (gen-first-part id)
b (gen-second-part id)
c (gen-third-part id)
d (gen-fourth-part id)]
(conj a b c d)))
Run Code Online (Sandbox Code Playgroud)
每个'gen-x-part'函数都是cpu密集型的.据我了解,let表单将在单个线程上串行运行这些计算.如果我有一个核心机器,那么在它自己的线程上运行它们就没有意义,因为它们都是cpu绑定的.但是,我有一台4芯机器.如何利用每个核心并将这些功能分配到自己的核心?谢谢.
我正在讨论Pedestal文档
https://github.com/pedestal/pedestal/tree/master/guides/documentation
Run Code Online (Sandbox Code Playgroud)
没有关于如何从模板渲染html的示例.基座甚至有这个功能吗?如果是这样,任何人都可以通过一个例子解释这是如何工作的......
我有一个功能:
(defn myfunc [x y z] ....does something interesting here )
Run Code Online (Sandbox Code Playgroud)
我有一组数据组:
(def mydata [[:a1 :b1 :c1] [:a2 :b2 :c2] [:a3 :b3 :c3]])
Run Code Online (Sandbox Code Playgroud)
我想调用myfunc三次,例如:
(myfunc :a1 :b1 :c1)
(myfunc :a2 :b2 :c2)
(myfunc :a3 :b3 :c3)
Run Code Online (Sandbox Code Playgroud)
我有一个模糊的理解,这将包括映射和解构?除此之外,我被卡住了..
如果我有两个向量:
(def moo [:a :b :c :d])
(def foo [:a :z :d :e :f :g])
Run Code Online (Sandbox Code Playgroud)
什么是检查moo是否包含至少一个同样在foo中的值的最简单(规范)方法.在这种情况下,它将返回'true',因为:a和:d出现在foo中.
其次:如果foo包含moo的所有元素(但允许包含其他元素),是否有可能进一步优化以返回true
来自主持人:
ps aux | grep java
me@my-host:~/elastic-search-group$ ps aux | grep java
smmsp 20473 106 6.3 4664740 257368 ? Ssl 17:48 0:09 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/share/elasticsearch -cp /usr/share/elasticsearch/lib/elasticsearch-2.3.4.jar:/usr/share/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch start
Run Code Online (Sandbox Code Playgroud)
然后执行到容器中:
docker exec -it 473 /bin/bash
Run Code Online (Sandbox Code Playgroud)
看看流程:
root@473c4548b06f:/usr/share/elasticsearch# ps aux | grep java
elastic+ 1 14.0 6.3 4671936 257372 ? Ssl 17:48 0:10 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/share/elasticsearch -cp /usr/sh
Run Code Online (Sandbox Code Playgroud)
来自主持人:
sudo kill …
Run Code Online (Sandbox Code Playgroud)