我在Ubuntu上使用PostgreSQL 8.4.我有一个列的表c1通过cN.列足够宽,选择所有列会导致一行查询结果多次换行.因此,输出难以阅读.
当查询结果只构成几行时,如果我可以查看查询结果以使每行的每列都在一个单独的行上,那将会很方便,例如
c1: <value of row 1's c1>
c2: <value of row 1's c1>
...
cN: <value of row 1's cN>
---- some kind of delimiter ----
c1: <value of row 2's c1>
etc.
Run Code Online (Sandbox Code Playgroud)
我在服务器上运行这些查询,我不想安装任何其他软件.是否有psql设置可以让我做那样的事情?
我的Dockerfile创建一个目录,然后单击它,然后列出该目录.该目录仍由root拥有.这是为什么?
这是Dockerfile:
FROM ubuntu:precise
RUN useradd -d /home/testuser -m -s /bin/bash testuser
RUN mkdir -p /var/local/testrunner/logs
VOLUME ["/var/local/testrunner/logs"]
RUN grep testuser /etc/passwd
RUN grep root /etc/passwd
RUN chown -R testuser:testuser /var/local/testrunner/logs
RUN ls -ld /var/local/testrunner/logs
Run Code Online (Sandbox Code Playgroud)
这是"docker build"的输出:
Sending build context to Docker daemon 10.24 kB
Sending build context to Docker daemon
Step 0 : FROM ubuntu:precise
---> ab8e2728644c
Step 1 : RUN useradd -d /home/testuser -m -s /bin/bash testuser
---> Using cache
---> 640f12671c86
Step 2 : RUN mkdir -p …Run Code Online (Sandbox Code Playgroud) Oracle的GarbageCollectorMBean.getCollectionTime 的javadoc表示,"返回大约累积的集合经过时间,以毫秒为单位." 这是否是特定的暂停时间或任何垃圾收集器线程花费的时间?
在Emacs 24.2.1中,我想向后搜索第一个不是紧密方括号的字符,即]字符.例如,如果我在这一行的末尾:
123]4567
Run Code Online (Sandbox Code Playgroud)
我希望这一点能够转向"7".
我的第一次尝试是:
(re-search-backward "[^\]]" nil nil nil)
Run Code Online (Sandbox Code Playgroud)
它移动到了"3"的点.
虽然它们似乎与文档冲突,但我也试过这些:
(re-search-backward "[^\\]]" nil nil nil)
(re-search-backward "[^\\\]]" nil nil nil)
(re-search-backward "[^\\\\]]" nil nil nil)
Run Code Online (Sandbox Code Playgroud)
什么是正确的正则表达式?
我有一个二千万行,已排序的文本文件.它有很多重复的行.我有一些Clojure代码可以计算每个唯一行的实例数,即输出类似于:
alpha 20
beta 17
gamma 3
delta 4
...
Run Code Online (Sandbox Code Playgroud)
该代码适用于较小的文件,但在较大的文件上,它会耗尽内存.我究竟做错了什么?我假设在某个地方,我坚持到头.
(require '[clojure.java.io :as io])
(def bi-grams (line-seq (io/reader "the-big-input-file.txt")))
(defn quick-process [input-list filename]
(with-open [out (io/writer filename)] ;; e.g. "train/2gram-freq.txt"
(binding [*out* out]
(dorun (map (fn [[w v]] (println w "\t" (count v)))
(partition-by identity input-list)))
(quick-process bi-grams "output.txt")
Run Code Online (Sandbox Code Playgroud) 我有一个名为SOURCE的文件,我想创建一个名为TARGET的特定长度的文件,其中包含SOURCE的副本.TARGET的长度不一定是SOURCE长度的整数倍.我想在Linux上使用bash来做这件事.
我的第一次尝试是这样的:
while true; do cat SOURCE; done | head -c $TARGET_LENGTH > TARGET
Run Code Online (Sandbox Code Playgroud)
在将指定的字节数写入TARGET后挂起.如何让它不挂?(我怀疑我错过了关于管道和信号如何工作的细节.)
编辑:我知道它会while true永远运行,但我希望head命令在消耗指定的字节数后关闭所有内容.
Oracle Java 8 64位服务器VM的默认最大Codecache大小是多少?
我相信相关设置是ReservedCodeCacheSize.我看到默认的ReservedCodeCacheSize有两个不同的值:
Run Code Online (Sandbox Code Playgroud)$ java -XX:+PrintFlagsFinal -version -server | grep ReservedCodeCacheSize uintx ReservedCodeCacheSize = 251658240 {pd product} java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27 Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) $ uname -va Linux tst-job3 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
为什么这有效:
>>> f = np.array(([[10,20],[11,21],[11,21],[12,22],[13,23]]))
>>> f
array([[10, 20],
[11, 21],
[11, 21],
[12, 22],
[13, 23]])
>>> f.view([('',f.dtype)]*f.shape[1])
array([[(10, 20)],
[(11, 21)],
[(11, 21)],
[(12, 22)],
[(13, 23)]],
dtype=[('f0', '<i8'), ('f1', '<i8')])
Run Code Online (Sandbox Code Playgroud)
但这不是:
>>> f = np.array(([10,11,11,12,13],[20,21,21,22,23])).T
>>> f
array([[10, 20],
[11, 21],
[11, 21],
[12, 22],
[13, 23]])
>>> f.view([('',f.dtype)]*f.shape[1])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: new type not compatible with array.
Run Code Online (Sandbox Code Playgroud) 我正在运行Oracle Java 8 JVM(服务器,而不是客户端或嵌入式),启用了ReservedCodeCacheSize = 128M和UseCodeCacheFlushing.几天之后,Codecache迅速从93%降至80%.我假设我目睹了Codecache同花顺,但令人惊讶的是,后冲洗大小接近100%满,而不是50%满.
JVM如何确定要刷新多少Codecache?
此Oracle Java 8页面描述了该选项,但未量化刷新的Codecache:
在关闭编译器之前启用刷新代码缓存.默认情况下启用此选项.要在关闭编译器之前禁用刷新代码缓存,请指定-XX:-UseCodeCacheFlushing.
有一个JVM选项UseCodeCacheFlushing可用于控制Codecache的刷新.启用此选项后,JVM将调用紧急刷新,以丢弃旧版本的一半编译代码(nmethods),以便在CodeCache中提供空间.
可以想象,编译代码的旧版本只占整个Codecache的20%,但另一种可能的解释是上述博客文章不准确.