小编nha*_*nha的帖子

Clojure - 配置`timbre`日志记录

我使用了编写单元测试clojure.test,现在我正在为我的应用程序添加基准测试,使用criteriumperforate.

这很好用,但我有一个问题:我在基准测试中看到了很多日志.我正在使用timbre,我不知道如何从Leiningen的Clojure代码配置它.

我没有设置配置图,虽然它在自述文件中声称非常简单,但我没有找到其他文档,到目前为止我对默认设置很满意.

如何配置timbre登录到具有之间不同的配置文件development,production以及benchmarks(这是子情况下development).

注意:如果这是相关的,我已经在Leiningen 使用了一个productiondevelopment配置文件.

logging clojure timbre

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

哪里定义了像"Esc | 112 m"这样的xterm Escape序列?

在ConEmu中实现xterm-256色时,我发现了一些未知的Escape序列(由Vim使用)

Esc | 7 m
Esc | 15 m
Esc | 112 m
Run Code Online (Sandbox Code Playgroud)

从Vim来源我发现这些代码用于更改粗体或反向属性,但我找不到任何关于它们的文档.

Esc | N m序列有什么规格吗?他们这里没有提到.

windows vim xterm ansi-escape

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

graphQL - 类型必须是输出类型

我正在尝试使用graffitiexpress和mongoose设置graphQL路由.

但是我收到以下错误:

Error: myColl.myField field type must be Output Type but got: undefined.
  at invariant (/Users/nha/.../node_modules/graphql/jsutils/invariant.js:20:11)
  at /Users/nha/.../node_modules/graphql/type/definition.js:299:39
Run Code Online (Sandbox Code Playgroud)

在mongoose模式中,类型是:type : Schema.Types.ObjectId.是否应该改变别的东西?

我应该注意的是版本是:

"@risingstack/graffiti": "^1.0.2"
"@risingstack/graffiti-mongoose": "^3.1.1"
"mongoose": "~3.6.20"
Run Code Online (Sandbox Code Playgroud)

mongoose node.js graphql graphql-js

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

Clojure - 走路径

我正在寻找一个类似于clojure.walk中的inner函数,它具有一个带有参数的函数:

  • 不是键和值,就像clojure.walk/walk函数一样
  • 但是从顶层数据结构访问值所需的键向量.
  • 递归遍历所有数据

示例:

;; not good since it takes `[k v]` as argument instead of `[path v]`, and is not recursive.
user=> (clojure.walk/walk (fn [[k v]] [k (* 10 v)]) identity {:a 1 :b {:c 2}})
;; {:a 10, :c 30, :b 20}

;; it should receive as arguments instead :
[[:a] 1]
[[:b :c] 2]
Run Code Online (Sandbox Code Playgroud)

注意:

  • 它也应该使用数组,使用键0,1,2 ......(就像在get-in).
  • outer如果允许简化代码,我真的不关心参数.

dictionary clojure data-structures clojurescript

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

来自远程网址的koa.js流媒体响应

我想创建一个koa路由,就像另一个url的代理一样,它提供的文件通常只有几十兆字节.

因此,我不想在做出回应时阻止.我使用this.body = yield request.get(url);目前,其中请求是[co-request] 1模块.

如何将响应流回客户端?

编辑:

我现在正在做以下事情:

var req = require('request');
//...
this.body = req(url).pipe(fs.createWriteStream(this.params.what));
Run Code Online (Sandbox Code Playgroud)

如果我粘贴url在我的浏览器中,我得到一个文件就好了.但是如果我得到了Error: Cannot pipe. Not readable.我的路线.

streaming node.js koa

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

Clojure - 集成测试组织

在Clojure中构建集成和单元测试的典型方法是什么?到目前为止,我有一个test/文件夹遵循我的src/目录结构.但我想将它们分成单元测试和集成测试.

有推荐的策略吗?测试中的注释?子文件夹test/unittest/integration?环境变量?

注意:我使用boot而不是重要的leiningen是它

testing integration-testing clojure

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

Clojure - 在磁盘上记忆

我想提高返回调整大小图像的函数的性能。请求的图像大小不应有太大变化(取决于设备),因此以某种方式缓存结果是有意义的。

我当然可以将它存储在磁盘上,并检查调整后的图像是否存在,并确保如果原始图像被删除,调整后的版本太......

或者,我可以使用记忆功能。但是由于结果可能很大(我认为图像大约为 5 - 10 MB),将它们存储在内存中是没有意义的(几十 GB 的图像及其修改版本会很快填满内存)。

那么,有没有办法让记忆功能类似于常规 Clojure defmemo,但由本地磁盘中的文件夹而不是内存支持?然后我可以使用一种ttl策略来确保图像不会长时间不同步。

类似于crache,但由文件系统支持的东西?

caching clojure memoization

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

ClojureScript - 获取复选框元素值

我有以下代码(来自om.next)创建一个复选框输入。创建工作正常,但我不知道如何获取事件值,因为当我单击它时我没有在日志中的某处看到该值(虽然有很多数据):

(dom/input #js {:type    "checkbox"
                :onClick (fn [e] (js/console.log e)) ;; how do I get the current true/false value from `e` ?
               })
Run Code Online (Sandbox Code Playgroud)

我进入日志(缩写):

SyntheticMouseEvent {dispatchConfig: Object, dispatchMarker: ".0.0.1.$[cardpath]=1[om_tutorial=1B_UI_Exercises]=1[exercise-3].0.$-184795562.1.0", nativeEvent: MouseEvent, target: input,当前目标:输入...}

注意:代码来自那里

clojurescript

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

启动新终端时执行 zshrc 别名

我正在使用zsh并在我的配置中添加另一个别名:

alias recursively_git_pull_all_repo="for dir in $(find . -name ".git"); do cd ${dir%/*}; git pull ; cd -; done"
Run Code Online (Sandbox Code Playgroud)

但是,每次我打开一个新终端时,这个别名似乎都会被执行(或者至少它会大大减慢启动新终端的速度)。

如何在每次打开新终端时添加此别名而不启动它?

zshrc oh-my-zsh

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

kubectl 请输入用户名: 错误: EOF

Please enter Username: error: EOF运行命令时,我的 CI 进程开始出现错误kubectl。kubectl 版本与集群版本匹配,并且我可以使用 所示的相同配置从我的机器上正常运行相同的命令kubectl config view

这是日志:

+ kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: REDACTED_FOR_QUESTION
  name: REDACTED_FOR_QUESTION
contexts:
- context:
    cluster: REDACTED_FOR_QUESTION
    user: REDACTED_FOR_QUESTION
  name: REDACTED_FOR_QUESTION
current-context: REDACTED_FOR_QUESTION
kind: Config
preferences: {}
users:
- name: REDACTED_FOR_QUESTION
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
++ echo 'Starting Kube proxy - port is 8001'
++ set +e
++ echo 'using kubectl'
++ sleep 1
++ kubectl proxy --port=8001
error: …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubectl

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