摘要:
1.意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。 2.动机 框架使用抽象类定义和维护对象之间的关系。这些对象的创建通常也由框架负责。 3.适用性 当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创 阅读全文
摘要:
1.意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2.动机 通过拷贝或者“克隆”一个类的实例来创建新的实例。 3.适用性 当一个系统应该独立于它的产品创建、构成和表示时,要使用Prototype模式;以及 当要实例化的类是在运行时刻指定时,例如,通过动态装载;或者 为了避免 阅读全文
摘要:
1.意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2.动机 对一些类来说,只有一个实例是很重要的。让类自身负责保存它唯一的实例,这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。 3.适用性 当类只能有一个实例而且客户可以从一个周所 阅读全文
摘要:
1.意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 2.动机 在抽象类与它的实现之间起到桥梁作用,使它们可以独立地变化。 3.适用性 不希望在抽象和它的实现部分之间有一个固定的绑定关系。这种情况可能是因为,在程序运行时刻实现部分可以被选择或切换。 类的抽象以及它的实现部分都应该可以通过 阅读全文
摘要:
1.意图 将一个类接口转换成客户希望的另外一个接口。Adapter模式使那些原本不能一起工作的类,可以一起工作。 2.别名 包装器 Wrapper. 3.动机 一个应用可能会有一些类具有不同的接口,并且这些接口互不兼容,可以专门定义一个类,用来适配互不兼容的类。 4.适用性 你想使用一个已经存在的类 阅读全文
摘要:
1.意图 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 2.别名 包装器 Wrapper. 3.动机 给某个对象而不是整个类添加一些功能。一个较为灵活的方式时将组件嵌入另一个对象中。 4.适用性 在不影响其它对象的情况下,以动态、透明的方式给单个对 阅读全文
摘要:
1.意图 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 2.动机 可以组合多个简单组件以形成一些较大的组件,这些组件又可以组合成更大的组件。Composite模式描述了如何使用递归组合,使得用户不必对这些类进行区别。 3.适用性 阅读全文
摘要:
学习最好的方式,是有个好师傅。他根据你的不同阶段,教导你不同的技能,循序渐进;师傅不单教你练功,还会教你做人,使你内修于心,外化于形。教你的一些道理,你可能当时不太懂,但等你苦练多日,历经曲折,终有一日茅塞顿开,再去学艺做事,事半功倍,大有精进; 有一个位好导师自然是得之我幸的事情,但实际工作中很难 阅读全文
摘要:
一、事出 近期乌云漏洞平台等科技新闻,爆出Docker虚拟化 端口漏洞,本着热爱开源,实践动手的精神,我也去尝试了下,漏洞严重性确实很高,可以拿到root 登陆账户。 二、还原 2.1 通过扫描,我们找到了一些主机,下面是其中一台运行了docker 主机的服务器,并且开了ssh 端口 知道了22端口 阅读全文
摘要:
一、为什么? 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度。不出问题还好,出了问题,就很难找出源头。 这里介绍下,如何利用编译bash 使不同的客户端在使用root 登陆服务器使,记录各自的操作,并且可以在结合ELK 日志分析系统,来收集登陆操作 阅读全文
摘要:
1.查询dockers 某个容器的ip地址。 查询 容器mac 地址 查询登陆环境 查看端口映射 查看容器运行过的记录(test 为容器的名字) 修改容器的名称(重命名),rename 现有名字 新名字 批量删除已停止容器 查看容器运行状态(网络、cpu、内存) 每个人都应是守望者,守望我们的心智, 阅读全文
摘要:
一、需求 由于在测试环境中使用了docker官网的centos 镜像,但是该镜像里面默认没有安装ssh服务,在做测试时又需要开启ssh。所以上网也查了查资料。下面详细的纪录下。在centos 容器内安装ssh后,转成新的镜像用于后期测试使用。 二、镜像定制 第一种方式(手动修改容器镜像) 1.先下载 阅读全文
摘要:
一. 安装环境 系统环境:centos6.5 IP:192.168.30.242 hostname:vpn.org 软件:LAMP均已安装。(请确保这些正常安装,并能使用)。 系统核心包:(摘自官方数据) 二.安装(先安装python基础模块) 本次是在root 目录下创建 lepus,之后关于本机 阅读全文
摘要:
一. 安装环境 系统环境:centos6.5 IP:192.168.30.242 hostname:vpn.org 软件:PPTP、LAMP均已安装。(请确保这些正常安装,并能使用)。 二. 软件包 ppp-2.4.5.tar.gz、daloradius-0.9-8.tar.gz、go-pear.p 阅读全文
摘要:
一.剧情 剧情是这样的,本次的多边缘节点负载均衡实验,1个LVS四层负载均衡集群和1个Nginx为反向代理的七层负载均衡集群,由Bind dns解析作为 主负载均衡服务器,调度两个集群,中间层有一台Web服务器。前端是一台客户端。如下图所示: 二.基础环境 1.硬件信息 4G内存、50G硬盘、2核 阅读全文
摘要:
一.DNS主从的理解 主从服务器,在一开始的理解中,以为是主的dns服务器挂掉后,(dns服务自动转向辅助dns服务器),客户端还能继续解析。事实貌似不是这样的。当我把主dns停掉的时候,客户端只设一个dns服务器后,事实证明,解析是失败的。但当我将客户端的dns服务器切换到从dns的ip上后,解析 阅读全文
摘要:
前言 StoryBoard是iOS开发中很直观的开发工具,它可以极大的提高开发效率,但是StoryBoard由于能直接描述多个控制器页面,也会引发一些问题。 当团队开发时,StoryBoard中的拖入的控制器过多会导致界面错综复杂。并且协同开发中特别容易出现冲突。如果冲突出现了也会特别难以解决,各种 阅读全文
摘要:
最近做到的项目涉及一个大数据量缓存重传,其中要用到的sqlite技术,把自己的学习心得整理了一下。 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起My 阅读全文
摘要:
前言 上篇介绍了sqlite3的一些常用插入操作方法和注意事项,在实际项目中遇到了图片缓存的问题,由于服务器不是很稳定,且受到外界环境的干扰(例如断电,图片存储挂掉,图片存储速度过慢,造成的接口调用失败等等),一个数据结构中除了普通字段(int string),还包括图片数据,所以还需要将图片数据进 阅读全文
摘要:
关于C++单例模式下m_pinstance指向空间销毁问题,m_pInstance的手动销毁经常是一个头痛的问题,内存和资源泄露也是屡见不鲜,能否有一个方法,让实例自动释放。 解决方法就是定义一个内部垃圾回收类,并且在Singleton中定义一个此类的静态成员。程序结束时,系统会自动析构此静态成员, 阅读全文