小编mlj*_*jrg的帖子

EMACS中哪些键是XF86Back和XF86Forward?

似乎emacs将一些有用的命令绑定到这两个键,但我不知道Windows上有哪些键.那么,有人知道这些钥匙吗?

谢谢.

emacs

26
推荐指数
2
解决办法
9855
查看次数

哈斯克尔奇怪的表情

我想了解为什么以下是Haskell中的有效表达式:

Prelude> let e = (+) (-)
Prelude> :type e
e :: (Num (a -> a -> a), Num a) => (a -> a -> a) -> a -> a -> a
Run Code Online (Sandbox Code Playgroud)

更奇怪的是表格中的任何表达

e 1 2 3 4 ... N
Run Code Online (Sandbox Code Playgroud)

无论N都是不可理解类型的有效表达式.例如,

Prelude> :t e 1 2 3 4 5
e 1 2 3 4 5
  :: (Num ((a -> a1 -> t) -> (a -> a1 -> t) -> a -> a1 -> t),
      Num (a -> a1 -> t), …
Run Code Online (Sandbox Code Playgroud)

haskell

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

在Python中运行shutil.rmtree(d)后,权限被拒绝执行os.mkdir(d)

通常在Windows 7控制台中,如果我快速运行两次python程序就可以了

if os.path.isdir(d):
    shutil.rmtree(d)
if not os.path.exists(d):
    os.mkdir(d)
Run Code Online (Sandbox Code Playgroud)

哪里d是包含许多文件的目录的名称,我得到mkdir命令的"权限被拒绝" .但是,如果我跑一次,然后等待几秒钟,然后再次运行我没有得到这样的错误.这里有什么问题?

python io shutil

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

类型为Num([Char] - > t)=> t的奇怪Haskell表达式

在GHCi做一些练习时,我输入并获得以下内容>

ghci> (1 "one")

<interactive>:187:1:
  No instance for (Num ([Char] -> a0)) arising from a use of ‘it’
  In a stmt of an interactive GHCi command: print it
Run Code Online (Sandbox Code Playgroud)

这是一个错误,但如果我问GHCi表达式的类型,它不会给出任何错误:

ghci> :type (1 "one")
(1 "one") :: Num ([Char] -> t) => t
Run Code Online (Sandbox Code Playgroud)

是什么意思(1 "one")

为什么这个表达式会出错,但是GHCi告诉它输入是否正确?

是什么意思Num ([Char] -> t) => t

谢谢.

haskell type-inference literals ghci

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

将F#应用程序编译为独立的本机可执行文件?

是否可以将F#应用程序编译为独立的本机可执行文件,如程序或库,以便在其他本机程序中使用?

如果是这样,可以为Windows,Linux和macOS做到吗?

谢谢,

f#

10
推荐指数
2
解决办法
1471
查看次数

如何验证两个Docker映像的内容是否完全相同?

我们如何确定两个Docker映像具有完全相同的文件系统结构,并且无论文件时间戳如何,相应文件的内容都相同?

我尝试了映像ID,但是在使用相同的Dockerfile和干净的本地存储库进行构建时,它们会有所不同。我通过构建一个图像,清理本地存储库,然后触摸其中一个文件以更改其修改日期,然后构建第二个图像以及它们的图像ID不匹配来进行此测试。我使用了Docker 17.06(我相信是最新版本)。

docker docker-image

6
推荐指数
3
解决办法
2918
查看次数

在 Asciidoctor 中嵌套项目符号列表和段落

我应该如何编写 Asciidoc(tor) 以获得以下输出:

* item 1
  * item a
    paragraph 1 inside item a
      * item a.1 inside paragraph 1 inside item a
        paragraph a.1 inside item a.1
      * item a.2 inside paragraph 1 inside item a
        paragraph a.2 inside item a.1
    paragraph 2 inside item a
  * item b
    paragraph 1 inside item b
* item 2
Run Code Online (Sandbox Code Playgroud)

更新:@TigerTV.ru 提出了一个不错的技巧,但它需要能够在项目符号列表中隐藏项目符号。如何才能做到这一点?

谢谢

asciidoc asciidoctor

5
推荐指数
2
解决办法
2122
查看次数

PostgreSQL 隔离级别的行为

我正在阅读PostgreSQL 手册的第 13.2 节,但发现那里的文字描述不够清楚,并且缺少示例。

例如以下两段不清楚谁在学习 PostgreSQL:

带有 ON CONFLICT DO UPDATE 子句的 INSERT 行为类似。在 Read Committed 模式下,建议插入的每一行要么插入要么更新。除非存在不相关的错误,否则保证这两种结果之一。如果冲突源自另一个对 INSERT 尚不可见的事务,则 UPDATE 子句将影响该行,即使该行的常规版本可能对该命令不可见。”

可重复读取模式提供了严格的保证,每个事务都可以看到完全稳定的数据库视图。但是,此视图不一定总是与同一级别的并发事务的某些串行(一次一个)执行一致。例如,即使是此级别的只读事务也可能会看到更新的控制记录以显示批次已完成,但看不到逻辑上属于批次的详细记录之一,因为它读取了控制记录的较早版本.

有人可以举例说明这两段的内容吗?

有谁知道我在哪里可以找到 PostgreSQL 隔离级别行为的正式描述?我正在寻找这个,因为它是一个高级主题,我相信正式的描述将有助于阐明它的工作原理,从而有助于避免事务之间的并发错误。

更新:我的另一个疑问是,当一个可序列化的事务可以与其他隔离级别的其他事务同时运行时,它是如何根据数据库机器决定提交或中止它的方式来处理的?数据库是否决定可序列化事务的结果,就像其他事务也以可序列化隔离运行一样?

谢谢

更新 2:到目前为止,我发现的关于隔离级别的实现细节最好的是PostgreSQL Wiki Serializable Page

postgresql transactions isolation-level

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

运行命令行工具时避免出现密钥环消息

在 Docker 中运行的无头 Linux 中运行命令行实用程序(在本例中为pgcli )时,我收到这两条消息:

No handlers could be found for logger "keyring.backend"
Please enter password for encrypted keyring:
Run Code Online (Sandbox Code Playgroud)

如何配置记录器和密钥环的密码,以便在运行任何依赖于密钥环的实用程序时不再烦恼?

请注意,我使用的是无头 Ubuntu,因此我需要知道如何从命令行执行此操作。

谢谢

ubuntu python-keyring

5
推荐指数
2
解决办法
7558
查看次数

在 Elixir 中比较地图的方法

给定两个不同的大地图,定义如下

Interactive Elixir (1.9.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> m1 = Map.new(1..1_000_000 |> Enum.map(&{&1, &1})); :ok
:ok
iex(2)> m2 = Map.new(2..1_000_000 |> Enum.map(&{&1, &1})); :ok
:ok
Run Code Online (Sandbox Code Playgroud)

使用==/2和比较它们时需要显着的时间差异Map.equal?/2

iex(3)> :timer.tc(fn -> m1 == m2 end)
{21, false}
iex(4)> :timer.tc(fn -> Map.equal?(m1, m2) end)
{20487, false}
Run Code Online (Sandbox Code Playgroud)

==/2和之间的时间差异是什么原因,Map.equal?/2使用哪个?

同样,在==/2和之间使用哪个===/2?(因为Map.equal?/2调用===/2,请参见此处

谢谢

erlang elixir

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