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

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

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

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

编程技术

代码复用应该这样做(3)

但假如被合并的代码所在的类具有某种并列关系,甚至是同一个父类下的多个子类,或者同一接口的多个实现类,则我们可以采用继承的方式解决代码复用的问题。具体做法是这样的,第一步还是整理原有的代码,通过比较,将需要重构的多份原代码中相同的与不同的代码整理出来。在整理过程中,可以将不同的代码,保留在各自的原程序中,而将相同的代码抽取出来成为独立的函数。这些函数就是我们后面需要抽象、合并、复用的代码。下一步呢,就是运用“抽取父类(ExtractSuperclass)”的

系统 2019-08-29 21:59:08 2008

编程技术

一堂如何提高代码质量的培训课 之 领域驱动设计

终于到了该说说领域驱动设计的时候了。我们在这场关于代码质量的讨论中,从代码可读性开始,讨论了代码复用性、设计模式,然后探讨了职责驱动设计。代码可读性是对代码质量最基本的要求,可惜我们仍有做得不够的(即使那些开发程序很多年的老程序员)。代码复用是提高代码质量的最初级阶段,但是在一个多人开发的项目团队中,围绕代码复用值得讨论的问题依然非常多,它依然是一个非常复杂的问题,甚至有时它不再仅仅是一个技术问题,而是一个管理问题。唉,提高代码质量的道理漫漫兮同志们要上下

系统 2019-08-29 21:58:55 2008

编程技术

认识项目管理

目前,随着IT项目规模和复杂性不断提高,尤其是一个软件项目,它成功的关键点已从原来的技术上转移到管理上。目前,政府、企业、大公司包括一些小公司和个人也逐渐意识到项目管理的重要性,但是现今国外内项目成功率都不高。据斯坦迪什咨询集团的调查数据,美国1995年所有IT技术项目平均成功率只有16.2%,到1998年,这个数据也仅仅达到了26%,2006年,成功率为36%,而国内信息技术项目的成功率则还要低很多。不成功的原因很多,个人认为主要问题是,管理人员的“管理

系统 2019-08-12 09:30:27 2008

Python

K近邻算法的python实现

前言在K近邻的原始算法中,没有对K近邻的方法进行优化,还是遍历训练集,找到与输入实例最近的K个训练实例,统计他们的类别,以此作为输入实例类别的判断。具体的模型理论见:统计学习方法——K近邻法(原始方法)1.K近邻算法的实现在算法实现的过程中,利用的是欧氏距离进行点与点之间的距离度量。在进行数据运算的时候,没有利用numpy,而是利用Python中自带的list来进行数据的计算。defknn(x,dataSet,labels,k):distanceMemor

系统 2019-09-27 17:56:59 2007

Python

python下的opencv画矩形和文字注释的实现方法

画矩形函数调用:cv2.rectangle(img,pt1,pt2,color,thickness,line_type,shift)img:图像.pt1:矩形的一个顶点。pt2:矩形对角线上的另一个顶点color:线条颜色(RGB)或亮度(灰度图像)(grayscaleimage)。thickness:组成矩形的线条的粗细程度。取负值时(如CV_FILLED)函数绘制填充了色彩的矩形。line_type:线条的类型。见cvLine的描述shift:坐标点的

系统 2019-09-27 17:56:28 2007

Python

使用Python写CUDA程序的方法

使用Python写CUDA程序有两种方式:*Numba*PyCUDAnumbapro现在已经不推荐使用了,功能被拆分并分别被集成到accelerate和Numba了。例子numbaNumba通过及时编译机制(JIT)优化Python代码,Numba可以针对本机的硬件环境进行优化,同时支持CPU和GPU的优化,并且可以和Numpy集成,使Python代码可以在GPU上运行,只需在函数上方加上相关的指令标记,如下所示:importnumpyasnpfromti

系统 2019-09-27 17:56:19 2007

Python

python中的json总结

1、json.dumps:是将dict转成str2、json.dump:是将python数据保存成json3、json.load:是将文件中的json数据读取出来,转换成python数据类型

系统 2019-09-27 17:56:12 2007

Python

浅谈Python生成器generator之next和send的运行流程(详解)

对于普通的生成器,第一个next调用,相当于启动生成器,会从生成器函数的第一行代码开始执行,直到第一次执行完yield语句(第4行)后,跳出生成器函数。然后第二个next调用,进入生成器函数后,从yield语句的下一句语句(第5行)开始执行,然后重新运行到yield语句,执行后,跳出生成器函数,后面再次调用next,依次类推。下面是一个列子:defconsumer():r='here'foriinxrange(3):yieldrr='200OK'+str(

系统 2019-09-27 17:55:41 2007