我使用了编写单元测试clojure.test
,现在我正在为我的应用程序添加基准测试,使用criterium
和perforate
.
这很好用,但我有一个问题:我在基准测试中看到了很多日志.我正在使用timbre
,我不知道如何从Leiningen的Clojure代码配置它.
我没有设置配置图,虽然它在自述文件中声称非常简单,但我没有找到其他文档,到目前为止我对默认设置很满意.
如何配置timbre
登录到具有之间不同的配置文件development
,production
以及benchmarks
(这是子情况下development
).
注意:如果这是相关的,我已经在Leiningen 使用了一个production
和development
配置文件.
在ConEmu中实现xterm-256色时,我发现了一些未知的Escape序列(由Vim使用)
Esc | 7 m
Esc | 15 m
Esc | 112 m
Run Code Online (Sandbox Code Playgroud)
从Vim来源我发现这些代码用于更改粗体或反向属性,但我找不到任何关于它们的文档.
Esc | N m
序列有什么规格吗?他们这里没有提到.
我正在尝试使用graffiti
express和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) 我正在寻找一个类似于clojure.walk中的inner
函数,它具有一个带有参数的函数:
示例:
;; 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)
注意:
get-in
).outer
如果允许简化代码,我真的不关心参数.我想创建一个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.
我的路线.
在Clojure中构建集成和单元测试的典型方法是什么?到目前为止,我有一个test/
文件夹遵循我的src/
目录结构.但我想将它们分成单元测试和集成测试.
有推荐的策略吗?测试中的注释?子文件夹test/unit
和test/integration
?环境变量?
注意:我使用boot
而不是重要的leiningen
是它
我想提高返回调整大小图像的函数的性能。请求的图像大小不应有太大变化(取决于设备),因此以某种方式缓存结果是有意义的。
我当然可以将它存储在磁盘上,并检查调整后的图像是否存在,并确保如果原始图像被删除,调整后的版本太......
或者,我可以使用记忆功能。但是由于结果可能很大(我认为图像大约为 5 - 10 MB),将它们存储在内存中是没有意义的(几十 GB 的图像及其修改版本会很快填满内存)。
那么,有没有办法让记忆功能类似于常规 Clojure defmemo
,但由本地磁盘中的文件夹而不是内存支持?然后我可以使用一种ttl
策略来确保图像不会长时间不同步。
类似于crache,但由文件系统支持的东西?
我有以下代码(来自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,当前目标:输入...}
注意:代码来自那里。
我正在使用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)
但是,每次我打开一个新终端时,这个别名似乎都会被执行(或者至少它会大大减慢启动新终端的速度)。
如何在每次打开新终端时添加此别名而不启动它?
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) clojure ×4
node.js ×2
ansi-escape ×1
caching ×1
dictionary ×1
graphql ×1
graphql-js ×1
koa ×1
kubectl ×1
kubernetes ×1
logging ×1
memoization ×1
mongoose ×1
oh-my-zsh ×1
streaming ×1
testing ×1
timbre ×1
vim ×1
windows ×1
xterm ×1
zshrc ×1