假设我想使用su
或在现有的Emacs会话中打开一个文件sudo
,而不是直接转到shell并执行sudoedit
或sudo emacs
.一种方法是
C-x C-f /sudo::/path/to/file
Run Code Online (Sandbox Code Playgroud)
[编辑] @JBB是对的.我希望能够调用su
/ sudo
保存以及打开.在保存时重新授权是可以的(但不是理想的).我正在寻找的是变化find-file
,并save-buffer
认为可能是"管道"通过su
/ sudo
.
我试图将一些全字表达式与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?或者这不可能吗?
在使用Gradle进行测试时,我想在控制台上显示标准流,只有当我使用该--tests
选项运行特定的测试子集时.
让我详细说明一下.在build.gradle
我
test {
testLogging {
//showStandardStreams = true
}
}
Run Code Online (Sandbox Code Playgroud)
通常,当我运行我的整个测试套件时,我不喜欢从测试中获得控制台输出.但是当我正在进行特定测试时,拥有控制台输出是非常有用的,所以我继续在执行该测试之前取消注释该行gradle test --tests *name
.
我想知道是否有自动化方法.
编辑:让我澄清一下.我想在运行时输出控制台输出gradle test --tests *name
,但不是在我跑的时候gradle test
.
我正在与位于与我的不同时区的服务器上开发一个带有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,然后检索不正确的本地化值吗?