搜索到与相关的文章
编程技术

第十八章 并发登录人数控制——《跟我学Shiro》

目录贴:跟我学Shiro目录贴在某些项目中可能会遇到如每个账户同时只能有一个人登录或几个人同时登录,如果同时有多人登录:要么不让后者登录;要么踢出前者登录(强制退出)。比如springsecurity就直接提供了相应的功能;Shiro的话没有提供默认实现,不过可以很容易的在Shiro中加入这个功能。示例代码基于《第十六章综合实例》完成,通过ShiroFilter机制扩展KickoutSessionControlFilter完成。首先来看看如何配置使用(sp

系统 2019-08-29 22:00:43 1717

编程技术

【Lucene3.0 初窥】索引创建(3):DocumentWrite

上接《索引创建(2):DocumentWriter处理流程一》1.3.2第二车间——DocInverterPerFieldDocInverterPerField负责对DocFieldProcessorPerThread对象的Fieldable[]数组的内容建立倒排索引,也就是处理同名字的所有Field。但实际上这个类主要解决的是前期工作,比如分词,统计位置信息等。倒排索引结构的核心的工作由TermsHashPerField和FreqProxTermsWri

系统 2019-08-29 21:59:47 1717

编程技术

大话重构连载首页

《大话重构》这本书是我写的第一本书,从今天起我将通过连载的形式逐渐跟大家分享。这本书让你:告别游击队转变为正规军,远离劣质代码走向精妙设计真正明白专业级的软件开发是怎样的真正明白重构是怎样一步一步进行的高效重构七步曲,面对实践不卡壳让遗留系统维护不再是你的梦魇读完这本书以后:需求变更不再纠结,重构让你润物细无声地容纳它们超越代码级的重构,从各个层面深度领略重构之美自动化测试不再是梦想,重构让自动化测试走你重新审视熟悉而陌生的技术,将碎了一地的它们重新铆合在

系统 2019-08-29 21:59:06 1717

编程技术

大话重构连载17:抽取方法的实践

说了那么多理论,我们来看看怎样使用抽取方法来重构遗留系统。如前所述,重构的过程首先是阅读程序代码,边阅读边整理程序。将功能相对独立的代码段放在一起,在前面加上注释。调整一些程序的顺序,将相关的代码尽量放在一起,但要保证程序执行的结果不会发生改变。比较典型的,将变量的定义与使用变量的代码放在一起。这个步骤比较实用,因为许多的遗留系统,其代码都有一个坏毛病,就是在程序开始时定义一大堆变量,但要弄清这些变量都用来做什么,却十分困难。边读边调整,将变量的定义逐渐迁

系统 2019-08-29 21:59:02 1717

编程技术

走进外包公司

今天是我在外包公司上班的第二天,由于项目还在筹划中,没有正式的开始,所以这几天比较清闲。说实在的,自己其实很不看好外包公司,但由于一些原因还是选择了外包公司,因此心里有点不踏实的感觉。听身边的人说,外包工作很累很累。我没有尝试过,所以说不出来有多累,现在唯一做的就是熟悉以前的技术,为后面受苦的日子做准备。在这个公司以后的路到底怎么样,我心里没底,也许会比我期望的差的还远,也许也没有想象的那么坏。现在唯一做的就是,尽一切努力做好自己,期待。。。。。。走进外包

系统 2019-08-29 21:58:34 1717

编程技术

利用视图管理器高效编写 SQL SELECT 语句

献给初学者,老鸟别扔砖头编写SQL语句一直都是比较纳闷的事,编写时没有一个良好的检错机制,只能运行时才能发现错误,特别是关联的表一多起来,思绪不免会被搞得晕头转向最后不知迷失在什么地方了。近日偶然发现并不是M$没有提供一个良好的傻瓜化界面给我们这帮懒兄懒弟们使用,而是我们自己视而不见,那就是SQLServer中的视图管理器,它不仅可以让我们方便地在多个表中进行查询而不去理会他们之间的关系(当然多个表之间必须存在必要的关系),还可以用它进行别名、排序、条件等

系统 2019-08-29 21:55:37 1717

编程技术

TAB式导航栏的快捷实现(IE & FF)

应同事要求做了一个,效果如下:当鼠标移上时变色。没有使用脚本,纯粹通过css实现。同时通过调整背景图片位置的方式解决图片的闪动,主要代码如下:TRS--导航

系统 2019-08-12 09:29:55 1717

编程技术

设计模式六大原则(6):开闭原则

文章来源:http://blog.csdn.net/zhengzhb/article/details/7296944定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化

系统 2019-08-12 09:29:35 1717

Python

解决Mac下使用python的坑

操作系统:macOSHighSierra10.13.3Python3.6因为此版本自带python2.7,就下载并安装了anaconda2的版本,结果使用的时候系统自带的python和anaconda里的python冲突,也就是装包的时候只在一处装了,另一处却不能使用。因此要配置环境变量,替代到系统自带的版本。python2.7总会发生中文字体乱码的情况,果断放弃,准备使用anaconda3.1.安装anaconda3在官网下载,并安装,直接都是下一步。2

系统 2019-09-27 17:57:25 1716

Python

python中几个常见的魔法方法

首先,什么是魔法方法呢?在python中方法名如果是xxxx()的,那么就有特殊的功能,因此叫做“魔法”方法。__init__()方法当一个实例被创建的时候调用的初始化方法,在创建对象时默认调用。__init__()方法中默认有一个参数名字为self,如果在创建对象时传递了2个参数,那么__init__()方法除了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)。之前我们是这样给对象添加属性的:classStudent:pa

系统 2019-09-27 17:56:52 1716