小编Lov*_*ing的帖子

没有REPL重启的任何方式添加依赖项lein项目?

我现在要做的就是打开project.clj,添加依赖那里,运行lein deps重启REPL,那么use,require等等.

问题是我真的不想重新启动repl,因为启动时间很慢,我不得不重新加载我的文件.

那么是否有更好的方法为lein项目添加依赖?没有重新启动repl?

clojure leiningen

45
推荐指数
2
解决办法
9450
查看次数

git无法克隆或推送?无法连接,连接被拒绝

之后git push -u origin master 我得到:

git://

当我尝试克隆其他repo时发生同样的错误.

端口8087似乎不忙.怎么可能出错?

编辑:当我从git://而不是https://进行克隆时,它可以正常工作.

git github

22
推荐指数
4
解决办法
3万
查看次数

我可以在没有nodejs服务器的情况下在客户端使用webpack吗?

我正在尝试构建一个Web应用程序,我想在amazon s3上存储所有html,js和css文件,并通过api与一个安静的服务器进行通信.

我试图实现延迟加载,并可能使用react路由器进行路由.似乎webpack具有此功能代码拆分,其工作方式与延迟加载类似.

但是,我发现的所有教程和示例都涉及webpack-dev-server,它是一个小型节点快速服务器.反正我是否可以在构建时生成bundle并将所有内容上传到amazon s3并实现与Angular的ocLazyLoading类似的东西?

amazon-s3 node.js reactjs webpack webpack-dev-server

16
推荐指数
1
解决办法
8717
查看次数

哪个repl在emacs里面用于clojure

我想在emacs中设置一个编辑clojure的环境.我对emacs(仅1年)相对较新,而且对于clojure(2周)来说是全新的.我在网上找到了很多关于如何设置lein,swank-clojure,slime和nrepl的教程.似乎swank-clojure和slime需要一起工作但是swank-clojure已经弃用了,所以剩下的就是nrepl和一些内置的lisp repl模式.

我首先尝试了劣质的lisp模式,因为它是clojure-mode的默认模式,它对我来说很好看.但我似乎无法找到一种方法在其中轻松切换命名空间.

然后我尝试了emacs-live,这就像是nrepl附带的emacs新手的工具包.然后我可以做"nrepl-jack-in"来获得一个repl,即使它非常慢..它可以用"CC Mn"轻松切换名称空间.然而,在切换之后的某个时候,会弹出一个名为nrepl错误的缓冲区,并且不会让我关闭.我必须强制关闭emacs.此外,nrepl没有太多的语法高亮.

总结一下:在swank-clojure被弃用之后,我应该使用哪个repl?煤泥REPL?nrepl?或其他人?

我现在对clojure知之甚少,所以我不确定bre功能对于repl很重要但是至少有语法高亮并且可以在nrepl中像"CC Mn"之类的命名空间之间轻松切换,这可能是一件好事.调试器.

emacs clojure slime

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

如何在目录内更改emacs helm-find-file默认操作而不是在dired中打开?

我正在使用emacs前奏曲.

我最近决定从ido切换到头盔.

所以我启用helmhelm-everywhere在emacs前奏中,

一切都很完美,除了默认行为 helm-find-file

在Ido,我可以点击ret选定目录,但我必须击中rightc-j掌舵.此外,helm-find-files将列出...在每个目录的最顶部.这意味着在ido中,ret ret ret如果沿路径的目录不多,我可以直到达到最终目的地.

但掌舵,我不得不输入一些字符,c-j打字类型至少1个字符,点击c-j等等.我甚至不能c-j连续打.

我不想切换回ido,因为我真的很喜欢find-file中的helm的grep功能.

无论如何我可以更改默认顺序,让它可能列表.,..在底部,并ret输入目录而不是打开直接?

emacs emacs-prelude emacs-helm

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

如何用clojurescript用试剂做ajax请求?

假设我有一个组件需要在渲染之前从服务器请求一些数据.

我现在拥有的是与cljs-ajax图书馆类似的东西:

(def data (r/atom nil)) 

(defn component [id]
  (r/create-class {:reagent-render simple-div
                   :component-did-mount (partial get-data id)}))

(defn get-data [id]
  (GET (str "/api/" id)
     {:handler init}))

(defn init [response]
  (let [data1 (:body response)
        data2 (compute data1)
        data3 (compute2 data2)]
    (reset! data (compute3 data1))
    (.setup @data data1)
    (.setup2 @data data2)
    (.setup3 @data data3))
Run Code Online (Sandbox Code Playgroud)

setup功能是国外一些JS库函数有副作用.

这有效,但我不觉得这是回调的正确方法.更不用说我是否需要GET基于我得到的第一个数据的其他数据,然后基于它的其他数据,它将是一个非常讨厌的回调链.

在试剂/ clojurescript中有没有更好,更干净的方式来做这种ajax请求?

clojurescript reagent

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

反正有没有减少nrepl(ritz-repl)的启动时间?

我以前没有使用过ritz-nrepl,而nrepl花了大约10秒的时间,这很长但是仍然可以忍受,因为我不经常重启它.

当我尝试使用ritz-repl时,启动需要将近30秒,耗费大约1.3G内存.这让我不愿意使用它.

我甚至投入了SSD希望它可以提高速度,因为我听到有人提到他"几乎没有注意到使用ubuntu + ssd的lein repl启动时间".但我无法区分ssd和hdd之间的区别.我不知道我做错了什么或者它只是一个神话.

clojure nrepl

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

当您想要Clojure中的副作用和保留值时,使用什么功能?

人们说避免使用map顺序执行副作用,这是有道理的.

但在现实世界中,我发现自己需要保留结果并map急切地评估,即插入数据库并返回记录时.

这是(doall (map ..))我唯一的选择吗?有没有比较惯用的方法呢?

clojure

5
推荐指数
2
解决办法
189
查看次数

什么是clojure交换的最佳方式!一个原子,如果它是零?

假设我有一个原子初始设置为0.我想初始化它,只有它以前没有初始化,

我现在拥有的:

(swap! atom #(if % % (initialize)))
Run Code Online (Sandbox Code Playgroud)

但是,这对我来说并不像是惯用语.

必须有更可读的方式吗?

clojure

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

如何以循环方式执行不以嵌套方式执行的操作?

我希望有类似的东西

(for [x [1 2 3]
      y [4 5 6]]
      (+ x y))
=>(5 7 9)
Run Code Online (Sandbox Code Playgroud)

代替

=>(5 6 7 6 7 8 7 8 9)
Run Code Online (Sandbox Code Playgroud)

我想我可以通过解构来做到这一点但不确定如何.我试过了

(for [[x y] [[1 2 3] [4 5 6]] (+ x y))
Run Code Online (Sandbox Code Playgroud)

给出(3 9).

有什么建议?

clojure

3
推荐指数
1
解决办法
78
查看次数