我想使用emacs进行java编码,但我对用于java编码的模式感到困惑.有jdee,看起来像ide; malabar,据说比jdee更精通java 1.5构造; 和emacs-eclim,这是emacs的eclipse后端.emacs还有大量的完成扩展,我也对使用哪一个感到困惑.事实上,我很困惑,我推迟使用其中任何一个,直到我得到建议.
在emacs中,当前最好的java模式+完成选项是什么?而且,如果我决定使用上面提到的组合,会发生冲突吗?
我是emacs的新手,我发现很难决定选择哪种扩展名.我说的选择太多了.当我第一次开始使用linux(选择发行版,选择要安装的软件包等)时,同样的模式也是如此.
我现在面临着在自动完成和公司之间进行选择的困境.两者都是emacs扩展,为emacs提供完成机制.我可能决定使用自动完成,因为我认为它更成熟,并且因为AutoJavaComplete需要自动完成.但是,公司模式似乎也很好,有些用户报告说它比自动完成要好得多.它虽然缺乏文档,但我觉得这令人生畏.
基本上,我只是在编写代码时想要"intellisensy"完成.两者中哪一个更适合这个?
我已经像这样配置了apache httpClient:
HttpProtocolParams.setContentCharset(httpParameters, "UTF-8");
HttpProtocolParams.setHttpElementCharset(httpParameters, "UTF-8");
Run Code Online (Sandbox Code Playgroud)
我还为所有http post和put请求包含http标题"Content-Type:application/json; charset = UTF-8".
我正在尝试使用包含特殊字符的json主体发送http post/put请求(即通过Google拼音键盘输入中文字符,符号等)字符在日志中显示为乱码,但我认为这是因为DDMS确实不支持UTF-8,在descibed 这个问题.
问题是当服务器收到请求时,它有时根本看不到字符(特别是中文字符),或者当我们通过GET请求检索它时它变成无意义的垃圾.
我还尝试将250个非ascii字符放在一个字段中,因为该特定字段最多可以包含250个字符.但是,它无法在服务器端验证声称已超过250个字符限制.250个ASCII字符工作得很好.
服务器家伙声称他们支持UTF-8.他们甚至尝试模拟包含中文字符的发布请求,并且服务器接收到的数据就好了.然而,这个家伙(一个中国人)正在使用安装了中文语言包的Windows计算机(我想,因为他可以在键盘上输入中文字符).
我猜测Android客户端和服务器(由中国人btw制作)使用的字符集不对齐.但我不知道哪一个有问题,因为服务器家伙声称他们支持UTF-8,而我们的rest客户端配置为支持UTF-8.
这让我想知道Android在默认情况下对所有文本输入使用什么字符集,以及是否可以以编程方式将其更改为其他字符串.我试图找到有关如何在输入小部件上执行此操作的资源,但我没有找到任何有用的东西.
有没有办法为Android中的所有输入小部件设置charset?或者我可能错过了其他客户端配置中的某些内容?或许,也许,只是可能,服务器家伙没有在他们的服务器上使用UTF-8而是使用Windows字符集代替?
我有一个Java加密代码.我正在尝试将加密部分移植到节点.基本上,节点将使用加密模块进行加密,然后Java将进行解密.
以下是我在Java中进行加密的方法:
protected static String encrypt(String plaintext) {
final byte[] KEY = {
0x6d, 0x79, 0x56, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x70,
0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b
};
try {
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
final SecretKeySpec secretKey = new SecretKeySpec(KEY, "AES");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
final String encryptedString = Base64.encodeToString(
cipher.doFinal(plaintext.getBytes()), Base64.DEFAULT);
return encryptedString;
} catch (Exception e) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我在节点中进行加密的方法:
var crypto = require('crypto'),
key = new Buffer('6d7956657279546f705365637265744b', 'hex'),
cipher = crypto.createCipher('aes-128-ecb', key),
chunks = []; …Run Code Online (Sandbox Code Playgroud) 首先,我不想在这里开始宗教战争,请原谅我先告诉你一个小故事.
在我能够做出选择的时候,我最初选择了emacs作为我的首选编辑器.作为一名实习生,我被迫将Vi用于一个小型软件商店,我们需要将它们连接到服务器(更不用说连接非常慢)并从那里编辑代码,因为我们不允许拥有源的本地副本码.在那段时间里,我是一个不知道流浪汉的Emacs超级菜鸟.我甚至都不知道我可以在Emacs上启动一个shell,所以我试了一下Vi来看看它里面有什么.
起初,感觉就像被迫穿着我不喜欢的衣服,但时间流逝,我开始喜欢Vim.两年的vim(并且仍在计算中)对我来说是非常富有成效的学习经历.我目前的设置涉及xmonad - 一个窗口管理器,gnu屏幕 - 用于快速shell切换,firefox与vimperator,当然还有vim.在工作中,我使用Vim + Eclim进行编码,因为我所有的其他同事都使用Eclipse,我必须要有所帮助.在我的工作场所,我被认为是了解Vim的人; 但是,我仍然在家偷偷使用Emacs.
我想在Emacs中恢复速度,但为了让我这样做,我必须将它用于我目前正在做的工作,因为我把大部分时间花在那里.Vim + Eclim真的帮助了我很多java东西(代码完成,导入等),我正在考虑使用它的Emacs端口,但我也在尝试其他不需要我进行eclipse处理的替代方案在后台运行.基本上,我想要一些代码完成和on-save编译,就像Eclipse/Eclim所拥有的那样.jdee/malabar模式足以做到这一点吗?此外,我正在编写Android内容,我希望Emacs知道Android库的位置,因为大多数基本库通常不会正常导入.
我已经使用brew从OSX上的Emacs 23升级到Emacs 24.现在,我正在更新我的.emacs以使用来自emacs 24 esp的新内容.新的包管理器和内置的颜色主题.我从marmalade(我认为)安装了zenburn主题,从我的扩展目录中删除了旧的color-theme扩展,并删除了我的配置,它将旧的color-theme扩展添加到加载路径.
我注意到的一件事是,ansi-term颜色不符合颜色主题.在emacs 23中,我的ansi-term看起来像这样:

但现在它看起来像这样:

我检查了ansi-color-names-vector和ansi-color-map.他们都报告了zenburn的颜色.切换主题仍然不会改变ansi-term颜色,所以我认为这不是主题特定的问题.
我有什么想法可以解决这个问题吗?
我可以在eshell中以非root用户身份运行普通的linux命令.当我尝试su到root时,所有常用的linux命令都消失了(ls,cat等)我该怎么解决这个问题?
通常,当我在Web应用程序上看到index.jsp时,它只会转发到另一个URL,例如login.jsp
<jsp:forward page="login.jsp" />
Run Code Online (Sandbox Code Playgroud)
使用struts2时,我想要一个类似的index.jsp,但我希望它转发给一个动作.我该怎么做呢?
我目前有很长的if语句:
if (somesTring != null && !"".equals(somestring)
SomeClass.doSomething();
else if (somesTring != null && !"".equals(somestring)
SomeClass.doAnother();
...
else
SomeClass.giveUp();
Run Code Online (Sandbox Code Playgroud)
我认为当相关项目位于决策树的底部时,执行效果会很差。我正在考虑switch语句,据我的同事所说,这是更快的。可悲的是,比较是使用字符串执行的,switch语句不支持该字符串。也许我可以获取所涉及字符串的哈希码,并将其用于switch语句。
我也在考虑一个包含每个字符串的哈希图,并在containsKey方法的帮助下做出决定。但是,这涉及到必须分割一个包含许多静态方法的类,并使这些方法中的每一个都成为某种程度上可执行的对象。通过这样做,我可以处理非常大的“ if”语句。
关于执行时间,良好实践和可维护性,上述哪种方法更有意义?欢迎其他建议:)
emacs ×5
java ×5
android ×2
aes ×1
ansi-colors ×1
autocomplete ×1
cjk ×1
editor ×1
emacs24 ×1
encryption ×1
eshell ×1
frameworks ×1
http ×1
node.js ×1
openssl ×1
struts2 ×1