小编e18*_*18r的帖子

在Emacs中使用su/sudo打开一个文件

假设我想使用su或在现有的Emacs会话中打开一个文件sudo,而不是直接转到shell并执行sudoeditsudo emacs.一种方法是

C-x C-f /sudo::/path/to/file
Run Code Online (Sandbox Code Playgroud)

但这需要通过SSH进行昂贵的往返.有更直接的方式吗?

[编辑] @JBB是对的.我希望能够调用su/ sudo保存以及打开.在保存时重新授权是可以的(但不是理想的).我正在寻找的是变化find-file,并save-buffer认为可能是"管道"通过su/ sudo.

emacs sudo file-permissions

171
推荐指数
6
解决办法
5万
查看次数

MySQL REGEXP字边界[[:<:]] [[:>:]]和双引号

我试图将一些全字表达式与MySQL REGEXP函数匹配.当涉及双引号时有一个问题.

MySQL文档说:"要在正则表达式中使用特殊字符的文字实例,请在其前面加上两个反斜杠()字符."

但这些查询都返回0:

SELECT '"word"' REGEXP '[[:<:]]"word"[[:>:]]';             -> 0
SELECT '"word"' REGEXP '[[:<:]]\"word\"[[:>:]]';           -> 0
SELECT '"word"' REGEXP '[[:<:]]\\"word\\"[[:>:]]';         -> 0
SELECT '"word"' REGEXP '[[:<:]] word [[:>:]]';             -> 0
SELECT '"word"' REGEXP '[[:<:]][[.".]]word[[.".]][[:>:]]'; -> 0
Run Code Online (Sandbox Code Playgroud)

还有什么可以尝试获得1?或者这不可能吗?

regex mysql word-boundary

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

Gradle测试:仅使用特定测试显示标准流

在使用Gradle进行测试时,我想在控制台上显示标准流,只有当我使用该--tests选项运行特定的测试子集时.

让我详细说明一下.在build.gradle

test {
    testLogging {
        //showStandardStreams = true
    }
}
Run Code Online (Sandbox Code Playgroud)

通常,当我运行我的整个测试套件时,我不喜欢从测试中获得控制台输出.但是当我正在进行特定测试时,拥有控制台输出是非常有用的,所以我继续在执行该测试之前取消注释该行gradle test --tests *name.

我想知道是否有自动化方法.

编辑:让我澄清一下.我想在运行时输出控制台输出gradle test --tests *name,但不是在我跑的时候gradle test.

java logging unit-testing gradle

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

Java和MySQL中的时间戳和时区转换

我正在与位于与我的不同时区的服务器上开发一个带有MySQL数据库的Java应用程序,我正在尝试在我的数据库中使用DATETIME或TIMESTAMP.

在阅读问题后,我应该使用字段'datetime'还是'timestamp'?MySQL文档一样,我认为TIMESTAMP对我来说更好,因为它将值转换为UTC进行存储,然后返回当前时区进行检索.

此外,正如用户Jesper在线程中所解释的那样,java.util.Date对象在内部仅是UTC时间戳(即自Epoch以来的毫秒数),当您执行toString()时,它将根据您当前的时区显示.

对我来说,这看起来是一个好习惯:将日期时间存储为UTC时间戳,然后根据当前时区显示它们.

我就是这样做的,但后来我从Prepared Statements 的Java文档中找到了这个并且非常困惑:

void setTimestamp(int parameterIndex,Timestamp x,Calendar cal)抛出SQLException

使用给定的Calendar对象将指定参数设置为给定的java.sql.Timestamp值.驱动程序使用Calendar对象构造SQL TIMESTAMP值,然后驱动程序将该值发送到数据库.使用Calendar对象,驱动程序可以计算考虑自定义时区的时间戳.如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区.

在此之前,我认为时间戳总是按UTC惯例.为什么人们想要一个本地化的时间戳而不是它的本地化表示?这对每个人来说都不会让人感到困惑吗?

这些转换如何运作?如果Java采用UTC时间戳并将其转换为任意时区,那么它如何告诉MySQL它在哪个时区呢?

MySQL不会假设此时间戳是UTC,然后检索不正确的本地化值吗?

java mysql timestamp

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