本文展示了实际项目中使用到的一个工厂模式实现,在向系统中添加新类型时,只需要在新类型的实现文件这一处做改动,将新增类型对应用程序代码的干扰降到了最低。这个工厂实现的基本思想是:继承自同一个接口的新类型,通过一个函数来创建其对象,利用C++中类的构造函数会被自动调用这一特性,在新类型的实现文件中定义一个静态的(辅助)类对象,在该辅助类的构造函数中,向工厂单例注册新类型的创建函数。先看下代码,然后我们一一来解释。下面是命令接口CommandObject的头文件
系统 2019-08-29 22:35:19 1904
首先要声明这一篇不是我写的。为什么我要在自己的Blog里转载别人的东西呢。我觉得这就好像我自己和自己下的一个赌注。我希望在很多年后我重新看到这篇文章的时候我已经成功忘记掉了一个人。那么我就赢了。怎样忘记一个人“在这里我将教给大家如何忘记一个人。全国各地的语文老师教你识字的方法都是一样的,发你一田字本,让你反复的写某一汉字,直到记住为止。你也不知道怎么样才算记住了,于是就不停地写不停地写,期间出现一件有趣的怪事,当写字这件事情重复到一定程度之时,笔下的汉字居
系统 2019-08-29 22:28:58 1904
5.LDAP服务的安全当你和一个目录服务通许的时候,除非你采取额外步骤加密通讯那么用户信息时以明码方式传输的.在一些机构中,例如医院和研究机构,这个不仅仅是不可接受的,而且是违法的.任何个人信息通过公共网络传输时,都需要注意保护密码数据.在实际中,在LDAP传输中要处理两种细心:密码数据和记录数据.这些数据一般地被分别存储在服务器上,并使用不同的协议来传输(理想地),因为LDAP来源于固有的不安全.在OD和AD中,密码数据是由Kerberos处理的,而记录
系统 2019-08-29 22:26:25 1904
接上一篇,说到XmlConfiguration,XmlConfiguration利用自己实现的IOC组装Server的全过程如下图所示:这里可以看到3个关键的配置文件,jetty.xml、jetty-deploy.xml、以及contexts/xxx.xml
1.如何用一条语句把一张表的数据插入到另一张数据库表中?2.如何用一条语句把一张表的数据插入到另一张不存在的数据库表中?3.有如下A、B两个表,如何将A表的数据查询出来,结果如B所示?A表:姓名科目分数张三语文60李四数学65张三英语70张三数学75李四语文80李四英语68B表:姓名语文数学英语总分张三李四4.有如下几个类,我先运行TestA,再运行TestB,那么:classA:publicclassA{publicstaticinta=6;}class
系统 2019-08-29 22:19:44 1904
sqlloader可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据就有点麻烦了。用法:SQLLDRkeyword=value[,keyword=value,...]在命令行下执行Oracle的sqlldr命令,可以看到它的详细参数说明,要着重关注以下几个参数:userid--Oracle的username/password[@servic
系统 2019-08-29 22:04:41 1904
目录贴:跟我学Shiro目录贴Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,其是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是否需要登录/权限等工作。7.1准备环境1、创建webapp应用此处我们使用了jetty-maven-plugin和tomcat7-maven-pl
系统 2019-08-29 22:00:45 1904
多线程开发可能遇到的问题假设两个线程t1和t2都要对num=0进行增1运算,t1和t2都各对num修改1000000次,num的最终的结果应该为2000000。但是由于是多线程访问,有可能出现下面情况:fromthreadingimportThreadimporttimenum=0deftest1():globalnumforiinrange(1000000):num+=1print("--test1--num=%d"%num)deftest2():glo
系统 2019-09-27 17:57:16 1903
python垃圾回收机制一、什么是垃圾回收机制?垃圾回收机制(简称GC)是Python解释器自带一种机制,专门用来回收不可用的变量值所占用的内存空间二、为什么要用垃圾回收机制?程序运行过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会导致内存使用殆尽(内存溢出),导致程序崩溃,因此管理内存是一件重要且繁杂的事情,而python解释器自带的垃圾回收机制把程序员从繁杂的内存管理中解放出来。python采用的是引用计数机制为主,标记-清除和
系统 2019-09-27 17:57:11 1903
第一篇markdown编辑器001Markdown基本语法第二篇Python集成环境和解释器002Python解释器安装003Python解释器源修改004pip的使用005Python的IDE之Pycharm的使用006Python的IDE之Jupyter的使用第三篇Python基础007常量008变量009Python变量内存管理010各类赋值方式011注释012数据类型基础013数据类型:数字类型014数据类型:字符串类型015数据类型:列表类型01
系统 2019-09-27 17:56:43 1903