小编sw1*_*1nn的帖子

如何在Redshift上查看授权

我想查看红移补助金.

我找到了postgres的这个视图:

CREATE OR REPLACE VIEW view_all_grants AS 
SELECT 
  use.usename as subject, 
  nsp.nspname as namespace, 
  c.relname as item, 
  c.relkind as type, 
  use2.usename as owner, 
  c.relacl, 
  (use2.usename != use.usename and c.relacl::text !~ ('({|,)' || use.usename || '=')) as public
FROM 
  pg_user use 
  cross join pg_class c 
  left join pg_namespace nsp on (c.relnamespace = nsp.oid) 
  left join pg_user use2 on (c.relowner = use2.usesysid)
WHERE 
  c.relowner = use.usesysid or 
  c.relacl::text ~ ('({|,)(|' || use.usename || ')=') 
ORDER BY 
  subject, 
  namespace, 
  item …
Run Code Online (Sandbox Code Playgroud)

sql amazon-redshift

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

为什么Shift +箭头绑定在emacs终端中的clojure模式下不起作用?

如果我在终端中运行emacs(即在iTerm2中启动emacs emacs -nw)使用windmove和它的默认绑定,我应该能够使用Shift+的各种组合在窗口之间导航? ? ? ?,还有paredit涉及Ctrl/ Meta+的绑定? ? ? ?,这些都可以正常工作(比如说) )一个elisp模式缓冲区.

看起来箭头键功能依赖于emacs解码终端转义序列,通过(我认为) input-decode-map

但是,如果我设置主模式,clojure-mode那么转义序列的解码似乎被禁用(或覆盖).当我执行那些绑定时,我只是获得了转义序列.

绑定是clojure-mode怎么回事?

版本:

  • emacs 24.3.1(已尝试过maxosxforemacs.com版本和自制软件)
  • clojure-mode 20131117.2306(已尝试其他版本)
  • OSX 10.8.5
  • iTerm2 1.0.0.20131124

(免责声明:我提出这个问题是关于clojure模式的问题,但没有解决方案即将发布)

更新2013/12/10:绝对清楚:这个问题是特定的clojure-mode.emacs -nw在iTerm +箭头键在其他主要模式下工作正常.我确定我正在做一些愚蠢的事情导致这种情况,我想知道是什么.

macos emacs clojure

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

懒惰不能按预期工作

(defn seq-trial
  []
  (map #(do (println "hello " %) (inc %)) (range 10)))

(take 3 (seq-trial))
Run Code Online (Sandbox Code Playgroud)

评估时上面的代码snippt打印出以下内容 -

(你好0你好1你好2你好3你好4 hello 5你好6 hello 7你好8你好9 1 2 3)

因为map返回了一个懒惰的序列,我希望这只能打印 -

(你好0你好1你好2 1 2 3)

为什么在这里评估整个列表?

functional-programming clojure lazy-evaluation chunking

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

我怎么能在后台启动lein ring server?

现在我做的是:

$ lein ring server &
Run Code Online (Sandbox Code Playgroud)

然后我看到的是:[1] +停止lein响铃服务器.然后我正在尝试使用:

$ fg 1
Run Code Online (Sandbox Code Playgroud)

而且还看到它停止了.我做错了什么以及如何将响铃作为后台进程运行?

shell clojure ring leiningen

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

为什么zsh完成适用于VBoxManage但不适用于vboxmanage?

我在arch linux上安装了zsh-completions.VBoxManage命令的完成似乎工作正常,但vboxmanage没有(即只是简单完成本地目录中的文件).这两个VBoxManagevboxmanage是符号链接到VBox可执行文件.

我的_virtualbox完成定义似乎有第一行

#compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless
Run Code Online (Sandbox Code Playgroud)

看起来像某种别名?但它不起作用.

我有一个修复方法是将上面的行更改为

#compdef VBoxManage=vboxmanage vboxmanage=vboxmanage VBoxHeadless=vboxheadless vboxheadless=vboxheadless
Run Code Online (Sandbox Code Playgroud)

这看起来很啰嗦,有一个指定模式的选项,但是这样命名别名的正确方法是什么?

zsh zsh-completion

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

如何将一个集合分成两个部分给出的百分比

我有一个我想以任意百分比分割的集合.我试图解决的实际问题是将数据集拆分为训练和交叉验证集.

应该随机选择每个元素的目标,但每个源元素在结果中只出现一次,并且分区的大小是固定的.如果源集合具有重复项,则重复项可能出现在不同的输出分区中或相同.

我有这个实现:

(defn split-shuffled
  "Returns a 2 element vector partitioned by the percentage 
   specified by p. Elements are selected at random. Each 
   element of the source collection will appear only once in 
   the result."
  [c p]
  (let [m (count c)
        idxs (into #{} (take (* m p) (shuffle (range m))))
        afn (fn [i x] (if (idxs i) x))
        bfn (fn [i x] (if-not (idxs i) x))]
    [(keep-indexed afn c) (keep-indexed bfn c)]))

repl> (split-shuffled (range 10) 0.2)
[(4 6) …
Run Code Online (Sandbox Code Playgroud)

clojure

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

如何在Clojure中解决整数溢出?

我正在做这个练习.帕斯卡的梯形

我的解决方案是:

(fn pascal[initseq]
  (let [gen-nextseq (fn [s]
                      (let [s1 (conj (vec s) 0)
                            s2 (cons 0 s)]
                        (map + s1 s2)))]
    (cons 
      initseq 
      (lazy-seq 
        (pascal 
          (gen-nextseq initseq))))))
Run Code Online (Sandbox Code Playgroud)

我通过了前三个测试用例,但最后一个失败了.

它说"java.lang.ArithmeticException:integer overflow"

那么,Clojure中有一个大整数,还是有更好的方法来解决问题?

clojure

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