我一直想知道为什么这么多Java开发人员使用".do"作为其Web控制器(MVC)资源的扩展.示例:http://example.com/register.do
它似乎甚至不是特定于框架,因为我在Spring MVC和Struts项目中看到过它.这个".do"扩展实践来自何处.为什么这样做而不是没有延期?我觉得我错过了关于这个的Java世界备忘录.
我个人不喜欢延伸.
我在法律领域稍微了解这一点,但如果你将专有代码放在私有存储库中的github或bitbucket上,则不清楚谁拥有代码.
从Bitbucket我们有:
通过向Avantlumiere提交公共(非私人)内容以包含在您的网站上,您授予Avantlumiere全球,免版税和非独占许可,以便仅为显示目的复制,修改,改编和发布内容并推广您的帐户或存储库.如果存储库标记为私有,则这些条款不适用.
问题当然是适用于私人账户的条款.
理论上,如果每个文件上都有带有版权信息的许可证标题,那么代码应该是安全的......对吗?
我不是要求法律建议,也不会让任何人负责.
是否有可能让一个线程写入OutputStream
Java Socket
,而另一个InputStream
线程从套接字读取,而线程不必在套接字上同步?
很久以前我曾经在C学校上学.我记得我真的讨厌C的东西:未分配的指针不指向NULL.
我问过包括教师在内的很多人为什么他们会将未分配指针的默认行为指向NULL,因为它似乎更难以预测.
答案应该是表现,但我从未买过.我认为,如果C默认为NULL,那么编程历史中的许多错误都可以避免.
这里有一些C代码指出(双关语)我在说什么:
#include <stdio.h>
void main() {
int * randomA;
int * randomB;
int * nullA = NULL;
int * nullB = NULL;
printf("randomA: %p, randomB: %p, nullA: %p, nullB: %p\n\n",
randomA, randomB, nullA, nullB);
}
Run Code Online (Sandbox Code Playgroud)
编译警告(很高兴看到C编译器比我在学校时更好)和输出:
randomA:0xb779eff4,randomB:0x804844b,nullA:(nil),nullB:(nil)
所以我今天才发现Log4J 2.0现在正在积极开发中,有一个alpha版本,据说它取代了logback.
现在在我的应用程序中,我有接近4个可能更多的日志框架:
我一直在使用log4j(1.2.x),因为坦率地说我只是不需要新人的功能,但我最近一直试图切换到SLF4J,主要是因为我不想重写我复杂的log4j配置文件到新格式(logback).
现在我的问题是我应该编写的代码是SLF4J,对于未来的log4j 2.0来说是正确的选择.
看起来我应该坚持使用旧的log4j(1.2.x
),因为它是最低的共同点?
更新:在进一步检查log4j 2.0时,看起来非常相似,配置与log4j 1.2不向后兼容.看起来像logback是最好的选择.
我一直在寻找一个现代的Java库,可以轻松创建有效的(X)HTML片段.
是的,您可以使用模板语言,但有时您不想这样做,因为Java比插入您最喜欢的模板语言有一些优势.
我在许多项目中看到了很多内部HTML构建器,但是我找不到Commons-HTML Builder.
有谁知道吗?
如果它利用Java 5/6/7类型系统(泛型)并支持Fluent Style,那将是理想的选择.或类似流畅风格的东西,即JQuery风格链,或用于模拟JMock等图书馆的状态机(迂腐地讲Monad).
粗略的构建器示例可能是:
new Html().title("stuff").body().in().div().in().h1("Hello World").hr();
Run Code Online (Sandbox Code Playgroud)
另一个例子:http: //codemonkeyism.com/the-best-markup-builder-i-could-build-in-java/
我最终写了自己的:Java反模板语言(JATL)
我无法在Spring Security Web App的任何地方找到类似于stackoverflow的Open Id注册的完整示例.
我会说我很聪明,但我发现Spring Security对其奇怪的Spring XML DSL非常恐惧.
我找到了一些如何使用以下方法进行良好的'stackoverflow注册:
但没有完整的例子(WAR).有没有人知道或有一个工作示例(即WAR)不仅仅是对内存中的openid URL进行身份验证?
更新:最新版本的Spring Social在管理Oauth注册方面做得非常出色.我们最终使用它了.虽然它不是OpenId,但我越来越喜欢Oauth而不是OpenId.对于那些有兴趣的人来说,有一个项目可以使用OpenId和spring social:https://github.com/molindo/spring-social-openid
今年我不得不在不同的平台(windows和linux)上多次重新安装Eclipse.
我还没有找到一种有效的单一解决方案来共享不同版本的Eclipse中的设置/首选项.
这就是我目前所做的事情:
当然有一种更简单的方法吗?
如果我发布带有图片链接的推文,它只会显示链接.但是,如果twitpic发布图像链接(或者更确切地说是指向带有图像的页面的链接),twitter将呈现图像(尽管更小).
我知道twitter现在有Tweet实体,但这些似乎是为了阅读而不是写作.
是的,我可以使用twitpic,但我不愿意,因为我们已经保存了图像并准备好了.
基本上你是如何变得像:twitpic,lockerz,photobucket,yfrog ......等等,以便twitter将你的链接识别为图像.
更新:我知道twitter会很快提供上传图片api,但我宁愿在我的网站上提供图片内容.
我有一个很好的旧式LAMP webapp.一周前我需要为它添加推送通知机制.
因此,我所做的是在服务器上添加node.js + socket.io并使用node.js每隔10秒轮询MySQL数据库以检查是否有新项:如果有,我会将它们发送到客户端( s)与socket.io.
我对结果非常满意,即使这不是一个正确的实时通知(因为有一个长达10秒的滞后).
现在,我即将构建一个新的webapp,它也需要推送通知.我想知道是否采用与第一种方法相同的方法(我相信它更稳定和成熟),或者完全使用Node.js,而不需要PHP和Apache.至于数据库,我已经决定去MongoDB了.
最后,我的问题是:如果我选择Node.js + Socket.io + MongoDB,我会得到一个真正 接近实时的 webapp吗?我的意思是,一旦将新记录插入MongoDB,是否会触发某种事件,我可以通过node.js捕获,对其进行一些检查,如果相关,则将通知发送给客户端?或者,无论如何都会在数据库服务器端进行某种轮询并延迟,就像我的第一个LAMP webapp一样?
一个相关的问题:你可以在MySQL上构建一个实时的webapp,而不像我在我的第一个应用程序那样进行任何轮询.或者你需要MongoDB(或Redis)?
我希望这个问题不是太傻 - 对不起,我刚开始使用Node.js和co.
谢谢.