小编Vik*_* K.的帖子

Redis命令行SET值包含双引号

我想使用redis命令行(使用redis-cli)来存储json值.这就是我的工作

redis 127.0.0.1:6379> set test '{"a":"b"}'
Run Code Online (Sandbox Code Playgroud)

此命令失败并显示以下消息

Invalid argument(s)
Run Code Online (Sandbox Code Playgroud)

我没有设置不包含双引号的值的问题.逃避双引号的正确方法是什么?

redis

25
推荐指数
3
解决办法
2万
查看次数

Spring @RequestBody包含不同类型的列表(但是相同的接口)

假设我有一个域类:

    public class Zoo{
        private List<Animal> animals;
        ....
Run Code Online (Sandbox Code Playgroud)

其中Animal是具有不同实现的接口(Cat,Dog).假设我希望能够保存Zoo对象:

    @RequestMapping(value = "/zoo", method = RequestMethod.POST)
    public @ResponseBody void save(@RequestBody Zoo zoo) {
    ....
Run Code Online (Sandbox Code Playgroud)

我想发送一个json - 类似于:

    {
        animals:[
            {type:'Cat', whiskers-length:'3'},
            {type:'Dog', name:'Fancy'}
        ]
    }
Run Code Online (Sandbox Code Playgroud)

当键入=='Cat'时,如何告诉spring MVC将动物映射到Cat类型,并在键入=='Dog'时将其映射到Dog类?

java spring json spring-mvc

18
推荐指数
2
解决办法
9304
查看次数

应该在不使用时关闭core.async频道吗?

关闭方法(至少在java世界中)是你作为一个好公民必须在完成使用相关资源时调用的东西.不知何故,我自动开始应用相同的关闭!core.async库中的函数.据我所知,这些渠道对任何IO都不紧张,因此我不确定是否有必要致电关闭!是否可以在不关闭垃圾收集的情况下保留垃圾收集的频道(本地频道)?

asynchronous channel clojure core.async

11
推荐指数
1
解决办法
1008
查看次数

如何在clojurescript中获取查询参数?

我正在使用秘书和试剂.这是我的代码:

(def view (atom nil))

(defn layout [view]
  [:div @view])

(reagent/render-component [layout view] (.getElementById js/document "message"))

(secretary/set-config! :prefix "")

(secretary/defroute home-path "/" [query-params]
  (timbre/info "Path : /, query params : " query-params)
  (let [warning (:warning query-params)
        success (:success query-params)
        login-failed (:login_failed query-params)]
    (when warning
      (timbre/info "Warning found : " warning)
      (reset! view [:h4 [:span.label.label-warning warning]]))
    (when success
      (timbre/info "Success found : " success)
      (reset! view [:h4 [:span.label.label-info success]]))
    (when login-failed
      (timbre/info "Login failed")
      (reset! view [:h4 [:span.label.label-warning "Login Failed."]]))))

(let …
Run Code Online (Sandbox Code Playgroud)

clojurescript secretary reagent

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

使用seque函数时的OutOfMemoryError

我有这个功能,可以重现我的问题:

(defn my-problem
  [preprocess count print-freq]
  (doseq [x (preprocess (range 0 count))] 
    (when (= 0 (mod x print-freq)) 
      (println x))))
Run Code Online (Sandbox Code Playgroud)

当我用这样的身份函数调用它时,一切正常:

(my-problem identity 10000000 200000)
;it prints 200000,400000 ... 9800000 just as it should
Run Code Online (Sandbox Code Playgroud)

当我用seque函数调用它时,我得到OutOfMemoryError:

(my-problem #(seque 5 %) 10000000 200000)
;it prints numbers up to 2000000 and then it throws OutOfMemoryException
Run Code Online (Sandbox Code Playgroud)

我的理解是seque函数应该使用ConcurrentBlockingQueue将处理分成两个线程,最大大小为5(在本例中).我不明白内存泄漏在哪里.

clojure

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

Yeoman(bower,grunt) - 'SockJS'没有定义

我试图用自耕农管理一个javascript前端应用程序.我没有任何自耕农的经历.在运行grunt命令时,我收到此错误:

Running "jshint:all" (jshint) task
Linting app/scripts/services/stopmOverSockJs.js ...ERROR
[L7:C26] W117: 'SockJS' is not defined.
        var socket = new SockJS(url);
Run Code Online (Sandbox Code Playgroud)

我在bower.json中定义了sock js依赖:

{
  "name": "web",
  "version": "0.0.0",
  "dependencies": {
      "sockjs": "~0.3.4",
      "angular": "~1.0.7",
...
Run Code Online (Sandbox Code Playgroud)

和bower install命令运行没有问题,它下载所有依赖项,包括sockjs.

这是grunt命令抱怨的文件:

'use strict';

angular.module('webApp').factory('sockJsHelper', function($rootScope) {

    function Handler(url) {
        var socket = new SockJS(url); //it complains about this line
.... 
Run Code Online (Sandbox Code Playgroud)

为了让SockJS得到认可,我该怎么做?

javascript gruntjs yeoman sockjs bower

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

从其他命名空间导入记录时ClassNotFoundException

我有以下文件:

src/my_proj/myns.clj:

(ns my-proj.myns)
(defrecord MyRecord  [a b c])
Run Code Online (Sandbox Code Playgroud)

test/my_proj/myns_test.clj:

(ns my-proj.myns-test
  (:require [clojure.test :refer :all]
        [my-proj.myns :refer :all])
  (:import [my-proj.myns MyRecord]))

(def my-rec (MyRecord. "A" "B" "C"))

(deftest my-test
  (testing "test"
    (is (:a my-rec))))
Run Code Online (Sandbox Code Playgroud)

当我跑:

lein test
Run Code Online (Sandbox Code Playgroud)

我得到一个ClassNotFoundException:

Exception in thread "main" java.lang.ClassNotFoundException: my-proj.myns.MyRecord
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.Class.forName0(Native Method)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

namespaces clojure leiningen

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

通过使另一个函数的参数不变来创建函数(clojure,newbie)

我刚开始学习clojure,而且我没有太多的函数式编程经验.假设我有一个功能:

(defn process-seq
   [process]
   ...doing something...)
Run Code Online (Sandbox Code Playgroud)

这需要另一个函数作为参数.这个参数应该是一个带有单个参数的函数 - 一个序列.例如 :

(defn filter-odd
  [sequence]
  (filter odd? sequence))
Run Code Online (Sandbox Code Playgroud)

所以我现在可以写:

(process-seq filter-odd)
Run Code Online (Sandbox Code Playgroud)

我不喜欢它是我必须定义filter-odd函数.我想在没有定义它的情况下实现它.我想要的是通过常量谓词传递过滤器函数:奇数?.类似的东西(只是我编写的伪代码):

(process-seq filter(odd?))
Run Code Online (Sandbox Code Playgroud)

有可能吗?

clojure

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