- 博客(16)
- 收藏
- 关注
转载 Shiro使用Redis作存储之后更新Session失败的问题
问题因为想在多个应用之间共享用户的登录态,因此实现了自己的SessionDAO,使用Kryo把SimpleSession序列化然后放到redis之中去,同时也使用了shiro.userNativeSessionManager: true来使用shiro自己的存储。然而之后一直出现丢失更新的问题,例如Session session = SecurityUtils.getSubject(...
2018-11-09 23:05:00 483
转载 安装JDK 9 时出现“正在进行另一Java安装”
删除以下两个文件:%ProgramData%\Oracle\Java\JAVA_INSTALL_FLAG%HOMEPATH%\AppData\LocalLow\Sun\Java\JAVA_INSTALL_FLAG如果系统装在C盘,那么环境变量 %ProgramData%=C:\ProgramData,%HOMEPATH%=C:\Users\{USER}意外的是安装程序并...
2018-01-24 15:08:00 817
转载 Rancher——新一代智障Docker调度系统
极其弱逼的网络网络的承载能力极其低下,非常容易就能触碰到上限。新服务启动分配不到IP是常有的事情,新版本好一点。经常是同一主机上的服务能ping通,不同主机上的服务ping不通,重启网络服务之后恢复正常。LoadBalance性能低到不能用,流量稍高就无法连接,LB本身都会进入僵死的状态。极其傻逼的调度非常喜欢于把同一个服务的多个实例放到同一台机器上,本来是为了高可用才启动了多个实...
2018-01-24 14:55:00 143
转载 使用Spring STOMP时ChannelInterceptor无法获取用户信息
Spring中websocket相关的Bean有一个专门的Scope——websocket,因此这在这些Bean当中是无法注入Scope为request的各种Bean的。这也挺正常的,一个websocket可能会持续很长时间,request的各种Bean仅仅在握手的时候有用,一直不释放也不是个办法。STOMP中用户身份认证主要来自于握手的Http请求,具体来说来源于方法DefaultH...
2018-01-23 20:53:00 602
转载 Docker生存要点
之所以叫这个名字,因为Docker确实是个能把人搞死的东西。使用最新版的Docker通过包管理器安装的Docker通常不是最新版——起码ubuntu就不是。而Docker一个丧心病狂的地方就在于其文档没有划分版本,在网上看到的经验,在老版本中未必适用。1.0.1所支持的命令明显比1.4.1少了一大截。因此使用Docker的第一件事就是安装最新版本,哪怕新版本是在PPA中。...
2015-01-14 20:38:00 70
转载 多线程编程几个误区
多线程的优势是针对单线程而言的 对多线程的布道在几年前较为常见,那时候PC已经完成从单核到多核的转变,但很多应用程序依然是单线程的,无法发挥多核CPU的威力。多线程的优势也就是让几个内核同时工作,最大化CPU的计算能力。 如果发现很多工作特别是IO工作运行在GetMessage或者Select线程上,就应该考虑多线程了。 线程池的优势是针对新建线程而言的 为什么要使用线程池,因为...
2014-10-10 20:38:00 88
转载 shiro中JdbcRealm使用salt的问题
JdbcRealm中创建用户的一般写法: public String register(User user) { RandomNumberGenerator gen = new SecureRandomNumberGenerator(); ByteSource salt = gen.nextBytes(); Stri...
2014-09-03 20:43:00 208
转载 通过ProxyServlet实现可编程的反向代理
说道反向代理,可能首先想到的就是nginx。不过在我们的需求中,对于转发过程有更多需求:需要操作session,根据session的取值决定转发行为需要修改Http报文,增加Header或是QueryString第一点决定了我们的实现必定是基于Servlet的。jetty提供的ProxyServlet就可以满足我们的要求,ProxyServlet直接继承自HttpSe...
2014-05-10 09:29:00 669
转载 angular中部分自带directive的scope问题
Technorati 标记: angular 设想有下面的页面: <ul> <li> <input type="text" ng-model="foo"/> </li> <li ng-repeat="index in [1,2,3]"> <i...
2014-04-15 23:44:00 62
转载 使用Spring MVC 发布基于Mongodb 的Restful资源
Technorati 标记: Java,Spring,Rest,Mongo使用Spring MVC发布Restful资源不难,读写Mongodb也不难,但是能不能让两者无缝地对接起来呢?也就是说,让Spring MVC来做retrieve/stringify的工作,我们的方法就像这样:public DBObject createModel(@RequestBody DB...
2014-04-07 15:51:00 66
转载 MVVM模式中最重要的一个原则
不要再ViewModel中引用View! 可以说只有理解了这一点,才算理解了MVVM。为什么要有Databinding,ICommand,为什么要有IInteractionRequest,INavigationAware,为什么要费这么大的劲搞这些东西,就是为了保证ViewModel对View的无知。 首先我们要明白,前端的MVVM,MVC都是RIA的专有领地。如果只是呈现内容的简单...
2014-03-19 20:15:00 99
转载 Javascript中的this,bind和that
Javascript中必须通过this来访问类成员,可是this的特点就是函数绑在哪个对象上,它就指向那个对象。这个可能困扰过很多的程序员,特别是从C#,Java等语言过来的程序员。function Foo(){ this.message = 'This is message from Foo';}Foo.prototype.printMessage = f...
2014-03-14 22:19:00 113
转载 关于angular中的表单验证
任何一个完备的前段框架可能都不会漏掉表单验证这一块,angular也不例外。有些奇怪的是,angular的验证是通过html标签的attribute来实现的,换句话说,数据的验证规则是写在View上的。这多少有些奇怪,毕竟验证规则怎么想都应该是业务逻辑的一部分才对。更奇怪的是有验证规则时的数据绑定——View只会把合法的数据写到scope上去,不合规则的数据直接就被angula...
2014-03-04 22:59:00 117
转载 angular中的事件处理directive
angular中的各种关于事件处理的directive。比如ngClick,ngKeydown,都是在ngEventDirs.js定义的,打开看一下,400多行的源文件,实际代码只有这20行:var ngEventDirectives = {};forEach( 'click dblclick mousedown mouseup mouseover mouseout m...
2013-12-28 00:06:00 104
转载 NuGet几个值得注意的地方
使用本地的缓存NuGet一个很麻烦地方的在于它只有一组位于Radmond的服务器,而且这组服务器经常连不上。很奇怪为什么微软不开放镜像。如果已经安装了某个Package,只是想给另外的项目也装上的话,可以使用本地缓存。本地缓存的地址C:\Users\<UserName>\AppData\Local\NuGet\Cache,使用方法也非常简单,新建一个站点,把这个地址填进去...
2013-12-27 01:59:00 87
转载 Prism 和 Angularjs 的比较
Prism 和 Angularjs 的比较MV*angular 声称自己是MVC,其实HTML的前端领域,各种MV*里面,很难找到典型意义上的Controller。在服务器端,Controller的定位是很明确的,就是接受http request,进行相应的调度。但是在前段领域,情况要复杂得多。前端没有http request那么明确的入口点,处理基本上是MouseMove之...
2013-12-26 22:38:00 99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人