小编Oca*_*tal的帖子

如何添加钩子只能在特定模式下运行?

我有以下defun

(defun a-test-save-hook()
  "Test of save hook"
  (message "banana")
  )
Run Code Online (Sandbox Code Playgroud)

我通过以下钩子使用

(add-hook 'after-save-hook 'a-test-save-hook)
Run Code Online (Sandbox Code Playgroud)

这按预期工作.我想做的是将钩子限制到特定模式,在这种情况下是组织模式.关于我如何做到这一点的任何想法?

提前致谢.

emacs hook

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

Windows 7中缺少makecert.exe,如何获取并使用它

我使用的是Windows 7.我没有makecert.exe,当我尝试运行命令来生成证书时,我才知道

makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer
Run Code Online (Sandbox Code Playgroud)

我收到错误:

'makecert' is not recognised as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

请提示如何解决此问题.我是否需要再次安装Windows SDK.

此致,普拉文.

makecert windows-7

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

您在哪里配置Eclipse Java编译器(javac)标志?

防爆.

javac -g ButtMonkey.java
Run Code Online (Sandbox Code Playgroud)

Eclipse编译Java源代码时,在哪里配置-g标志?(使用Ganymede,但我怀疑在以后的版本中有所改变,所以任何答案都可能有所帮助.)

我需要的是:

-G

生成所有调试信息,包括局部变量.默认情况下,仅生成行号和源文件信息.

java eclipse debugging javac

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

将数值转换为Varchar

我尝试使用在我的数字列中添加一些alphabt来获取记录.但我得到错误,我尝试使用强制转换功能.

例如

select convert(varchar(10),StandardCost +'S')
from DimProduct where ProductKey = 212
Run Code Online (Sandbox Code Playgroud)

这里StandardCost是一个数字字段,但是当我获取记录时我得到错误请看看.

sql sql-server-2005

17
推荐指数
2
解决办法
15万
查看次数

在构造函数中使用setter方法:不好的做法?

我经常看到像这样的构造函数

public class A {

   private int b;

   public A(int b) {
      setB(b);
   }

   public void setB(int b) {
      this.b = b;
   }
}
Run Code Online (Sandbox Code Playgroud)

这是一个好主意吗?我应该在构造函数中使用setter方法吗?如果我要覆盖子类中的构造函数或setter方法,这不是问题吗?

java

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

Powershell:获取默认系统编码

powershell cmdlet out-file具有-encoding您可以设置的开关default.此默认值将使用系统当前ANSI代码页的编码.
我的问题是:如何获取out-file将与powershell一起使用的此默认编码的名称?

powershell file-encodings

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

使用类型擦除覆盖方法

今天我偶然发现了一些有趣的东西.假设以下Java 6类:

public class Ereasure {

    public Object get(Object o) {
        return null; // dummy
    }

    public  static class Derived<T> extends Ereasure{
        // (1)
        @Override
        public Object get(T o) {
                return super.get(o);
        }
        // (2)
        /*
        @Override
        public Object get(Object o) {
                return super.get(o);
        }*/

    }
}
Run Code Online (Sandbox Code Playgroud)

如果您尝试编译上面的示例,编译器会说Ereasure.java:9:方法不会覆盖或实现超类型@Override中的方法如果删除@Override注释(这不应该是必需的!),它会说Ereasure .java:8:名字冲突:get(T)在Ereasure.Derived和Ereasure中的get(java.lang.Object)有相同的擦除,但都没有覆盖另一个这有点矛盾,因为T应该是对象和因此覆盖父类的get方法.

如果你离开(1)未注释和取消注释(2)所以(1)重载(2)它也不会工作.编译器输出:

Ereasure.java:15: get(T) is already defined in Ereasure.Derived
  public Object get(Object o) {
Run Code Online (Sandbox Code Playgroud)

作为结论,T正在被设置为Object,但不能覆盖父get方法.

我现在的问题是,为什么至少有一个例子没有编译?

java generics jvm

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

python-daemon中的信号处理

我安装了python-daemon,现在我正在尝试正确处理信号.我的代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import signal, time, syslog
import daemon

def runDaemon():
    context = daemon.DaemonContext()

    context.signal_map = { signal.SIGTERM: programCleanup }

    context.open()
    with context:
        doMainProgram()

def doMainProgram():
    while True:
        syslog.syslog("pythonDaemon is running")
        time.sleep(5)

def programCleanup():
    syslog.syslog("pythonDaemon STOP")

if __name__ == "__main__":
    runDaemon()
Run Code Online (Sandbox Code Playgroud)

当我启动代码时,一切都按预期工作:正在运行的文本pythonDaemon/var/log/syslog每5秒写一次.但是当我想终止守护进程时kill -TERM *PID*守护进程被终止但是syslog中缺少文本pythonDaemon STOP.

我究竟做错了什么?

注意:我没有在from daemon import runner这里工作,因为这给了我一个错误(看起来我需要一个旧版本lockfile),我不会解决这个问题,除非它是唯一能够正确处理信号的可能性.

python linux signal-handling python-2.7 python-daemon

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

获取PrincipalContext的连接服务器以获取全局编录

我有一个方法CreateContextForGlobalCatalog返回连接到全局编录的PrincipalServer:

PrincipalContext = new PrincipalContext(ContextType.Domain,
                                        "forest.name:3268", 
                                        "dc=forest,dc=name", 
                                        ContextOptions.Negotiate, 
                                        userName, password);
Run Code Online (Sandbox Code Playgroud)

注意:这是方法的简化版本,通常名称和容器是参数.

在这个上下文中,我循环遍历数据库中的对象,以从ActiveDirectory中的全局编录中获取信息:

using (PrincipalContext principalContext = CreateContextForGlobalCatalog())
{
    foreach (ADAccount adAccount in accounts){
       Log.Debug("Connected server: " + principalContext.ConnectedServer);

    // get some information from AD here ...
    }
}
Run Code Online (Sandbox Code Playgroud)

Log.Debug行从PrincipalContext记录连接的服务器.我有一个只包含虚拟机的测试设置.

我的问题:当我现在断开连接的服务器(禁用网络适配器)时,我没有得到异常并连接到新服务器,但日志消息仍显示原始连接的服务器,尽管服务器不再可用.

有没有办法以某种方式刷新连接的服务器属性或从其他地方获取信息?

.net c# active-directory

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

如何在地址栏上显示徽标?

我想在地址栏上显示徽标.但它只在标题旁边的选项卡上可见.

<link rel="icon" href="http://www.mydomain.info/favicon.ico" type="image/x-icon" />      
<link rel="shortcut icon" href="http://www.mydomain.info/favicon.ico" type="image/x-icon" /> 
Run Code Online (Sandbox Code Playgroud)

html favicon

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