摘要: Spring中websocket相关的Bean有一个专门的Scope—— ,因此这在这些Bean当中是无法注入Scope为 的各种Bean的。这也挺正常的,一个websocket可能会持续很长时间,request的各种Bean仅仅在握手的时候有用,一直不释放也不是个办法。 STOMP中用户身份认证主 阅读全文
posted @ 2018-01-23 20:53 Narcissu5 阅读(3257) 评论(0) 推荐(0) 编辑
摘要: 之所以叫这个名字,因为Docker确实是个能把人搞死的东西。使用最新版的Docker通过包管理器安装的Docker通常不是最新版——起码ubuntu就不是。而Docker一个丧心病狂的地方就在于其文档没有划分版本,在网上看到的经验,在老版本中未必适用。1.0.1所支持的命令明显比1.4.1少了一大截... 阅读全文
posted @ 2015-01-14 20:38 Narcissu5 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 多线程的优势是针对单线程而言的 对多线程的布道在几年前较为常见,那时候PC已经完成从单核到多核的转变,但很多应用程序依然是单线程的,无法发挥多核CPU的威力。多线程的优势也就是让几个内核同时工作,最大化CPU的计算能力。 如果发现很多工作特别是IO工作运行在GetMessage或者Select线程上,就应该考虑多线程了。 线程池的优势是针对新建线程而言的 为什么要使用线程池,因为线程的创建... 阅读全文
posted @ 2014-10-10 20:38 Narcissu5 阅读(169) 评论(0) 推荐(0) 编辑
摘要: JdbcRealm中创建用户的一般写法: public String register(User user) { RandomNumberGenerator gen = new SecureRandomNumberGenerator(); ByteSource salt = gen.nextBytes(); String hashed... 阅读全文
posted @ 2014-09-03 20:43 Narcissu5 阅读(1229) 评论(0) 推荐(0) 编辑
摘要: 说道反向代理,可能首先想到的就是nginx。不过在我们的需求中,对于转发过程有更多需求:需要操作session,根据session的取值决定转发行为需要修改Http报文,增加Header或是QueryString第一点决定了我们的实现必定是基于Servlet的。jetty提供的ProxyServle... 阅读全文
posted @ 2014-05-10 09:29 Narcissu5 阅读(2251) 评论(0) 推荐(0) 编辑
摘要: Technorati 标记: angular 设想有下面的页面: 看起来很简单,生成了4个文本框,所有的文本框全部绑定到foo上,所以当任何一个文本框内容发生变化时,其它的文本框也会随之改变。第一个文本框工作正常,但在下面的三个文本框中输入后,其它的文本框并不会发生变化,此时再到第一个文本框中输入,做过修改的文本框也... 阅读全文
posted @ 2014-04-15 23:44 Narcissu5 阅读(707) 评论(0) 推荐(0) 编辑
摘要: Technorati 标记: Java,Spring,Rest,Mongo使用Spring MVC发布Restful资源不难,读写Mongodb也不难,但是能不能让两者无缝地对接起来呢?也就是说,让Spring MVC来做retrieve/stringify的工作,我们的方法就像这样:public ... 阅读全文
posted @ 2014-04-07 15:51 Narcissu5 阅读(662) 评论(1) 推荐(1) 编辑
摘要: 不要再ViewModel中引用View! 可以说只有理解了这一点,才算理解了MVVM。为什么要有Databinding,ICommand,为什么要有IInteractionRequest,INavigationAware,为什么要费这么大的劲搞这些东西,就是为了保证ViewModel对View的无知。 首先我们要明白,前端的MVVM,MVC都是RIA的专有领地。如果只是呈现内容的简单页面,是没... 阅读全文
posted @ 2014-03-19 20:15 Narcissu5 阅读(428) 评论(0) 推荐(1) 编辑
摘要: Javascript中必须通过this来访问类成员,可是this的特点就是函数绑在哪个对象上,它就指向那个对象。这个可能困扰过很多的程序员,特别是从C#,Java等语言过来的程序员。function Foo(){ this.message = 'This is message from Foo';}Foo.prototype.printMessage = function(){ console.log(this.message);}function Foo2(){ this.message = 'This is message from Foo2';}var f 阅读全文
posted @ 2014-03-14 22:19 Narcissu5 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 任何一个完备的前段框架可能都不会漏掉表单验证这一块,angular也不例外。有些奇怪的是,angular的验证是通过html标签的attribute来实现的,换句话说,数据的验证规则是写在View上的。这多少有些奇怪,毕竟验证规则怎么想都应该是业务逻辑的一部分才对。更奇怪的是有验证规则时的数据绑定——View只会把合法的数据写到scope上去,不合规则的数据直接就被angular忽略了。这就带来了问题,因为不合法的数据也会是有价值的。比如说有不合法的数据则不能提交。这个还好说,给按钮加个ngDisabled:提交如果用户名不合法,那么ngClick就不会被触发。不过这种的话验证逻辑就完全交给V 阅读全文
posted @ 2014-03-04 22:59 Narcissu5 阅读(637) 评论(0) 推荐(0) 编辑